Programmation non linéaire - Qu'est-ce que c'est, définition et concept

Table des matières:

Anonim

La programmation non linéaire est une méthode par laquelle une fonction objectif est optimisée, soit en maximisant soit en minimisant. Ceci, en tenant compte des différentes restrictions données. Elle est caractérisée par le fait que la fonction objectif, ou certaines des restrictions, peuvent être non linéaires.

La programmation non linéaire est donc un processus dans lequel la fonction à maximiser, ou l'une des restrictions, est différente d'une équation linéaire ou du premier degré, où les variables sont élevées à la puissance 1.

Il faut se rappeler qu'une équation linéaire est une égalité mathématique qui peut avoir une ou plusieurs inconnues. Ainsi, il a la forme de base suivante, où a et b sont les constantes, tandis que x et y sont les variables :

ax + b = y

Il faut ajouter que tous les éléments qui composent ce type de programmation ne respecteront pas cette caractéristique. Par exemple, il se peut que la fonction objectif soit une équation du second degré et qu'une des variables soit au carré, remplissant la forme suivante :

y = hache2+ bx + c

Maintenant, grâce à la programmation non linéaire, cette fonction pourrait être optimisée, en trouvant la valeur maximale ou minimale de y. Ceci, en tenant compte du fait que x est soumis à certaines restrictions.

Éléments de programmation non linéaire

Les principaux éléments de la programmation non linéaire sont les suivants :

  • Fonction objectif : C'est la fonction qui est optimisée, soit en maximisant soit en minimisant son résultat.
  • Restrictions : Ce sont ces conditions qui doivent être remplies lors de l'optimisation de la fonction objectif. Il peut s'agir d'équations algébriques ou d'inéquations.

Exercice de programmation non linéaire

Voyons, pour finir, un exercice de programmation non linéaire.

Supposons que nous ayons la fonction suivante :

y = 25 + 10x-x2

Nous avons également la restriction suivante :

y = 50-3x

Comme nous pouvons le voir sur le graphique, la fonction objectif et la restriction se coupent en deux points, mais où y est maximisé, c'est lorsque x = 2,3, où y = 43 (les décimales sont approximatives).

Les points de coupure peuvent être trouvés en égalant les deux équations :

25 + 10x-x2= 50-3x

0 = x2-13x + 25

Ensuite, l'équation quadratique ci-dessus a deux solutions ou racines qui peuvent être trouvées avec les formules suivantes, où a = 1, b = -13 et c = 25.

Ainsi, nous trouvons que x1 = 2,3467 (y = 43) et x2 = 10,653 (y = 18).

Il faut prévenir que ce type de programmation est plus complexe que linéaire, et il n'y a pas tellement d'outils disponibles en ligne pour résoudre ce type d'optimisation. L'exemple présenté est un cas très simplifié.