Vous êtes sur la page 1sur 40

Introduction la dualit

Michel Bierlaire
michel.bierlaire@epfl.ch

EPFL - Laboratoire Transport et Mobilite - ENAC

` Introduction a la dualite p. 1/40

Introduction la dualit
Comment se dbarrasser des contraintes
Permettre la violation des contraintes Associer une pnalit cette violation Sarranger pour que la pnalit nincite pas violer la contrainte

` Introduction a la dualite p. 2/40

Exemple de lalpiniste
Un milliardaire offre 1 e un alpiniste par mtre daltitude Contrainte : rester dans les Alpes Solution optimale : grimper sur le Mont Blanc pour 4807 e

` Introduction a la dualite p. 3/40

Exemple de lalpiniste
Les alpinistes aiment la libert, pas les contraintes Si le milliardaire accepte quil quitte les Alpes: Solution optimale : grimper sur lEverest pour 8848 e

` Introduction a la dualite p. 4/40

Exemple de lalpiniste
Le milliardaire accepte quil quitte les Alpes. Mais en sacquittant dune amende de 4041 e Grimper sur lEverest rapportera donc 8848 e-4041 e=4807 e Mme gain que pour grimper sur le Mont Blanc Il ny a plus intrt quitter les Alpes

Question : comment le milliardaire doit-il calculer le prix ?

` Introduction a la dualite p. 5/40

Exemple de lalpiniste
Modlisation
x est la position (longitude/latitude) f (x) est laltitude en x Premier problme : max f (x) s.c. x Alpes
x

Amende: a(x), avec a(x) = 0 si x Alpes. Second problme : max f (x) a(x).
x

` Introduction a la dualite p. 6/40

Exemple doptimisation

xR

min 2x1 + x2 2

sous contraintes
1 x1 x2 x1 x2 = 0 0 0

Solution optimale : (0, 1) Cot optimal : 1 Relaxons la contrainte 1 x1 x2 = 0

` Introduction a la dualite p. 7/40

Exemple doptimisation
Amende proportionnelle la violation :
xR

min 2x1 + x2 + (1 x1 x2 ) 2

sous contraintes
x1 x2 0 0

Quelle valeur donner pour que la solution optimale du problme relax ne soit pas meilleure que celle du problme de dpart ?

` Introduction a la dualite p. 8/40

Exemple doptimisation

=0 min 2x1 + x2 2

xR

sous contraintes
x1 x2 0 0

Solution optimale : (0, 0) Cot optimal : 0 Violation de la contrainte. Mauvais choix de

` Introduction a la dualite p. 9/40

Exemple doptimisation

30 20 10 0 -10 -20 -30 5 0 -5 -10 -5 0 5 10 -10


` Introduction a la dualite p. 10/40

10

Exemple doptimisation

=2
xR

min 2 x2 2

sous contraintes
x1 x2 0 0

Problme non born. Mauvais choix de

` Introduction a la dualite p. 11/40

Exemple doptimisation

30 20 10 0 -10 -20 -30 5 0 -5 -10 -5 0 5 10 -10


` Introduction a la dualite p. 12/40

10

Exemple doptimisation

=1
xR

min x1 + 1 2

sous contraintes
x1 x2 0 0

Solution optimale : (0, x2 ) Cot optimal : 1 Quel que soit x2 , mme cot optimal. On choisit donc x2 = 1 pour vrier la contrainte.

` Introduction a la dualite p. 13/40

Exemple doptimisation

30 20 10 0 -10 -20 -30 5 0 -5 -10 -5 0 5 10 -10


` Introduction a la dualite p. 14/40

10

Fonction lagrangienne
Fonction lagrangienne
Soit le problme doptimisation min f (x) sous contraintes h(x) = 0 et g(x) 0, et soient les vecteurs Rm et Rp . La fonction

L : Rn+m+p R L(x, , ) = = f (x) + T h(x) + T g(x) m f (x) + i=1 i hi (x) +


p j=1

j gj (x)

