Chapitre 8

Télécharger au format pptx, pdf ou txt
Télécharger au format pptx, pdf ou txt
Vous êtes sur la page 1sur 85

PROGRAMMATION NON

LINÉAIRE SOUS
“Dans le cadre du cours : Modélisation, Optimisation et Simulation“

CONTRAINTES
Réalisé par : Encadré par :
MANGOUG Salma OUGADOUZ Ayman Mme SEMLALI HASSANI Nawal
MCHACHI Ayoub RAMDANI Mouna
MESROUR Khadija SAIDI Salah Eddine
MORSLI Ikram SALMI Ghita
MOUAKKIT Soufiane SARR Aliou
MOUZDAHIR Ayoub SERIDI Mehdi
NFAOUI Mariam ZRIKI Mohamed
Programmation non linéaire sous contraintes
Ce chapitre traite de problèmes plus difficiles impliquant la minimisation (ou la maximisation) d’une
fonction objectif non linéaire soumise à des contraintes linéaires ou non linéaires.

1. Méthode de substitution directe :

Une méthode permettant de gérer une ou deux contraintes d’égalité linéaires ou non linéaires est de résoudre
explicitement pour une variable et éliminer cette variable du problème formulation. Ceci se fait par substitution
directe dans les équations de fonction objectif et de contrainte du problème.
I. MÉTHODE DE SUBSTITUTION DIRECTE
Exemple 1:

On peut éliminer 𝑥1 et 𝑥2 sans aucune difficulté, pour une résolution en 𝑥1 :

En substituant dans la fonction objectif, on retrouve :

Nous pouvons maintenant minimiser la fonction objectif :

Une fois 𝑥2∗ obtenue, 𝑥1∗ peut être directement déduit via la contrainte :
I. MÉTHODE DE SUBSTITUTION DIRECTE
Exemple 1:
II. CONDITIONS DU PREMIER ORDRE
NÉCESSAIRES POUR UN EXTREMUM LOCAL
Exemple 1: Interprétation graphique d’un problème d’optimisation sous contrainte
II. CONDITIONS DU PREMIER ORDRE
NÉCESSAIRES POUR UN EXTREMUM LOCAL
Exemple 1: Interprétation graphique d’un problème d’optimisation sous contrainte

Certaines relations impliquant les gradients de f et h sont maintenues à x * si x * est


un minimum local. Ces gradients sont :

Le gradient de la fonction objectif f(x *) est orthogonal au plan tangent de la


contrainte en x *. En général, h(x *) est toujours orthogonal à ce plan tangent,
d'où f(x *) et h(x *) sont colinéaires,

avec 𝜆∗ = -1/1.414 est appelé le multiplicateur de Lagrange pour la contrainte h = 0


II. CONDITIONS DU PREMIER ORDRE
NÉCESSAIRES POUR UN EXTREMUM LOCAL
Exemple 1:
La relation dans l'équation (a) doit tenir compte de tout optimum local de
toute PNL à égalité contrainte comportant des fonctions lisses. Pour s’assurer de
cette hypothèse, considérons le point non optimal 𝑥1 de la figure E8. lb. , f(𝒙𝟏 )
n'est pas orthogonal au plan tangent de la contrainte en 𝒙𝟏 , il a donc une projection
non nulle sur le plan.

avec 𝜆∗ = 0,707. On introduit maintenant une nouvelle fonction L (x,𝜆) appelée


fonction de Lagrange :

L’équation devient :
II. CONDITIONS DU PREMIER ORDRE
NÉCESSAIRES POUR UN EXTREMUM LOCAL
Exemple 1:

En fixant les premières dérivées partielles de L par rapport à x à zéro, on obtient :

La condition de faisabilité est de : 𝑥12 + 𝑥22 − 1 = 0


−1
En résolvant les équations, on obtient 𝑥1 = 𝑥2 =
2𝜆
II. CONDITIONS DU PREMIER ORDRE
NÉCESSAIRES POUR UN EXTREMUM LOCAL
Exemple 1:

En fixant les premières dérivées partielles de L par rapport à x à zéro, on obtient :

