• Aucun résultat trouvé

Programmation lin´eaire

Dans le document Math´ematiques pour Informaticiens (Page 55-59)

1< P/ . `A l’aide de la fonction de Lagrange

¼ U" A 5 A 1©Œ Ž­1”UŽ1J 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 >

Ò-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 ' ‹ª 4L‹uØ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#˜ P - -/A P & & 1 & -K & P Œ -Kà 1 & & Œ & Œ/— -/ & 1 & ˜ - P & Œ -/A & P -/à 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

Ö&

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

Dans le document Math´ematiques pour Informaticiens (Page 55-59)