est appele Lagrangien ou fonction lagrangienne du problme.

` Introduction a la dualite p. 15/40

Fonction duale
Comme dans les exemples, pour chaque valeur de et , on peut minimiser la fonction lagrangienne. Fonction duale
Soit le problme doptimisation min f (x) sous contraintes h(x) = 0 et

g(x) 0, et sa fonction lagrangienne L(x, , ). La fonction q : Rm+p R dnie par q(, ) = min L(x, , ) n
xR

est la fonction duale du problme. Les paramtres et sont appels variables duales.

` Introduction a la dualite p. 16/40

Fonction duale
Borne sur la fonction duale Soit x solution du problme doptimisation min f (x) sous contraintes h(x) = 0 et g(x) 0, et soit q(, ) la fonction duale du mme problme. Soit Rm et Rp , 0. Alors,
q(, ) f (x ),
et la fonction duale fournit des bornes infrieures sur la valeur optimale du problme.

(p.113)

` Introduction a la dualite p. 17/40

Problme dual
Comment choisir et ?
Eviter que le problme relax (i.e. le calcul de la fonction duale) soit non born. Eviter, dans la mesure du possible, que q(, ) < f (x )

avec x solution du problme de dpart.

` Introduction a la dualite p. 18/40

Problme dual
Problme dual
Soit le problme doptimisation min f (x) sous contraintes h(x) = 0 et

g(x) 0 et sa fonction duale q(, ). Soit Xq Rm+p le domaine de q , cest--dire Xq = {, |q(, ) > }
Le problme doptimisation

max q(, ) s.c. 0 et (, ) Xq


,

est le problme dual du problme doptimisation. Dans ce contexte, le problme de dpart sappelle problme primal.

` Introduction a la dualite p. 19/40

Exemple

xR

min 2x1 + x2 2

sous contraintes
h1 (x) g1 (x) g2 (x) = = = 1 x1 x2 x1 x2 = 0 0 0 () (1 ) (2 )

Fonction lagrangienne :
L(x1 , x2 , , 1 , 2 ) = 2x1 + x2 + (1 x1 x2 ) 1 x1 2 x2 = (2 1 )x1 + (1 2 )x2 +

` Introduction a la dualite p. 20/40

Exemple
Pour que la fonction duale soit borne, il faut que les coefcients de x1 et x2 soient nuls, et donc
2 1 = 0, 1 2 = 0,

ou encore
1 = 2 , 2 = 1 .

Comme 1 0, il faut que 2. Comme 2 0, il faut que 1.

` Introduction a la dualite p. 21/40

Exemple
Ainsi,
Xq = {, 1 , 2 | 1, 1 0, 2 0}

et la fonction duale devient


q(, 1 , 2 ) = .

` Introduction a la dualite p. 22/40

Exemple
Le problme dual scrit
max s.c. 1, 1 0, 2 0,

dont la solution optimale est = 1. Comme


1 = 2 , 2 = 1 .

on a = 1 et = 0. 2 1

` Introduction a la dualite p. 23/40

Dualit faible
Dualit faible Soit x solution du problme primal et soit ( , ) solution
optimale du problme dual associ. Alors

q( , ) f (x )

(Corollaire de la borne duale p.116)

` Introduction a la dualite p. 24/40

Problme dual
Concavit-convexit du problme dual Soit le problme dual max, q(, ) s.c. 0 et (, ) Xq dun problme doptimisation. Alors, la
fonction objectif est concave, et le domaine de la fonction duale est convexe.

(p. 116)

` Introduction a la dualite p. 25/40

Dualit en optimisation linaire


min cT x
x

sous contraintes
Ax x = b 0

et donc, nous avons


h(x) = b Ax

et
g(x) = x.

` Introduction a la dualite p. 26/40

Dualit en optimisation linaire


Fonction lagrangienne :
L(x, , ) = = cT x + T (b Ax) T x (c AT )T x + T b.

Pour quelle soit borne, il faut


c AT = 0.

