Vous êtes sur la page 1sur 42

Recherche opérationnelle

Stefan Balev
Stefan.Balev@univ-lehavre.fr

LIH – Université du Havre

Licence Info 2003/2004 Recherche opérationnelle – p.1/40


Introduction

Licence Info 2003/2004 Recherche opérationnelle – p.2/40


Un peu d’histoire
1654 Pascal, Fermat ´
esperance ´
mathematique

Bernoulli, Waldegrave ´
problèmes de decision dans l’incertain

1776 Monge ´
un problème economique de nature
combinatoire – d´
eblais et remblais

1838 Cournot ´
theorie ´
mathematique des richesses

1917 Erlang ´
theorie des files d’attente

1921-25 Borel ´
theorie des jeux

1936 König ´
theorie des graphes

1939-45 Kantorovich ´
programmation lineaire

1940 Blackett ´
dirige la première equipe de RO

Licence Info 2003/2004 Recherche opérationnelle – p.3/40


Un peu d’histoire
Blackett traite rapidement et avec succès difficiles questions, telles que :

implantation optimale de radars de surveillance

protection des convois de navires

...

L’efficacite´ de son equipe


´ est du à:

´
composition hétérogène, competences ´ et complementaires
variees ´

information et données complètes et fiables

´
les décisions sont reserv ´ aux commettants
ees

Licence Info 2003/2004 Recherche opérationnelle – p.4/40


Pourquoi une apparition si tardive ?
´
L’economie parvient a` une certaine maturite´ et fait recours
´
aux mathematiques

`
Les problemes sont devenus complexes, en raison de la taille
croissante des entreprises et les liens entre elles

´
Les acquis theoriques ne seraient rien sans moyens de
´
calcul. Seuls les ordinateurs sont aptes à resoudre les
`
problemes pratiques.

Licence Info 2003/2004 Recherche opérationnelle – p.5/40


´
(Tentative de) definition

´
La recherche operationnelle ´
est l’ensemble de methodes et
techniques rationnelles d’analyse et de synthèse des
´
phenom ´
ènes d’organisation utilisables pour elaborer de
´
meilleures decisions.

`
La RO ne s’occupe pas des problemes dans lesquels une
solution de bon sens intervient naturellement. Son domaine est
´ ele
celui des situations dans lesquelles, le sens commun se rev `
faible ou impuissant.
Licence Info 2003/2004 Recherche opérationnelle – p.6/40
Domaines d’application
´
Problèmes combinatoires : definition des investissements les
´ des
plus rentables; optimisation des niveaux d’activite,
affectations, des transports; ordonnancements,. . .

` ou` intervient le hasard) :


Problèmes stochastiques (c-a-d
files d’attente; fiabilite´ et sûrete´ de fonctionnement des
´
equipements; gestion de la production,. . .

´
Problèmes concurrentiels : definition de politiques
d’approvisionnement, de vente,. . .

Licence Info 2003/2004 Recherche opérationnelle – p.7/40


`
Les problemes combinatoires
L’homme envisage difficilement la multiplicite´ des combinaisons
´
qui se presentent, même dans les moindres faits de la vie,
lorsque plusieurs variables peuvent prendre, chacune, des états
´
differents.

Licence Info 2003/2004 Recherche opérationnelle – p.8/40


`
Les problemes combinatoires
L’homme envisage difficilement la multiplicite´ des combinaisons
´
qui se presentent, même dans les moindres faits de la vie,
lorsque plusieurs variables peuvent prendre, chacune, des états
´
differents.

Exemple : Combien faut-il de temps à une famille de 8


personnes, prenant en commun deux repas journaliers, pour
´
epuiser ´ de se grouper autour de la table
toutes les possibilites
familiale ?

Licence Info 2003/2004 Recherche opérationnelle – p.8/40


`
Les problemes combinatoires

max{f (x) : x ∈ X}

f : X → R – fonction économique (objective)


X – ensemble de solutions possibles (realisables).
´ X est un
ensemble fini, mais de taille enorme.

Licence Info 2003/2004 Recherche opérationnelle – p.9/40


`
Les problemes combinatoires
Problème d’affectation : n tâches doivent être affectees
´ a` n
´
machines (1 tâche par machine). Le coût d’execution de la tâche
i par la machine j est cij . Trouver l’affectation qui minimise le
coût total.

Problème du voyageur de commerce : Un voyageur de


commerce doit visiter n villes. La distance entre les villes i et j
est cij . Trouver le plus court trajet.

Les solutions possibles sont n!. Pour n = 20 l’enum


´ ´
eration des
affectations (trajets) possibles, à vitesse d’un million par seconde,
prendrait 77 096 ans !
Licence Info 2003/2004 Recherche opérationnelle – p.10/40
´
Les domaines de l’aleatoire

