• Aucun résultat trouvé

Optimisation discrète, Séance 3 : Cours et Exercices PROGRAMMATION LINÉAIRE

N/A
N/A
Protected

Academic year: 2021

Partager "Optimisation discrète, Séance 3 : Cours et Exercices PROGRAMMATION LINÉAIRE"

Copied!
8
0
0

Texte intégral

(1)

Objectifs

Optimisation linéaire sous contraintes linéaires. Aspects algébriques et géométriques. Algorithme du sim- plexe. Solutions entières.

Certains résultats (cités pour la continuité de l’exposé) n’ont pas à être démontrés.

Etude d’un 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, programmer les quantitésx1(de produits A) etx2(de produits B) à fabriquer pour maximiser son bénéficeΦ.

Méthode géométrique

Quest 1 • Ecrire la formulation de ce problème d’optimisation.

Déf 1 ◦ On introduit des variables d’écart(y1, y2, y3), représentant les quantités résiduelles de composants : forme standard.

Quest 2 • On convient de représenter un point du domaine admissible au moyen de 5 composantes(x1, x2, y1, y2, y3).

Caractériser les sommets,O(0,0), M(6,0), N(0,6), P(3,5), de ce domaine polygonal.

Déf 2Base en un point : ensemble des composantes non nulles.

Déf 3Forme canonique deΦen O : expression deΦen fonction des variables hors-base.

Quest 3 • Si on chemine le long deOM, montrer qu’on parvient à : Φ(6,0,0,12,12) = 48 + 6

5x2−8 5y1

Quest 4 • Qu’obtient-on par un calcul analogue le long deON? Quest 5 • Continuer les itérations jusqu’à obtenir l’optimum.

Méthode des Tableaux

Déf 4Tableau du Simplexe : on ajoute au système des contraintes une ligne suppémentaire représentant les coefficients de la fonction objectif (et sa valeur initiale)

Algo 1 . Itérations au moyen du Tableau : Fig. 1.

1

(2)

FIG. 1 – Itérations par Tableau

| 5 3 1 0 0 30 |

| 2 2 0 1 0 24 |

| 1 3 0 0 1 18 |

| -8 -6 0 0 0 0 |

| 1 3/5 1/5 0 0 6 |

| 0 9/5 -2/5 1 0 12 |

| 0 12/5 -1/5 0 1 12 |

| 0 -6/5 8/5 0 0 48 |

| 1 0 1/4 0 -1/4 3 |

| 0 0 -1/4 1 -3/4 3 |

| 0 1 -1/12 0 5/12 5 |

| 0 0 3/2 0 1/2 54 |

Inéquations linéaires

Déf 5Forme standard du système des contraintes (avec des égalités) :

C11 C12 · · · C1n

C21 C22 · · · C2n

... ... . .. ... Cp1 Cp2 · · · Cpn

 x1

x2

...

xn

=

 d1

d2

... dp

Aspects algébriques

Déf 6 ◦ Partition deCen matrice de baseBet hors-baseH.

Déf 7Forme canonique du système des contraintes :B1Cx=B1d.

On s’arrange pour que les colonnes de base soient regroupées à droite :C= [H B].

1 m m+1 m+p=n

x(1 :m) x(m+1 :m+p)

variables hors-base variables de base

Déf 8Changement de base : passage de la matrice d’une forme canonique à une autre.

Notation des composantes du changement de base :

r = indice (1≤r≤m) de la composante qui entre s = indice (m+ 1≤m+s≤m+p) de celle qui sort

L’entiersest donc l’indice, dansBregroupée à droite, de la colonne sortante.

Déf 9Une solution est dite de base si les composantes hors-base sont nulles :x(1 :m) = 0.

(3)

Si l’une des composantes de base s’annule également, la solution est dite dégénérée.

Quelle est alors la solution de base d’une forme canonique ?

Déf 10Une 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 vecteurutel que :

Cu ≥ 0 (d|u) < 0