La condition de faisabilité est de : 𝑥12 + 𝑥22 − 1 = 0


−1
En résolvant les équations, on obtient 𝑥1 = 𝑥2 =
2𝜆
II. CONDITIONS DU PREMIER ORDRE
NÉCESSAIRES POUR UN EXTREMUM LOCAL
Exemple 2:

Soit :

En appliquant les conditions nécessaires (8.11) et (8.12) :


II. CONDITIONS DU PREMIER ORDRE
NÉCESSAIRES POUR UN EXTREMUM LOCAL
Exemple 2:

En subsituant,
𝜆 3𝜆
𝑥1 = − et 𝑥2 = −
4 10
D’où l’équation devient:

𝜆∗ = −4,286
𝑥1 = 1,071
𝑥2 = 1,286
Optimisation avec Contraintes
d’égalité
But:

• Identifier le point x maximisant ou minimisant une fonction f parmi


ceux qui vérifient une ou plusieurs contraintes du type gk(x) = 0 pour
tout k ∈ {1,2,..., ℓ}.
• Ces contraintes donnent du sens au problème; sans contrainte il n’y
aurait aucune solution optimale.
Fonction de Lagrange
• Si les gradient des contraintes sont linéairement indépendants en x*,
alors il existe λ ⋆ = (λ1⋆,λ2⋆,...,λℓ⋆)∈ Rl tel que (x⋆, λ ⋆) est un point
stationnaire du Lagrangien :
L(x, λ) = f(x)− ℓ ∑ λk gk (x)

Avec : λ=(λ1, λ1,…., λl) ; Les coefficients λ1, λ2, . . . , λℓ introduits dans l’énoncé
ci-dessus sont appelés les multiplicateurs de Lagrange.
Application
• Déterminons la distance de l’origine du plan à la courbe d’équation
cartésienne : x2y=16
Problème:
• Objectif: minimiser la distance considéré ou son carré, exprimée
comme suit:
Min f(x,y)= x2+y2
Et g(x,y)=x2y-16=0

• le Lagrangien :
L(x,y, λ)=f(x,y)- λg(x,y)=x2+y2- λ(x2y-16)
• Recherchons les points stationnaires :

• La solution x = 0 vérifiant la première équation ne pouvant être


retenue, on tire de cette équation la relation λ = 1/y. De la troisième
équation, on déduit x2 = 16/y. Injectant ces expressions dans la deuxième
équation, il vient :
Noter bien:
• Dans l’application de la méthode des multiplicateurs de Lagrange, il
convient d’être attentif à :
Les conditions de Kuhn-Tucker :
• Les conditions de Kuhn-Tucker sont des conditions nécessaires qui sont
réalisées à l’optimum du problème. Elles s’écrivent vectoriellement de la
manière suivante :

• On peut les expliciter, pour chaque variable xi (i = 1, . . . , n) et pour chaque


coefficient λj (j = 1, . . . , m), de la manière suivante :

• en décrivant directement L par rapport à λj , que la condition ∂L/ ∂λj ≥ 0 est


simplement la contrainte gj (x) ≤ bj .
Remarques:
• Un point est optimal si et seulement si les conditions
sont toutes réalisées.
• Les conditions de Kuhn-Tucker sont des conditions
nécessaires d’optimalité mais pas forcément
suffisantes; c’est-à-dire ce n’est pas parce qu’elles
sont réalisées en un point (x, λ) que ce point est
obligatoirement un optimum.
• Il existe des situations ou on peut affirmer qu’elles
sont effectivement suffisantes : c’est le cas en
particulier lorsque la fonction f est concave et les
fonctions gj sont convexes. C’est pourquoi on
s’intéresse à l’optimisation convexe
Optimisation avec Contraintes
d’égalité
But:

• Identifier le point x maximisant ou minimisant une fonction f parmi