´
Exemple : Dans une grande entreprise, la moyenne des entr ees
´
des personnels au bureau du correspondant de la securit e´
sociale est d’une personne par 4 min. Un employe´ peut servir, en
moyenne, une personne toutes les 3 min 20 sec. Combien
´ faut-il embaucher dans le bureau ?
d’employes

Licence Info 2003/2004 Recherche opérationnelle – p.11/40


Les situations de concurrence
´ depend
Le choix d’une stratégie, dans une situation donnee ´ ´
des decisions des
concurrents. Il s’agit, à la fois, d’un problème combinatoire et d’une situation
de hasard.
´
Exemple : Un fabricant A hesite, à chaque campagne de vente, entre la
hausse, le maintien et la diminution de ses prix de vente, sachant que son
ˆ
concurrent peut lui opposer les memes ´
strategies. Les gains de chaque paire
de choix sont :
A concurrent

+ = -

+ 10 -1 -4

= 6 0 -2

- 10 -1 2
Licence Info 2003/2004 Recherche opérationnelle – p.12/40
RO — une discipline-carrefour
ECONOMIE INFORMATIQUE

économie d’entreprise algorithmes


analyse économique interprétation structures de données
des résultats bases de données

RECHERCHE
OPERATIONELLE

élaboration traitement
du modèle du modèle

MATHEMATIQUES

théorie des systèmes


méthodes d’optimisation
méthodes statistiques
Licence Info 2003/2004 Recherche opérationnelle – p.13/40
Contenu du cours
´
Programmation lineaire
´ etrique
aspect geom ´
algorithme du simplexe
dualite´
applications

´
Theorie des flots
flot maximum et coupe minimum
algorithme de Ford et Fulkerson
applications
problèmes de transport et d’affectation

Licence Info 2003/2004 Recherche opérationnelle – p.14/40


Contenu du cours
Programmation en nombres entiers
´
methodes de troncatures
´
methodes ´
par separation ´
et evaluation (branch-and-bound)
relaxation lagrangienne

Programmation dynamique

Algorithmes heuristiques

Licence Info 2003/2004 Recherche opérationnelle – p.15/40


Bibliographie
´ de recherche
R. Faure, B. Lemaire, C. Picouleau. Precis
´
operationnelle

´
I. Charon, A. Germa, O. Hudry. Methodes d’optimisation
combinatoire

M. Sakarovitch. Optimisation combinatoire

G. Nemhauser, A. Wolsey. Integer and combinatorial


optimization

Licence Info 2003/2004 Recherche opérationnelle – p.16/40


´
Programmation lineaire

Licence Info 2003/2004 Recherche opérationnelle – p.17/40


La forme standard du PPL

Maximiser c 1 x1 + c2 x2 + · · · + c n xn
s. c. a11 x1 + a12 x2 + · · · + a1n xn ≤ b1
a21 x1 + a22 x2 + · · · + a2n xn ≤ b2
.. .. .. ..
. . . .

am1 x1 + am2 x2 + · · · + amn xn ≤ bm


x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0

n variables, m + n contraintes

Licence Info 2003/2004 Recherche opérationnelle – p.18/40


La forme standard du PPL
n
X
Maximiser cj xj
j=1
Xn
s. c. aij xj ≤ bj , i = 1, . . . , m
j=1

xj ≥ 0 j = 1, . . . , n

Licence Info 2003/2004 Recherche opérationnelle – p.19/40


La forme standard du PPL