Cela veut dire :

– ou biendappartient au cône défini par les colonnes deC,

– ou bien il possède une composante (u) non nulle dans une direction orthogonale, i.e. il existe un hyperplan séparateur entredet ce cône (le vecteuru, orthogonal à cet hyperplan bien choisi, fait un angle aigu avec le cône et obtus avecd).

Thm 2 . [fondamental] S’il existe une solution réalisable au système des contraintes, alors il existe une solu- tion 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 : xsolution réalisable de base ⇔ xpoint 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.

Méthode du Simplexe

Déf 11Forme standard (Cf. Déf.1, Déf.5) :

max Φ = (a|x) Cx = d

x ≥ 0

On suppose ici queCcontient une matrice de base, normalisée àI, dans sespcolonnes de droite (Cf. Déf.7).

Déf 12Tableau du Simplexe

Il est constitué des coefficients des relations :

Cx = d (a|x) = Φ

i.e. on ajoute (au système des contraintes) une ligne (numérotéep+ 1) faisant intervenir la variable supplémen- taireΦ(Fig. 1).

(4)

Maximum ou minimum Le test d’optimum se fait sur le facteur dex: 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.

Quest 6 • Le changement de base (Cf. Déf.8) signifie donc le passage deB àB par remplacement d’une colonne deB(en numérosdansB, pour fixer les notations) par une colonnevdeH(en numéror).

Ecrire les formules et l’algorithme du changement de base.

Dans la méthode des Tableaux, le changement de base (Algo.1) n’est rien d’autre qu’une étape de Gauss- Jordan : Fig. 2.

FIG. 2 – Méthode de Gauss-Jordan m1 = m+1 % +1 = second membre

p1 = p+1 % +1 = fonction objectif piv = C(s,r)

C(s,1:m1) = C(s,1:m1) / piv for i = 1:p1

if i == s, continue, end t = C(i,r)

for j = 1:m1

if j == r, 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

Quest 7 • Montrer qu’un critère raisonnable d’entrée en base est :

r=argminC(p+1,1:m) sur les composantesCp+1,j<0 Quest 8 • Montrer que le critère de sortie de la base est nécessairement :

s=argmin d(1:p)

C(1:p,r) sur les composantesCir>0 Quest 9 • Expliquer en quoi le critère d’entrée en base est un critère d’optimalité.

Quest 10 • Expliquer en quoi le critère de sortie de base est un critère d’optimum non borné.

Déf 13Cyclage.

(5)

Démarrage de l’algorithme

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).

Quest 11 • Reprendre l’exemple d’introduction avec la nouvelle fonction objectif : Φ = 11x1+ 6x2

Quest 12 • Peut-on résoudre si on impose la contrainte supplémentaire :x2≥1? Déf 14Variable artificielle :x2−y4+z1= 1.

Déf 15Méthode des deux phases : on minimise d’abord la sommeσdes variables artificielles.

Quest 13 • 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) : Fig. 3.

FIG. 3 – Méthode des deux phases

| 5 3 0 1 0 0 30 | y1

| 2 3 0 0 1 0 24 | y2

| 1 3 0 0 0 1 18 | y3

| 0 1 -1 0 0 0 1 | z1

| -11 -6 0 0 0 0 0 | Phi

| 0 -1 1 0 0 0 0 | Sigma

| 5 0 3 1 0 0 27 | y1

| 2 0 3 0 1 0 21 | y2

| 1 0 3 0 0 1 15 | y3

| 0 1 -1 0 0 0 1 | x2

| -11 0 -6 0 0 0 6 | Phi

| 0 0 0 0 0 0 0 | Sigma

| 1 0 3/5 1/5 0 0 27/5 | x1

| 0 0 9/5 -2/5 1 0 51/5 | y2

| 0 0 12/5 -1/5 0 1 48/5 | y3

| 0 1 -1 0 0 0 1 | x2

