Vous êtes sur la page 1sur 27

Programmation linaire et Recherche

oprationnelle
http://www.lri.fr/~mdr

Licence dEconomtrie
Professeur Michel de Rougemont
mdr@lri.fr
http://www.lri.fr/~mdr
Cours 7,8,9

Recherche oprationnelle

1. Problmes de transport
2. Simplex Rseau
3. Problmes de flux maximum
4. Mthode Ford et Fulkerson
5. Mthode primal-dual

Simplex et rseaux

3
2

Graphes : nuds et artes


Sources : 6,7
Puits: 3,4,5
Matrice dincidence

A.xb

Rappels sur les graphes

3
2

Graphes : nuds et artes

Gn (Dn,E) o EDn2
Degr dun nud
vi1, vi2,... vik o vijDn
Chemin :
Composante connexe :
Graphe Connexe, Eulrien, Hamiltonien

Matrice dincidence

1
0
e13 1
0
....

a1
a
2

eij a3 tel que: ai 1,a j 1


a
4
....

1 1 1 1

1
1 1 ....
1

A
1
1 ....

....

0
0
6
b 10
89
15

c(53,18,29,8,60,28,37,5,44,38,98,14,23,59)
Min c.x

Solution possible

1
5

10

Flux conserv

sources

puits

noeuds

A.xb

x x
ij

jk

Solution darbres

8
5

15
7

Arbre recouvrant :

n noeuds

n-1 artes

Flux unique

Solution darbres

8
5

15

Proprit des arbres recouvrants :


on peut numrer les nuds

v1 ,v2,v3..... vn tels que :


pour v2,v3..... vn chaque arte e
lie l'extrmit vi l'origine v j pour i j
7, 2, 3, 6, 1, 4, 5

Solution darbres

8
5

15

e1 ,e2,e3..... en1
pour l'ordre v2,v3..... vn sans v1
Prendre

B.x *b*
7, 2, 3, 6, 1, 4, 5
B est triangulaire et unimodulaire (detB=0,1,-1).

Solution darbres

8
5

15

Prix

yi du noeud vi

yi cij y j
yn 0

y2
23
-y2y3
60
-y2 y4
28
-y1
y4
18
-y1
y5 29
y1
-y644

Solution darbres

8
5

Rsoudre

15
7

y.B c

y1 33 , y2 23 , y3 84 , y4 51 , y5 62 , y6 11 , y7 0
Dterminer arc qui nest pas dans larbre tel que :

yi cij y j
Interprtation conomique: acheter
yj
et vendre
En thorie prendre le maximum de :

y j yi cij

yi cij

Solution darbres

8-t
5

1+t

9-t

15-t

Par exemple:

e75 car y5 y7 c75 3


Trouver le plus grand t tel que :

8-t 0
Prendre t=8

9-t 0

15-t 0

Nouvel arbre

9+t
4

t
1-t

y1 33 , y2 23 , y3 83 , y4 51 , y5 59 , y6 11 , y7 0
Par exemple:

e21 car y1 y2 c21 2


1-t 0

Nouvel arbre

10
4

1
9

y1 33 , y2 23 , y3 83 , y4 51 , y5 59 , y6 11 , y7 0
Par exemple:

e21 car y1 y2 c21 2


1-t 0
Enfin:
OPTIMUM

yi cij y j

Simplex rseau et rvis


Etape 1 : Rsoudre

y.BcB

Etape 2: Choisir une colonne entrante. Colonne a


tel que :
y.acN
Etape 3: rsoudre

B.d a

Etape 4: trouver le plus grand t tel que


colonne entrante
Etape 5: mettre jour

xB* et B

xB* t.d 0

Intgralit

Problme de transport:

Min c.x telque A.xb


Si b a des valeurs entires, alors la solution
optimale (si elle existe) est entire.
A est une matrice dincidence et le problme est
facile.
En gnral la programmation linaire entire est
difficile.

Problme daffectation

Problme de transport en solution 0 ou 1:

Min c.x telque A.xb

Mthode hongroise

a
b
c
d
e

1
11
9
13
21
14

2
17
7
16
24
10

3
4 5
8
16 20
12 6 15
15 12 16
17 28 26
12 11 15

Faire apparatre des 0 dans les lignes et les


colonnes en soustrayant la plus grande
valeur:

a
b
c
d
e

1 2
3
3 9 0
3 1 6
1 4 3
4 7
0
4 0
2

4
8
0
0
11
1

Min c.x

5
12
7
4
9
5

Mthode hongroise

a
b
c
d
e

1 2
3
4 5
2 9 0
8 8
2 1 6 0 3
0 4 3 0 0
3 7
0 11 5
3 0
2 1 1

Solution partielle:
a3, b4, c1, e2
Pour ltendre, utiliser lalgorithme
hongrois:
Marquer les lignes sans affectation
Marquer les colonnes qui ont des zros
dans les ligne marques
Marquer les lignes qui ont des affectations
dans les colonnes marques
Couvrir lignes non marques et colonnes
marques

Matrice dincidence

a
b
c
d
e

1 2
3
4 5
2 9 0
8 8
2 1 6 0 3
0 4 3 0 0
3 7
0 11 5
3 0
2 1 1

Elment minimum: 2
Soustraire 2 au tableau et le rajouter aux
lignes et colonnes couvertes.
Itrer
1 2
3
4 5

a
b
c
d
e

0
2
0
1
3

7 0
1 8
4 5
5
0
0
4

6
0
0
9
1

6
3
0
3
1

Solution : a1, b4, c5, d3, e2


Valeur : 11+6 + 16+17+10=60

Flots et coupes

Problme de transport avec capacit maximum:

Solution optimale simple:


Exemple : flux de passagers entre SF et NYC
C
4
5

2
D

A
5

SF
6

NYC

Flots et coupes

Conservation sur chaque nud:

x x
ij

jk

Flux de s vers t

x x
it

sk

C
4
5

2
D

A
5

SF
6

NYC

Coupes

Coupe C partage les nuds avec s et t dans deux


composantes:

CDn tel que sD,tD


c cij
Capacit de C :
iC, jC

C
4
5

2
D

A
5

SF
6

NYC

Ford et Fulkerson

Chemin augment:

Chercher un chemin possible entre s et t de


capacit faisable.
Mettre jour les flots.
C
4
5

2
D
4: 5

4:4

4:7
A
5

SF
6

NYC

Ford et Fulkerson
C
1:4
1 :2
D
5: 5

NYC

4:4

4:7
A
5

SF

6
1:4
5

1 :2
D
5: 5

4:4

7:7
A
3:5

SF
3:6

NYC

Ford et Fulkerson
C
2:4
2 :2
D
5: 5

NYC

3:4

7:7
A
4:5

SF

4:6
2:4
5

2 :2
D
5: 5

5:4

7:7
A
4:5

SF
4:6

NYC

Coupe
Maximum

Thorme fondamental

Thorme 1 : Max flot = Min Coupe

Thorme 2 : Max flot a une valeur entire lorsque


toutes les capacits sont entires.

C
4
5

2
D

7
A

5
5

SF
6

NYC

Vous aimerez peut-être aussi