Académique Documents
Professionnel Documents
Culture Documents
Michel Bierlaire
michel.bierlaire@epfl.ch
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
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
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
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
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
Exemple doptimisation
xR
min 2x1 + x2 2
sous contraintes
1 x1 x2 x1 x2 = 0 0 0
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 ?
Exemple doptimisation
=0 min 2x1 + x2 2
xR
sous contraintes
x1 x2 0 0
Exemple doptimisation
10
Exemple doptimisation
=2
xR
min 2 x2 2
sous contraintes
x1 x2 0 0
Exemple doptimisation
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.
Exemple doptimisation
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
j gj (x)
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.
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)
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 )
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
est le problme dual du problme doptimisation. Dans ce contexte, le problme de dpart sappelle problme primal.
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 +
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 .
Exemple
Ainsi,
Xq = {, 1 , 2 | 1, 1 0, 2 0}
Exemple
Le problme dual scrit
max s.c. 1, 1 0, 2 0,
on a = 1 et = 0. 2 1
Dualit faible
Dualit faible Soit x solution du problme primal et soit ( , ) solution
optimale du problme dual associ. Alors
q( , ) f (x )
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)
sous contraintes
Ax x = b 0
et
g(x) = x.
Ainsi,
L(x, , ) = T b x,
et donc
q(, ) = min L(x, , ) = T b.
x
sous contraintes
Eliminer Renommer en x Changer la maximisation en minimisation. = 0 c AT .
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
et donc
q() = T c.
sous contraintes
A = 0 b.
sous contraintes
x Ax = 0 b.
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
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
(p. 121)
sous contraintes
x1 2x1 x1 x2 x3 + 3x2 x2 = 5 6 4 0 0 R
3x3 x3
sous contraintes
1 2 3 1 31 + 22 2 32 =
R 0 0 1 2 3
x3
R 0 0 1 2 3
sous contraintes
1 21 1 2 3 + 32 2 = 5 6 4 0 0 R
33 3