Professional Documents
Culture Documents
Motivation et exemples
Nombres entiers
Michel Bierlaire
Nombres entiers
Michel Bierlaire
Nombres entiers
Michel Bierlaire
Exemple
max 3 x1 + 13 x2 sc. 2 x1 + 9 x2 40 11 x1 8 x2 82 x1, x2 0 x1, x2 entiers
Nombres entiers
Michel Bierlaire
Exemple x*entier=(2,4)
2x1+9x2=40 11x1-8x2 = 82
x*continu=(9.2,2.4)
Michel Bierlaire 7
Exemple : investissement
Une socit dispose de 1 400 000 F investir. Les experts proposent 4 investissements possibles
Cot Inv. 1 Inv. 2 Inv. 3 Inv. 4
Nombres entiers
500 000 1 600 000 700 000 2 200 000 400 000 1 200 000 300 000 800 000
Michel Bierlaire
Exemple : investissement
Modlisation : Variables de dcision : xi, i=1,,4 xi = 1 si investissement i est choisi xi = 0 sinon Objectif : maximiser bnfice max 16 x1 + 22 x2 + 12 x3 + 8 x4 Contrainte : budget dinvestissement 5 x1 + 7 x2 + 4 x3 + 3 x4 14
Nombres entiers Michel Bierlaire 9
Exemple : investissement
Programme linaire 1 max 16 x1 + 22 x2 + 12 x3 + 8 x4 s.c. 5 x1 + 7 x2 + 4 x3 + 3 x4 14 x1, x2, x3, x4 0 Solution : x1 = 2.8, x2 = 0, x3 = 0, x4 = 0
Nombres entiers Michel Bierlaire 10
Exemple : investissement
x1 = 2.8, x2 = 0, x3 = 0, x4 = 0 Problme : comment interprter cette solution ? Effectuer linvestissement 1. Bnfice : 1 600 000 F. Cot : 500 000 F
Nombres entiers
Michel Bierlaire
11
Exemple : investissement
Programme linaire 2 max 16 x1 + 22 x2 + 12 x3 + 8 x4 s.c. 5 x1 + 7 x2 + 4 x3 + 3 x4 14 x1 , x2 , x3 , x4 0 x1 , x2 , x3 , x4 1 Solution : x1 = 1, x2 = 1, x3 = 0.5, x4 = 0
Nombres entiers Michel Bierlaire 12
Exemple : investissement
x1 = 1, x2 = 1, x3 = 0.5, x4 = 0 Problme : comment interprter cette solution ? Effectuer les investissements 1 et 2. Bnfice : 3 800 000 F. Cot : 1 200 000 F. Plus assez de budget pour linvestissement 3.
Nombres entiers
Michel Bierlaire
13
Exemple : investissement
Programme en nombres entiers max 16 x1 + 22 x2 + 12 x3 + 8 x4 s.c. 5 x1 + 7 x2 + 4 x3 + 3 x4 14 x1, x2, x3, x4 {0,1} Solution : x1 = 0, x2 = 1, x3 = 1, x4 = 1
Nombres entiers Michel Bierlaire 14
Exemple : investissement
x1 = 0, x2 = 1, x3 = 1, x4 = 1 Solution vidente interprter Bnfice : 4 200 000 F. Cot : 1 400 000 F.
Nombres entiers
Michel Bierlaire
15
Exemple : investissement
Notes : Les contraintes dintgralit peuvent modifier significativement la structure de la solution. Lintuition acquise avec les variables continues nest pas directement utilisable. Dans lexemple, linvestissement 1 est le plus rentable, mais il nest pas repris dans la solution optimale.
Nombres entiers
Michel Bierlaire
16
Nombres entiers
Michel Bierlaire
17
Nombres entiers
Michel Bierlaire
19
Nombres entiers
Michel Bierlaire
20
10
Nombres entiers
Michel Bierlaire
22
11
Modlisation
Reprenons le problme dinvestissement La socit se voit imposer des contraintes supplmentaires. a) Elle peut oprer au maximum deux investissements Contrainte : x1 + x2 + x3 + x4 2
Nombres entiers
Michel Bierlaire
23
Modlisation
b) Si elle dcide doprer linvest. 2, elle doit aussi oprer linvest. 1. Contrainte : x2 x1 ou x2 x1 0 Si x2 = 1, alors x1 1.Comme x1 {0,1}, alors x1 = 1. Si x2 = 0, alors x1 0. Pas de restriction sur x1.
Nombres entiers
Michel Bierlaire
24
12
Modlisation
c) Si elle dcide doprer linvest. 2, elle ne peut pas oprer linvest. 4. Contrainte : x2 + x4 1 Si x2 = 1, alors x4 0.Comme x4 {0,1}, alors x4 = 0. Si x2 = 0, alors x4 1. Pas de restriction sur x4.
Nombres entiers
Michel Bierlaire
25
Modlisation : set-covering
Problme : localisation de stations dincendie dans six villes. Objectif : en installer le moins possible. Contrainte : pouvoir atteindre chaque ville en au moins 15 minutes partir dau moins une station.
Nombres entiers
Michel Bierlaire
26
13
Modlisation : set-covering
Table des temps de trajet :
1 1 2 3 4 5 6
Nombres entiers
2 10
3 20 25
4 30 35 15
5 30 20 30 15
6 20 10 20 25 14
10 20 30 30 20 25 35 20 10
15 30 20
Michel Bierlaire
15 25 14
27
Modlisation : set-covering
Variables de dcision : xi = 1 si on installe une station dans la ville i (i=1,6) xi = 0 sinon Objectif : min x1+x2+x3+x4+x5+x6
Nombres entiers
Michel Bierlaire
28
14
Modlisation : set-covering
Contraintes : La ville 1 peut tre atteinte en au moins 15 minutes partir de la ville 1 et de la ville 2. Pour assurer le service de la ville 1, il faut donc une station soit en 1 soit en 2. x1 + x2 1
Nombres entiers
Michel Bierlaire
29
Modlisation : set-covering
Contraintes : La ville 2 peut tre atteinte en au moins 15 minutes partir de la ville 1, de la ville 2 et de la ville 6. Pour assurer le service de la ville 2, il faut donc une station soit en 1, soit en 2, soit en 6. x1 + x2 + x6 1
Nombres entiers
Michel Bierlaire
30
15
Modlisation : set-covering
Programme : min x1+x2+x3+x4+x5+x6 x1 + x2 1 x1 + x2 + x6 1 x3+x4 1 x3+x4+x5 1 x4+x5+x6 1 x2+x5+x6 1
Nombres entiers Michel Bierlaire 31
Modlisation : soit-soit
Considrons deux contraintes : f(x1,,xn) 0 g(x1,,xn) 0 On veut garantir quau moins une des ces contraintes soit vrifie, mais pas ncessairement les deux. Pour cela, il faut
Dterminer M tel que f(x1,,xn) M et g(x1,,xn) M x Introduire une variable binaire y{0,1}
Nombres entiers
Michel Bierlaire
32
16
Modlisation : soit-soit
Utilisons les contraintes suivantes : f(x1,,xn) My g(x1,,xn) M(1-y) Si y = 1, alors les contraintes sont f(x1,,xn) M g(x1,,xn) 0 Si y = 0, alors les contraintes sont f(x1,,xn) 0 g(x1,,xn) M
Nombres entiers Michel Bierlaire 33
17