1< P/ . `A l’aide de la fonction de Lagrange
¼ U" A 5 A 1© 1U1J 13 ê
min. rel. max. rel.
nous trouvons 1
7
/1
7
K et trois autres solutions `a l’ext´erieur de í . Le dessin nous montre qu’il s’agit d’un minimum (global). En proc´edant de la mˆeme ma-ni`ere avec les autres courbes du bord deí , nous obtenons
1 7 & }/ & / et P/} / & *1®P* & Ó
comme maxima re-latifs, et les points
7 & * & / et & / Ó /P* Ó& // qui sont des minima sur_
í mais pas surí .
5
Finalement, nous devrons ´etudier les sommets de í . En inspectant la figure, nous voyons que le point
&
}/
&
/ est un maximum relatif deÑ surí .
IV.4 Programmation lin´eaire
Les probl`emes convexes les plus simples et les plus importants sont ceux o`u toutes les fonctions sont lin´eaires (affines). Nous commenc¸ons par un exemple de petite dimension qui permet une interpr´etation et une r´esolution graphique. L’int´erˆet principal des paragraphes IV.4 et IV.5 est de d´evelopper un algorithme qui permet de r´esoudre n’importe quel probl`eme de la programmation lin´eaire dans une dimension arbitraire.
Exemple 4.1 Une entreprise poss`ede garages ë¥ et ëe
avec et camions respectivement. Elle travaille sur deux chantiers F et F . Le chantier F exige camions et le chantier F
exige camions. Les distances sont donn´ees sur le sch´ema d’`a cˆot´e. Comment faut-il organiser les trajets
pour minimiser les consommations d’essence? ë¥ ëe
F F km Ó km km km
Pour une formulation math´ematique du probl`eme, no-tons par , ,A età le nombre de camions allant deë¥
`a F , deëS `a F , ë `a F et deë `a F respectivement. Nous avons les conditions
5 [Q ¥ A 5 à[Q# 5 A # 5 à et "OQP
et la fonction objective est
5 Ó 5 A 5 à f j8|}
On peut simplifier le probl`eme en ´eliminant
A et à car A 13 et à 1J . On obtient alors L 5 5 / f j8|} 5 «[Q 1e 13[1# 7[Q/ OQP 2 4 6 8 −2 2 4 6 8 ±²ì µ²ì ¯²® í²±
56 Optimisation En regardant les droites o`u ÑZ
5
L
5
/ est constante (lignes traitill´ees), on trouve imm´ediatement la solution du probl`eme:
P , ,A ,à .
Formulation du probl`eme g´en´eral. Nous consid´erons la r´esolution du probl`eme suivant:
æ 5 æ 5 5 æ f j8kLl ¡ u ? 5 5 ¡ [Ç( @Ø ? 5 5 @Ø [Ç.Ø 6OQP*Lì OQP ou æ ÷ f jßk(l D M[Ç MOP (4.1)
D’autres probl`emes de la programmation lin´eaire peuvent ˆetre ´ecrits sous cette forme:
5 La condition æ ÷ f j8|} est ´equivalente `a 1 æ ÷^ f j8kLl ; 5
Une ´equation peut ˆetre remplac´ee par deux in´equations; ou mieux encore: ´eliminer des variables comme dans l’exemple pr´ec´edent;
5
Une variable , sans restriction sur son signe, peut ˆetre ´ecrite comme
¯ 1úÕ o`u ¯ OQP et Õ OQP .
Un algorithme possible mais pas recommand´e. L’ensemble, o`u on cherche `a maximiser la fonction objective ÑZ \æ ÷} , est le poly`edre í \ V D [\ÇaÒO\P/ . Comme Ñ)
est lin´eaire, une solution est certainement sur un des sommets deí . Pour la trouver, on pourrait proc´eder de la mani`ere suivante:
5
calculer tous les sommets du poly`edre (le nombre de sommets est fini);
5
d´eterminer le sommet o`u ÑZ æ
÷^ est maximal.
L’algorithme que nous allons pr´esenter dans le paragraphe suivant est une proc´edure intelligente qui permet d’´eviter le calul de tous les sommets du poly`edre. N´eanmoins, nous sommes oblig´es de formuler math´ematiquement les sommets du poly`edre. C’est notre but pour le reste de ce paragraphe.
Variables d’´ecart (variables artificielles). On pose
Ç61 D o`u-É Ø . Pour un
donn´e,-/ mesure son ´ecart (distance) `a l’hyperplan ä4c0 @ä ù ä61zÇn P . Le probl`eme (4.1) est donc ´equivalent `a æ ÷ f j8kLl D 5 Çd MOQP/ -NOQP* (4.2)
Cette reformulation nous permet de calculer syst´ematiquement les sommets du poly`edre í
M
V
D
M[ÈÇ,ìMOQP* . Illustrons ceci avec le probl`eme de l’exemple 4.1.
Exemple 4.2 Nous introduisons des variables
d’´ecart - 4ì-Kà pour les quatre in´equations du probl`eme de l’exemple 4.1. Ceci donne
5 5 - 1¬ 13 5 -/ 1® 5 -/A 5 -/à " OQP*\-/ OQP 2 4 6 8 −2 2 4 6 8 -/A P -/à P -0 P -K P P P
et on a ´equations `a inconnues. Chacune des conditions"
P et-*
P correspond `a une droite sur le dessin d’`a cˆot´e. Si l’on pose deux
Optimisation 57 variables parmi ì@ì-0 4ì-/à ´egal `a z´ero, on obtient les intersections de deux droites et, parmi elles, les sommets du poly`edre. Il y a µ
ó&
possibilit´es d’annuler deux variables. On obtient ainsi les sommets du poly`edre et les autres intersections; couples ne donnent pas de solution (droites parall`eles).
Cet exemple nous montre que, pour le calcul des sommets du poly`edre, on traˆıte les vari-ables " et -/ ´equitablement. Il n’y a donc pas de raison de distinguer les deux types de vari-ables. Rassemblons-les donc toutes dans un vecteur >
Lì Ò-0 4(Ò-*ج÷ et ´ecrivons le probl`eme (4.2) sous la forme
æ ÷ `P ÷ > f j8kLl D þ > Çd >#OQP avec D þ
& & &
P P P 1 & 1 & P & P P & P P P & P P & P P P & (4.3)
(pour le syst`eme de l’exemple 4.2). Nous constatons que l’annulation de deux variables parmi
ì@ì- Lì-/à correspond `a une intersection r´eelle si et seulement si la matrice carr´ee, obtenue en supprimant les deux colonnes correspondantes, est inversible. Si, en plus, les composantes de la solution de D þ >
Ç sont non n´egatives, alors cette intersection est un sommet du poly`edre. Dans le probl`eme (4.3) nous ´ecrivons de nouveauæ
÷ au lieu de æ ÷u`P÷? , D au lieu de D þ et
au lieu de> . Le probl`eme devient alors
æ ÷^ f j8kLl D Ç MOQP (4.4) o`u , æ ,Çe Ø
et9O©Ý . Nous supposons (sans perdre la g´en´eralit´e) que le rang de la matrice
D
soitÝ (maximal). Sinon, soit le syst`eme
D
Ç ne poss`ede pas de solution soit une ou plusieurs ´equations du syst`eme peuvent ˆetre supprim´ees sans changer les solutions.
Notations. Par la suite, nous noterons
D
ä¥
Ø
laå `eme colonne de la matrice
D
. Nous parti-tionnons les indices&
LZ
E
¼
en deux sous-ensembles disjoints dontE Q d 4Ø contientÝ ´el´ements et ó åÔ Lå Õ
Øe contient le reste. Nous partitionnons ´egalement les vecteursæ , et la matrice D de la mani`ere suivante: DÞî D è D e Dðï D ä è D ä dt e î " è Lì" e ÷ ï "ä è Lì"ä dt e ÷ æ î æ è L æ e ÷ æ ï æ ä è L æ ä d e ÷u Ainsi, DÞî
est une matrice carr´ee de dimensionÝ . Le probl`eme (4.4) devient alors
æ ÷ î î 5 æ ÷ ï ï f j8kLl DÞî î 5 DÞï ï Ç î OP*N ï OQP* (4.5)
D´efinition 4.3 (base) Un sous-ensemble E ' ª 4LuØe · & (Z `aÝ ´el´ements s’appelle une base, si Dðî
est inversible, c.-`a-d. si det
DÞî
¾
P . Pour une baseE
, le vecteur î ï D Õ î Ç P (4.6) s’appelle solution de base (associ´ee `a
E
). Elle est dite admissible si
D
Õ
î
58 Optimisation L’interpr´etation g´eom´etrique de cette d´efinition est la suivante: l’ensemble
V D Çd
repr´esente un espace affine de dimension 1¸Ý (car
D
est une matrice Ý
de rang maxi-malÝ ) et l’ensemble V D
Çd)9OðP* est un poly`edre dans cet espace. Pour une base
E du probl`eme, la condition ï "ä è L"ä dt e ÷
P repr´esente l’intersection deß1¦Ý hyperplans qui sont des faces du poly`edre. Les solutions de base admissibles sont donc en bijection avec les sommets de ce poly`edre.
Par exemple,
- 4-K-KA-Kà (ou plus pr´ecis´ement l’ensemble
**/* ) est une base du probl`eme de l’exemple 4.2. Elle correspond `a l’origine qui est l’intersection de
P et de
P . La base
.-/-KA correspond au sommet *K qui est l’intersection de-0
P et de
-/A
P . L’ensemble
4.@-/A.-/à ne constitue pas une base parce que la matrice form´ee par les deux premi`eres et les deux derni`eres colonnes de (4.3) n’est pas inversible (les droites-
P et
-/
P n’ont pas d’intersection).
Reformulation du probl`eme. Par ´elimination des variables
î
, c.-`a-d. en utilisant la relation
î 1 D Õ î DÞï ï 5 D Õ î
Ç , le probl`eme (4.5) devient ´equivalent `a
?1 æ ÷ î D Õ î Dðï 5 æ ÷ ï ï 5 æ ÷ î D Õ î Ç f j8kLl D Õ î DÞï ï [ D Õ î Ç ï OQP ou î,÷ ï 1> f j8kLl ø ï [wñ ï OQP (4.7) o`u ø3 D Õ î DÞï , ñ D Õ î Ç , î,÷ 1 æ ÷ î D Õ î DÞï 5 æ ÷ ï et > 1 æ ÷ î D Õ î Ç .
Tableau du simplexe. Nous rassemblons toute l’information de la formulation (4.7) dans le tableau suivant: E ø ñ î,÷ >
Voici quelques tableaux du simplexe pour le probl`eme de l’exemple 4.2:
- & & -/ 1 & 1 & 1® -/A & P -/à P & 1# 1® P - -/A P & & 1 & -K & P -Kà 1 & & & / -/ & 1 & - P & -/A & P -/à 1 & & 1 & 1® /P (4.8)
La solution de base pour le premier tableau n’est pas admissible (le vecteur ñ
D
Õ
î
Ç poss`ede des composantes n´egatives) mais celles du deuxi`eme et du troisi`eme le sont et correspondent `a des sommets du poly`edre (voir le dessin de l’exemple 4.2).
Th´eor`eme 4.4 (crit`ere du simplexe) SoitE
une base du probl`eme
æ ÷ f j8kLl D Ç MOQP et E ø ñ î ÷ >
le tableau du simplexe correspondant.
Si ñ%OQP et îM[QP , alors î ñ , ï
Optimisation 59 D´emonstration. Commeñ«O P , la solution de base associ´ee `aE
est admissible. De plus, pour un point satisfaisant
D
Ç etMOQP , la conditonîM[QP implique
ÑZ ä4Û ï î,äu"ä)1©>¥[1¥> Ñ ñ P
Cette solution de base est alors une solution du probl`eme d’optimisation.
Le troisi`eme tableau de (4.8) v´erifie le crit`ere du simplexe (ñ8O P etî¸[ P ). La solution de base associ´ee
P et
est donc une solution optimale du probl`eme de l’exemple 4.2. Pour se convaincre que l’algorithme (non recommand´e) du d´ebut de ce paragraphe n’est pas r´ealisable, consid´erons le cas o`u
KP etÝ W&
P (en pratique on est confront´e `a des dimensions beaucoup plus grande). Il y a uâ
^â Ö&
/6// possibilit´es de choisir &
P parmi les/P colonnes de la matrice
D
. Le calcul de toutes les solutions de base pourrait ainsi exiger la r´esolution d’environ
&
/P6P/PKP syst`emes lin´eaires de &
P ´equations `a &
P inconnues.