max{cx | Ax ≤ b, x ≥ 0}
ou`
     
a11 . . . a1n x1 b1
     
 .. ..   ..   .. 
A= . . , x =  . , b =  . ,
     
am1 . . . amn xn bm

c = (c1 . . . cn )

Licence Info 2003/2004 Recherche opérationnelle – p.20/40


Transformation en forme standard
Minimiserf ⇔ Maximiser − f
α ≥ β ⇔ −α ≤ −β
α = β ⇔ α ≤ β, −α ≤ −β
y ∈ R ⇔ y = y + − y − , y + ≥ 0, y − ≥ 0

Licence Info 2003/2004 Recherche opérationnelle – p.21/40


Convexite´
P = {x | Ax ≤ b, x ≥ 0} ⊆ Rn – solutions r´
ealisables

P est un polyèdre convexe dans Rn (si x ∈ P , y ∈ P et


0 ≤ λ ≤ 1 alors λx + (1 − λ)y ∈ P )

convexe non convexe

Le maximum de la fonction objective, s’il existe, est atteint au


moins en un sommet de P .
Licence Info 2003/2004 Recherche opérationnelle – p.22/40
Les sommets de P
Chacune des m + n contraintes definit
´ un hyperplan dans Rn
(ligne droite dans R2 ). Un sommet est l’intersection de n
m+n

hyperplans. Il y a au plus n sommets.

x1 + 3x2 ≤ 18 (0,14)

x1 + x2 ≤ 8
(0,8)
2x1 + x2 ≤ 14
(0,6)
(4.8,4.4)
(3,5)
x1 ≥ 0
(6,2) (18,0)
(8,0)

x2 ≥ 0 (0,0) (7,0)

Licence Info 2003/2004 Recherche opérationnelle – p.23/40


Approche naı̈ve
Idée : On est s ˆur de trouver la solution optimale dans un sommet. Donc il suffit
de parcourir tous les sommets et de prendre le meilleur.

Génération d’un sommet : Choisir n parmi les m + n contraintes. Resoudre


´
´
le système lineaire où les n contraintes choisies sont à egalit
´ ´ Si le système
e.
a une solution et si cette solution satisfait aux m contraintes restantes, cette
solution est un sommet de P .

Licence Info 2003/2004 Recherche opérationnelle – p.24/40


Approche naı̈ve
Idée : On est s ˆur de trouver la solution optimale dans un sommet. Donc il suffit
de parcourir tous les sommets et de prendre le meilleur.

Génération d’un sommet : Choisir n parmi les m + n contraintes. Resoudre


´
´
le système lineaire où les n contraintes choisies sont à egalit
´ ´ Si le système
e.
a une solution et si cette solution satisfait aux m contraintes restantes, cette
solution est un sommet de P .
m+n

´
Problème : le nombre de sommets. Il faut resoudre n
´
systèmes lineaires.

Exemple : pour m = 400 et n = 200 il faut resoudre


´ environ 2, 5 × 10164
´
systèmes lineaires, ´
ce qui depasse le nombre estime´ des electrons
´ et des
protons dans l’Univers !

Licence Info 2003/2004 Recherche opérationnelle – p.24/40


L’algorithme du simplexe
´ : Parcourir les sommets de P de façon plus intelligente.
Idee

´
Passer iterativement d’un sommet à un sommet adjacent de
façon a` augmenter la valeur de la fonction a` optimiser jusqu’a`
trouver un sommet ou` le maximum est atteint.

180
210

180

0 140

Licence Info 2003/2004 Recherche opérationnelle – p.25/40


L’algorithme du simplexe
Initialisation : Choisir un sommet x0 ∈ P, t = 1
´
Iteration t : Soient y 1 , . . . , y k tous les sommets voisins de
xt (les sommets relies
´ avec xt par une arête).

Si cxt > cy s , s = 1, . . . , k , stop. La solution optimale


est xt .

Sinon, choisir un voisin y s , tel que cy s ≥ cxt . Poser


xt+1 = y s et passer a` l’iteration
´ t + 1.

Licence Info 2003/2004 Recherche opérationnelle – p.26/40


Simplexe – pourquoi c¸ a marche ?
Grâce a` la convexite´ du polyedre
` des contraintes et à la linearit
´ e´
de la fonction objective, il n’y a pas de maxima locaux.

montagne convexe montagne non−convexe

Licence Info 2003/2004 Recherche opérationnelle – p.27/40


Convergence de l’algorithme
´
On se deplace de sommet à sommet en augmentant la valeur de
m+n

la fonction z . Le nombre de sommets et fini (au plus n ).

´ on va finir par trouver le


Si la fonction objective est bornee,
maximum

