• Aucun résultat trouvé

Recherche Op´erationnelle 1A Programmation Lin´eaire Dualit´e

N/A
N/A
Protected

Academic year: 2022

Partager "Recherche Op´erationnelle 1A Programmation Lin´eaire Dualit´e"

Copied!
20
0
0

Texte intégral

(1)

Recherche Op´erationnelle 1A Programmation Lin´eaire

Dualit´e

Zolt´an Szigeti

Laboratoire G-SCOP INP Grenoble, France

(2)

Algorithme du simplexe r´evis´e

Etant donn´es un PL sous forme standard, une base r´ealisable´ J, et sa forme standard par rapport `aJ :

A·x =b x ≥0 cT·x =z(max)

Aˆ·x= ˆb x≥0 ˆ

cT ·x=z(max)−zˆ0

1 bˆ= (AJ)1·b,

2 πT =cJT ·(AJ)1,

3T =cT −cJT ·Aˆ=cT −cJT·(AJ)1·A=cT −πT ·A,

4s = (AJ)1·As,

50 =cT·x=cJT ·xJ =cJT ·bˆ=cJT ·(AJ)1·b =πT ·b.

(3)

Dualit´e

Introduction du dual Primal

A·x ≤b x ≥0 cT·x =z(max)

On cherche une borne sup´erieure pour z(max).

(4)

Dual

Exemple 1x1+ 2x2 ≤3 3x1−1x2 ≤5 x1, x2 ≥0 6x1+ 4x2 =z(max)

On essaie de borner 6x1+ 4x2 par une combinaison lin´eaire des in´egalit´es.

Premi`ere tentative

6x1+ 4x2 ≤6x1+ 5x2=3(1x1+ 2x2) +1(3x1−1x2) ≤3·3 + 1·5 = 14 On sait maintenant que z(max)≤14.

(5)

Dual

Deuxi`eme tentative plus intelligente

6x1+ 4x2(y1+ 3y2)x1+ (2y1y2)x2=y1(1x1+ 2x2) +y2(3x11x2)

y1·3 +y2·5

Pour que ce soit vrai il faut quey satisfasse : 6≤y1+ 3y2,4≤2y1−y2,y1,y2≥0.

On sait maintenant que z(max)≤3y1+ 5y2.

Pour avoir la meilleure borne sup´erieure on minimisera 3y1+ 5y2. D´efinition

Primal

1x1+ 2x2 ≤3 3x1−1x2 ≤5 x1, x2≥0 6x1+ 4x2 =z(max)

Dual

1y1+ 3y2≥6 2y1−1y2≥4 y1, y2≥0 3y1+ 5y2=w(min)

(6)

Dual

En g´en´eral (forme canonique) Primal

A·x ≤b x ≥0 cT·x =z(max)

Dual

yT·A≥cT y ≥0 yT·b =w(min)

On essaie de borner cT ·x par une combinaison lin´eaire des in´egalit´es : Borne sup´erieure

cT ·x≤ (yT ·A)·x =yT ·(A·x) ≤yT·b.

Pour que ce soit vrai il faut quey satisfasse : cT ≤yT ·Aet y ≥0.

On sait maintenant que z(max)≤yT·b.

Pour avoir la meilleure borne sup´erieure on minimisera yT ·b.

(7)

Dualit´e

En g´en´eral (forme canonique) Primal

A·x ≤b x ≥0 cT·x =z(max)

Dual

yT ·A≥cT y ≥0 yT ·b =w(min) Th´eor`eme faible de la dualit´e

Pour toutes solutions r´ealisablesx du primal et y du dual, on a : cT·x≤yT·b.

(8)

Dual