ceux qui vérifient une ou plusieurs contraintes du type gk(x) = 0 pour
tout k ∈ {1,2,..., ℓ}.
• Ces contraintes donnent du sens au problème; sans contrainte il n’y
aurait aucune solution optimale.
Fonction de Lagrange
• Si les gradient des contraintes sont linéairement indépendants en x*,
alors il existe λ ⋆ = (λ1⋆,λ2⋆,...,λℓ⋆)∈ Rl tel que (x⋆, λ ⋆) est un point
stationnaire du Lagrangien :
L(x, λ) = f(x)− ℓ ∑ λk gk (x)

Avec : λ=(λ1, λ1,…., λl) ; Les coefficients λ1, λ2, . . . , λℓ introduits dans l’énoncé
ci-dessus sont appelés les multiplicateurs de Lagrange.
Application
• Déterminons la distance de l’origine du plan à la courbe d’équation
cartésienne : x2y=16
Problème:
• Objectif: minimiser la distance considéré ou son carré, exprimée
comme suit:
Min f(x,y)= x2+y2
Et g(x,y)=x2y-16=0

• le Lagrangien :
L(x,y, λ)=f(x,y)- λg(x,y)=x2+y2- λ(x2y-16)
• Recherchons les points stationnaires :

• La solution x = 0 vérifiant la première équation ne pouvant être


retenue, on tire de cette équation la relation λ = 1/y. De la troisième
équation, on déduit x2 = 16/y. Injectant ces expressions dans la deuxième
équation, il vient :
Noter bien:
• Dans l’application de la méthode des multiplicateurs de Lagrange, il
convient d’être attentif à :
Les conditions de Kuhn-Tucker :
• Les conditions de Kuhn-Tucker sont des conditions nécessaires qui sont
réalisées à l’optimum du problème. Elles s’écrivent vectoriellement de la
manière suivante :

• On peut les expliciter, pour chaque variable xi (i = 1, . . . , n) et pour chaque


coefficient λj (j = 1, . . . , m), de la manière suivante :

• en décrivant directement L par rapport à λj , que la condition ∂L/ ∂λj ≥ 0 est


simplement la contrainte gj (x) ≤ bj .
Remarques:
• Un point est optimal si et seulement si les conditions
sont toutes réalisées.
• Les conditions de Kuhn-Tucker sont des conditions
nécessaires d’optimalité mais pas forcément
suffisantes; c’est-à-dire ce n’est pas parce qu’elles
sont réalisées en un point (x, λ) que ce point est
obligatoirement un optimum.
• Il existe des situations ou on peut affirmer qu’elles
sont effectivement suffisantes : c’est le cas en
particulier lorsque la fonction f est concave et les
fonctions gj sont convexes. C’est pourquoi on
s’intéresse à l’optimisation convexe
Optimisation sous contraintes d’égalité et d’inégalité :

• Minimiser : f (x) (a)


Contraintes : hi (x) = bi , i = 1, . . . , m (b)
gj(x) = cj , j= 1, ...,r (c)

• La fonction lagrangienne :

• x * est un minimum local du problème


Multiplicateurs de Lagrange et analyse de sensibilité :
Soit V * (b, c) la valeur optimale de l'objectif f au minimum local, considéré en fonction des contraintes b et
c.
On a :

C’est-à-dire que les multiplicateurs de Lagrange fournissent le taux de variation de la valeur de


l’objectif optimal en respectant la variation de la contrainte. Les multiplicateurs de Lagrange sont
très utiles pour analyser la sensibilité des paramètres dans les problèmes avec des contraintes
multiples.
La convexité des problèmes de programmation:

• Si la fonction objectif f(x) et les fonctions de contrainte d'inégalité gj sont convexes, et les fonctions de
contrainte d'égalité hj sont linéaires alors la région réalisable du problème est convexe et tout minimum
est un minimum global.

•x * est une solution réalisable,


•tout les fonctions du problème ont des dérivées premières continues en x *,
•les gradients des contraintes actives en x * sont indépendantes,
x * est optimal si et seulement si les KTC sont satisfaites à x *.
Considérations pratiques :
• Il est souvent incertain si un point satisfaisant les KTC est un optimum local ou global.
• Pour les problèmes avec quelques variables, nous pouvons trouver toutes les solutions KTC
analytiquement et choisissez celui qui a la meilleure valeur de fonction objective.
• La plupart des algorithmes numériques se terminent lorsque les KTC sont satisfaits à un peu de
tolérance , une tolérance de faisabilité εf et une tolérance d’optimalité εo.

