Arezki, Rafik
Arezki, Rafik
Arezki, Rafik
SCIENTIFIQUE
DÉPARTEMENT DE MATHÉMATIQUES
THÈME :
La programmation mathématique
Avec les méthodes des points intérieurs.
Présenté Par :
Mr AREZKI RAFIK
Rafik AREZKI
Dédicaces
Table de matière
Introduction générale…………………………………………1
1.1. Introduction :
1.2. Ensembles et fonctions :
1.2.1. Ensembles convexes ………………………………………….3
1.2.2. Fonctions convexes:…………………………………………...5
1.2.3. Matrices et vecteurs ………………………….………………6
1.2.4. Convergence des suites dans ℝ et dans ℝ……………………9
Mais ce n'est qu'avec la Seconde Guerre mondiale que la pratique va s'organiser pour la
première fois et acquérir son nom. En 1940, Patrick Blackett est appelé par l'état-major anglais à
diriger la première équipe de recherche opérationnelle, pour résoudre certains problèmes tels que
l'implantation optimale de radars de surveillance ou la gestion des convois d'approvisionnement. Le
qualificatif « opérationnelle » vient du fait que la première application d'un groupe de travail organisé
dans cette discipline avait trait aux opérations militaires. La dénomination est restée par la suite, même
si le domaine militaire n'est plus le principal champ d'application de cette discipline.
Après la deuxième guerre mondiale, la méthode du simplexe s’est imposée comme la seule
méthode efficace pour la résolution des programmes linéaires (PL).
Les méthodes de points intérieurs partent d’un point intérieur au domaine des solutions
réalisables, puis au moyen d’une stratégie fixée (trajectoire centrale,...) déterminent une valeur
approchée de la solution optimale. Parmi les avantages de ces méthodes par rapport à la méthode du
simplexe, on peut citer par exemple la complexité polynomiale, la convergence super linéaire et leur
bon comportement numérique.
En 1994, Den Hertog a classé les méthodes de points intérieurs en quartes catégories :
1
Introduction générale
Depuis quelques années, les chercheurs essaient de généraliser le principe de ces méthodes,
d’abord pour la programmation quadratique, puis pour la programmation non linéaire.
Notre travail est consacré à l’étude numérique de deux méthodes des points intérieurs la
méthode de Karmarkar qui est de type projectif, et la trajectoire centrale avec et sans poids de type
chemin central, pour la programmation linéaire, et leur extension dans le domaine de la
programmation quadratique, non linéaire sous contraintes linéaires.
Les deux premiers chapitres introductifs serrent à une introduction générale. Celle ci
contient un survol rapide : éléments d’analyse convexe et d’algèbre, ensembles, vecteurs, matrices,
dérivées, suites, convergence des suites, la continuité des fonctions, la convexité des ensembles et
fonction convexe, par la suite : la programmation mathématique, classification d’un problème
mathématique, conditions d’optimalité dans la programmation linéaire, la programmation
quadratique, et la programmation non linéaire...etc.
Le quatrième chapitre est réservé pour la méthode de trajectoire centrale sans et avec poids
appliquées à la programmation de la complémentarité linéaire comme formulation unificatrice de la
programmation linéaire et la programmation quadratique convexe. D’une part, on a présenté le
principe et les résultats de convergence étudiée par A. Keraghel et Z. Kebbiche [3], et on a soulevé
les inconvénients de cette méthode dont le problème majeur est celui de l’initialisation. Pour cela, dans
la deuxième partie, en s’inspirant de l’algorithme de Ye-Lustig(annexe), on a pu calculer une solution
primale-duale strictement réalisable. On a ainsi montré la convergence polynomiale de l’algorithme en
question suivie par des tests numériques sur différents exemples.
dans la deuxième partie, On a fait une synthèse générale contenant le principe sur la méthode
de trajectoire centrale (sans et avec poids), le problème barrière perturbé (sans et avec poids) et sa
résolution via l’approche newtonienne. Signalons que l’opération la plus coûteuse dans l’algorithme
obtenu réside dans la direction qui nécessite le calcul de l’inverse de la matrice (∇ଶ ݂ሺݔሻ + ܺ ିଵ ܵ ), à
chaque itération. L’algorithme décrit est sanctionné par des tests numériques qu’on a exécutés sur
différents exemples.
2
Chapitre 01 : notions de bases
1.1. Introduction :
Soit ⊆ ℝ
:
D’une manière équivalente, est intérieur à s’il existe > 0 tel que :
∈
, ∀ ‖ − ‖ ≤ .
Exemple :
Un sous ensemble ' est dit ouvert s’il coïncide avec son intérieur c’est-a-dire
si :
' = (').
Exemple :
3
Chapitre 01 : notions de bases
Exemple:
Définition 1.2.1.5 :
Définition 1.2.1.7 :
Définition 1.2.1.8:
Définition 1.2.1.9 :
4
Chapitre 01 : notions de bases
J*HI − GJ = KLMHNO ‖ − G ‖.
P: ℝ ⟶ ℝ: *S+ = %, … . ,
U
∈ ℝ , P = P % , … , ∈ ℝ.
Définition 1.2.2.2:
= % , … , U ∈ ℝ :
‖ − ‖ ≤ = ⇒ |P − P | ≤ ε.
∀ x, y ϵ D.
X ∀ λ ϵ 50,16. [
P Y1 − λx + λ yZ ≤ 1 − λPx + λ Py.
5
Chapitre 01 : notions de bases
∀ x, y ϵ D.
X ∀ λ ϵ ℝ. [
P Y(1 − λ)x + λ yZ = (1 − λ)P (x) + λ P (y).
Remarques :
2) On a (U )U = et ($)U = $U U .
Définitions 1.2.3.2 :
6
Chapitre 01 : notions de bases
Définition 1.2.3.3 :
Une norme matricielle est une application ∥. ∥ :e (f) → ℝh qui vérifie les
2. ‖=‖ = |=|‖‖ , ∀= f .
3. ‖ + $‖ ≤ ‖‖ + ‖$‖, ∀, $ e (f).
4. ‖ × $ ‖ ≤ ‖‖ × ‖$‖, ∀, $ e (f).
5. ‖. ‖ ≤ ‖‖ × ‖ ‖, ∀ ℝ .
Exemple :
p\ : Valeur propre de a .
c.‖‖∞ = K) \ ∑]l%k)\] k .
⋯
uvw uvy
uHw uHw
∇q ( ) = t ⋮ ⋱ ⋮ }.
⋯
uvw uvy
uH| uH|
Remarque :
7
Chapitre 01 : notions de bases
(2.3.4).
a r( ) a r( ) a r( )
…
% % a \
a
∇a r( ) = ⋮ ⋮ ⋱ ⋮
a a ( )
g( ) a ( )
g r
…
% a a
Remarque :
8
Chapitre 01 : notions de bases
Définition 1.2.4.1 :
On définit une suite dans ℝ par : (* )G avec : * = (*% , *a , … . . , * ) et
*\ ∈ ℝ tel que : L = 1,2, … . , M .
Définition 1.2.4.2 :
Soit (* )G une suite de points (ou vecteurs) de ℝ . on dit que cette suite
converge vers une limite * ∈ ℝ si et seulement si pour tout > 0, il existe G tel que
Remarque:
Définition 1.2.4.3 :
Une suite (* )G est dite ‘’de Cauchy’’ si et seulement si pour tout > 0,
il existe G tel que , > G ⟹ ‖* − * ‖ ≤ .
Remarque :
9
Chapitre 02 : Programmation Mathématique
2.1. Introduction :
La programmation mathématique, et plus particulièrement l’optimisation vise à
résoudre des problèmes où l’on cherche à déterminer parmi un grand nombre de
solutions candidates celle qui donne le meilleur rendement. Plus précisément, on
cherche à trouver une solution satisfaisant un ensemble de contraintes qui minimise ou
maximise la fonction objectif donnée. L’application de la programmation
mathématique est en expansion croissante et se retrouve dans plusieurs domaines.
Dans ce chapitre, nous allons présenter les problèmes classiques
ƒx ou ƒx
sc
g x ≤ 0 , i : 1. . m '
h x = 0 , j : 1. . p
(P1)
x ϵ s ⊆ ℝ
&
10
Chapitre 02 : Programmation Mathématique
On note par arg min2 ƒx, l’ensemble des solutions optimales du problème.
Un point x ∗ ϵ ) est une solution optimale locale de (P1), s’il existe un voisinage
Définition 2.2.3 :
Et de plus si ƒ et ) sont convexes, le minimum local est global pour le problème (P1).
des solutions optimales locales de (P1).
Remarques :
Le problème d’optimisation précedent consiste :
- soit à chercher un point optimal (local, global).
-soit, à établir que f est non borné inférieurement sur ) ,auquel cas
-soit, si un tel point n’existe pas on cherche une borne inférieure à la fonction ƒ.
11
Chapitre 02 : Programmation Mathématique
dans ), il suffit que l’une des conditions (1) ou (2) soit réalisée:
Pour que la qualification des contraintes (QC) soit vérifiée en tout point x
continue sur ) alors (PM) admet au moins une solution optimale globale ∗ ∈ ).
2.6. Conditions d’optimalité (sans contraintes) :[14](cas sanscotraintes)
ƒ '
Soit le programme non linéaire et non contraintes (PNC) :
(p1) R
7 ) ⊆ ℝP
Où la fonction ƒ est au moins deux fois continûment différentiables.
Soit ∗ ϵ ), on dit que S7 ) une direction admissible s’il existe α > 0 tel que
Définition 2.6.1:
∗ + US ∈ ), ∀ U ϵ [0 , α].
• Soit x* un minimum local de ? , on a alors nécessairement pour tout
t > 0 assez petit.
? ∗ + US − ƒ ∗ ≥ 0 , ∀S admissible ceci implique :
limW→X = _ ƒ ∗ S ≥ 0 .
YZ ∗ [\]^ƒZ ∗
W
12
Chapitre 02 : Programmation Mathématique
limU→0 = y t H ƒ∗ y + lim = yt H ƒ∗ y ≥ 0.
?∗ +US−ƒ∗ 1 ghU2 i 1
U 2 2 U→0 U 2 2
?
C ≤ 0, = 1, . . . , m '
l D P1
ℎF = 0, M = 1, . . . , n
7 ℝP
Où les fonctions ?, CD et ℎF sont au moins deux fois continûment différentiables.
13
Chapitre 02 : Programmation Mathématique
_ ? ∗ + ∑u Dva r D _ CD + ∑Fva w F _ ℎF = 0
∗ ∗ x ∗ ∗
yz{|
_Z p ; r , μ = 0; |} ~U} ~’}nUmUé .
∗ ∗ ∗
soit I( ∗ )={i/i=1…m, gi( ∗ )=0}, l’ensembles des indices des contraintes
d’inégalités actives au point ∗ .
Définition 2.7.2:
On définit un espace tangent T( ∗ ) au point x* d’un problème (PM) par :
T ( ∗ )= { y ∈ ℝP : ∇ g ∗ W y ≤ 0,i ∈ I( ∗ ) et ∇ ℎF ( ∗ )ty = 0,j = 1...p } .
Théorème 2.7.2.: (Conditions nécessaires du 2ème ordre)[14]
Soit ∗ un minimum local régulier de (PM). Alors, il existe
des multiplicateurs λ∗ ∈ ℝ
[ et μ ∈ ℝ tels que:
∗ x
14
Chapitre 02 : Programmation Mathématique
T(x*) est toujours un espace tangent du problème (PM) au point x*. Alors le point x*
est un minimum local strict de (PM).
15
Chapitre 03 Programmation linéaire
3.1. Introduction :
La programmation linéaire est certainement l’un des plus beaux succès de la
recherche opérationnelle. Il provient d’une part de la puissance de modélisation
qu’elle offre et ce malgré la limite inhérente qu’impose la linéarité des fonctions
impliquées, et d’autre part, de la richesse de la théorie qu’elle a initiée et qui a permis
le développement d’algorithmes extrêmement efficaces pour sa résolution.
D’une façon générale, on définit un programme linéaire primal (P) sous la
Min c
forme standard par :
A = b
(P)
≥ 0
Où : A est une matrice réelle de type (m; n) supposée de plein rang
(rang A = m ≤ n) , ∈ ℝ et c ∈ ℝ . L’ensemble des solutions réalisables =
{ ∈ ℝ : = ; ≥ 0 } est un polyèdre convexe fermé.
3.2. Dualité [9]:
% &
(DU) $ % & ≤
& ∈ ℝ
Et Les solutions des programmes primal et dual sont liées par les théorèmes de la
dualité faible et forte.
Proposition 3.2.1 (Dualité faible): [9]
Si x est primal réalisable et y est dual réalisable, alors : % & ≤ % .
Proposition 3.2.2 (Dualité forte) :[9]
16
Chapitre 03 Programmation linéaire
1) On dit que est un point extrême de , s’il ne peut pas s’écrire comme une
Définitions 3.3.1:
?@ = 0.(hors base).
Proposition 3.3.1 [9]:
Si un programme linéaire possède une solution optimale finie, alors au
moins un sommet du domaine réalisable est une solution optimale.
3.4. La résolution d’un programme linéaire (PL):
Dans le cas de programmation linéaire, on dispose d’une méthode efficace
de résolution : l’algorithme du simplexe, découvert par Dantzig en 1947.
Cet algorithme a connu depuis lors de nombreuses améliorations, et il
est utilisé dans la majorité des logiciels commerciaux. Cependant, un nouveau
type de méthodes de résolution a fait son apparition en 1984 : les méthodes des
points intérieurs. La plupart des idées proviennent du domaine de la
programmation non-linéaire. Parmi leurs avantages, citons :
1- Efficacité théorique : il est possible de prouver que ces méthodes
s’exécutent en temps polynomial (ce qui n’est pas le cas de l’algorithme du simplexe,
de nature exponentielle ,de moyenne polynomiale ).
2-Traitement de très grands problèmes : ces méthodes permettent de résoudre des
problèmes de très grande taille qu’aucun autre algorithme connu ne pourrait traiter en
un temps acceptable.
On s’intéresse dans ce chapitre à la résolution par la méthode du simplexe
et puis par la méthode de Karmarkar.
3.4.1. La résolution des programmes linéaires par la méthode du simplexe :
17
Chapitre 03 Programmation linéaire
réalisable est clairement fini. Dans le cas non dégénéré (?> > 0 ), ces deux bases
réalisable adjacente (seuls deux indices de la base sont modifies). Le nombre de base
dégénéré (au moins une composante du vecteur ?> est nulle), les deux bases peuvent
correspondent à deux points extrêmes voisins de valeurs différentes. Dans le cas
x =
⇔ > x> + @ x@ =
⇔ x> = A)
> − > @ x@
A)
Et de valeur:
= >% (A)
> − > @ x@ ) + @ x@
A) %
On note:
& = A)
> @ est le vecteur des potentiels. Plutôt on peut dire que &
18
Chapitre 03 Programmation linéaire
2. changement de base :
S’il n’existe pas un tel j*, le programme linéaire est non borné.
3. Le pivotage :
(a) Mettre à jour la base: la variable xZ ∗ entre dans la base et la variablexP ∗ sort de la
base.
(b) Obtenir le nouveau dictionnaire par pivotage. Aller en 2.
3.4.1.2. Critère d’optimalité [7]: on dit ? = (x> , x@ )% est optimale si seulement si :
Max x) + 2x+
Soit le problème de maximisation suivant :
^ S. c
\
x + x+ ≤ 2
] −x) + x+ ≤ 1
)
\
(P1)
[ x) , x+ ≥ 0
Max x) + 2x+
^ S. c
\
(P2) x) + x+ + xc = 2
]−x) + x+ + xd = 1
\
[ x) , x+ , xc , xd ≥ 0
19
Chapitre 03 Programmation linéaire
X4 1 -1 1 0 1 1
∆L -1 -2 0 0
X2 1 -1 1 0 1 /
∆L -3 0 0 2
20
Chapitre 03 Programmation linéaire
on a pour i* ϵ JH ={1,4}
∆H∗ = {∆H < 0}=∆) , donc i* =1 ce qui fait, x1 va entrer dans la base.
2-La recherche de la variable de sortie :
QfTU
g hWP
OP∗ = Min = Min1/2,1 = Oc :{pour jϵjB et (AB-1ai)j strictement positifs }
QfTU j
g i WP
donc x3 qui va sortir de la base .
x1 ½ 1 0 1/2 1/2 /
X2 3/2 0 1 -1 2 /
∆L 0 0 3/2 1/2
(P1)avec Z=7k2.
21
Chapitre 03 Programmation linéaire
op c
Considérant le problème linéaire suivant :
^
\
.
(PLS) A = 0
]∑ r = 1
\ Hs) H
[ x ≥ 0
Cette forme n’est pas restrictive puisque tout programme linéaire peut se
ramener à cette forme (en classe).
Définition 3.4.3.1 : On définit le simplexe Sn de dimension n-1 contenu dans ℝn par :
Sn= {x ∈ ℝn : x ≥ 0, t% x = 1}.
22
Chapitre 03 Programmation linéaire
er x = 1 permet de se ramener à un objectif nul. En effet, soit x* une solution optimale
Pour l’hypothèse(3), n’est que technique, si la valeur optimale est non nulle l’égalité
Définition 3.4.3.1:
u est la matrice diagonale :
u) ⋯ 0
u = ⋮ ⋱ ⋮
0 ⋯ u
23
Chapitre 03 Programmation linéaire
^ Min
\ R
(PNL)
= 0 ………………………(1)
]
\ er y = 1
[ y ≥ 0
Les hypothèses (Hyp2) et (Hyp3) de Karmarkar permettent d’écrire le
Min % u &
programme (1) non linéaire comme le programme linéaire suivant :
^
Au & = 0
] er y = 1
(PLS) ……………………….(2)
[ y≥0
3.4.3.2. Le calcul de direction et de pas :
On a besoin du lemme pour simplifier la résolution de ce dernier
problème(2).
Lemme 3.4.3.1 [4]: Si pour un programme linéaire donné on connait une solution
réalisable y0 tel que (&Z > 0; i = 1…n + 1); alors l’ellipsoïde :
E= & ∈ ℝ : ∑v) ≤ + , 0 < < 1
v) Q
j A
Y W
Zs)
Q
Y W
24
Chapitre 03 Programmation linéaire
Min % u &
^
A u & = 0
(PLS) … … … … . … … … … . (3)
] er y = 1
[‖& − ‖+ ≤ ( )+
Remarque: Le problème (3), c’est la minimisation d’une fonction linéaire sur une
¡
(A))
sphère de rayon (inscrite )centrée au centre du simplexe .
& u = − ¢ u Où ¢ u =
£
¤£ ¤
explicitement par :
2-Itération : ¬ = 1,2, …
Pas 1 :
La condition d’arrêt : si ( ct xk+1 ≤ε) alors la solution trouvée xk+1 est optimale
Sinon : aller en 02 avec ¬: = ¬ + 1 et retourner au pas 1.
Fin algorithme.
25
Chapitre 03 Programmation linéaire
1))- % = 0.
après O(nq + n ln n)itérations un point réalisable x tel que :
Remarque :
Dans ce que précède, on a parlé de la résolution des programme linéaire par
Karmarkar de la classe de (PLS), dont les quels la valeur optimale du problème z* est
nulle, et le membre à droite des contraintes du problème b est nul, ce qui nous pousse
à généraliser cette dernière sur la programmation linéaire dont la valeur optimale z* et
le membre a gauche des contrainte b quelconques.
3.6.Généralisation de l’algorithme de Karmarkar sur la programmation linéaire :
op % = ¯ ∗
Soit le programme linéaire sous forme standard :
(±) ² = … … … … … . (1)
≥0
est une matrice de type (³, p), ∈ ℝ et ∈ ℝ .
26
Chapitre 03 Programmation linéaire
% )
⇒ ( − tv)
facilement à un système homogène .il suffit d’écrire :
= tv)
%
=0
De plus pour : z* la valeur optimale de l’objectif. Alors, on peut trouver le système
précédent : ct * =z*=z*t % * => (ct -z*t % ) *=̂ =0.
Soient la transformation projective notée º» (¼) une fonction [11][3]:
Τu (): ℝv → xv) définie par : Τu () = &, Avec :
& =
~j ⁄~j
² Z )v∑ªj¾U~j ⁄~j
&v) = 1 − ∑Zs) &Z
……………………..(2)
Z
On a :
&Z = &v) , o = 1, … , p.
Zu
Ou encore : &[p] = (uA) )&v) ,Où &[p] désigne les p première composantes de & .
Remarque : La transformation Τu () est univoque, et donnant sa transformation
u (&) =
= ΤA) , u = ¢oÀ( u ).
[]
ª¿U
inverse par :
^Z ê¿U
Á Â Ã[ª]
sÄ ∗
\ ÂÃ[ª]
f sh ……………………..(3)
]
ê¿U
\ ∑j¾U
j s)
ª¿U
[ []Å, ª¿U Æ
Ou encore :
ÈZ ̂
fÉ
s
$
©ª¿U
s) ……………….(5)
Å
27
Chapitre 03 Programmation linéaire
ËÊ = Z Zu , o = 1, … … … … , p
Où : , & = Ì
[] Í et Î = [u − ].
̂v) = −¯ ∗ ª¿U
Notons que toute solution réalisable de (1) est transformée par Τu en une
solution réalisable de (5) et réciproquement, toute solution réalisable & de (5) avec
&v) > 0 est transformée par ΤuA) en une solution réalisable de de (1).
3.7. Tests numériques :
Nos tests d’applications sot réalisés su un PC portable Acer sous Windows 7 en
utilisant le langage MATLAB.
op %
Les exemples traités sont de la forme canonique suivante :
=
(PL)
≥ 0
La précision est comprise entre 10Ac t 10AÐ .
^
\
2) + + ≤ 8
] ) + 2+ ≤ 7
\ + ≤ 3
[ ) , + ≥ 0
Après 85 itérations, on obtient la solution optimale ∗ = (3 , 2)% qui donne la
valeur optimale du problème ¯ ∗ = −22.
op 3) − + + c
Exemple 02 : Soit le problème linéaire suivant :
^ 2) + + − d ≤ 0
\
c + Ó − Ð ≤ 0
] ) + + + c +d + Ó + Ð ≤ 1
\
[ ) , + , c , d , Ó , Ð ≥ 0
28
Chapitre 03 Programmation linéaire
op ) + +
Exemple 03: Soit le problème linéaire suivant :
^
\
2) + + + c = 2
] −2) + 4+ + d = 0
\
[ ) , + , c , d ≥ 0
du problème.
^
\
) − + + c + d = 3
] 2) + + − c + d = 4
\ ) + + + d + Ó = 5
[ ) , + , d , Ó ≥ 0
op 4) + + + 2c
Exemple 05 : Soit le problème linéaire suivant :
^
\
2) + 3+ + c + 2d = 2
] 3) − 2c + d = 0
\
[ ) , + , c , d ≥ 0
La solution optimale trouvée est : ∗ = (0.0268 0.3679 0.0564 0.6553)% ,
obtenue en 8 itérations, et donne ¯ ∗ = 0.6666.
op −) − +
Exemple 06 : Soit le problème linéaire suivant :
^
\
−2) + + ≤ 1
] ) + + ≤ 3
\
[ ) , + ≥ 0
29
Chapitre 03 Programmation linéaire
Commentaire :
A travers les tests numériques effectuées, on remarque
l’efficacité pratique de l’ algorithme en termes d’infériorité du nombre pratique
du nombre d’itération qui est très réduit, et la réduction de la durée d’exécution.
30
Chapitre 04 Programmation Quadratique
4.1. Introduction :
La programmation quadratique est connue pour ses applications multiples dans
plusieurs domaines. son importance provient du fait que plusieurs problèmes réels sont
quadratiques c’est le cas de nombreux problèmes en particuliers ceux de la physique et
de l’économie…. et souvent, qui intervient comme procédures intermédiaires pour des
programmes non linéaires, c’est le cas entre autre des méthodes de programmation
quadratique successives (SQP). En ramenant des programmes non linéaires avec de
transformation ou formulation adéquate aux problèmes de programmations
quadratiques successives où la fonction objectif à minimiser est quadratique sous des
contraintes linéaire.
Le problème quadratique en général peut s’écrire comme suit :
() =
+
(PQ)
=
≥ 0
Où Q est une matrice symétrique d’ordre n (Q ∈ ℝn*n), b ∈ ℝm, c, ∈ ℝn et A ∈ ℝm*n
de plein rang (rgA=m ≤ ).
Remarque : 1) L’ensemble des contraintes D={ ∈ ℝn, = , ≥ 0} est un
polyèdre convexe et fermé, la fonction objectif est infiniment différentiable.
2) (PQ) est convexe si et seulement si F est convexe auquel cas la
matrice Q est semi-définie positive, car les contraintes sont linéaires (affines), donc
elles sont convexes.
4.2. Méthodes de résolution d’un problème quadratique:
On s’intéresse dans ce chapitre à la résolution par complémentarité linéaire qui
génère le domaine de la programmation linéaire et le domaine de la programmation
quadratique convexe avec une méthode des points intérieurs de type barrière
logarithmique, trajectoire centrale avec ou sans poids, en définissant leurs propriétés
attractives, notamment la complexité polynomiale et la convergence super linéaire, ce
qui devrait donner lieu à comportement numérique prometteur.
31
Chapitre 04 Programmation Quadratique
y = Mx + q
(PLC) x $ y = 0
(x, y) ≥ 0
Où : M est une matrice carré d’ordre n semi-définie positive (M ∈ ℝn*n) et q ∈ ℝn.
4.4. Transformation d’un programme quadratique convexe en un
programme complémentaire linéaire :
Soit le programme quadratique convexe :
() =
+
≤
≥ 0
(PQ)
. + + & − ) = 0
tels que [4] [3] :
-
& ( − ) = 0
, − ) = 0
+ & ≥ 0, ) ≥ 0, ≥ 0.
) = . + + &
-
2 = −
⟺
, )
= 0, &
2 = 0
+ ≥ 0, & ≥ 0, ) ≥ 0, 2 ≥ 0
32
Chapitre 04 Programmation Quadratique
=
6 + 8 9 ;
- 5
4
3 − 0 7 :
⟺ <
54 =
76 > = 0
,
3
+
54 ≥ 0,
76 ≥ 0
M=
− 0
On obtient bien un PCL :
+ ( , ) ≥ 0
2 0
Qui est équivalent au problème suivant :
- ( , )
0 Q R + (2,3) Q R
2
3
M
, 5 + 3 ≤ 4
3 − ≤ 5
+ ( , ) ≥ 0
Son problème équivalent en programmation de complémentarité linéaire est le
suivant :
1 0 5 1
Avec :
? =
54 ,z =
76 et q = SUW avec : M = X 0 1 3 −1Z.
T
V −5 −3 0 0
−1 1 0 0
33
Chapitre 04 Programmation Quadratique
Min c $ x
On a un programme linéaire sous la forme :
[ M
A x ≤ b
(PL)
x ≥ 0
a ? = MF + q ≥ 0, F ≥ 0
? F = 0
Où :
? = 54 ,z = 76 ,q=8:9 ; et
M=
0 .
− 0
Exemple : soit le problème linéaire suivant :
- (2,3) Q R
3
M
, 5 + 3 <= 4
3 − <= 5
+ ( , ) ≥ 0
a ? = MF + q ≥ 0, F ≥ 0
? F = 0
0 0 5 1
Avec :
? =
54 ,z =
76 et q = SUW et M = X 0 0 3 −1Z .
T
V −5 −3 0 0
−1 1 0 0
4.5. Transformation d’un programme complémentaire linéaire monotone
en un programme quadratique convexe :
En général, on ne peut pas transformer un (PCL) quelconque en (PQC) sauf si
la matrice M est semi-définie positive auquel cas on parle de (PCL) monotone.
34
Chapitre 04 Programmation Quadratique
- M.
3
d.e & = + c
, &=0
3
+ , & ≥ 0
d.e.
orst = {, & ∈ op : & = 0} L’ensemble des solutions ded.e.
k = 1, … … … . .1 ∈ ℝ* .
v = wxy: > 0, vk = .
{ = wxy&: & > 0, {k = & .
35
Chapitre 04 Programmation Quadratique
5 (, &)
On associe à ce dernier, le problème pénalisé suivant :
M.
(d.e)5 [
& = + c
(, &) > 0
Où 5 (, &) est la fonction pénalisée définie par :
*
* *
5 () = ( + c) − 2 ln ( ) + ln( + c)
36
Chapitre 04 Programmation Quadratique
v{k − 2k = 0
système suivant :
a & = + c …………………………(1)
(, &) > 0
Donc, la solution de (d.e)5 est équivalente à résoudre le système(1).
Preuve :
(d.e)5 est convexe et différentiable, les contraintes sont qualifiées car affines, alors
les conditions de f sont nécessaires et suffisantes et s’écrivent comme suit :
& − 2v k + F = 0
-
− 2{ k − F = 0
, & = + c
+ (, &) > 0
Où F ∈ ℝ* est le multiplicateur de Lagrange associé à la contrainte + c − & =0
du problème (d.e)5 .
Ou d’une manière équivalente :
(v + {)F = 0
& = + c
(, &) > 0
37
Chapitre 04 Programmation Quadratique
(v + {) est définie positive alors inversible, donc F = 0.On substitut dans le
système de f, on obtient :
& − 2v k = 0
-
− 2{ k = 0
, & = + c
+ (, &) > 0
v{k − 2k = 0
Alors :
a & = + c
(, &) > 0
En désignant par (5 , &5 ) la solution du système non linéaire (1) pour 2 > 0
Définition 4.6.1.1:
5 (, &) = 0 kl (, &, 2) ∈ ℝ*' ∗ ℝ*' ∗ ℝ' … … … … … . (2)
Sur la fonction issue du système (1) :
5 : ℝ*' ∗ ℝ*' → ℝ*' ∗ ℝ*' est une fonction définie par :
v{k − 2k
Où
5 (, &) =
& − − c
∇
5 (, &)
∆7
∆6
= −
5 (, &)… … … … … (sl)
∆& = ∆
v ∆ −2k − v{k
(sl) s’écrit sous la forme matricielle comme suit :
{
Q R = Q R
− ∆& 0
38
Chapitre 04 Programmation Quadratique
l’ensemble suivant :
& &
f(¡) = ¢(, &) ∈ op : v{k − k ≤ ¡: ¡ > 0£
L’algorithme correspondant se présente comme suit :
4.6.1.5.Algorithme de la trajectoire centrale pour la programmation
quadratique :[3]
39
Chapitre 04 Programmation Quadratique
choisit une valeur convenable du paramètre 2 > 0; alors le nouveau point( ' , & ' )
reste voisin de la trajectoire centrale, plus précisément, on a le théorème suivant :
40
Chapitre 04 Programmation Quadratique
Notons :® = wxy(g). la matrice diagonale dont ces éléments diagonaux sont les
logarithmique.
g , = 1 … .
Remarques : 1) pour g = (1,1, … … 1) ∈ ℝ* , on trouve le système classique, c'est-
à-dire la méthode trajectoire centrale (sans poids).
2) la solution optimale finie de (d.e)5¬ converge vers la solution de
(d.e) lorsque 2 tend vers 0.
5 (, &) est strictement convexe et les contraintes sont linéaire (affines), alors
comme suit :
les conditions de KKT correspondantes sont linéaires et suffisantes et s’écrivent
& − 2v g + F = 0
-
− 2{ g − F = 0
, & = + c
+ (, &) > 0
v{k − 2g = 0
Qui donne, alors :
(**) a & = + c
(, &) > 0
Donc, la solution de (d.e)5¬ est équivalente à résoudre le système(∗∗).
Définition 4.6.2.1.: L’ensemble de toutes les solutions du système (∗∗):
41
Chapitre 04 Programmation Quadratique
®&
( ) ‖ ‖
, &, 2 = v{k −2g = v{k − g
l’ensemble suivant :
®& ®&
f(¡) = ¢(, &) ∈ op : v{k − g ≤ ¡: ¡ > 0£
Pour résoudre le système (**), on définit la fonction :
5¬ : ℝ*' ∗ ℝ*' → ℝ*' ∗ ℝ*' est une fonction définie par :
v{k − 2g
5¬ (, &) =
& − − c
La résolution du
5¬ (, &) = 0 revient à résoudre le système linéaire :
{∆ + v∆& = −2g − v{k
∆& = ∆
(S1)
v ∆ −2g − v{k
(Sl) s’écrit sous la forme matricielle comme suit :
{
Q R = Q R
− ∆& 0
Par un simple calcul, on trouve la solution (∆, ∆&) donnée par :
∆ = ( + v {)(2v g − {k)
∆& = ∆
42
Chapitre 04 Programmation Quadratique
&³
− xjk ´ ∈ µ = {´: ∆&³ < 0}
°7 = ∆&³
1 M ∆&³ ≥ 0
4.6.2.5. Algorithme de trajectoire centrale avec poids:
Initialisation : ( ¥ , & ¥ ) ∈ o , 2 = ,g = , =
1 − ¼.
¶· ¸ ¹ ¸ º¶ · ¸ ¹ ¸ º √
√* »
43
Chapitre 04 Programmation Quadratique
montant fixe
1 − .
¾
«√*
Soient ( ¥ , & ¥ ) ∈ o , 2 = , g = , = ¡ =
1 − ¼ et
¶· ¸ ¹ ¸ º¶ · ¸ ¹ ¸ º √
√* 5
¼ = min g pour i : 1, … , n.
Supposons que : ( , & ) ∈ f¬ (¡) et 2 = (1 − )
¨ 86 ª ; ¯7 ª
√* *
, alors :
)
problème suivant :
M.
[
F + )(c − F ¥ ) = c
……………………(d1)
F ≥ 0, ) ≥ 0
Tel que : F ¥ ∈ ℝ*'' est choisi arbitrairement dans l’orthant positif et ) une variable
artificielle. Posons ? = (&, , )), le problème (P1) est équivalent au problème linéaire
suivant :
44
Chapitre 04 Programmation Quadratique
? = F ∗
[ M. ………………………… (P2)
̅
? =
?>0
Où : = (0, … ,1) ∈ ℝ*'(' , ̅ = − − x ∈ ℝ(∗(('*') .
Le problème (P2) vérifie les hypothèses de Karmarkar :
1) F ∗ = 0.
2) ? = (x, 1) est une solution strictement réalisable de (P2).
3) ̅ est une matrice de plein rang (rang ̅ = ≤ + + 1).
Plus précisément Karmarkar démontre le théorème suivant :
Min f(x)
Les exemples traités sont de la forme canonique suivante :
M
[
A x = b
(PL)
x ≥ 0
La précision est comprise entre 10T kl 10« .
Pour la recherche des solutions initiales, on présente un algorithme un
algorithme réduit de Karmarkar (Annexe1), qui va nous aider à résoudre ce dernier
avec la trajectoire centrale avec et sans poids.
1) L’application avec la méthode de TC sans poids :
a)cas linéaire :
45
Chapitre 04 Programmation Quadratique
3 + 2 + T + 3U
Exemple 01 : Soit le problème linéaire suivant :
- − + T + U = 3
3
2 + − T + 2U = 4
, + T + 2U = 5
3
+ , , T , U ≥ 0
Prenons les solutions trouvées initiales suivantes:
° = (0.341957 , 0.004313 , 0.670979 , 1.991376 )
& ° = (−0.005320 , 0.274080,1.222858)
Après une 63 itérations, On obtient les solutions optimales suivantes :
∗ = (0.2972 0.0181 0.6486 2.0414)
& ∗ = ( 1.4046 0.6134 0.1619)
Et la valeur optimale: F ∗ = 7.8.
4 + + 2T
Exemple 02 Soit le problème linéaire suivant :
- M
3
2 + 3 + T + 2U = 2
, 3 − 2T + U = 0
3
+ , , T , U ≥ 0
Soient les solutions initiales du problème :
° = (0.001069 , 0.663691 , 0.002641 , 0.002074 )
& ° = (0.270655 , −0.546445)
Les solutions optimales trouvées sont :
∗ = (0.0000 0.6666 0.0000 0.0000)
& ∗ = ( 0.2707 − 0.5464)
Après 54 itérations avec la valeur optimale F ∗ = 0.6666.
b) cas quadratique :
Exemple 03 : Soit le problème quadratique suivant :
- () = +
M
′
, =
+ ≥0
46
Chapitre 04 Programmation Quadratique
( − 1) + ( − 2.5)
Exemple 04: Soit le problème quadratique suivant :
-
M
3
− 2 + T = −2
, − − 2 + U = 2
3 − + 2 + V = −2
+ , , T , U , V ≥ 0
Les solutions initiales trouvées égales à :
° = (2.000000 , 0.000001 , 4.000000 , 0.00001 , 0.000001)
& ° = (0.000013 , −2.271984 , 0.000788)
On obtient, les solutions optimales suivantes après 123 itérations :
∗ = (2.0000 0.0000 4.0000 0.0000 0.0000 )
& ∗ = ( 0.0000 − 2.2720 0.0008) , la valeur optimale F ∗ = −4.25.
2) L’application de méthode de TC avec poids :
1) cas linéaire :
4 + + 2T
Exemple 05 : soit le problème linéaire suivant :
- M
3
2 + 3 + T + 2U = 2
, 3 − 2T + U = 0
3
+ , , T , U ≥ 0
Soient les solutions initiales du problème :
° = (0.001069 , 0.663691 , 0.002641 , 0.002074 )
& ° = (0.270655 , −0.546445)
47
Chapitre 04 Programmation Quadratique
3 + 2 + T + 3U
Exemple 06 : Soit le problème linéaire suivant :
- M
3
− + T + U = 3
, 2 + − T + 2U = 4
3 + T + 2U = 5
+ , , T , U , V ≥ 0
Les solutions initiales trouvées sont:
° = (0.341957 , 0.004313 , 0.670979 , 1.991376 )
& ° = (−0.005320 , 0.274080,1.222858)
Les solutions optimales trouvées après 46 itérations, sont :
∗ = (0.3333 0.0000 0.6667 2.0000)
& ∗ = ( 1.6646 0.6662 0.0015)
Avec la valeur optimale du problème : F ∗ = 7.6867.
−4 − 5
Exemple 07 : Soit le programme linéaire :
- M
3
2 + + T = 8
, + 2 + U = 7
3
+ , , T , U ≥ 0
Soient les solutions initiales trouvées suivantes :
° = (2.934176 , 2.023044 , 0.108604 , 0.019737 )
& ° = (−1.024282 , −1.971814)
Qui donnent les solutions optimales :
∗ = (3.0000 2.0000 0.0000 0.0000)
& ∗ = ( −1.0703 − 1.8594) .
Et la valeur optimale F ∗ = −22 après 45 itérations.
48
Chapitre 04 Programmation Quadratique
3) Cas quadratique :
1
Exemple 08 : Soit le problème quadratique suivant :
() = + ′
[ 2
=
≥0
2 0 0
Exemple 09 : pour :
−2 1 0 1
, Q= S0 2 0W et C=( −4, −5, 0) , b=
.
1 0 1 1
0 0 0
A=
49
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
5.1. Introduction :
Dans ce chapitre, on va présenter deux méthodes de points intérieurs, la
premier de type projectif celle de Karmarkar, et l’autre de type barrière logarithmique
(méthode de trajectoire centrale avec poids), pour la minimisation de problèmes de
fonction objectif non linéaire convexe différentiables sous contraintes linéaires,
c’est-à-dire minimiser cette dernière sur un polyèdre.
Considérons le problème d’optimisation non linéaire convexe suivant :
=
……………………
≥0
Où : ℝ → ℝ est une fonction non linéaire, convexe et différentiable, une matrice
de type , de plein rangrang A = m ≤ n,
∈ ℝ$ .
% = & ∈ ℝ' : =
( : L’ensemble des solutions réalisables de.
5.2. Méthode de Karmarkar:
5.2.1.Présentation de la méthode :
Considérons le problème d’optimisation non linéaire sous contraintes linéaire
suivant :
………………………………………(1)
=
≥0
Où : ℝ → ℝ est une fonction non linéaire, convexe et différentiable, une matrice
de type , .
50
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
=
9':
;
⇒ −
9':
;
=0
Soit la transformation projective notée Τ> une fonction définie par :[2]
Τ> : ℝ' → ?': définie par : Τ> = @
Avec :
@ =
CD ⁄CDE
A B :'∑HDIJCD ⁄CDE
@': = 1 − ∑BK: @B
……………………..(2)
B
On a :
@B = @': , = 1, … … … … … , .
B>
Ou encore : @NO = %>P: @': ou @NO désigne les première composantes de @ .
> @ =
= ΤP: , %> = TUV > .
QE RNO
RHSJ
par :
V@ = 0
………………………….(2)
W@ = 0
@ ∈ ?':
Où V: ℝ': → ℝ, est une fonction non linéaire, convexe et différentiable.
?': = &@Xℝ': : 9':
;
= @, @ ≥ 0( est le simplexe de dimension et de centre U tel
que UB = , ∀ ∈ &1, … + 1(, 9': ∈ ℝ': où : 9B = 1, ∀ ∈ &1, … , + 1(.
:
':
^_`abcdΤE
eJ j kNHO
RfPg ∗ hKci E lPg ∗
\
kHSJ
jE kNHO
Km
]
kHSJ
\
…………………….( 3)
∑HSJ
DIJ RD K:
[ RNOn3,RHSJ
51
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
jE kNHO
_`aRHSJbcdΤeJ
E RfPg hKRHSJ oci
∗ lPg ∗ p
kHSJ
QE RNOPmRHSJ K3
∑HSJ
DIJ RD K:
…………………….( 4)
RNOn3,RHSJ
Encore équivalent à :
V@ = @': qrs>P: @t − 6 ∗ u
………………………….. (5)
> @ = 0
@ ∈ ?':
Notons que toute solution réalisable de 1 est transformée par Τ> en une
solution réalisable de 5 et réciproquement, toute solution réalisable @ de 5 avec
@': > 0 est transformée par Τ>P: en une solution réalisable de 1.et que la valeur
optimale de V@ est 0 et que le centre du simplexe est réalisable pour (5).
Lemme 5.2.1.1. : La fonction étant convexe sur l’ensemble % = & ∈ ℝ : =
,≥0, il en est de même pour V sur l’ensemble: % =@∈ℝ+1:w@=0,@∈?+1.
@':
y +
y@': + 1 − y@z':
Vy@ + 1 − y@z ≤ y@': + 1 − y@z':
1 − y @z': ∗
z − 6
y@': + 1 − y@z':
≤ y@': N − 6 ∗ O + 1 − y@z': Nz − 6 ∗ O = yV@ + 1 − yV@
52
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
^
\
> @ = 0 … … … … … … . . 6
] 9':
;
@ = 1, @ ≥ 0
\
[ ‖@ − U‖ ≤
∇VU; @
Qui équivalent au problème suivant :
^
\
> @ = 0 … … … … … … … . 7
]9': @ = 1, @ ≥ 0
;
\
[ ‖@ − U‖ ≤
On sait que (lemme3.4.3.1 chapitre 03) pour < 1, la contrainte @ ≥ 0 est redondante
∇VU; @
et donc :
^
\
> @ = 0 … … … … … … … . 8
] 9': @ = 1
;
\
[‖@ − U‖ ≤
La solution optimale du problème (7) est donnée explicitement par :@ > = U − UT > où
Lemme 5.2.2:[3]
W> = b E h @ − U = b E h @ − b E h U = 0.
HSJ HSJ HSJ
53
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
∇VU;
…………………… (9)
W> = 0
‖‖ ≤ U
Le problème (8) est convexe (∇VU; est convexe et les contraintes sont convexes),
donc les conditions de KKT sont nécessaires et suffisantes, elles s’écrivent comme
suit :
∇VU + W> ; y + = 0 … … … … . U
W> = 0 … … … … …
……………(10)
‖‖ − U = 0 … … … … … . c
Où :∃y ∈ ℝ$': et ∃ ∈ ℝ' sont les multiplicateurs de Lagrange associés à les
contraintes W> = 0 9 ‖ ‖ ≤ U respectivement du problème (8).
Alors ∗ est solution optimale si et seulement si:
∃y ∈ ℝ$': et ∃ ∈ ℝ' tels que :
∇VU + W> ; y + ∗ = 0.
D’après l’équation (a) du système (9) : ∇VU + W> ; y + ∗ = 0……….(*)
En multipliant (*) par W> on trouve:
W> ∇VU + W> W> ; y + W> ∗ = 0. ……………(**)
De l’équation (b) du système (9), on a: W> ∗ = 0, donc W> ∇VU + W> W> ; y = 0.
Alors : y = −W> W> ; P: W> ∇VU, en substituant dans (*) :
∗ = − N − W> ; W> W> ; P: W> O∇VU = − > .
: :
‖ ∗ ‖ = ‖> ‖ … … … … … … . +
:
54
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
55
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
Notre but est de montrer la réduction de la fonction potentielle, pour avoir la
réduction dans la fonction − 6 ∗ . Donc si la suite > ) tend vers −∞ alors
la suite > tend vers 0.
Théorème 5.2.3.1 :[2]
A chaque itération de l’algorithme, la fonction potentiel se réduit d’une valeur
V@ >
':
= + 1 ln − ¥ ln @B> .
VU
BK:
1) − ∑':
BK: ln @B = .
> ¨
:P¨
Les exemples traités sont de la forme suivante :
……………………(PNLC)
=
≥0
Où : ℝ → ℝ est une fonction non linéaire, convexe et différentiable, une matrice
de type , .La précision est située entre 10P© 9 10Pª .
Exemple 1 : Soit le problème non linéaire convexe suivant :
56
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
9: −
2 : − + © = 1
: , , © ≥ 0
Pour : epsilon=0 .001 et 6 ∗ = 0, on trouve la solution optimale après 19 itérations:
∗ = 0.005 11.5994 22.3795; .
Qui donne la valeur optimale : ∗ = exp −11.5989.
Exemple 02 : Soit le problème non linéaire suivant :
min : + 2 − 2: − 2: −
^
\
: + = 2
] −: + 2 = 2
\
[ : , ≥ 0
Pour 6 ∗ = −7 et esp=0.0001 après 26 itérations, on obtient :
La solution optimale qu’on obtient : ∗ =0.6546 , 1 . 3453;
Exemple 03 : Soit le problème non linéaire quadratique suivant :
^min = ¯ +
; :;
] =
[ ≥
Tel que : Q=r ° P
P °
t et A=r : :
: ª
t
Commentaire :
Les exemples testés montrent la fiabilité, et l’efficacité pratique de cet
algorithme en termes d’infériorité du nombre pratique d’itération, et la réduction de
temps d’exécution.
57
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
Considérons le problème d’optimisation non linéaire convexe suivant :
=
……………………
≥0
Où : ℝ → ℝ est une fonction non linéaire, convexe et différentiable, une matrice
de type , de plein rang rg A = m ≤ n,
∈ ℝ$ .
On note par : 9 = 1, … … … . .1; ∈ ℝ .
% = & ∈ ℝ' : =
( : L’ensemble des solutions réalisables de.
%± = & ∈ ℝ'' : =
( : L’ensemble des solutions strictement réalisables de
qui est supposé non vide.
On associe à ce dernier, le problème pénalisé suivant :
……………………²
=
>0
Où : est la fonction pénalisée définie par :
= − ¥ ln B
BK:
Preuve : il suffit de voir que :∀ ∈ ℝ' , ∈ ∞ et nous avons en particulier :
58
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
D’où le problème (les contraintes sont linéaires), donc les conditions de
KKT sont nécessaires et suffisantes, elles s’écrivent comme suit :
∇ − ³ P: 9 − ; @ = 0
− = 0
> 0, @ ∈ ℝ$
Où : ∈ ℝ'' et @ ∈ ℝ$ est le multiplicateur de Lagrange associé à la
contrainte
− = 0) du problème² .
On pose = ³ P: 9 ∈ ℝ'' , le système précédent devient :
; @ + = ∇
=
…………..(1)
³ − 9 = 0
, > 0
Pour chaque valeur de , on résout le système (1) par la méthode de newton, on obtient
Définitions 5.3.1.1:
La trajectoire centrale est l’ensemble de toutes les solutions ´r , @ , t/ > 0¶ du
; @ + = ∇ … … … … … . . U
système :
^
=
… … … … … … … … … . . .
] B B = , = 1 … … … … … .
…………….(2)
[ , > 0
Avec ? = TUV .
est difficile d’obtenir une solution exacte de ² . Nous allons donc nous
Puisqu’on a une équation non linéaire dans le système (1) de même pour (2), il
contenter d’une solution approchée dont la qualité est jugée satisfaisante lorsqu’elle se
59
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
Définition 5.3.1.2 :
Où ³ = TUV et ? = TUV .
La direction de newton ∆, ∆@, ∆ est solution du système linéaire :
∇
Où :
−; −
∇ , @, = 0 0 ……………….(6)
? 0 ³
60
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
³ 3 = TUV 3 , ? 3 = TUV 3 .
2-Itération : pour w = 0,1,2….
Pas 1 :
Calculer :
-les paramètres : >': = ½>
-résoudre le système :
∇ −; − Δ 0
0 0 Δ@ = ¹ 0 º
? 0 ³ ∆ −³?9 + 9
-le nouvel itéré : >': , @ >': , >': = > , @ > , > + ∆, ∆@, ∆ , w = w + 1
3-Jusqu’à: > ; > ≤
Fin de l’algorithme.
Remarque : Si le point initial calculé n’est pas voisin de la trajectoire centrale, rien ne
garantie la convergence de cet algorithme même si ce point est strictement réalisable.
Nous introduisons le paramètre poids associé à la fonction barrière afin que le point
initial reste au voisinage de la trajectoire centrale.
61
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
Considérons le problème d’optimisation non linéaire convexe suivant :
=
……………………
≥0
Où : ℝ → ℝ est une fonction non linéaire, convexe et différentiable, une matrice
de type , de plein rang rg A = m ≤ n,
∈ ℝ$ .
On associe à le problème perturbé défini comme suit :
¿
A =
……………………¿
>0
Où :
Avec : > 0, À = À: , À , … … , À ; ∈ ℝ' sont les poids associés à la fonction barrière
les ÀB , = 1 … .
On a ¿ est strictement convexe et les contraintes du problème
²¿ sont linéaire (affines), alors les conditions de KKT correspondantes sont
nécessaires et suffisantes et s’écrivent comme suit :
∇ − ³ P: À − ; @ = 0
− = 0 …………………….(1)
> 0, @ ∈ ℝ $
62
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
∇ −; − Δ 0
0 0 Δ@ = 0 … … … … … . . 3
? 0 ³ ∆ −³?9 + À
−∇ ∆ + ; ∆@ + ∆ = 0
s’écrit sous la forme :
A ∆ = 0 ………………….(5)
?∆ + ³∆ = −³?9 + À
63
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
N−³ P: ? − ∇ O∆ + ; ∆@ = − ³ P: À
Le système (5) se réduit au système :
Â
∆ = 0
……………..(6)
∆ = N³ P: ? + ∇ OP: N; ∆@ − + ³ P: ÀO
On remplace ∆ dans la deuxième équation du système(6), on obtient alors le
système :∆ = N³ P: ? + ∇ OP: N; ∆@ − + ³ P: ÀO = 0
⟺ N³ P: ? + ∇ OP: ; ∆@ = N³ P: ? + ∇ OP: N − ³ P: ÀO…………(++)
On résout le système (++), pour obtenir la direction ∆@ unique, puis on déduit ∆
et ∆ .
On a : ³ P: ?, ∇ sont symétriques, donc la somme des deux matrice est
comme est supposée convexe, donc sa matrice hessienne semi définie positive.
Par conséquent : ³ P: ? + ∇ une somme de deux matrices définies positives est
définie positive. D’où le système (++) admet une seule solution.
64
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
y
problème suivant :
.
……………………1
+ y
− U =
> 0, y > 0
Tel que : U ∈ ℝ'' est choisi arbitrairement dans l’orthant positif et y une variable
artificielle. Posons Ä = , y, le problème (P1) est équivalent au problème linéaire
; Ä = 6 ∗
suivant :
.
………………………… (P2)
̅Ä =
Ä>0
Où :
; = 0, … ,1 ∈ ℝ': , ̅ = N,
− UO ∈ ℝ$∗': .
Le problème (P2) vérifie les hypothèses de Karmarkar :
1) 6 ∗ = 0.
2) Ä = U, 1 est une solution strictement réalisable de (P2).
3) ̅ est une matrice de plein rang (rang ̅ = ≤ + 1.
Théorème5.3.3.4.1. [2]: ∃ > 0 , telle que les deux propositions suivantes sont
équivalentes :
1) une solution de (P1).
2) (P2) admet une solution optimale Ä = , y/y ≤ .
65
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
' , @ ' , ' = , @, + ∆, ∆@, ∆ doit être réalisable. Aussi qu’ils
vérifient :
+ C ∆ > 0
@ + R ∆@ > 0
+ x ∆ > 0
On prend : = ½ C' , R' , x' tel que 0 < ½ < 1.
Où :
− U¸9
∈ = &: ∆B < 0(
CD
C = Æ ∆CD
1 ∆B ≥ 0
@B
− U¸9
∈ = &: ∆@B < 0(
R = A ∆@B
1 ∆@B ≥ 0
− U¸9
∈ = &: ∆ B < 0(
x
x = Æ ∆xD
1 ∆ B ≥ 0
66
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
À= , § = d1 − f Ê 9 ½ = 1 −
È ¾ ± ¾ √ Ì
² √
.
-la direction de Newton ∆ > , ∆@ > , ∆ > solution du système linéaire :
∇ −; − Δ 0
0 0 Δ@ = ¹ 0 º
? 0 ³ ∆ −³?9 + ÏÀ
-calcul du pas de déplacement > .tel que : > = C , R , x
-le nouvel itéré : >': , @ >': , >': = > , @ > , > + > ∆, ∆@, ∆ ,
Pas 2 :
Poser :w = w + 1
3-Fin de l’algorithme.
5.3.3.7. Convergence de l’algorithme:[3]
̀ = ½ tel que ½ = 1 − et =
Ì C Îx
√
alors :
67
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
= ; @ + + ; ∆@ + ∆ = ∇ + ; ∆@ + ∆
= ∇ + ∇ ∆ = ∇ + ∆ = ∇ '
=1+ V · ∗ < 1 −
: Ñ
√ Ò√
.
Avec : Ê = minÀB .
Preuve :∀ > 0, ∃0 < · < 1, ∃ ' , @ ' , ' ∈ ¢¿ ·
68
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
≤ ½ ≤ d1 − f 9Ø Ù9: =
>': > × > > rC E t Îx E
√
On a:
> · >
ln } 3 ~ ≤ wln i1 − l }U : 3 < ~.
√
·
Ainsi :
w i− l < ln ε
√
Alors : w ≥ − ln ε. est le nombre d’itérations.
√
×
Les exemples traités sont de la forme canonique suivante :
=
……………………
≥0
Où : ℝ → ℝ est une fonction non linéaire, convexe et différentiable, une matrice
de type , de plein rang rg A = m ≤ n,
∈ ℝ$ .
La précision est comprise entre 10P© 9 10PÒ .
Pour la recherche des solutions initiales, on présente un algorithme un
algorithme réduit de Karmarkar (Annexe1), qui va nous aider à résoudre ce dernier
avec la trajectoire centrale avec et sans poids.
1- L’application avec la méthode TC sans poids :
Exemple 01: Soit le programme non linéaire suivant:
:© +:© + :
^
\
2: + + © = 8
] + 2 + = 7
\ : °
[ : , , © ≥ 0
Les solutions initiales trouvées :
69
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
\
: − 2 − © = −2
] − : − 2 + ° = −2
\ −: + 2 + ª = −2
[ : , , © , ° ≥ 0
Pour epsilon=0.00001 et les solutions initiales trouvées égales à :
° = 2.000000 , 0 .0000001, 4.000000 , 0.0000001 , 0.0000001;
@ ° = 0.000013 , −2.271984 , 0.000788;
° = 0.000001 , 0.000001 , 0.001443 , 0.003172 , 0.000771;
Après 39 itérations, on obtient les solutions optimales suivantes :
∗ = 2.0000 0.0000 4.0000 0.0000 0.0000 ;
@ ∗ = 0.0000 − 2.2720 0.0008;
∗ = 0.0000 0.0000 0.0014 0.0032 0.0008;
Qui donnent la valeur optimale ∗ = 2.5.
Exemple 03: Soit le problème non linéaire suivant :
− : ∗ ©
^
\
: + + © = 2
] + 5 + = 5
\ : °
[ : , , © , ° ≥ 0
Pour epsilon=0.00001, et prenons les solutions initiales trouvées :
70
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
2: − + © = 1
: , , © ≥ 0
Pour epsilon =0.0001, et les solutions initiales égales à :
° = 1.000000,1.000000 ,1.000000 ;
@ ° = 0.134424
° = 2.681628,0.012906,0.006471;
On obtient après 33 itérations, les solutions optimales suivantes :
∗ = 0.0000 0.0000 1.0000;
@ ∗ = 0.1409
∗ = 2.6687 0.0258 0.0000;
Pour lesquelles on trouve = 2.
Exemple 05 :Soit le problème non linéaire suivant :
log : +
^
\
2: + 3 + © + 2° = 2
] 3: − 2© + ° = 0
\
[ : , , © , ° ≥ 0
71
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
= : © − ©
Exemple 06 : Soit le problème non linéaire suivant :
\
: − + © + ° = 3
] : + − © + ° = 4
2
\ : + © + 2° = 5
[ : , , © , ° ≥ 0
Pour epsilon=0.000001, et prenons les solutions de départ trouvées égales à :
° = 0.341957 , 0.004313 , 0.670979 , 1.991376 ;
@ ° = −0.005320 , 0.274080,1.222858;
° = 1.234301 , 0.497742 , 0.056542 , 0.011443;
Les solutions optimales sont :
∗ = 0.3333 0.0000 0.6667 2.0052;
@ ∗ = 1.6434 0.6608 0.0175;
∗ = 0.0000 2.9650 0.0000 0.0000;
Avec = 0.0370. La valeur optimale, obtenues après 36 itérations.
Exemple 07 :Soit le problème non linéaire suivant :
3: © − : ©
^
\
72
Chapitre 05 Programmation non linéaire
convexe sous contraintes linéaires
Complémentaire :
A travers les tests numériques effectuées, on a remarqué l’efficacité
pratique de l’ algorithmes de trajectoire centrale en terme d’infériorité du
nombre pratique du nombre d’itération qui est très réduit, et la réduction de
la durée d’exécution (le temps d’exécution constaté est très peu ).
73
Chapitre
Chapitre 06 Implémentation de logiciel
6.1. Définition :
74
Chapitre
Chapitre 06 Implémentation de logiciel
Barre d’état.
75
Chapitre
Chapitre 06 Implémentation de logiciel
La barre d’outils en 9, qui sont souvent des raccourcis de fonctions contenues dans les
menus. De gauche à droit (entre autre) :
• La zone historique, qui ne peut être modifiée, mais dont on peut copier des
pattiers ;
• La zone de commande éditable.
La zone de commande permet (comme le nom l’indique) de taper une commande qui
sera accepté à l’aide de touche <return> ou <entrée>.
Dans un premier temps, on peut se contenter d’introduire ses commandes une à une au
niveau de l’espace de travail ou elles sont interprétées directement.
En plus de l’aide de Window, une aide en ligne est disponible pour chaque
commande de MATLAB. Il suffit d’introduire : « help nom de commande ».
76
Chapitre
Chapitre 06 Implémentation de logiciel
6.3.4.2. Fonctions :
function [liste des arguments de sortie] = nom de fonction (liste des arguments
d’entrée). Contrairement aux fichiers de commande, les variables intervenant dans les
fonctions sont locales.
Les commentaires documentant les fonctions peuvent être insérés en les faisant
précéder du symbole %.*
77
Chapitre
Chapitre 06 Implémentation de logiciel
78
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 01 :
Exemple 02 :
79
Chapitre
Chapitre 06 Implémentation de logiciel
80
Chapitre
Chapitre 06 Implémentation de logiciel
81
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 01 :
82
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 02 :
Exemple 03 :
83
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 04 :
84
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 05 :
Exemple 06 :
85
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 07 :
Exemple 08 :
86
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 02 :
87
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 03 :
88
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 01 :
Exemple 02 :
89
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 03 :
90
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 01 :
91
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 02 :
92
Chapitre
Chapitre 06 Implémentation de logiciel
Exemple 04 :
93
Conclusion générale
-Conclusion :
Notre étude a porté essentiellement sur une étude des problèmes convexes
sous contraintes linéaires, puis une implémentation de logiciel menant à leurs
résolutions par des techniques numériques modernes. On a exposé les résultats
théoriques de l’optimisation convexe sous contraintes linéaires, notamment au sujet
des conditions d’optimalité. Les méthodes des points intérieurs sont connues par leurs
efficacité, rapidité de convergence pour résoudre les problèmes de grande taille,
l’inconvénient majeur de ce type de méthodes réside dans l’initialisation, c’est-a-dire
la détermination d’un point initial qui se trouve à l’intérieur de domaine réalisable.
Théoriquement, on suppose que ce point est connu, mais numériquement l’obtention
de ce point initial présente un handicap majeur pour ces méthodes importantes.
93
Annexe
Annexe :
Algorithme (Ye-lustig)
Debut
=
b) Sinon :
Si
> alors
Poser :
= (́ )
= [, − ]
!=
"(#$)(#$%)
= [ , −]
́ $ = )$ [# + ].
)+ [#$]
Poser :
= ́ $ [#],et aller à b).
Fin si ;
Fin si ;
Fin.
94
Bibliographie
[1]: CC.Gonzaga, Path following method for linear programming. Siam Revieu, M(2)
: 1992.
[6]:R.D.C. Monteiro and I.Alder, interior path following primal-dual algorithms ,part
1 : Linear programming. Mathematical Programming, 44 : 1989.
[8]:Renato D.C MONTEIRO and ilan ADLER, interior path following primal-dual
algorithme .PART 1:linear programming 44(1989) 27-41 page: 3,7.
[10]: Robert M.Freund, projective transformations for interior point methods, Part 02:
analysis of An Algorithm for finding the weighted center of polyhedral system. Sloan
W.P NO. 2050-8,Octobre 1988.
[11] :M.OURIEMCHI , programmation de problème non linéaire par les méthodes des
points intérieurs.
95
Bibliographie
[15]: Aderian Biran & Mosche Breiner, MATLAB pour l’ingénieur, version 06 et
07 édition Pearson(2004).
96