(cours et exercices).

Transcription

(cours et exercices).
ECP (2a) Math
1
Optimisation discrète : Séance 4 (cours et exercices)
PROGRAMMATION LINÉAIRE
Objectifs
Optimisation linéaire sous contraintes linéaires.
Aspects algébriques et géométriques.
Algorithme du simplexe.
Certains résultats (cités pour la continuité de l’exposé) n’ont pas à être démontrés.
1
Exemple
Un manufacturier fabrique deux types de produits à partir de trois composants :
– un produit A (5 plaques, 2 rondelles, 1 tube) rapportant 8 euros.
– un produit B (3 plaques, 3 rondelles, 3 tubes) rapportant 6 euros.
Sachant qu’il dispose en tout de 30 plaques, 24 rondelles, 18 tubes, calculer les quantités x 1 (de
produits A) et x2 (de produits B) à fabriquer pour maximiser son bénéfice Φ.
Ex 1 Rappeler brièvement la méthode de résolution vue à la séance précédente :
– introduire les variables d’écart,
– écrire la forme canonique,
– itérer jusqu’à l’optimum : le tableau final est celui de la Fig. 1.
F IG . 1 – Tableau final obtenu
|
|
|
|
1
0
0
0
0
0
1
0
1/4
-1/4
-1/12
3/2
0
1
0
0
-1/4
-3/4
5/12
1/2
2
Inéquations linéaires
3
3
5
54
|
|
|
|
Déf 1 Forme standard du système des contraintes :

C11
C21

 ..
 .
Cp1
bM 2006
C12
C22
..
.
Cp2
···
···
..
.
···

x1
 

d1
C1n 
 x2 
   d2 
C2n 
   
..   ..  =  .. 
 .
. 
 . 


dp
Cpn
xn