Un point x est dit faisable si :

Et :

Et optimal si :
Les conditions d'optimalité de second ordre :

• Les conditions nécessaires à Kuhn-Tucker sont satisfaites pour tous minimum local ou maximum .
Si (x *, h *, u *) est un point de Kuhn-Tucker pour le problème, et les conditions de suffisance de
second ordre sont satisfaites à ce point, l'optimalité est garantie.

• Les conditions d’optimalité de second ordre:

Pour tous les vecteurs non nuls y tels que :


PROGRAMMATION QUADRATIQUE :

Le problème de la programmation quadratique (QP) est un problème d’optimisation dans la fonction


objective quadratique de n variables est minimisée sous m contraintes d'inégalité ou d'égalité
linéaires.

Minimiser :

Avec :

• Les contraintes d'égalité sont indépendantes  les KTC sont les conditions nécessaires et
suffisantes pour une solution optimale .
• Si Q est défini positif, la fonction objectif du problème quadratique est convexe.
• La région réalisable d’un PQ étant définie par des contraintes linéaires, elle est toujours convexe, le QP est
alors un problème de programmation convexe, et toute solution locale est une solution globale. En outre,
les KTC constituent les conditions suffisantes pour un minimum, et une solution répondant à ces
conditions produit l'optimum global.
• Si Q n'est pas défini positif, le problème peut avoir une solution sans bornes ou des minima locaux.
PROGRAMMATION QUADRATIQUE :

Les conditions de Kuhn-Tucker :


• Commencez par la fonction lagrangienne

• Égalez le gradient de L à zéro :

• Ensuite, les KTC se traduisent avec les équations suivantes :


(1)
(2)
(3)
(4)
Méthode des pénalités, barrières et
Lagrangien augmenté
1. Méthode des pénalités:

• La pénalisation est un concept simple qui permet de transformer un


problème d’optimisation avec contraintes en un problème ou en une
suite de problèmes d’optimisation sans contrainte.
• D’un point de vue théorique, une approche par pénalisation peut être
utilisée pour étudier un problème d’optimisation dont les contraintes
sont difficiles à prendre en compte, alors que le problème pénalisé a des
propriétés mieux comprises ou plus simples à mettre en évidence.
• Soit le problème d’optimisation :
Minimiser f(x) , g(x) ≤ 0 pour minimiser: P(f, g, h, r)
P (f,g,h,r) est appelée la fonction de pénalisation et r le paramètre de
pénalisation.
• Une fois que la fonction de pénalisation est formulée, elle est
minimisée pour une série de valeurs croissantes de r afin d’approcher
l’optimum du problème formulé sous contrainte.
• Considérons l’exemple suivant :
f(x) = (x-1)² + (x-2)²
La fonction objective non contrainte est :

est le terme de pénalisation


• On considère ensuite une série de problèmes de minimisation où la
fonction P(x,r) doit être minimisée pour une série de valeurs de r
tendant vers l’infini. Pour des valeurs très grandes de r, le terme de
pénalisation augmente aussi. Dans ce cas, les valeurs de xi répondent
aux contraintes d’égalité. Pour f approche la valeur de P, il faut que le
produit de r et h² tende vers 0.
• Ce regroupement
autour des contours de
P(x,r) est montré par le
numéro de
conditionnement de la
matrice hessienne de P.
Pour r est grand, le
rapport des valeurs
propres est grand, 𝜵²P
est alors dite mal
conditionnée.
• Le conditionnement de la matrice hessienne de la fonction objective
est important pour mesurer la difficulté dans l’optimisation
contrainte. La méthode de Newton est utilisée pour minimiser une
fonction par la résolution d’équations linéaires.
Fonction de pénalisation exacte
• Considérons la fonction de pénalisation exacte L1, càd que toute
solution de L1 minimise notre problème d’optimisation formulé ci-
dessous,
• où w1 et w2 sont des fonctions positives. La somme des contraintes
dites inadmissibles représentent la fonction objectif dans première
étape de l’algorithme de simplex vu dans le chapitre précédent.
• Soit x* le minimum local du problème (Px) et soit (𝝀*, u*) le vecteur
des multiplicateurs optimaux correspondant à x* qui satisfait la
condition de Kuhn-Tucker.
• Alors si