Th´eor`eme

Le dual du dual est le primal.

D´emonstration (forme canonique) (P)

A·x≤b x≥0 cT·x=z(max)

(D)

yT·A≥cT y ≥0 yT·b =w(min)

(D’)

uT ·(−AT)≥(−bT) u≥0 uT·(−c) =w(min)

(P’)

(−AT)·y≤(−c) y≥0 (−bT)·y=z(max)

(9)

Dual

En g´en´eral

Primal

A11·x1 +A12·x2 +A13·x3 ≤b1 A21·x1 +A22·x2 +A23·x3 =b2 A31·x1 +A32·x2 +A33·x3 ≥b3

0≤x1, x2, 0≥x3

c1T ·x1 +c2T·x2 +c3T ·x3 =z(max)

Dual

y1T·A11 +y2T ·A21 +y3T ·A31≥c1T y1T·A12 +y2T ·A22 +y3T ·A32=c2T y1T·A13 +y2T ·A23 +y3T ·A33≤c3T y1 ≥0, y2, y3 ≤0

y1T·b1 +y2T ·b2 +y3T·b3 =w(min)

(10)

Dualit´e

Th´eor`eme fort de la dualit´e Primal

A·x =b x ≥0 cT ·x =z(max)

Dual

yT·A≥cT

yT·b=w(min) S’il existe une solution r´ealisable du primal et du dual, alors on a :

z(max) =w(min).

(11)

Th´eor`eme fort de la dualit´e

D´emonstration (pour la forme standard)

1 Par le Th´eor`eme faible de la dualit´e, pour toutes solutions r´ealisables x du primal et y du dual, on a : cT ·x ≤yT ·b,donc

z(max)w(min),et en particulierz(max) est fini.

2 simplexe r´evis´e s’arrˆete avec ˆcT ≤0,avec une solution optimale x du primal, 0≥cˆT =cT −πT ·A,donc

πest une solution r´ealisable du dual.

3 z(max)≤w(min)≤πT ·b =cT ·x =z(max),

par 1,πest une solution r´ealisable du dual,cT·x =πT·b,x est une solution optimale du primal.

4 z(max) =w(min).

Remarque

Les solutions r´ealisables x du primal et y du dual sont optimales si et seulement si cT ·x=yT ·b.(cT·x≤z(max) =w(min)≤yT ·b.)

(12)

Th´eor`eme des ´ecarts compl´ementaires

Th´eor`eme (pour la forme canonique)

Les solutions r´ealisables x du primal et y du dual sont optimales si et seulement si

1 si yi >0 alorsai ·x =bi ⇐⇒

si ai·x <bi alors yi = 0 ⇐⇒

yi(ai·x−bi) = 0.

2 si xj >0 alorsyT·aj =cj ⇐⇒

si yT ·aj >cj alors xj = 0 ⇐⇒

xj(yT ·aj −cj) = 0.

(13)

Th´eor`eme des ´ecarts compl´ementaires

D´emonstration cT ·x= P

cjxj

P(yT·aj)xj = (yT·A)·x=yT ·(A·x) =P

yi(ai ·x)

≤P

yibi =yT·b.

x ety sont optimales⇐⇒

cT·x=yT·b ⇐⇒

on a ´egalit´e partout ⇐⇒

cjxj = (yT ·aj)xj pour toutj et yi(ai·x) =yibi pour touti (yT·aj −cj)xj = 0 pour toutj et yi(ai ·x−bi) = 0 pour touti.

(14)

Perturbation des donn´ees

(P)

A·x ≤b x ≥0 cT ·x =z(max)

(D)

yT·A≥cT y ≥0 bT ·y =w(min)

(Pε)

A·x≤b+ε x≥0 cT·x=zε(max)

(Dε)

yT·A≥cT y ≥0 (b+ε)T ·y =wε(min) Qu’est-ce qui se passe si l’on perturbe un peu le vecteur b ?

Peut-on dire quelque chose sur le changement de la fonction objectif ? Le poly`edre a chang´e, on ne voit pas comment calculer zε(max).

Utilisons la dualit´e ! Le poly`edre du dual n’a pas chang´e.

La solution optimale y du (D) ne change pas pourεpetit.

(15)

Perturbation des donn´ees

(P)

A·x ≤b x ≥0 cT ·x =z(max)

(D)

yT·A≥cT y ≥0 bT ·y =w(min)

(Pε)

A·x≤b+ε x≥0 cT·x=zε(max)

(Dε)

yT·A≥cT y ≥0 (b+ε)T ·y =wε(min)

On peut calculer le changement de la fonction objectif en utilisant le th´eor`eme fort de la dualit´e o`u y est une solution optimale du (D) et de (Dε) :

zε(max) = wε(min) = (b+ε)T ·y=bT·y+εT·y

= w(min) +εT ·y

= z(max) +εT ·y.

(16)

Une solution optimale du dual

Remarque

1 Peut-on trouver une solution optimale du dualapr`es l’ex´ecution du simplexe sur le primal ?