Optim-discr
ECP (2a) Math
2
Aspects algébriques
Déf 2 Partition de C en matrice de base B et hors-base H.
Déf 3 Forme canonique du système des contraintes : B −1 Cx = B −1 d.
On s’arrange pour que les colonnes de base soient regroupées à droite : C = [H B].
1
x(1 :m)
variables hors-base
m
m+1
x(m+1 :m+p)
variables de base
m+p=n
Déf 4 Changement de base : passage de la matrice d’une forme canonique à une autre.
Notation des composantes du changement de base :
r
s
= indice
= indice
(1 ≤ r ≤ m)
(m + 1 ≤ m + s ≤ m + p)
de la composante qui entre
de celle qui sort
L’entier s est donc l’indice, dans B regroupée à droite, de la colonne sortante.
Déf 5 Une solution est dite de base si les composantes hors-base sont nulles : x(1 :m) = 0.
Ex 2 Quelle est l’expression de la solution de base d’une forme canonique ?
Si l’une des composantes de base s’annule également, la solution est dite dégénérée.
Déf 6 Une solution du système des contraintes est dite réalisable si : x(1 :n) ≥ 0.
Thm 1 [Farkas-Minkowski] On a l’alternative suivante :
– ou bien le système des contraintes (Cx = d) admet une solution réalisable,
– ou bien on peut trouver un vecteur u tel que :
C ∗u ≥ 0
(d|u) < 0
Cela veut dire :
– ou bien d appartient au cône défini par les colonnes de C,
– ou bien il possède une composante (u) non nulle dans une direction orthogonale, i.e. il existe
un hyperplan séparateur entre d et ce cône (le vecteur u, orthogonal à cet hyperplan bien choisi,
fait un angle aigu avec le cône et obtus avec d).
Thm 2 [fondamental] S’il existe une solution réalisable au système des contraintes, alors il existe
une solution réalisable de base.
Aspects géométriques
L’ensemble des solutions réalisables du système des contraintes standard constitue un polyèdre
convexe (polyèdre des contraintes).
Thm 3 [Théorème d’équivalence] Soit Ω le polyèdre des contraintes. Alors :
x solution réalisable de base ⇔ x point extrémal de Ω
Thm 4 Soit à maximiser Φ = (a | x) sur le polyèdre des contraintes. Alors l’optimum est atteint
en un (au moins un) point extrémal.
Optim-discr
bM 2006
ECP (2a) Math
3
3
Méthode du simplexe
Description
On considère ici la forme standard (Déf.1) :
max{Φ = (a|x)}
Cx = d
x
≥
0
et on suppose que C contient une matrice de base, normalisée à I, dans ses p colonnes de droite
(Déf.3).
Déf 7 Le tableau du simplexe est constitué des coefficients des relations :
Cx = d
(a|x) = Φ
i.e. on ajoute (au système des contraintes) une ligne (numérotée p+1) faisant intervenir la variable
supplémentaire Φ.
Maximum ou minimum Le test d’optimum se fait sur le facteur de x : ce vecteur ne doit
contenir aucune composante négative, dans le cas d’un max comme dans celui d’un min.
En conséquence :
– on change le signe des coefficients de Φ lorsque c’est max.
– la valeur de Φ apparaît avec le signe moins lorsque c’est min.
Ex 3 Le changement de base (Déf.4) signifie le passage de B à B 0 par remplacement d’une
colonne de B (en numéro s dans B) par une colonne v de H (en numéro r).
Ecrire les formules et l’algorithme du changement de base.
Dans la méthode des Tableaux, le changement de base n’est rien d’autre qu’une étape de l’élimination de Gauss-Jordan (Fig. 2).
Ex 4 Montrer qu’un critère raisonnable d’entrée en base est :
r = argmin C(p + 1, 1 : m)
sur les composantes Cp+1,j < 0
et écrire la fonction correspondante.
Ex 5 Montrer que le critère de sortie de la base est nécessairement :
s = argmin
d(1 : p)
C(1 : p, r)
sur les composantes Cir > 0
et écrire la fonction correspondante.
Ex 6 Expliquer en quoi le critère d’entrée en base est un critère d’optimalité.
Ex 7 Expliquer en quoi le critère de sortie de base est un critère d’optimum non borné.
Déf 8 Cyclage.
bM 2006
Optim-discr
ECP (2a) Math
4
F IG . 2 – Méthode de Gauss-Jordan
function [ C ] = chngBas (C, p, m)
//
m1 = m+1
// +1 pour le second membre
p1 = p+1
// +1 pour la fonction objectif
piv = C(s,r)
C(s,1:m1) = C(s,1:m1) / piv
for i = 1:p1
if i == s then continue, end
t = C(i,r)
for j = 1:m1
if j == r then continue, end
C(i,j) = C(i,j) - t * C(s,j)
end
end
C(1:p1,r) = - C(1:p1,r) / piv
C(s,r) = 1 / piv
Démarrage des itérations
Exemple
On revient au cas général où C ne contient pas forcément une sous-matrice I (cela se produit
lorsque le système de contraintes a des inégalités dans les deux sens, ou des égalités).
Ex 8 Reprendre l’exemple d’introduction avec la nouvelle fonction objectif :
Φ = 11x1 + 6x2
Ex 9 Peut-on résoudre si on impose la contrainte supplémentaire : x2 ≥ 1 ?
Déf 9 Variable artificielle : x2 − y4 + z1 = 1.
Déf 10 Méthode des deux phases : on minimise d’abord la somme σ des variables artificielles.
Ex 10 Ecrire la forme canonique (standard) pour la méthode des deux phases, et résoudre (après
avoir ajouté une ligne, p + 2, de minimisation de σ).
Exemple
Avec l’exemple ci-dessus (z1 = 1 − x2 + y4 ), résultat en Fig. 3.
Ex 11 Expliciter les cas possibles à l’optimum des variables artificielles.
Optim-discr
bM 2006
ECP (2a) Math
5
F IG . 3 – Méthode des deux phases
|
5
|
2
|
1
|
0
| -11
|
0
3
3
3
1
-6
-1
0
0
0
-1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
30
24
18
1
0
0
|
|
|
|
|
|
y1
y2
y3
z1
Phi
Sigma
|
5
|
2
|
1
|
0
| -11
|
0
0
0
0
1
0
0
3
3
3
-1
-6
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
27
21
15
1
6
0
|
|
|
|
|
|
y1
y2
y3
x2
Phi
Sigma
|
|
|
|
|
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
|
|
|
|
|
x1
y2
y3
x2
Phi
1
0
0
0
0
3/5 1/5
9/5 -2/5
12/5 -1/5
-1
0
3/5 11/5
27/5
51/5
48/5
1
327/5
Algorithme du simplexe
Ex 12 L’utilisation d’un vecteur index(1 :p) rend inutile le stockage des colonnes de base
(Fig. 4).
Ex 13 Ecrire une fonction réalisant les étapes principales de l’algorithme du simplexe (en explicitant bien les cas de terminaison, normale ou anormale).
bM 2006
Optim-discr
ECP (2a) Math
6
F IG . 4 – Vecteur index
1
2
3
+---------+--------+-------+----------+-|
5.000
3.000
0.000 |
30.000 | 4
|
2.000
3.000
0.000 |
24.000 | 5
|
1.000
3.000
0.000 |
18.000 | 6
|
0.000
1.000 -1.000 |
1.000 | 7
| -11.000
-6.000
0.000 |
0.000 | Phi
|
0.000
-1.000
1.000 |
-1.000 | Sigma
1
7
3
+---------+--------+-------+----------+-|
5.000
-3.000
3.000 |
27.000 | 4
|
2.000
-3.000
3.000 |
21.000 | 5
|
1.000
-3.000
3.000 |
15.000 | 6
|
0.000
1.000 -1.000 |
1.000 | 2
| -11.000
6.000 -6.000 |
6.000 | Phi
|
0.000
1.000
0.000 |
0.000 | Sigma
4
3
+---------+--------+---------+-|
0.200
0.600 |
5.400 | 1
| -0.400
1.800 | 10.200 | 5
| -0.200
2.400 |
9.600 | 6
|
0.000 -1.000 |
1.000 | 2
|
2.200
0.600 | 65.400 | Phi
Optim-discr
bM 2006
ECP (2a) Math
7
4
Dualité
Déf 11 Problème dual.
Etant donné le problème primal (P) :
max{Φ = (a|x)}
Cx ≤ d
x
≥
0
on lui associe le problème dual (D) :
min{π = (u|d)}
C ∗u ≥ a
u ≥ 0
Primal (P)
Cx
x
max Φ
≤
≥
=
Dual (D)
C ∗u
u
min π
d
0
(a|x)
≥
≥
=
a
0
(u|d)
Ex 14 Ecrire le dual pour l’exemple d’introduction et préciser sa signification.
Ex 15 Résoudre le problème dual.
On trouve, en résolvant par tableaux, que l’optimum correspond à :
¶
µ
1
3
, 0, , 0, 0 + 3u2 + 3v1 + 5v2 = −54
−π
2
2
φ(3, 5, 0, 3, 0)
+
3
2 y1
3v1 + 5v2 + 3u2
−
π
+ 21 y3
1
2 , 0, 2 , 0, 0
¡3
¢
=
54
=
-54
Noter le principe de complémentarité à l’optimum :
– y2 6= 0 =⇒ u2 = 0
– u1 6= 0 & u3 6= 0 =⇒ y1 = 0 = y3
Ex 16 Soient x et u deux solutions réalisables, respectivement de (P) et (D). Montrer que :
Φ(x) ≤ π(u)
Ex 17 Si l’un des deux problèmes, (P) ou (D), admet un optimum non borné (+∞ pour Φ, −∞
pour π), alors l’autre n’admet pas de solution réalisable.
Thm 5 Les solutions réalisables x et u sont optimales si et seulement si :
(C ∗ u − a|x) = 0
et si et seulement si
(u|Cx − d) = 0
bM 2006
Optim-discr
ECP (2a) Math
8
Algo 1 Algorithme dual.
On reprend la variante de l’exemple d’introduction correspondant à : Φ = 11x 1 + 6x2 .
On trouve, à l’optimum
| 1/5
| -2/5
| -1/5
3/5
9/5
12/5
6
12
12
|
|
|
| 11/5
3/5
66
|
avec les indices (3, 2; 1, 4, 5).
Si on ajoute maintenant la contrainte x2 ≥ 1, il vient :
| 1/5
| -2/5
| -1/5
|
0
3/5
9/5
12/5
-1
6
12
12
-1
|
|
|
|
| 11/5
3/5
66
|
avec les indices (3, 2; 1, 4, 5, 6).
On est en présence d’une solution non réalisable dans le primal (c’est pour cela qu’on avait
précédemment introduit une variable artificielle).
Mais si on considère ce tableau comme celui du problème dual (le transposer par la pensée), il
3
fait apparaître une solution duale réalisable ( 11
5 , 5 ) et une possibilité d’amélioration (par le −1
du second membre).
Noter au passage que cet algorithme dual prend les critères en ordre inverse. Le changement de
base donne alors
| 1/5
| -2/5
| -1/5
| 0
3/5
9/5
12/5
-1
27/5
51/5
48/5
1
|
|
|
|
| 11/5
3/5
327/5
|
avec les indices (3, 6; 1, 4, 5, 2).
Cette solution est optimum (mais c’est évidemment un hasard qu’une seule itération ait suffi).
Optim-discr
bM 2006

Documents pareils