• Donc x* est un minimum local de P1(x, w1, w2). Si toute fonction w


est supérieure à la valeur absolue du multiplicateur optimal
correspondant, alors le problème peut être résolu par une seule
minimalisation de P1.
• Donc, si P1 est exacte alors P2 le carré de la fonction de pénalisation :
• ne l’est pas, car cela ne fera que rendre plus petite une
inadmissibilité. Alors le paramètre de pénalisation r doit accroître.
Lagrangien augmenté
• Le Lagrangien augmenté est une fonction de pénalisation exacte utilisée
pour des problèmes ayant des contraintes d’égalité mais peut aussi
utilisé pour les problèmes de contraintes en inégalité.

• 𝝀j sont les multiplicateurs de Lagrange, AL est le Lagrangien L plus le


terme de pénalisation au carré. Soit x* le minimum local du problème.
• Soient x* le minimum local du problème et (x*, 𝝀*) satisfaisant la
condition Kuhn Tucker.
• Le gradient d’AL est :

Comme x* existe, alors hj (x*)=0 :

x* est un point stationnaire pour AL(x*, 𝝀*, r), quelque soit la valeur de r. Si
𝜵²AL est définie positive alors x* est un minimum local.
Il est à noter que les points stationnaires ne sont pas tous des minimums.
Méthode de barrières
• La méthode de barrières est similaire à la méthode des pénalités. Elle
part d’une solution admissible et tente d’empêcher de sortir de la
région admissible.
• La fonction des barrières B(x,r) = f(x) –r ln(g(x)).
• Si x s’approche de la limite des contraintes, g(x) tend vers 0 et –r
ln(g(x)) tend vers l’infini. Lorsque r approche zéro, x1(r) et x2(r)
convergent vers des valeurs optimales 1,5 et 2,5 et la valeur de la
contrainte tend vers 0.
• La méthode des barrières n’est pas directement applicable à des
problèmes d’égalité de contraintes mais ces dernières peuvent être
fusionnées en utilisant un terme de pénalisation et un autre terme de
barrières pour les contraintes d’inégalité.
programmation linéaire
successive.
(PLS)
Les méthodes de programmation linéaire successive (PLS) résolvent une
séquence d'approximations de programmation linéaire à un problème de
programmation non linéaire.
Rappelons que si gi(x) est une fonction non linéaire et que x0 est la valeur
initiale de x, alors les deux premiers termes du développement en série de
Taylor de gi(x) autour de x0 sont :

Avec : ∆x l’erreur de cette approximation linéaire


Les variables dans le PL résultant sont les ∆xi, représentant changements
par rapport aux valeurs de base.
Le PL résultant est résolu ; si le nouveau point est une amélioration, il
devient le point actuel et le processus est répété. Si le nouveau point ne
représente pas une amélioration de l'objectif, nous pouvons être
suffisamment proches de l'optimum pour nous arrêter ou il peut être
nécessaire de réduire les limites
Exemple : Considérons le problème suivant :

• Maximiser : 2x + y
• S.a : x2 + y2 ≤ 25
X2 – y2 ≤ 7
• Et : x ≥ 0, y ≥ 0
un point de départ initial de (xc, yc) = (2,2)
La figure 8.7 illustre les deux contraintes non
linéaires et un contour de fonction objectif avec
une valeur objective de 10.

la solution optimale se situe au point où les deux


inégalités non linéaires x2 + y2 ≤ 25 et X2 – y2 ≤ 7 sont
actives, c'est-à-dire à la solution de x2 + y2 = 25 et
x2 - y2 = 7, ce qui correspond à x * = (4, 3).
La ligne A est la linéarisation de x2 + y2 ≤ 25 et la ligne
B est la linéarisation de X2 – y2 ≤ 7.
le nombre de degrés de liberté: Dof (x-) = n - nact (x-)

