Recherche Opérationnelle
Recherche Opérationnelle
Recherche Opérationnelle
FOUAD KISSI
F. S. J. E. S Oujda
2017-2018
Origines militaire de la RO
- objectif : optimisation de la logistique militaire et du
réapprovisionnement des troupes
- création par le gouvernement britannique au début de la
seconde guerre mondiale
- G. Dantzig, conseiller scientique à la U.S. Air force,
met au point en 1947 l'algorithme du simplexe.
A l'origine, le mot opérationnelle signie donc en vue de
programmer des opérations militaires.
Après , le domaine de la RO s'est étendu à des applications
civiles.
Programmation mathématiques
Optimisation combinatoire
Optimisation stochastique ( Probabilité )
Théorie des graphes.
du problème.
2 Exprimer la fonction objectif en termes des variables identiées
d'inéquations linéaires.
- Fonction objectif :
- Pour le produit A, elle retire 50 dh par unité et en fabrique x 1
de (60x ) dh.
2
2x 1 + 2x2 ≤ 10
9x 1 + 4x2 ≤ 36
- contraintes de positivité : Elles assurent que la solution ne
comporte pas des valeurs négatives (inacceptables).
x1 , x2 ≥ 0
x1 + 2x2 ≤ 8
(P) 2x1 + 2x2 ≤ 10
9
1
x + 4x2 ≤ 36
x1 , x2 ≥ 0
Enn, il faut pas oublier qu'on peut pas acheter des quantités
négatives de P ou Q :
x , x ≥0
1 2
2x + x ≥ 16
1 2
1x + x ≥ 12 2
x + 3x ≥ 18
1 2
x , x ≥0
1 2
d'équations :
a1 x1 + a2 x2 < b
a1 x1 + a2 x2 > b
Exemple : (∆) : x + 2x = 4
1 2
points extrémaux
Enoncé du probème :
Une entreprise de fabrication de chassis envisage la production de
deux nouveau modèles au moyen des capacités de ses trois ateliers.
Il s'agit respectivement d'un chassis en aluminium et d'un chassis
en bois. Le premier produit nécessite le passage dans le premier
atelier pour fabriquer le cadre en aluminium et dans le troisième
atelier où le verre est monté sur le chassis. Tandis que le second
produit nécessite le passage dans le deuxième atelier pour fabriquer
le cadre en bois et dans le troisième atelier où le verre est monté
sur le chassis. Les prots unitaires, les temps de fabrication de
chacun des produits dans chacun des ateliers ainsi que les capacités
hebdomadaires de ces ateliers sont donnés au tableau suivant :
x1 ≤ 4 (A1)
(P) 2x2 ≤ 12 (A2)
3 x1 + 2 x2 ≤ 18 (A3)
x1 , x2 ≥ 0
x1 + 2x2 ≥ 4
3x1 + x2 ≥ 3
x1 , x2 ≥ 0
E (0, 3) → z(0, 3) = 18
1
E2 ( 52 , 95 ) → z( 52 , 95 ) = 78
5
E3 (4, 0) → z(4, 0) = 48
Alors c'est le sommet E2 ( 25 , 59 ) qui réalise l'objectif minimal de
valeur 78
5
x1 ≥ 5
x1 , x2 ≥ 0
2) Formes standard
Toutes les contraintes représentent des égalités. L'objectif pouvant
être le maximum ou le minimum.
Exemples :
Max z = 2x1 + 9x2 + x3 Min z = x1 + 4x2 + x3
x1 + 2x2 ≤ 8 1 + 2x2 + x3 = 8
x
2x1 + 2x2 ≤ 10 2x1 + 2x2 + x4 = 10
9x + 4x2 ≤ 36
1
9
1
x + 4x2 + x5 = 36
x1 , x2 ≥ 0 x1 , x2 , x3 , x4 , x5 ≥ 0
Principe :
1 Dresser la forme canonique du problème posé ;
x1 + 5x2 ≤ 11
2x + 3x2 ≤ 5
1
x1 ≥ 0, x2 ≥ 0
x1 + 5x2 + x3 11
=
2x + 3x2 + x4
1
= 5
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0
x3 1 5 1 0 11 11
x4 2 3 0 1 5 5
2
z 3 2 0 0 0
Solution :
HB : x = x = 0
1 2
B : x = 11 , x = 5
3 4
z=0
Comme deux nombres de la dernière ligne sont positifs (3, 2), cette
solution de base réalisable n'est pas optimale.
Dans le premier tableau nous avons entouré le pivot qui est égal à 2
par un petit cercle
x 3 0 1 − 7
2
1
2
17
2
x 1 1 0 3
2
1
2
5
2
z 0 − 0 − 5
2
− 3
2
15
2
maximale de z est 15
2
Denition
Un graphe est la donnée d'un ensemble de X de n éléments
(X = {x , ....., xn }) et d'une relation R liant ces éléments. On note
1
ce graphe : G (X , R).
x2 x1 , x4 x2 x3
x3 x1 , x2 , x4 x3 x4 , x5
x4 x3 , x5 x4 x2 , x3 , x5 , x6
x5 x3 , x4 , x5 x5 x4 , x5
x6 x4 x6 -
Chemin simple : Passe une fois au plus par chacun des arcs
( Exemple : (x , x , x )).
1 2 3
Chemin eulérien : Passe une seule fois par chacun des arcs
Circuit, Cycle : Chemin dont l'extrémité initiale du premier arc
coïncide avec l'extrémité nale du dernier ( Exemple :
(x , x , x , x )). Si les arcs sont des arrêtes, on parle de cycle.
2 3 4 2
1.
Sommets Précédents
A Aucun - - -
B A - - -
C A - - -
D B, C B, C - -
E D D D -
F D D D -
G D D D -
H E, G E, G E, G E, G
I E E E E
J I I I I
Niveaux N = {A}
1 N2 = {B, C } N3 = {D} N4 = {E , F , G } N
Problèmes d'ordonnancement
Tâche ctives :
On recourt parfois à l'introduction de tâches ctives ( représentées
par des arcs ctifs en pointillées ) pour bien respecter les
contraintes réellement.
Exemples :
1) C et B succède A, D succède B et C : dans ce qui suit, la
première représentation ne respecte pas la dernière convention
suscitée et nécessite une modication par ajout d'une tâche ctive
F.
2) C et D succède A, D succède B : la première représentation qui
suit, ne traduit pas correctement la réalité puisqu'on n'a pas la
contrainte C succède B. Pour remédier à cela , on introduit une
tâche ctive F qui supprime cette contrainte du graphe.
avec
i = antécédent de j
dij = durée de l'arc (i,j)
ti = date au plus tôt du sommet i
tj = date au plus tôt du sommet j
tS = durée minimum de l'ouvrage
Problèmes de transport
Dans ce cas, les valeurs νij associées aux arcs (xi , xj ) peuvent
représenter des coûts de transport, des distances ou aussi des
durées entre les extrémités xi et xj .
Il s'agit d'aller de l'entrée jusqu'à la sortie du graphe par le chemin
le plus court ( c'est à dire en un minimum de temps ou de
distances ou avec un coût minimal ) ou le plus long.
α =0
0
Dans ce cas, les valeurs νij associées aux arcs (xi , xj ) représentent
les capacités maximales de transport entre les extrémités xi et xj .
Il s'agit de maximiser les ots ou les ux qui circulent dans le
réseau entre l'entrée E et la sortie S compte tenu des capacités de
transport.
Principe
1 La somme des ots qui partent de E est égale à la somme des
ots qui arrivent à S
2 Principe de conservation : en chaque n÷ud du réseau les ots
entrants sont égaux aux ots sortants.
3 Le ot est maximale si toutes les chaînes du réseau sont
saturées.
Algorithme
1 Choix d'un ot au hasard : faire passer un ot entre l'entrée E
et la sortie S compte tenu des capacités maximales de
transport.
2 Recherche d'un ot complet : améliorer ce ot de façon à ce
que tout chemin allant de E à S comprenne au moins un arc
saturé. Et pour cela, il faut saturer l'arc qui possède le
minimum des capacités résiduelles de tous les arcs du chemin
non saturé.
Algorithme
Amélioration du ot dans la chaîne non saturée :
i) Calculer la capacité résiduelle minimale CRM des arcs
orientés dans le sens du graphe.
ii) Calculer le ot minimale FM des arcs orientés dans le sens
inverse du graphe.
iii) Soit C = min(CRM, FM)
iv) Ajouter la valeur C à tous les arcs orientés dans le sens du
graphe et retrancher la valeur C à tous les arcs orientés dans le
sens inverse du graphe
4 Reprendre l'étape 3 : jusqu'à ce que l'algorithme s'arrête à une
certaine itération.