• Aucun résultat trouvé

PROGRAMMATION LINÉAIRE

N/A
N/A
Protected

Academic year: 2021

Partager "PROGRAMMATION LINÉAIRE"

Copied!
8
0
0

Texte intégral

(1)

Optimisation discrète : Séance 4 (corrigé, indications)

PROGRAMMATION LINÉAIRE

1 Exemple

Ex 1 Méthode de résolution vue à la séance précédente : Fig. 1.

FIG. 1 – Méthode des tableaux

1 2 3 4 5

5.000 3.000 1.000 0.000 0.000 : 30.000 3 2.000 3.000 0.000 1.000 0.000 : 24.000 4 1.000 3.000 0.000 0.000 1.000 : 18.000 5 -8.000 -6.000 0.000 0.000 0.000 : 0.000

3 2 3 4 5

0.200 0.600 0.200 0.000 0.000 : 6.000 1 -0.400 1.800 -0.400 1.000 0.000 : 12.000 4 -0.200 2.400 -0.200 0.000 1.000 : 12.000 5

1.600 -1.200 1.600 0.000 0.000 : 48.000

3 5 3 4 5

0.250 -0.250 0.250 0.000 -0.250 : 3.000 1 -0.250 -0.750 -0.250 1.000 -0.750 : 3.000 4 -0.083 0.417 -0.083 0.000 0.417 : 5.000 2

1.500 0.500 1.500 0.000 0.500 : 54.000

2 Inéquations linéaires

C11 C12 · · · C1n

C21 C22 · · · C2n

... ... ... ...

Cp1 Cp2 · · · Cpn

 x1

x2

...

xn

=

 d1

d2

...

dp

(2)

Aspects algébriques

Thm 1 [Farkas-Minkowski] Résultat admis.

Thm 2 [fondamental] S’il existe une solution réalisable au système des contraintes, alors il existe une solution réalisable de base.

Dans le système

x1C1+· · ·+xmCm=d

supposons que k composantes dex(les premières pour la commodité d’écriture) soient positives, i.e. non nulles.

Si les colonnes(C1, . . . , Ck)correspondantes sont indépendantes, le résultat est démontré puisqu’alorsk≤p(la solution étant éventuellement dégénérée).

Sinon, cela signifie qu’on peut écrire

u1C1+· · ·+ukCk= 0 et donc

(x1−θu1)C1+· · ·+ (xk−θuk)Ck=d

Cette nouvelle solution (x−θu) est réalisable pourθ = 0. Si on augmenteθ jusqu’à annuler une composante (de numéroi) correspondant àui > 0, il ne reste alors plus quek−1composantes>0, et on recommence si c’est nécessaire (jusqu’à k≤p).

Aspects géométriques

Thm 3 [Théorème d’équivalence] SoitΩle polyèdre des contraintes. Alors : xsolution réalisable de base ⇔ xpoint extrémal deΩ Condition

Soit, en effet,xréalisable de base, alors (tant pis pour la numérotation) x1C1+· · ·+xpCp=d

Supposons que :

x=λu+ (1−λ)v 0< λ <1 Comme on a

u≥0 & v≥0

on voit queuetvn’ont, eux aussi, quepcomposantes non nulles.

Leur appartenance àΩs’écrit donc

u1C1+· · ·+upCp = d v1C1+· · ·+vpCp = d

et doncu=v(lesCiformant une base).

(3)

Condition

Soitxun point extrémal ayantkcomposantes> 0. Il faut montrer que les co- lonnes correspondantes sont indépendantes (car alorsk≤p).

Par l’absurde : s’il existe deswitels que

w1C1+· · ·+wkCk= 0

on peut choisirθde sorte que

x+θw≥0 et x−θw≥0 soient réalisables de base, donc dansΩ. Mais alors

x=1

2(x+θw) +1

2(x−θw)

