Introduction à la Programmation Non Linéaire
Introduction à la Programmation Non Linéaire
INTRODUCTION…………………………………………………………… 3
CONCLUSIÓN……………………………………………………………...20
BIBLIOGRAPHIE…………………………………………………………….21
INTRODUCCIÓN
2
Le nom ne vient pas de programmes informatiques, mais d'un terme militaire, programmer.
que signifie "élaborer des plans ou des propositions de temps pour l'entraînement, la logistique"
ou le déploiement des unités de combat.
La programmation linéaire émerge de la nécessité de rechercher des solutions ou des modèles avec
équations non linéaires basées sur des problèmes d'organisation actuels, où
l'objectif principal est de minimiser les dépenses et d'optimiser les délais.
Ici, les variables de décision sont exprimées sous forme de fonctions non linéaires soit dans la
fonction objectif et/ou contraintes d'un modèle d'optimisation. Cette caractéristique
le particulier des modèles non linéaires permet d'aborder des problèmes où il existe
économies ou déséconomies d'échelle ou en général où les hypothèses associées à
la proportionnalité n'est pas respectée.
3
3.1 CONCEPTS DE BASE DES PROBLÈMES DE
PROGRAMMATION NON LINÉAIRE
La programmation linéaire répond à des situations dans lesquelles il est nécessaire de maximiser ou
minimiser des fonctions soumises à certaines limitations, qui
nous appellerons des restrictions.
Son emploi est fréquent dans les applications de l'industrie, de l'économie, de la stratégie
militaire, etc.
Fonction objectif
En essence, la programmation linéaire consiste à optimiser (maximiser ou minimiser) un
fonction objectif, qui est une fonction linéaire de plusieurs variables :
f(x,y) = ax + by.
Restrictions
La fonction objective est soumise à une série de contraintes, exprimées par
inégalités linéaires
Chaque inégalité du système de contraintes détermine un semi-plan.
a1x + b1y ≤ c1
a2x + b2y ≤ c2
… … …
… … …
Solution praticable
L'ensemble d'intersection de tous les semi-plans formés par les
anx + bny ≤ cn
restrictions, détermine un lieu, délimité ou non, qui reçoit le
nombre de région de validité ou zone de solutions faisables.
4
Solution optimale
L'ensemble des sommets du domaine est appelé ensemble de solutions réalisables
basiques et le sommet où se présente la solution optimale s'appelle solution maximale (ou
minimale selon le cas).
Alors, la représentation graphique dans la figure 13.6 indique que la solution optimale est
xx–x2 = 5, que de nouveau se trouve à la frontière de la région faisable. (La valeur
l'optimum de Z est Z = 857 ; ainsi, la figure 13.6 montre le fait que le lieu géométrique
de tous les points pour lesquels Z = 857 a en commun avec la région viable seulement
ce point, tandis que le lieu géométrique des points avec Z plus grand ne touche pas
la région faisable en aucun point.)
Alors la figure 13.7 illustre que la solution optimale est (*l5 x2 ) = (3,3), qui se
trouve à l'intérieur de la frontière de la région faisable. (On peut vérifier que cela
Une solution est optimale si elle est dérivée en tant que maximum global.
restreint ; comme il satisfait également les contraintes, il doit être optimal pour le problème
restringé.) Par conséquent, il est nécessaire que :
6
Un algorithme général pour résoudre des problèmes de ce type prend en compte tous les
solutions dans la région faisable, et pas seulement celles qui sont sur la frontière.
Une autre complication qui se pose dans la programmation non linéaire est qu'un maximum local ne
c'est nécessairement un maximum global (la solution optimale globale). Par exemple,
considérez la fonction d'une seule variable représentée dans la figure 13.8. Dans l'intervalle 0
< x < 5, cette fonction a trois maximums locaux—x=0, x=2, x=4—mais seulement un de
Ceci—x–4—est un maximum global. (De la même manière, il existe des minima locaux en x =
1,3 et 5, mais seulement x = 5 est un minimum global.
Une fonction de ce type dont la courbure est toujours "vers le bas" (ou qui n'a pas
curvatura) s'appelle fonction concave. De même, si l'on remplace < par >, de
de manière que la fonction a toujours une courbure "vers le haut" (ou n'a pas de courbure),
se appelle fonction convexe. (Ainsi, une fonction linéaire est à la fois concave et convexe.)
Dans la figure 13.9, vous pouvez voir des exemples de cela. Notez que la figure 13.8 illustre une
fonction qui n'est ni concave ni convexe car elle alterne ses courbures vers le haut et vers le bas
en bas.
Les fonctions de variables multiples peuvent également être caractérisées comme concaves
o convexes si leur courbure est toujours vers le bas ou vers le haut. Ces définitions
intuitives se fondent sur des termes précis qui, accompagnés d'une certaine approfondissement dans
les concepts.
7
La suivante est une manière pratique de vérifier cela pour une fonction de plus de
deux variables lorsque la fonction consiste en une somme de fonctions plus petites
chacune de seulement
Une ou deux variables. Si chaque fonction plus petite est concave, alors la fonction
la fonction complète est convexe si chaque
la fonction la plus petite est convexe.
C'est la somme des deux plus petites fonctions données dans les parenthèses carrées.
La première fonction la plus petite 4*!–x\
ce qui peut être vu comme concave si l'on observe que sa seconde dérivée est
négative. La deuxième fonction la plus petite (x2–x¿ )2 est une fonction de x2 et par conséquent
qu'on peut appliquer le test pour les fonctions de deux variables donné dans l'annexe
2. En fait, cet appendice utilise cette fonction particulière pour illustrer la preuve et
trouve que la fonction est concave. Comme les deux plus petites fonctions sont
côniques, la fonction complète f (jVj ,x2,x3) doit être concave.
8
Si un problème de programmation non linéaire n'a pas de contraintes, le fait que la
Une fonction objectif concave garantit qu'un maximum local est un maximum global.
de même, une fonction objectif convexe garantit qu'un minimum local est un
minimum global.) S'il existe des contraintes, alors une condition supplémentaire est nécessaire pour
donner cette garantie, à savoir que la région réalisable soit un ensemble convexe. Un ensemble
Un ensemble de points tels que, pour chaque paire de points
de la collection, le segment de droite qui les unit est totalement contenu dans la
collection. Ainsi, la région faisable dans le problème original de la Wyndor Glass Co. (voir
la figure 13.6 ou 13.7) est un ensemble convexe. En effet, la région réalisable pour
tout autre problème de programmation linéaire est un ensemble convexe. De même
De cette manière, la région faisable de la figure 13.5 est également un ensemble convexe.
Ce sont des fonctions concaves. La nouvelle région réalisable montrée dans la figure 13.10 n'est pas
un ensemble convexe. Cela contient des paires de points, comme (0, 7) et (4, 3), telles que
9
la partie du segment de droite qui les relie n'est pas dans la région faisable. Par conséquent,
il ne peut être garanti qu'un maximum local soit un maximum global. En fait, ce
l'exemple a deux maxima locaux (0, 7) et (4, 3), mais seulement (0, 7) est un maximum global.
Alors, pour garantir qu'un maximum local soit un maximum global pour un
problème de programmation non linéaire avec des contraintes (x) < b¡ (i = 1,2,…, m) et x > 0, la
La fonction objectif /(x) doit être concave et chaque gí (x) doit être convexe. Un problème
ce type s'appelle problème de programmation convexe et c'est l'une des classes les plus
importantes de la programmation non linéaire qui sera étudiée dans la section suivante.
Sur tous les valeurs x= (x1, x2,…,xn). La condition nécessaire pour qu'une
La solution spécifique x = x* est optimale lorsque f(x) est une fonction différentiable :
Lorsque f (x) est concave, cette condition est également suffisante, ce qui permet d'obtenir
de x* se réduit à résoudre le système des n équations obtenues en établissant les
n dérivées partielles égales à zéro. Malheureusement, lorsqu'il s'agit de fonctions non
f (x) linéaires, ces équations peuvent également être non linéaires, auquel cas il est peu
probable qu'il soit possible d'obtenir une solution analytique simultanée.
Que peut-on faire dans ce cas ? Les sections 13.4 et 13.5 décrivent
procédures algorithmiques de recherche pour trouver x* d'abord pour n = 1 puis
pour n > 1. Ces procédures jouent également un rôle important dans la solution de
plusieurs types de problèmes avec des contraintes, qui seront décrits ci-après. La raison
de nombreux algorithmes pour des problèmes restreints sont construits de manière
qui s'adaptent à des versions non restreintes du problème dans une partie de chaque
itération.
pour chaque j de ce type. Cette condition est illustrée dans la figure 13.11, où la solution
l'optimum d'un problème à une seule variable est x = 0 même lorsque la dérivée y est
négative et non nulle. Comme cet exemple a une fonction concave à maximiser
11
sujeta à une restriction de non-négativité, le fait que sa dérivée soit inférieure ou égale à 0
en # = 0, c'est une condition nécessaire et suffisante pour que x= 0 soit optimale.
PROGRAMMATION QUADRATIQUE
De nouveau, les problèmes de programmation quadratique ont des contraintes linéaires, mais
ahora la función objetivo /(x) debe ser cuadrática. Entonces, la única diferencia entre
ces derniers et un problème de programmation linéaire est que certains termes de la fonction
L'objectif inclut le carré d'une variable ou le produit de deux variables.
12
PROGRAMMATION CONVEXE
La programmation convexe englobe une large classe de problèmes, parmi lesquels
casos spéciaux, tous les types précédents lorsque /(x) est concave. Les
les suppositions sont :
PROGRAMMATION SÉPARABLE
Une fonction séparable est une fonction dans laquelle chaque terme inclut une seule variable.
par conséquent, la fonction peut être séparée en une somme de fonctions de variables
individuels. Par exemple, si f(x) est une fonction séparable, elle peut s'exprimer comme :
La programmation non convexe inclut tous les problèmes de programmation non linéaire
qui ne satisfont pas les hypothèses de la programmation convexe. Dans ce cas, même
lorsqu'on réussit à trouver un maximum local, il n'y a aucune garantie que ce soit
aussi un maximum global. Par conséquent, il n'existe pas d'algorithme qui garantisse
trouver une solution optimale pour tous ces problèmes ; mais il existe certains
algorithmes assez adaptés pour trouver des maxima locaux, en particulier lorsque
les formes des fonctions non linéaires ne s'écartent pas trop de celles qui se
ils ont supposé pour la programmation convexe. Dans la section 13.10, l'un d'eux est présenté.
algoritmos.
Certains types spécifiques de problèmes de programmation non convexe peuvent être
resolver sin mucha dificultad mediante métodos especiales. Dos de ellos, de gran
importance, sera présentée plus tard.
13
PROGRAMMATION GÉOMÉTRIQUE
Lorsqu'on applique la programmation non linéaire à des problèmes de conception en ingénierie, beaucoup
Parfois, la fonction objective et les fonctions de contrainte prennent la forme :
Dans de tels cas, les ci et a ty représentent les constantes physiques et les x sont les variables.
de design. Ces fonctions ne sont généralement ni concaves ni convexes, donc
Les techniques de programmation convexe ne peuvent pas être appliquées directement à ceux-ci.
problèmes de programmation géométrique. Cependant, il existe un cas important dans le
que le problème peut être transformé en un problème de programmation convexe
équivalent. Ce cas est celui dans lequel tous les coefficients, dans chaque fonction sont
strictement positifs, c'est-à-dire que les fonctions sont des polynômes positifs généralisés
(maintenant appelés posinomiaux), et la fonction objectif doit être minimisée. Le
problème équivalent de programmation convexe avec des variables de décision yx, y2,…
on obtient donc en établissant :
dans tout le modèle original. Maintenant, un algorithme de programmation peut être appliqué
convexe. Un autre procédé de solution a été développé pour résoudre ceux-ci
problèmes de programmation poslinéaires, tout comme pour les problèmes de programmation
géométrique d'autres types.
PROGRAMMATION FRACTIONNELLE
Supposez que la fonction objective soit sous la forme d'une fraction, c'est-à-dire, le
raison ou quotient de deux fonctions,
Quand il est possible de le faire, l'approche la plus directe pour résoudre un problème de
la programmation fractionnaire est de le transformer en un problème équivalent de quelque sorte
norme qui dispose d'une procédure efficace. Pour illustrer cela, supposez que
f(x) est de la forme de programmation fractionnaire linéaire :
Où c et d sont des vecteurs ligne, x est un vecteur colonne et c0 et dQ sont des scalaires.
Supposez également que les fonctions de contrainte g¡ (x) sont linéaires, c'est-à-dire que les
les contraintes sous forme matricielle sont Ax < b et x > 0.
Enfin, en tenant compte du fait que les dimensions de la boîte ne peuvent pas être
négatives le problème peut s'exprimer mathématiquement comme Maximiser
xyz soumis à 2 (xy + yz + zx) = A x, y, z ≥ 0.
Fondements de l'Optimisation
Dans cet exemple, trois éléments fondamentaux se distinguent : les variables de
problème, une fonction de ces variables et un ensemble de relations qui doivent
remplir les variables du problème. Ces éléments se répéteront dans tous les
problèmes d'optimisation et sont définis formellement comme suit :
1.- Variables de décision : Le premier élément clé dans la formulation des problèmes
L'optimisation consiste à sélectionner les variables indépendantes qui sont appropriées.
pour caractériser les possibles designs candidats et les conditions de fonctionnement
du système. On choisit généralement comme variables indépendantes celles qui ont un
impact significatif sur la fonction objectif.
16
Les variables indépendantes seront représentées par des vecteurs
columna de Rn x = x1 . . . + xn o vectores fila xt= (x1,...,xn) Aunque para los casos n
= 1, 2 y 3 se emplearán las notaciones usuales de x, (x, y) y (x, y, z) respectivamente.
(a) Contraintes d'égalité : Ce sont des équations entre les variables de la forme h(x) =
h (x1,....xn)=0 où g : A⊆ Rn → R est une fonction réelle de variables réelles définie
sobre un conjunto A de números reales.
(b) Restrictions d'inégalité : Ce sont des inéquations entre les variables de la forme g
(x) = g(x1,....xn) ≤ 0 où A : C⊆ Rn → R est une fonction réelle de variables réelles
définie sur un ensemble A de nombres réels.
Observation : Seules des restrictions de deux types ont été prises en compte : restrictions
de igualdad de la forme h (x1,....xn)=0 et des restrictions d'inégalité de la forme
g(x1,....xn) ≤ 0, en raison du fait qu'il est toujours possible, par une simple transformation,
exprimer le problème en termes de ce type de contraintes.
Une caractéristique des points d'inflexion est qu'ils sont les points où la fonction
la dérivée a des maximums et des minimums. Si nous faisons attention, lorsque nous nous rapprochons d'un point
de inflexion la fonction croît de plus en plus (ou décroît de moins en moins), mais en dépassant le
point d'inflexion la fonction commence à croître moins (ou à décroître moins). Cela
cela signifie que là où il y a un point d'inflexion, la dérivée aura un
un maximum ou un minimum. Par conséquent, nous trouverons les points d'inflexion.
cherchant les zéros de la seconde dérivée.
Nous allons illustrer le processus avec un exemple afin de donner une explication simple et claire :
Les maxima et minima d'une fonction f sont les valeurs les plus grandes (maxima) ou
plus petits (minimums) que prend la fonction, que ce soit dans une région (extrêmes
relatifs) ou sur tout son domaine (extrêmes absolus).
19
CONCLUSION
Dans ce travail, j'ai pu apprécier dans quelles situations nous pouvons occuper
la "programmation non linéaire", car ce n'est pas dans tous les cas que cela
est applicable.
C'est pourquoi nous pouvons dire que la programmation non linéaire peut
l'appliquer davantage dans la vie réelle.
20
BIBLIOGRAPHIE
[Link]
tText=Modelos%20de%20Programaci%C3%B3n%20No%20Lineal&targetText
Un modèle de Programmation Non, d'un modèle
o%20de%20l'optimisation.
[Link]
entre-la-programmation-non-linéaire-et-la-programmation-linéaire/
[Link]
acion_de_operations/Recherche_operations_Partie_2.pdf
[Link]
[Link]
opérations/
[Link]
de-programmation-non-linéaire/
[Link]
programmation-non-linaire/
[Link]
programmation-non-linéaire/
[Link]
[Link]
inflexion-d'une-fonction
[Link]
[Link]
fonction