(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