| 0 0 3/5 11/5 0 0 327/5 | Phi

Quest 14 • Expliciter les cas possibles à l’optimum des variables artificielles.

Organisation des données

Déf 16 ◦Vecteurindex(1 :p).

L’utilisation d’un vecteurindexrend inutile le stockage des colonnes de base : Fig. 4.

(6)

FIG. 4 – Vecteurindex

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

Programmation linéaire et dualité

Déf 17Problè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) Cu ≥ a

u ≥ 0

Primal (P) Dual (D)

C x ≤ d Cu ≥ a

x ≥ 0 u ≥ 0

max Φ = (a|x) minπ = (u|d)

(7)

Quest 15 • Ecrire le dual pour l’exemple d’introduction et préciser sa signification.

Quest 16 • Résoudre le problème dual.

On trouve, en résolvant par tableaux, que l’optimum correspond à :

−π(3 2,0,1

2,0,0) + 3u2+ 3v1+ 5v2=−54

φ(3,5,0,3,0) + 32y1+12y3 = 54 3v1+ 5v2+ 3u2 − π(32,0,12,0,0) = -54

Noter le principe de complémentarité à l’optimum : – y26= 0 =⇒u2= 0

– u16= 0 & u36= 0 =⇒y1= 0 =y3

Quest 17 • Soientxetudeux solutions réalisables, respectivement de (P) et (D). Montrer que : Φ(x)≤π(u)

Quest 18 • 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éalisablesxetusont optimales si et seulement si : (Cu−a|x) = 0

et si et seulement si

(u|Cx−d) = 0 Algo 2 . Algorithme dual.

On reprend la variante de l’exemple d’introduction correspondant à :Φ = 11x1+ 6x2. On trouve, à l’optimum

| 1/5 3/5 6 |

| -2/5 9/5 12 |

| -1/5 12/5 12 |

| 11/5 3/5 66 | avec les indices(3,2; 1,4,5).

Si on ajoute maintenant la contraintex2≥1, il vient :

| 1/5 3/5 6 |

| -2/5 9/5 12 |

| -1/5 12/5 12 |

| 0 -1 -1 |

| 11/5 3/5 66 |

(8)

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 fait apparaître une solution duale réalisable(115,35)et une possibilité d’amélioration (par le−1du second membre).

Noter au passage que cet algorithme dual prend les critères en ordre inverse. Le changement de base donne alors

| 1/5 3/5 27/5 |

| -2/5 9/5 51/5 |

| -1/5 12/5 48/5 |

| 0 -1 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).

Programmation en nombres entiers

Quest 19 • Que penser de la troncature d’une solution obtenue en "continu" ? Déf 18Coupe dans le polyèdre.

Quest 20 • Montrer que la condition d’intégralité se traduit par une contrainte supplémentaire.

Exemple : voir le corrigé.

Références

Documents relatifs

Cela permet d’obtenir des résultats cohérents, en interdisant les

[r]

CHAP N11 Correction de la Fiche d’exercices : puissances d’un nombre relatif Ceinture blanchea.

Lors d’une dilution des quantités de matière du soluté sont identique dans la solution fille est dans le prélèvement de la solution mère :.. Il faut donc prélever 5,0 mL de

Exercice 2. Par suite, f est bilin´ eaire sym´ etrique. V´ erifions que f est d´ efinie positive. Donc une base orthonormale est la base canonique, qui correspond aux matrices

PROPOSITION 2.3. Then there exists an association scheme A with automorphism group G such that the Gram matrix F with respect to G.X is an element of A. Moreover, if the

• Dans une bobine sans noyau, le flux magnétique de son propre champ est (de même que le champ) proportionnel au courant ; le coefficient est nommé.. “inductance” : Φ = L

Cherchons si un nombre carré peut s’écrire 9x01 en base 10, il serait compris entre 95 et 99 inclus, il n’y a donc pas de candidat possible pour q.. Cherchons si un nombre carré