ne serait plus extrémal (en tant que combinaison linéaire de deux points 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.

Il suffit, pour le voir, d’utiliser le théorème de Krein-Milman (tout point deK est combinaison convexe des ses points extrémaux).

SoientS1, . . . , Sqles sommets extrémaux. Pour toutxdeK, on a : x=ξ1S1+· · ·+ξqSq

Donc

(a|x) =ξ1(a|S1) +· · ·+ξq(a|Sq) SoitΦla plus grande valeur (atteinte enSi), on a :

(a|x)≤Σξj(a|Sj)≤Σξj(a|Si) = Φ

qui montre que la fonction objectif ne peut dépasser cette valeur.

3 Méthode du simplexe

Description

Forme standard :

max Φ = (a|x) Cx = d

x ≥ 0

et on suppose queCcontient une matrice de base, normalisée àI, dans sespcolonnes de droite.

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

(4)

Expression théorique

SoitB1, . . . , Bpla base des colonnes courante. On a : d = x1B1+· · ·+xpBp

C~j = C1jB1+· · ·+CpjBp

En particulier, pourj=r, on a :

C~r=CsrBs+ Σi6=sCirBr

d’oùBs, qu’on reporte dansC~j: C~j= Csj

Csr

C~r+ Σi6=s

µ

Cij−Cir

Csr

Csj

¶ Bi

soit :

Csj= Csj

Csr

et Cij =Cij− Cir

Csr

Csj

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

Ex 3 Montrer qu’un critère raisonnable d’entrée en base est :

r=argminC(p+1,1:m) sur les composantesCp+1,j <0 et écrire la fonction correspondante.

function [ cof1, r ] = crit1 (A, f, m) //

vec = A(f,1:m) // f == p+1

[ cof1, r ] = min (min (vec, 0)) endfunction

Ex 4 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 et écrire la fonction correspondante.

On a (par définition)

C~r = C1re1+· · ·+Cprep

d = y1e1+· · ·+ypep

d’où

(y1−θC1r)e1+· · ·+ (yp−θCpr)ep+θBr=d

(5)

Pourθ >0(et, disons, petit) la nouvelle solution est réalisable en général mais pas de base. On prend donc

θ= min

i=1:p

µ yi

Cir

/ Cir>0

et on notesl’indice ainsi déterminé. Donc : Ds

Csr

= min

i=1:p

µDi Cir

/ Cir>0

function [ val2, s ] = crit2 (A, p, m, r) //

if A(1:p,r) < 0 then val2 = 1 / %eps end

[val2, s ] = min (A(1:p,m+1) ./ max (A(1:p,r), %eps)) endfunction

Ex 5 Expliquer en quoi le critère d’entrée en base est un critère d’optimalité.

Ex 6 Expliquer en quoi le critère de sortie de base est un critère d’optimum non borné.

Démarrage des itérations

Exemple

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

On constate quex2disparaît de la base à l’optimum(x1,∗,∗, y2, y3).

1 2 3 4 5

5.000 3.000 1.000 0.000 0.000 : 30.000 3 2.000 3.000 0.000 1.000 0.000 : 24.000 4 1.000 3.000 0.000 0.000 1.000 : 18.000 5 -11.000 -6.000 0.000 0.000 0.000 : 0.000

3 2 3 4 5

0.200 0.600 0.200 0.000 0.000 : 6.000 1 -0.400 1.800 -0.400 1.000 0.000 : 12.000 4 -0.200 2.400 -0.200 0.000 1.000 : 12.000 5

2.200 0.600 2.200 0.000 0.000 : 66.000 Ex 8 Peut-on résoudre si on impose la contrainte supplémentaire :x2≥1?

Non, mais on se ramène à une situation connue en introduisant une variable artificielle :

x2−y4+z1= 1

Ex 9 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σ=P

zi=z1).

(6)

Exemple Fig. 2.

On procède comme d’habitude (après avoir ajouté une ligne,p+ 2, de minimi- sation deσ), mais le premier critère doit être subdivisé pour tester la fin de la phase zéro d’élimination des variables artificielles.