Ainsi,
L(x, , ) = T b x,

et donc
q(, ) = min L(x, , ) = T b.
x

` Introduction a la dualite p. 27/40

Dualit en optimisation linaire


Le problme dual scrit
max T b
,

sous contraintes
Eliminer Renommer en x Changer la maximisation en minimisation. = 0 c AT .

` Introduction a la dualite p. 28/40

Dualit en optimisation linaire


On obtient
min bT x
x

sous contraintes
AT x c.

Cest aussi un problme doptimisation linaire Calculons son dual... Fonction Lagrangienne :
L(x, ) = = bT x + T (AT x c) (b + A)T x T c

` Introduction a la dualite p. 29/40

Dualit en optimisation linaire


Pour quelle soit borne, il faut
b + A = 0

` Introduction a la dualite p. 30/40

Dualit en optimisation linaire


Ainsi,
L(x, ) = T c x

et donc
q() = T c.

Le problme dual scrit


max T c

sous contraintes
A = 0 b.

` Introduction a la dualite p. 31/40

Dualit en optimisation linaire


ou encore
min xT c
x

sous contraintes
x Ax = 0 b.

Cest le problme de dpart

` Introduction a la dualite p. 32/40

Dualit en optimisation linaire


Soit le programme linaire suivant
min cT x1 + cT x2 + cT x3 3 2 1
x

sous contraintes
A1 x 1 + B 1 x 2 + C 1 x 3 A2 x 1 + B 2 x 2 + C 2 x 3 A3 x 1 + B 3 x 2 + C 3 x 3 x1 x2 x3 = b1 b2 b3 0 0 Rn 3

` Introduction a la dualite p. 33/40

Dualit en optimisation linaire


Le dual de ce problme est
T T T max T b = 1 b1 + 2 b2 + 3 b3

T T T (1 A1 + 2 A2 + 3 A3 =) T T T (1 B1 + 2 B2 + 3 B3 =) T T T (1 C1 + 2 C2 + 3 C3 =)

1 2 3 T A T B T C

Rm 0 0 c1 c2 c3

T T T avec = (1 2 3 )T et A = (AT AT AT )T 3 2 1

` Introduction a la dualite p. 34/40

Dualit en optimisation linaire


A chaque contrainte du primal correspond une variable duale

Contrainte = Contrainte Contrainte

variable duale libre variable duale 0 variable duale 0

A chaque variable primale correspond une contrainte duale

variable primale 0 variable primale 0 variable primale libre

contrainte contrainte contrainte =

` Introduction a la dualite p. 35/40

Dualit en optimisation linaire


Le dual du dual est le primal Soit un problme (primal) doptimisation
linaire. Si lon transforme son dual en un problme de minimisation, et que lon calcule le dual de celui-ci, on obtient un problme quivalent au problme primal

(p. 121)

` Introduction a la dualite p. 36/40

Dualit en optimisation linaire


min x1 + 2x2 + 3x3

sous contraintes
x1 2x1 x1 x2 x3 + 3x2 x2 = 5 6 4 0 0 R

3x3 x3

` Introduction a la dualite p. 37/40

Dualit en optimisation linaire


Le problme dual est
max 51 + 62 + 43

sous contraintes
1 2 3 1 31 + 22 2 32 =

R 0 0 1 2 3

Cest galement un problme linaire.

` Introduction a la dualite p. 38/40

Dualit en optimisation linaire


Ecrivons-le comme un problme de minimisation, et renommons les variables x. min 5x1 6x2 4x3
x1 x2 x3 x1 3x1 + 2x2 x2 3x2 =

x3

R 0 0 1 2 3

On peut donc calculer sont dual.

` Introduction a la dualite p. 39/40

Dualit en optimisation linaire


max 1 22 33

sous contraintes
1 21 1 2 3 + 32 2 = 5 6 4 0 0 R

33 3

Cest le problme de dpart

` Introduction a la dualite p. 40/40

Vous aimerez peut-être aussi