Recherche Opérationnelle 1A Programmation

Recherche Op´erationnelle 1A
Programmation Lin´eaire
Mod´elisation
Zolt´
an Szigeti
Ensimag
March 30, 2015
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
1 / 12
Exo 7.4
Dans le r´eseau ci-dessous on veut transporter une quantit´e maximale
de courrier qui sera envoy´e
soit de l’origine O1 vers la destination D1 ,
soit de l’origine O2 vers la destination D2 ,
en empruntant tous les chemins possibles.
Les arcs symbolisent les diff´erents moyens de transport (trains,
camions, avions ...) et les sommets sont les points de transfert.
La quantit´e totale de courrier transport´e sur chaque arc simple est
limit´ee par 1 (une unit´e) et non limit´ee sur chaque arc en gras.
D´eterminer la quantit´e maximale de courrier (la somme maximale des
quantit´es envoy´ees de O1 et O2 ).
D2
D1
O1
O2
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
1 / 12
Exo 7.4
(a) Mod´eliser ce probl`eme comme un programme lin´eaire.
Trouver la solution optimale.
Donner explicitement le plan de transport optimal sur chaque chemin
et la quantit´e totale de courrier envoy´e.
(b) Supposons que l’unit´e de courrier est indivisible (imaginons qu’il s’agit
d’un paquet). On cherche une solution optimale en nombres entiers
du programme pr´ec´edent.
Justifier qu’envoyer seulement une unit´e soit entre O1 et D1 soit entre
O2 et D2 est une solution optimale.
D2
D1
O1
O2
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
2 / 12
Exo 7.4
Solution
1
2
Variables : xi quantit´e de courriers envoy´es par le chemin Pi .
Contraintes de capacit´e : on veut envoyer
1
2
3
x1 + x2 sur l’arc O1 C mais on en peut seulement 1,
x1 + x3 sur l’arc O2 D1 mais on en peut seulement 1,
x2 + x3 sur l’arc CD2 mais on en peut seulement 1,
3
Contraintes de non-n´egativit´e : x1 , x2 , x3 ≥ 0.
4
Fonction Objectif : maximiser la quantit´e de courriers envoy´es par les
chemins : x1 + x2 + x3 = z(max).
D2
P2
O1 P1
D1
C
P3
O2
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
3 / 12
Exo 7.4
Programme lin´eaire
x1 + x2
≤1
x1 +
x3 ≤ 1
x2 + x3 ≤ 1
x1 , x2 , x3 ≥ 0
x1 + x2 + x3 = z(max)
(a) ( 12 , 21 , 12 ) est une solution optimale :
c’est une solution,
c’est r´ealisable,
qui donne 32 ,
x1 + x2 + x3 ≤ 23 (par la somme des trois in´egalit´es).
(b) Des solutions r´ealisables (1, 0, 0), (0, 1, 0), (0, 0, 1) sont optimales :
qui donnent 1,
z(max) ≤ 1 en nombres entiers (puisque l’optimum du PL est 32 ).
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
4 / 12
Exo 7.5
Probl`eme du cuisinier chinois
A bord d’un bateau 17 pirates poss`edent un tr´esor en pi`eces d’or.
S’ils se le partagent en parties ´egales, il restera 3 pi`eces d’or pour le
cuisinier chinois.
Au cours d’une tempˆete, 6 d’entre eux p´erissent et ils font le nouveau
´equipartage, le cuisinier chinois re¸coit 4 pi`eces d’or.
Plus tard, une rixe ´eclate entre les pirates et il en reste 6. Cette
fois-ci, apr`es l’´equipartage, le cuisinier chinois recevra 5 pi`eces d’or.
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 restant?
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
5 / 12
Exo 7.5
Solution
1
Variables :
1
2
2
t : nombre de pi`eces d’or,
xi : nombre de pi`eces obtenues dans i-`eme ´equipartage.
Contraintes de partage : le reste de t divis´e par
1
2
3
17 est 3, t = 17x1 + 3,
11 est 4, t = 11x2 + 4,
6 est 5, t = 6x3 + 5,
3
Contraintes de non-n´egativit´e : t, x1 , x2 , x3 ≥ 0.
4
Fonction Objectif : minimiser t : t = w (min).
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
6 / 12
Exo 7.5
Programme lin´eaire
t − 17x1
=3
t
− 11x2
=4
t
− 6x3 = 5
t, x1 , x2 , x3 ≥ 0
t
= w (min)
Remarque
1
2
2 1
, 11 , 0).
Solution optimale du PL est (5, 17
Solution optimale du PL en nombres entiers est (785, 46, 71, 130)
en utilisant le th´eor`eme de restes chinois.
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
7 / 12
Exo 8.1
Dans une raffinerie, quatre types de carburant brut sont m´elang´es pour produire trois
qualit´es de carburant m´elang´e. Les donn´ees sont les suivantes:
carburant
brut
1
2
3
4
taux
d’octane
68
86
91
99
unit´es
disponibles
4000
5050
7100
4300
prix d’achat
/unit´e
1, 02
1, 15
1, 35
2, 75
carburant
m´elang´e
1
2
3
taux min
d’octane
95
90
85
demande
prix de vente
/unit´e
7, 15
6, 95
4, 99
≤ 10000
sans restr.
≥ 15000
La vente directe du carburant brut est possible `
a un prix de 2, 95 si le taux d’octane
d´epasse 90 et 1, 85 par unit´e s’il est inf´erieur. Il faut maximiser le profit total.
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
8 / 12
Exo 8.1
Solution
1
2
Variables : xij : unit´es de carburant brut num´ero i dans le carburant
m´elang´e num´ero j.
Contraintes de disponibilit´e : On veut utiliser
1
2
3
4
3
x11 + x12 + x13
x21 + x22 + x23
x31 + x32 + x33
x41 + x42 + x43
unit´es
unit´es
unit´es
unit´es
de
de
de
de
carburant
carburant
carburant
carburant
brut
brut
brut
brut
num´ero
num´ero
num´ero
num´ero
1
2
3
4
mais
mais
mais
mais
il
il
il
il
y
y
y
y
en
en
en
en
a
a
a
a
4000,
5050,
7100,
4300,
Contraintes de demandes : On aura
1
2
x11 + x21 + x31 + x41 unit´es de carburant m´elang´e num´ero 1 mais il en
faut au plus 10000,
x13 + x23 + x33 + x43 unit´es de carburant m´elang´e num´ero 3 mais il en
faut au moins 15000,
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
9 / 12
Exo 8.1
Solution
1
Contraintes d’octane : Le taux d’octane de carburant m´elang´e
1
2
3
num´ero 1 :
num´ero 2 :
num´ero 3 :
0.68·x11 +0.86·x21 +0.91·x31 +0.99·x41
x11 +x21 +x31 +x41
0.68·x12 +0.86·x22 +0.91·x32 +0.99·x42
x12 +x22 +x32 +x42
0.68·x13 +0.86·x23 +0.91·x33 +0.99·x43
x13 +x23 +x33 +x43
doit ˆetre au moins 0.95,
doit ˆetre au moins 0.90,
doit ˆetre au moins 0.85,
2
Contraintes de non-n´egativit´e : xij ≥ 0.
3
Fonction Objectif : maximiser le b´en´efice - la d´epense :
Z. Szigeti (Ensimag)
RO 1A
March 30, 2015
10 / 12
Exo 8.1
Solution
Fonction Objectif : maximiser le b´en´efice - la d´epense :
1 la d´
epense = 1.02 · 4000 + 1.15 · 5050 + 1.35 · 7100 + 2.75 · 4300
on ach`ete toutes les unit´es disponibles des carburants bruts car le prix
de vente est plus que le prix d’achat.
2
le b´en´efice sur la vente de carburant m´elang´e
1
2
3
3
num´ero 1 est = 7.15 · (x11 + x21 + x31 + x41 ),
num´ero 2 est = 6.95 · (x12 + x22 + x32 + x42 ),
num´ero 3 est = 4.99 · (x13 + x23 + x33 + x43 ),
le b´en´efice sur la vente de carburant brut
1
2
3
4
num´ero
num´ero
num´ero
num´ero
1
2
3
4
Z. Szigeti (Ensimag)
est
est
est
est
=
=
=
=
1.85 · (4000 − (x11 + x12 + x13 )),
1.85 · (5050 − (x21 + x22 + x23 )),
2.95 · (7100 − (x31 + x32 + x33 )),
2.95 · (4300 − (x41 + x42 + x43 )),
RO 1A
March 30, 2015
11 / 12
Exo 8.1
Programme lin´eaire
x11 + x12 + x13
≤ 4000
x21 + x22 + x23
x31 + x32 + x33
≤ 5050
≤ 7100
x41 + x42 + x43
≤ 4300
x11 + x21 + x31 + x41
x13 + x23 + x33 + x43
− 27x11 − 9x21 − 4x31 + 4x41
− 22x12 − 4x22 + 1x32 + 9x42
≥ 0
≥ 0
− 17x13 + 1x23 + 6x33 + 14x43
xij
≥ 0
≥ 0
5.30x11 + 5.10x12 + 3.14x13 + 5.30x21 + 5.10x22 + 3.14x23 +
4.20x31 + 4.00x32 + 2.04x33 + 4.20x41 + 4.00x42 + 2.04x33
Z. Szigeti (Ensimag)
≤ 10000
≥ 15000
RO 1A
= z(max)
March 30, 2015
12 / 12