Définition : Un point réalisable x- est revenir à l'exemple,


appelé sommet si Dof (x-) ≤ 0, et le
jacobien des contraintes actives en x- le point optimal x * = (4,3) est un
est rang n, où n est le nombre de sommet non dégénéré, car n = 2 et
variables. Il est un sommet non nact (x-) = 2
dégénéré si Dof (x-) = 0 et un sommet
dégénéré si Dof (x-) < 0, dans lequel le donc dof (x-) = 2 – 2 = 0
cas |Dof (x-)| est appelé le degré de
dégénérescence pour x-.
Rappel:
un sommet est un point où n ou plus de
contraintes indépendantes se croisent
dans n espace dimensionnel pour produire
un point.
Poursuivant l’exemple, nous linéarisons chaque fonction autour de (xc, yc) = (2,2) et
imposons des bornes de pas de 1 à la fois sur ∆x et ∆y, menant au LP suivant :

Maximum :
S.a :

(2 + ∆x, 2 + ∆y): les limites d’origine


Les deux autres bornes, sont imposées pour garantir que
les erreurs entre les fonctions à problème non linéaires
et leurs linéarisations ne soient pas trop grandes.
La réorganisation des termes dans le PL linéarisé donne le sous-problème PLS suivant :

La figure 8.7 montre ces contraintes LP

Sa solution optimale est à (∆x, ∆y) = (1, 1), ce qui donne (xn, yn) = (3, 3). Ce point
est entièrement déterminé par les limites de l’étape. Ceci est un point amélioré,
comme on peut le voir en évaluant les fonctions originales. Nous définissons donc
xc = xn et répétons ces étapes pour obtenir le prochain LP.
La réorganisation des termes dans le PL linéarisé donne le sous-problème PLS suivant :

la solution optimale est (∆x, ∆y) =


(1 ; 1/6) ou (xn, yn) = ((4 ; 3.167)
Ce point est à l'intersection des Exemple de PLS avec objectif linéaire,
contraintes ∆x + ∆y ≤ 7/6 et ∆x = 1. contraintes non linéaires.
La méthode de Newton

La solution LP est maintenant au point (4 ; 3,005), ce


qui est très proche du point optimal x *. Ce point (xn)
est déterminé par la linéarisation des deux
contraintes actives, comme le sont toutes les
itérations ultérieures. Considérons maintenant la
méthode de Newton pour la résolution d'équations
appliquée aux deux contraintes actives, x2 + Y2 = 25 et
x2 - Y2 = 7.

Le point optimal après la résolution du troisième


sous-problème de SLP. A est la linéarisation de x2 +
y2 = 25 et B est la linéarisation de x2 - y2 = 7.

lorsque SLP converge vers un optimum de sommet, il


devient finalement la méthode de Newton appliquée FIGURE 8.9
aux contraintes actives.

La convergence SLP est toutefois beaucoup plus lente


lorsque le point vers lequel il converge n'est pas un
sommet.
la région réalisable du sous-problème SLP

• Le point (2, 5) est légèrement infaisable, et le


sous-problème SLP est

• Nous ignorons la contrainte x2 - y2 ≤ 7 car sa


linéarisation est redondante dans ce sous-
problème. L’optimum de LP est à ∆x = 1, ∆y =
-0,8, donc le nouveau point est (3 ; 4,2),

• Qui est de "l'autre côté" de l'optimum. Si


nous continuons ce processus sans réduire
les limites de pas, les itérations oscilleront La figure 8.10 montre la région réalisable du
autour de l'optimum et ne convergeront
jamais vers celui-ci car le nouveau point sera sous-problème SLP commençant à (2, 5), en
toujours à l'intersection de la contrainte utilisant les limites d’étape de 1.0 pour ∆x et ∆y.
linéarisée et d'une limite de pas.
Méthode de programmation quadratique
successive (SQP)

(Sequential Quadratic Pragramming)


Définition

La méthode de programmation quadratique successive est un


algorithme de résolution d’un problème d’optimisation non linéaire.

Un tel problème consiste à déterminer des paramètres qui minimisent


une fonction, tout en respectant des contraintes d’égalité et d’inégalité
sur ces paramètres.
Principe de la méthode
Considérons un problème d’optimisation (différentiable)
avec contraintes

Où f : Rn----- R et hi : Rn-----R, i =1,...,p, sont supposées


différentiables
Etant donné x(k), on cherche:

x(k+1)= x(k)+ ρ(k)d(k)


Avec:

d(k) ∈ Rn : Est une direction de descente


ρ(k)> 0 le pas
Méthode de programmation quadratique successive:

• Des contraintes en égalité

• Des contraintes d’inégalité


SQP avec contraintes d’égalité
• Données:
f : Rn R et hi : Rn Rp, i =1,...,p , x0 point initial, λ0∈Rp
multiplicateur initial, ε>0 précision demandée.

• Sortie:
une approximation x* de la solution
Algorithme
SQP avec contraintes d’inégalité

Selon le même principe qu’avec contraintes d’égalité


seules, on linéarise les contraintes et on utilise une
approximation quadratique du lagrangien
L(x,λ,μ)=f(x)+λTg(x)+μTh(x)
avec : λj ≥0, j=1,…..,q.
Algorithme
Convergence de la methode SQP

L’algorithme SQP converge localement


quadratiquement pourvu que les points initiaux
(x0,λ0) (resp.(x0, λ0,μ0)) soient dans un voisinage
d’un point stationnaire x et de ses multiplicateurs
associés λ (resp.(λ,μ)).
Logiciels de programmation non
linéaires
1)Optimiseurs pour les opérations autonomes ou les applications intégrées