FIG. 2 – 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 -1 | 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

Ex 10 Expliciter les cas possibles à l’optimum des variables artificielles.

Si, à l’optimum de la phase zéro d’élimination des variables artificielles, on a : Dp+2= 0

alors on supprime la lignep+ 2et on continue, sinon c’est que le convexe est vide.

Algorithme du simplexe

Ex 11 L’utilisation d’un vecteurindex(1 :p)rend inutile le stockage des colonnes de base (Fig. 3).

Ex 12 Ecrire une fonction réalisant les étapes principales de l’algorithme du simplexe (en expli- citant bien les cas de terminaison, normale ou anormale).

(7)

FIG. 3 – 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

FIG. 4 – Algorithme du simplexe Forme canonique initiale

INDX(:) = 1:m while True

r = Dantz1 ()

Tester Fin phase-zero Tester Optimum atteint s = Dantz2 ()

Tester Optimum non borne Tester Degenerescence Permut (INDX, r, s) Changement de base

(8)

4 Dualité

Primal (P) Dual (D)

Cx ≤ d Cu ≥ a

x ≥ 0 u ≥ 0

max Φ = (a|x) minπ = (u|d) Ex 13 Ecrire le dual pour l’exemple d’introduction et préciser sa signification.

minπ= 30u1+ 24u2+ 18u3

5u1+ 2u2+u3 ≥ 8 3u1+ 3u2+ 3u3 ≥ 6 u1, u2, u3 ≥ 0

Il exprime le même problème mais du point de vue d’un client qui voudrait acheter la totalité des matières premières (sous les conditions du fabricant).

Ex 14 Résolution du problème dual.

1 2 3 4 5

5.000 2.000 1.000 -1.000 0.000 : 8.000 6 3.000 3.000 3.000 0.000 -1.000 : 6.000 7 30.000 24.000 18.000 0.000 0.000 : 0.000

-8.000 -5.000 -4.000 1.000 1.000 : -14.000

6 2 3 4 5

0.200 0.400 0.200 -0.200 0.000 : 1.600 1 -0.600 1.800 2.400 0.600 -1.000 : 1.200 7 -6.000 12.000 12.000 6.000 0.000 : -48.000

1.600 -1.800 -2.400 -0.600 1.000 : -1.200

6 2 7 4 5

0.250 0.250 -0.083 -0.250 0.083 : 1.500 1 -0.250 0.750 0.417 0.250 -0.417 : 0.500 3 -3.000 3.000 -5.000 3.000 5.000 : -54.000

1.000 0.000 1.000 0.000 0.000 : 0.000

−π µ3

2,0,1 2,0,0

+ 3u2+ 3v1+ 5v2=−54

Ex 15 Soientxetudeux solutions réalisables, alors : Φ(x)≤π(u) En effet (avecx≥0) :

Cx=d=⇒(u|Cx) = (u|d)

Cu≥a=⇒(Cu|x)≥(a|x)

Ex 16 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.

Références

Documents relatifs

Les indicateurs statistiques concernant les résultats du joueur n°2 sont donnés dans le tableau ci-dessous.. Indicateurs statistiques des résultats du

Lycée IBN ROCHD Zarzis Enseignant:. Epreuve:

Karim est un utilisateur d’un réseau local, il a rencontré quelques problèmes lors de l’émission et la réception des messages. de l'informatique Devoir de

Conjugue le verbe être à la première personne du pluriel.. Conjugue le verbe être à la deuxième personne

domaine réalisable non vide et borné; alors il existe au moins une solution optimale correspondant à un point extrême du domaine réalisable.. Programmation

5. Parmi les garçons, quel est le pourcentage qui est interne ? 6. Sachant que l’enquête a été réalisée sur un total de 512 élèves, construis le tableau des effectifs. Parmi

Correspondance, publiée avec une introduction et des notes par

Le premier chiffre de m ne peut être 1 (il doit être le même que le dernier chiffre de n).. Ce chiffre doit donc être