2 On a vu dans la d´emonstration du th´eor`eme fort de la dualit´e que siJ est une base optimale du primal alors πT =cJT ·(AJ)1 est une solution optimale du dual.

3 Peut-on trouverπ dans le dernier tableau ?

4 On sait que ˆcT =cT −πT ·A,donc ˆ

cJT1 =cJT1−πT ·AJ1 = 0−πT ·I =−πT.

A J

1

I b

cJ

1 0 −πT

(17)

Application de la dualit´e (Couplages)

Programme Lin´eaire (Primal)

Le probl`eme de trouver un couplage de cardinal maximum dans un graphe biparti G = (U,V;E) peut ˆetre ´ecrit comme un programme lin´eaire.

X

e∈δ(w)

x(e) ≤ 1 ∀w ∈U∪V, x(e) ≥ 0 ∀e ∈E, X

eE

x(e) = z(max).

(18)

Application de la dualit´e (Couplages)

Programme Lin´eaire (Primal) pour un graphe biparti G = (U,V;E) X

e∈δ(w)

x(e) ≤ 1 ∀w ∈U∪V, x(e) ≥ 0 ∀e ∈E, X

eE

x(e) = z(max).

Remarques

1 Le vecteur caract´eristique d’un couplage de G est une solution r´ealisable du (P).

2 Une solution de base de (P) est le vecteur caract´eristique d’un

couplage deGcar le poly`edre du (P) est entier par la r`egle de Cramer et puisque chaque sous-matrice carr´ee de la matrice d’incidence d’un graphebipartiest de d´eterminant 0,1 ou −1.

(19)

Application de la dualit´e (Couplages)

Le dual du (P)

y(u) +y(v) ≥ 1 ∀uv ∈E, y(w) ≥ 0 ∀w ∈U∪V, X

wUV

y(w) = w(min).

Remarques

1 Le vecteur caract´eristique d’un transversal de G est une solution r´ealisable du (D).

2 Un point d’extrˆeme du poly`edre du (D) est le vecteur caract´eristique d’un transversal de Gcar le poly`edre du (D) est entier par la r`egle de Cramer et puisque chaque sous-matrice carr´ee de la matrice

d’incidence d’un graphe bipartiest de d´eterminant 0,1 ou−1.

(20)

Application de la dualit´e (Couplages)

Th´eor`eme (K˝onig) Dans un graphe bipartie,

le cardinal maximum d’un couplage = la valeur optimale du (P) =

la valeur optimale du (D) =

le cardinal minimum d’un transversal.

A l’´epoque, la programmation lin´eaire n’existait pas !`

Références

Documents relatifs

Simplexe Dantzig’47 non-polynomial tr`es rapide Ellipso¨ıde Khachiyan’79 polynomial tr`es lent Point int´erieur Karmarkar’84 polynomial rapide Remarques sur l’algorithme

Recherche Op´erationnelle 1A Programmation Lin´eaire. Etape 1 de l’algorithme du

en r´ep´etant le jeu, on ne ferait pas toujours la mˆeme chose, sinon, l’autre joueur changerait ´eventuellement sa strat´egie et gagnerait tout le temps. On verra en TD comment

2 Les r´ecipients ne sont pas gradu´es, c’est-` a-dire qu’une op´eration de transvasement aura pour effet de vider compl`etement un des r´ecipients et/ou d’en remplir un autre `

Trouver un couplage de cardinal maximum et un transversal de cardinal minimum dans le graphe biparti suivant

Donner un r´eseau sans circuit absorbant avec une racine s pour lequel l’algorithme de Dijkstra ne trouve pas les chemins de coˆ ut minimum issus de s...

Soit ( G , c ) le r´eseau potentiel-tˆ aches d’un probl`eme

Quel est le nombre minimum de pi`eces d’or de tr´esor que peut esp´erer acqu´erir le cuisinier chinois s’il empoisonne l’´equipage