Éléments à fournir par l’utilisateur:


• Une spécification du problème PNL à résoudre
• Un ou plusieurs sous-programmes qui fournissent à l’optimiseur, à la
demande, les valeurs des fonctions pour un ensemble spécifié de
variables.
• GRG2 est un code utilisé en tant que système autonome, et il est
également employé en tant qu’optimiseur par le « solveur » dans les
tableaux de Microsoft Excel, Novell's Quattro Pro, Lotus 1-2-3, et le
solveur interactif GINO.

• LSGRG2: est une extension de GRG2 qui étend la taille limite des
problèmes résolus jusqu’à 1000 variables et contraintes.

• CONOPT: Comme le LSGRG2, il est conçu pour résoudre des problèmes


larges et étalés.Les interfaces avec PQS sont très similaires à celles de
GRG2.
• NPSOL: Il s'agit d'un code SQP à matrice dense développé à l'Université
de Stanford. Il est disponible à la même source que MINOS.
• NLPQL : Ceci est une autre implémentation SQP, appelable en tant que
sous-programme et qui renvoie des codes au programme appelant, en
indiquant quelles informations sont nécessaires pour la rentrée.
• MINOS : Capable de résoudre des problèmes non linéaires dépassant
1000 variables et lignes. MINOS est également capable d’exploiter la
présence de variables et de fonctions purement linéaires.
Bibliothèque de logiciels mathématiques :

• Un grand nombre de bibliothèques appelables de logiciels


mathématiques incluent au moins un composant de PNL général.
• D’autres bibliothèques contiennent des routines qui effectuent des
tâches telles que la résolution d'équation, l'optimisation sans
contrainte et diverses opérations d'algèbre linéaire. Celles-ci peuvent
être utilisées en tant que composants de sous-algorithmes pour créer
des solveurs NLP personnalisés.
2) Optimiseurs de tableurs

• Le solveur Excel. Microsoft Excel: à partir de la version 3.0 en 1991,


incorpore un résolveur de PNL qui agit sur les valeurs et les formules d’un
modèle de tableur.
L'utilisateur spécifie
 les variables de décision
les contraintes
 une cellule de formule désignée comme étant l'optimisation.
