La programmation non linéaire est une autre généralisation de la programmation linéaire qui revient à minimiser une fonction non linéaire soumise à des contraintes non linéaires. où g, f 1 ,, fm sont des fonctions en nombres réelles de n variables.
Si n=p=1 n = p = 1 , une application linéaire de R dans R est simplement une homothétie et il existe donc un réel c tel que L(h)=ch L ( h ) = c h .
Ainsi f est différentiable en a si et seulement s'il existe un réel c tel que f(a+h)=f(a)+c⋅h+o(h). f ( a + h ) = f ( a ) + c ⋅ h + o ( h ) .
Le second se produit lorsque le problème de minimisation est réalisable mais que sa valeur optimale vaut –∞ (par exemple lorsqu'on cherche à minimiser x sous la contrainte x ≤ 0).
Dans ce cas, on dit que le problème n'est pas borné ou est non borné.