Farkas’ lemma: three decades of generalizations for mathematical optimization