Optimisation discrète : Séance 3 (corrigés, indications)
PROGRAMMATION LINÉAIRE
Objectifs Initiation à la programmation linéaire.
1 Engrais chimiques
1.1 Méthode géométrique
Ex 1 Résolution géométrique (Fig. 1) : l’optimum est enP.
Ex 2 Formulation algébrique :
min 3x1+ 5x2
x1+x2 ≤ 8
x2 ≤ 4
2x1+ 3x2 ≤ 19 x1, x2 ≥ 0
Déf 1 Forme standard :
x1 +x2 +y1 = 8
x2 +y2 = 4
2x1 +3x2 +y3 = 19
Ex 3 Sommets(x1, x2, y1, y2, y3)du domaine polygonal : O : (0, 0, 8, 4, 19) M : (8, 0, 0, 4, 3)
T : (5, 3, 0, 1, 0) N : (0, 4, 4, 0, 7) P : (72, 4, 12, 0, 0)
Ex 4 Si on chemine le long deON, on arrive enN, avec la valeur (tirée de[C2]) : x2= 4−y2
qu’on reporte :
– dans[C ]:y =. . .= 4−x +y
Ex 5 Par un calcul analogue le long deOM :
Φ = 24 + 2x2−3y1
Ex 6 Si on chemine deN àP, on arrive enP avec la valeur (tirée de[C3]) : x1=7
2 +3 2y2−1
2y3
qu’on reporte :
– dans[C1]:y1=. . .= 21−12y2+12y3
– dans[C2]:x2=. . .= 4−y2
– dansΦ:Φ =. . .=612 −12y2−32y3
1.2 Méthode des tableaux
Tableaux du Simplexe : Fig. 2.
Ex 7 Chaque tableau est relatif à une étape du cheminement (O→N →P).
Ex 8 On passe d’un tableau au suivant par une combinaison linéaire de lignes.
Ex 9 Sur le dernier tableau, aucune amélioration deΦn’est plus possible.
1.3 Perturbation des données
Ex 10 Avec 10 kg de nitrates, la valeur deΦest inchangée (enP) : Fig. 3.
Ex 11 Avec 6 kg de nitrates, la valeur deΦdiminue (enP0) : Fig. 4.
1.4 Autre point de vue
Ex 12 Ce problème, on minimise le prix de vente :
π= 8u1+ 4u2+ 19u3
sous les conditions (écrites ici directement sous forme d’égalités) :
u1 +2u3 −v1 = 3
u1 +u2 +3u3 −v2 = 5
Ex 13 On ne peut pas démarrer avec des valeurs évidentes dev1 etv2 : nous reviendrons sur cette difficulté.
FIG. 1 – Représentation géométrique
FIG. 2 – Tableaux
1 2 3 4 5
1.000 1.000 1.000 0.000 0.000 : 8.000 3 0.000 1.000 0.000 1.000 0.000 : 4.000 4 2.000 3.000 0.000 0.000 1.000 : 19.000 5 -3.000 -5.000 0.000 0.000 0.000 : 0.000
1 4 3 4 5
1.000 -1.000 1.000 -1.000 0.000 : 4.000 3 0.000 1.000 0.000 1.000 0.000 : 4.000 2 2.000 -3.000 0.000 -3.000 1.000 : 7.000 5 -3.000 5.000 0.000 5.000 0.000 : 20.000
5 4 3 4 5
-0.500 0.500 1.000 0.500 -0.500 : 0.500 3 -0.000 1.000 0.000 1.000 0.000 : 4.000 2 0.500 -1.500 0.000 -1.500 0.500 : 3.500 1 1.500 0.500 0.000 0.500 1.500 : 30.500
FIG. 3 – Avec 10 kg . . .
1 2 3 4 5
1.000 1.000 1.000 0.000 0.000 : 10.000 3 0.000 1.000 0.000 1.000 0.000 : 4.000 4 2.000 3.000 0.000 0.000 1.000 : 19.000 5 -3.000 -5.000 0.000 0.000 0.000 : 0.000
1 4 3 4 5
1.000 -1.000 1.000 -1.000 0.000 : 6.000 3 0.000 1.000 0.000 1.000 0.000 : 4.000 2 2.000 -3.000 0.000 -3.000 1.000 : 7.000 5 -3.000 5.000 0.000 5.000 0.000 : 20.000
5 4 3 4 5
-0.500 0.500 1.000 0.500 -0.500 : 2.500 3 -0.000 1.000 0.000 1.000 0.000 : 4.000 2 0.500 -1.500 0.000 -1.500 0.500 : 3.500 1 1.500 0.500 0.000 0.500 1.500 : 30.500
FIG. 4 – Avec 6 kg . . .
1 2 3 4 5
1.000 1.000 1.000 0.000 0.000 : 6.000 3 0.000 1.000 0.000 1.000 0.000 : 4.000 4 2.000 3.000 0.000 0.000 1.000 : 19.000 5 -3.000 -5.000 0.000 0.000 0.000 : 0.000
1 4 3 4 5
1.000 -1.000 1.000 -1.000 0.000 : 2.000 3 0.000 1.000 0.000 1.000 0.000 : 4.000 2 2.000 -3.000 0.000 -3.000 1.000 : 7.000 5 -3.000 5.000 0.000 5.000 0.000 : 20.000
3 4 3 4 5
1.000 -1.000 1.000 -1.000 0.000 : 2.000 1 -0.000 1.000 0.000 1.000 0.000 : 4.000 2 -2.000 -1.000 -2.000 -1.000 1.000 : 3.000 5
3.000 2.000 3.000 2.000 0.000 : 26.000
2 Approximation du problème du profil d’une route
– Expression numérique à minimiser : I(U) =h
µ1
2φ(u0−g0) +φ(u1−g1) +· · ·+φ(un−2−gn−2) +1
2φ(un−1−gn−1)
¶
– Contraintes à vérifier :
|ui−ui−1| ≤αh 1≤i≤n−1 Ex 14 On choisitφ(y) =|y|, et on introduit :
zi≥h|ui−gi| On a alors :
umini,zi
1
2z0+z1+...+zn−2+...+1 2zn−1
|ui−ui−1| ≤ αh 1≤i≤n−1
Ex 15 C’est un problème de programmation linéaire où : Φ(u, z) = 1
2z0+z1+...+zn−2+...+1 2zn−1
(qui ne dépend que dez), sous les contraintes :
−αh ≤ ui−ui−1 ≤ αh
−h(ui−gi) ≥ zi ≥ h(ui−gi) Ex 16 Pour le résoudre comme précédemment, noter que :
1. les variablesuine sont pas soumises à la condition de positivité.
On peut poser :ui=u+i −u−i
2. les seconds membres ne sont pas toujours positifs.
Il suffit de changer le sens des inégalités.
Dans tous les cas, on aura des inégalités dans les deux sens, ce qui conduit à résoudre un problème préalable pour démarrer les itérations.