Le solveur utilise l’interpréteur tableur pour évaluer les fonctions de
contrainte et d’objectif, et approxime les dérivées à l’aide de différences
finies.
Le moteur de solution de PNL pour le Excel Solver est GRG2.
• Le Quattro Pro Solver:
Les mécanismes de fonctionnement du solveur et de spécification du
problème sont similaires à ceux pour Excel.
• LOTUS 123 :
Les produits à base de LOTUS 123 WINDOWS intègrent des solveurs
linéaires et non linéaires qui fonctionnent de manière similaire à ceux
décrits précédemment et utilisent les mêmes moteurs de solveur.
3) Systèmes de modélisation algébrique
Définition:
• Un système de modélisation algébrique analyse les équations et génère
une représentation des expressions pouvant être évaluées
numériquement par son interpréteur. Le modèle traité est alors
disponible pour être présenté à un résolveur d'équation ou à un
optimiseur.
Quatre systèmes de modélisation algébrique avec des capacités de PNL:

• Système de modélisation algébrique générale GAMS


• AMPL
• MPL et AIMMS
Utilisation du Programmation Non Linéaire (PNL)

Le déterminant principal de la fiabilité de la solution avec les solveurs PL


est la stabilité numérique et la précision. Si le sous-système d’algèbre
linéaire d’un solveur PL est fort dans ces domaines, le solveur se
terminera par l’une des trois conditions suivantes: optimale, infaisable,
sans limite. En revanche, de nombreux facteurs supplémentaires
affectent les solveurs de PNL et leur capacité à obtenir et à reconnaître
une solution.
Evaluation des dérivées

Tous les principaux algorithmes PNL nécessitent une estimation des


premières dérivées des fonctions pour obtenir une solution et évaluer
les conditions d'optimalité.
1. dérivés par différences finies
2. Dérivés analytiques
dérivés par différences finies

• Chaque fonction est évaluée à un point de base puis à un point


perturbé. La différence entre les valeurs de la fonction sont ensuite
divisées par la distance de perturbation pour obtenir une
approximation de la première dérivée au point de base.
• Pour les fonctions hautement non linéaires, la précision des valeurs
des dérivés peuvent être améliorés en utilisant des différences
centrales
• La valeur de l’étape de perturbation est un facteur critique de la
précision des approximations en différences finies pour les dérivées.
Dérivés analytiques
• Le solveur PNL utilise les dérivés analytiques dans un système de
modélisation algébrique peut produire des résultats plus précis en
moins d'itérations que le même solveur utilisant des dérivés de
différences finies.
• Il existe des modèles de la chimie sont difficiles à exprimer dans un
langage de modélisation, car ils sont généralement codés en
FORTRAN ou C. pour résoudre ce problème, le logiciel AD ajoute au
programme donné des instructions supplémentaires qui calculent des
dérivées partielles( les codes AD les plus largement utilisés sont
ADIFOR et ADIC).
Ce qu’il faut faire lorsqu’un algorithme de PNL ne marche
pas
Parfois l'algorithme se termine en raison d'une itération limite. La
terminaison à un point significativement non optimal indique que
L'algorithme est incapable d'avancer.pour cela il faut analyser plusieurs
parametre
• Réglage des paramètres
• Tolérances de faisabilité et d'optimalité
• Mise à l'échelle
• Points de départ
• Réglage des paramètres
La plupart des solveurs PNL utilisent un ensemble de tolérances par
défaut et de paramètres qui contrôlent la détermination par
l'algorithme des valeurs "non nulles"

• Tolérances de faisabilité et d'optimalité


les problèmes qui atteignent des solutions optimales au sens pratique
mais nécessitent de nombreuses itérations supplémentaires pour
déclarer l'optimalité peut être accéléré en augmentant les tolérances
d'optimalité ou de faisabilité
• Mise à l'échelle
Les performances de la plupart des algorithmes PNL sont grandement
influencé par l’échelle relative des variables. . Les utilisateurs peuvent
tirer parti de ces procédures d’échelle en construisant modèles qui sont
raisonnablement mis à l'échelle au début.

• Points de départ
pour les modèles de processus physiques, l’utilisateur devrait éviter
points de départ qui ne représentent pas des conditions de
fonctionnement réalistes.

Vous aimerez peut-être aussi