´ on va le detecter
Si elle ne est pas bornee, ´ (pas de candidat
a` entrer en base)

Licence Info 2003/2004 Recherche opérationnelle – p.28/40


´ en
Deg ´ erescence
´ et cyclage
B b x1 x2 x3 x4 x5 x6
x3 1/2 0 0 1 1/2 0 0

x5 0 2 -4 0 -3 1 0

x6 0 -1 3 0 -2 0 1

z 4 2 -1 0 -4 0 0

x3 1/2 0 0 1 1/2 0 0

x1 0 1 -2 0 -3/2 1/2 0

x6 0 0 1 0 - 7/2 1/2 1

z 4 0 3 0 -1 -1 0

La valeur de z ne change pas. On reste dans le sommet


(0, 0, 0.5).
Licence Info 2003/2004 Recherche opérationnelle – p.29/40
´ en
Deg ´ erescence
´ et cyclage
´
Les solutions de base realisables avec une ou plusieurs variables
de base a` zero
´ sont dites deg
´ en
´ er
´ ees.
´

´ on ne change pas
Si on fait sortir de la base une variable à zero,
la valeur de z . Apres
` quelques iterations
´ on risque de retrouver
´a` visitee.
une base dej ´

Règle de Bland: lorsque l’on a choix sur la variable entrante ou


sur la variable sortante, on choisit toujours celle de plus petit in-
dice.

Licence Info 2003/2004 Recherche opérationnelle – p.30/40


´
Demarrage de l’algorithme

z = max{cx | Ax ≤ b, x ≥ 0}
Si b ≥ 0, il y a un dictionnaire evident
´ (celui des variables
´
d’ecart).

xe = b − Ax
´
Sinon, il faut trouver une base realisable ´
de depart.

Licence Info 2003/2004 Recherche opérationnelle – p.31/40


´
Methode a` deux phases
` auxiliaire
On introduit un probleme

 
1
z 0 = min{x0 | Ax − ..
. x0 ≤ b, x ≥ 0; x0 ≥ 0}
1

` est admissible (x0


Évidement, ce probleme = − mini bi ,
xj = 0, j = 1, . . . , n est une solution).

Si z 0 = 0 alors nous avons une solution du probleme


` initial.

Si z 0 > 0 alors le probleme


` initial est inadmissible

Licence Info 2003/2004 Recherche opérationnelle – p.32/40


´
Methode a` deux phases (exemple)

Maximiser x1 − x2 + x3
s. c. 2x1 − x2 + 2x3 ≤ 4
2x1 − 3x2 + x3 ≤ −5
−x1 + x2 − 2x3 ≤ −1
x1 , x2 , x3 ≥ 0

Licence Info 2003/2004 Recherche opérationnelle – p.33/40


Forme matricielle
z = max{cx | Ax = b, x ≥ 0}
(contraintes de type “=” après l’introduction de variables d’écart)
Soit xB le vecteur de variables en base et xN le vecteur de variables hors base. Le
problème s’écrit

BxB + N xN = b, d’o `u

xB + B −1 N xN = B −1 b = b
La fonction objective s’exprime comme

z = cB xB + cN xN = cB b + (cN − cB B −1 N )xN

Licence Info 2003/2004 Recherche opérationnelle – p.34/40


Dualite´

Licence Info 2003/2004 Recherche opérationnelle – p.35/40


` dual
Probleme
` primal (P)
Probleme ` dual (D)
Probleme
n
X m
X
cj xj → max bi yi → min
j=1 i=1
n
X Xm
aij xj ≤ bj , i = 1, . . . , m aij yi ≥ cj , j = 1, . . . , n
j=1 i=1
xj ≥ 0, j = 1, . . . , n yi ≥ 0, i = 1, . . . , m

ou ou

max{cx | Ax ≤ b, x ≥ 0} min{yb | yA ≥ c, y ≥ 0}

Proposition. Le dual du dual est le primal

Licence Info 2003/2004 Recherche opérationnelle – p.36/40


´ eme
Theor ` de dualite´ (1)
Proposition. Soit x une solution realisable
´ de (P) et y une
´
solution realisable de (D). On a :

n
X m
X
cj xj ≤ bi y i
j=1 i=1

´ sont égales, alors x est une


De plus, si les deux quantites
solution optimale de (P) et y est une solution optimale de (D).

Théorème. Si (P) a une solution optimale x∗ , alors (D) a une


solution optimale y ∗ et cx∗ = y ∗ b.
Licence Info 2003/2004 Recherche opérationnelle – p.37/40
´ eme
Theor ` des ecarts
´ ´
complementaires
´
Théorème. Une solution realisable x∗ de (P) est optimale si et
´
seulement s’il existe une solution realisable y ∗ de (D), telle que:
Pn ∗ ∗
si a x
j=1 ij j < b i , alors y i = 0;

Pm ∗
si xj > 0, alors i=1 ij i = cj .
a y

Licence Info 2003/2004 Recherche opérationnelle – p.38/40


´
Interpretation ´
economique du dual (1)
bi – la quantit´
e totale de la ressource i;

aij – la quantit´
e de la ressource i consommee
´ pour fabriquer
une unite´ du produit j ;

cj – la valeur unitaire du produit j .

yi represente
´ la valeur unitaire de la ressource i. Elle est souvent
´ prix implicite. C’est le montant maximum que l’on sera
appelee
prêt a` payer pour obtenir une unite´ supplementaire
´ de la
ressource i ou` encore le prix minimum auquel on serait prêt a`
vendre une unite´ de la ressource i.
Licence Info 2003/2004 Recherche opérationnelle – p.39/40
´
Interpretation ´
economique du dual (2)
´ les ressources de l’entreprise.
Supposons que quelqu’un souhaite acquerir
Quel est le prix à proposer pour chaque ressource ?
Soit yi le prix propose´ pour une unite´ de la ressource i. Le prix total sera

m
X
bi yi → min
i=1
Le prix propose´ doit etre
ˆ tel que ce soit plus interessant
´ pour l’entreprise de
ˆ les produits:
vendre ses ressources que de fabriquer elle meme

m
X
aij yi ≥ cj , j = 1, . . . , n
i=1

Licence Info 2003/2004 Recherche opérationnelle – p.40/40