Support de Cours RO L3
Support de Cours RO L3
Support de Cours RO L3
Union-Discipline-Travail
UFR SED
Unité de Formation et de Recherche
Sciences Economique et Développement
Département de Gestion
U.E : ECONOMETRIE ET RECHERCHE OPERATIONNELLE
Support de cours :
RECHERCHE OPERATIONNELLE
Réalisé par :
DIABATE Nabongo
(Maître de Conférences en Mathématiques)
Cell : 07 58 71 59/03 11 21 44
Email : nabongo_diabate@yahoo.fr
Il s’agit d’un résumé de notions dont l’étude approfondie nécessiterait bien plus de
temps. Le cours a été simplifié dans le but de le rendre accessible à tous.
Bonne lecture
‘’Partage ton pain avec celui qui a faim, et fais entrer dans ta maison les
malheureux sans asile ; si tu vois un homme nu, couvre-le, et ne te détourne
pas de ton semblable’’
Esaie 58 :7.
‘’Celui qui habite sous l’abri du Très-Haut repose à l’ombre du Tout Puissant’’
Psaume 91 :1.
Qu’est-ce que la Recherche Opérationnelle ?
La recherche opérationnelle est une discipline des méthodes scientifiques pour aider
à mieux décider. C’est une approche quantitative permettant de produire de meilleures
décisions. Elle fournit des outils pour rationaliser, simuler et optimiser l’architecture et
le fonctionnement des systèmes industriels et économiques. Elle propose des modèles
pour analyser des situations complexes et permet aux décideurs de faire des choix
efficaces. La recherche opérationnelle exploite ce qu’il y a de plus opérationnel dans
les mathématiques, l’économie et l’informatique. Elle est en prise directe avec
l’industrie et joue un rôle-clé dans le maintien de la compétitivité. Ses apports sont
visibles partout : de l’organisation des lignes de production d’automobiles à la
planification des missions spatiales, de l’optimisation des portefeuilles bancaires à
l’aide au séquençage de l’ADN, mais aussi dans la vie de tous les jours pour le
recyclage des déchets, l’organisation des ramassages scolaires, les emplois du temps
des infirmières ou la couverture satellite des téléphones portables.
La recherche opérationnelle trouve son origine au début du XXe siècle dans l’´étude
de la gestion de stock avec la formule du lot économique (dite formule de Wilson)
proposée par Harris en 1913. Mais ce n’est qu’avec la seconde guerre mondiale que
la pratique va s’organiser pour la première fois et acquérir son nom. En 1940, Patrick
Blackett est appelé par l’état-major anglais à diriger la première une équipe de
recherche opérationnelle, pour résoudre certains problèmes tels que l’implantation
optimale de radars de surveillance ou la gestion des convois d’approvisionnement. Le
qualificatif “opérationnelle” vient du fait que la première application d’un groupe de
travail organisé dans cette discipline avait trait aux opérations militaires. Après la
guerre, les techniques de RO se sont considérablement développées grâce,
notamment, à l’explosion des capacités de calcul des ordinateurs. Les domaines
d’application se sont également multipliés.
UFR DE SCIENCES ÉCONOMIQUES
ET DÉVELOPPEMENT
UFR-SED
SYLLABUS DU COURS
*INTITULE DU COURS : Recherche Opérationnelle
Type : CM et TD (barrez la mention inutile)
Volume horaire : 24H cours 12H TD………………………………………………
UE de rattachement : Econométrie et Recherche opérationnelle ………………………….
UP de rattachement : Outils d’aide à la décision…………………………………………….
Niveau du cours : Licence 3 ……………………………………………………...
Département : Gestion…………………………………………………………………….
Semestre : S6……………………………………………………………………………………
Nombre de crédit : 2………………………………………………………………………….
Nom de l’enseignant : Dr Diabaté Nabongo………………………………………………
Contact téléphonique : 07587159/03112144………………………………………………..
Email : nabongo_diabate@yahoo.fr..................................................................................
Statut : Enseignant à l’Université × Professionnel
- comprendre avec suffisamment de profondeur les propriétés des modèles ainsi formulés;
-les aptitudes nécessaires pour aborder les grands secteurs socio-technico économiques de
notre société (tels que le transport, l’énergie, la production, les télécommunications etc.) ;
-une démarche scientifique qui cherche à éclairer les questions que se pose un intervenant
dans un processus de décision, en faisant usage d’outils et de méthodes d’optimisation.
*Le contenu
Partie 1 : Théorie des graphes
I-Définitions
I-Définitions
I-Définitions
II-Exemples d’application
IV-Application
Introduction
III- Application
I- Définitions
III- Application
I- Définitions
III- Application
I-Pourquoi planifier ?
Introduction
I- Diagramme de Gantt
I- Généralités
IV- Dualité
Introduction
III- Application
*Programme du cours
N° de Séance Contenu Lectures/travaux
Séance 1
Théorie des graphes Chapitre 1 à 4
Date :
Séance 2
Optimisation de réseaux Chapitre 5 à 7
Date :
Techniques de
Séance 3
planification Chapitre 8 à 9
Date :
Séance 4
Problèmes de transport Chapitre 10
Date :
Séance 5 Programmation linéaire et
Chapitre 11 à 12
Date : dynamique
Modalités d’évaluation
Evaluation continue :
Devoirs sur table (TD) 30%
Examen final en fin de semestre 70%
1ère session : si possible à la fin du cours
*Bibliographie indicative
C. Berge, Graphes et hypergraphes, Dunod, 1970.
Syllabus
Bibliographie-----------------------------------------------------------------------------------------------------------------53
Support de cours de Recherche Opérationnelle
CHAPITRE 1 : LES ENSEMBLES
NB : Tout au long du cours, nous nous intéressons uniquement aux ensembles finis.
I-Définitions
1-Ensemble
Un ensemble est une collection d’objet de même nature. On distingue deux(2) types
d’ensembles :
-ensemble fini ;
-ensemble infini.
a-Ensemble fini
Un ensemble sera dit fini, lorsqu’on peut dénombrer ses éléments, c'est-à-dire
compter ses éléments. On dit également ensemble dénombrable.
Exemple : l’ensemble des étudiants de la classe.
b-Ensemble infini
Un ensemble sera dit infini, lorsqu’on ne peut pas dénombrer ses éléments, c'est-à-
dire ne pas compter ses éléments. On dit également ensemble indénombrable.
2-Sous-ensemble
Un sous-ensemble est une partie d’un ensemble.
Exemple : l’ensemble des étudiantes de la classe constitue un sous ensemble de des
étudiants de la classe.
4-Produit cartésien
Soient deux(2) ensembles A et B. Le produit cartésien de A et B noté A B , est
l’ensemble des couples (x,y) tels que x A et y B .
3-Application subjective
Une application est subjective si tout élément de E’ est l’image par f d’au moins un
élément de E.
f : E E ', y E ', x E, tel que f ( x) y .
4-Application bijective
Une application qui est à la fois injective et subjective est dite bijective. Autrement dit,
une application est bijective si tout élément de l’ensemble d’arrivée admet un
antécédent dans l’ensemble de départ qui est unique.
f : E E ', y E ', ! x E , tel que y f ( x)
Une application bijective permet de définir une application bijective réciproque.
f : E E'
f 1 : E ' E
L’application identique de E dans lui-même est appelée identité de E.
f 1 f IdE ( x) x
IV-Exercice
Soit E un ensemble. A et B sont deux sous-ensembles de E.
Démontrer que :
- A B A B ;
- A B A B ;
Avec A CEA E A x E / x A .
Introduction
L’histoire de la théorie des graphes débute peut-être avec les travaux d’Euler au XVIIIe
siècle et trouve son origine dans l’étude de certains problèmes, tels que celui des ponts
de Königsberg (voir page de couverture, les habitants de Königsberg se demandaient s’il
était possible, en partant d’un quartier quelconque de la ville, de traverser tous les ponts
sans passer deux fois par le même et de revenir à leur point de départ), la marche du
cavalier sur l’échiquier ou le problème de coloriage de cartes. La théorie des graphes
s’est alors développée dans diverses disciplines telles que la chimie, la biologie, les
sciences sociales. Depuis le début du XXe siècle, elle constitue une branche à part entière
des mathématiques, grâce aux travaux de König, Menger, Cayley puis de Berge et
d’Erdös. De manière générale, un graphe permet de représenter la structure, les
connexions d’un ensemble complexe en exprimant les relations entre ses éléments :
réseau de communication, réseaux routiers, interaction de diverses espèces animales,
circuits électriques,. . .
Les graphes constituent donc une méthode de pensée qui permet de modéliser une
grande variété de problèmes en se ramenant à l’étude de sommets et d’arcs. Les derniers
travaux en théorie des graphes sont souvent effectués par des informaticiens, du fait de
l’importance qu’y revêt l’aspect algorithmique.
I-Définitions
1-Notion de graphe
Un graphe est un sous ensemble du produit cartésien de deux(2) ensembles.
On appelle graphe G le couple défini par (S,A) ou :
-S représente l’ensemble des sommets, S S1 , S2 ,..., Sn
-A représente l’ensemble des arcs ou arêtes, A A1 , A2 ,..., Am
a c
a c
II-Terminologie
1-Ordre d’un graphe
L’ordre d’un graphe est le nombre de sommets du graphe, en général, noté : n.
Exemple :
a c
d
Graphe d’ordre 4.
2-Adjacence ou voisinage
a-Graphe non orienté
Deux sommets x et y sont adjacents si il existe l'arête (x,y) dans A. Les sommets x et y
sont alors dits voisins. Une arête est incidente à un sommet x si x est l'une de ses
extrémités.
3-Degré
a-Graphe non orienté
Le degré d'un sommet x d’un graphe non orienté G est le nombre d'arêtes incidentes à
x. Il est noté d(x). Pour un graphe simple le degré de x correspond également au nombre
de sommets adjacents à x.
Exemple :
a c
b-Graphe orienté
Le demi-degré extérieur ou degré sortant d'un sommet x (noté dG+(x)) est égal au
nombre d'arcs qui partent de x. Le demi-degré intérieur ou degré entrant d'un
sommet x (noté dG-(x)) est égal au nombre d'arcs qui arrivent en x. Le degré du sommet
x (noté dG(x)) est égal à la somme des demi-degrés.
dG(x)= dG+(x)+ dG-(x)
Exemple :
a c
4-Graphe simple
Un graphe simple est un graphe sans boucle tel qu'entre deux sommets différents, il y
ait au plus un arc.
6-Graphe partiel
On appelle graphe partiel un graphe obtenu en supprimant des arcs au graphe initial.
7-Graphe complet
Un graphe complet est un graphe où chaque sommet est relié à tous les autres. Le
graphe complet d'ordre n est noté Kn. Dans ce graphe chaque sommet est de degré n-1.
Exemple :
b
c
K3.
8-Une clique
Une clique est un sous-graphe complet.
9-Un stable
Un stable est un sous-graphe sans arête.
10-Chaîne
On appelle chaîne une succession d'arcs, chaque arc intermédiaire de la séquence
ayant une extrémité en commun avec l'arc précédent et l'autre extrémité en commun
avec l'arc suivant. Dans une chaîne, où on peut rencontrer des arcs directs (parcourus
dans le bon sens) et des arcs inverses.
a-Chaîne élémentaire
Une chaîne ne rencontrant pas deux fois le même sommet est dite élémentaire.
b-Chaîne simple
Une chaîne ne rencontrant pas deux fois le même arc est dite simple.
c-Chaîne eulérienne
On appelle chaîne eulérienne une chaîne empruntant tous les arcs du graphe une fois
et une seule.
d-Chaîne hamiltonnienne
On appelle chaîne hamiltonnienne une chaîne passant par tous les sommets du
graphe une fois et une seule.
e-Cycle
On appelle cycle une chaîne simple qui boucle : les arcs de début et de fin sont
adjacents par leur sommet libre.
11-Chemin
a-Graphe non orienté
Un chemin est une liste p ( x1, x2 ,..., xk ) de sommets telle qu'il existe dans le graphe
une arête entre chaque paire de sommets successifs. i 1,..., k 1,( xi , xi1 ) A . La
longueur (distance) du chemin correspond au nombre d'arêtes parcourues : k-1.
L'écartement d'un sommet est la distance maximale existant entre ce sommet et les
autres sommets du graphe. (Si le graphe n'est pas connexe, l'écartement est infini). On
appelle centre d'un graphe, le sommet d'écartement minimal.
(Le centre n'est pas nécessairement unique). Par exemple, dans une clique, tous les
sommets sont "centres". On appelle rayon d'un graphe G, noté ρ(G), l'écartement d'un
centre de G. On appelle diamètre d'un graphe G, noté δ(G), la distance maximale entre
deux sommets du graphe G.
b-Graphe orienté
On appelle chemin une chaîne bien orientée, c'es t à dire que tous les arcs de la chaîne
sont parcourus dans le bon sens.
c-Chemin élémentaire
Un chemin élémentaire est un chemin qui ne passe pas deux fois par le même
sommet.
d-Chemin simple
Un chemin simple est un chemin qui ne contient pas deux fois le même arc (arête).
e-Chemin eulérien
On appelle chemin eulérien un chemin empruntant tous les arcs (arêtes) du graphe
une fois et une seule.
f-Chemin hamiltonnien
On appelle chemin hamiltonnien un chemin passant par tous les sommets du graphe
une fois et une seule.
g-Cycle
On appelle cycle un chemin simple finissant à son point de départ.
12-Connexité
Un graphe est connexe si et seulement si il existe un chemin entre chaque paire de
sommets.
13-Composante Connexe
Une composante connexe d'un graphe G est un sous-graphe G'=(S',A') connexe
maximal (pour l'inclusion) : il n'est pas possible d'ajouter à S' d'autres sommets en
conservant la connexité du sous-graphe.
14-Propriétés
a-Graphe connexe
c-Graphe acyclique
Un graphe acyclique G à n sommets possède au plus n-1 arêtes.
d-Théorème
Un graphe est eulérien si et seulement si il est connexe et tous ses sommets sont de
degré pair.
e-Chemin eulérien
Un graphe admet un chemin eulérien si et seulement si il est connexe et au plus deux
(2) de ses sommets sont de degré impair.
f-Chemin élémentaire
Tout chemin élémentaire est de longueur au plus n-1. Le nombre de chemins
élémentaires dans le graphe est fini. Si il existe un chemin entre deux(2) sommets x et y,
alors il existe un chemin élémentaire entre x et y.
15-Arbre
Un arbre est un graphe connexe sans cycle.
16-Forêt
Une forêt est un graphe sans cycle.
Démonstration :
(1)→ (2) : Le graphe G étant à la fois connexe et acyclique, il possède exactement n-1
arêtes. (cf propriété des graphes connexes et propriété des graphes acycliques)
(2)→ (3) : La suppression d'une arête de G donne un graphe à n-2 arêtes : il ne peut être
connexe (cf propriété des graphes connexes).
(3)→ (4) : Par l'absurde si G possédait un cycle, la suppression d'une arête de ce cycle ne
saurait le déconnecter. Par suite G est acyclique. Puisqu'il est également connexe, il
possède donc exactement n-1 arêtes.
(4)→ (5) : L'ajout d'une arête à G donne un graphe à n arêtes : il ne peut être acyclique
(cf propriété des graphes acycliques).
18-Feuille et hauteur
Pour un arbre G=(S,A) de racine r :
Le père d'un sommet x est l'unique voisin de x sur le chemin de la racine à x. La
racine r est le seul sommet sans père.
Les fils d'un sommet x sont les voisins de x autres que son père.
Une feuille est un sommet sans fils. Les feuilles correspondent aux sommets de
degré 1.
19-Réseau et flot
a-Réseau
Un réseau est un graphe orienté G=(S,A) avec une valuation positive de ses arcs. La
valuation c(x,y) d'un arc (x,y) est appelée la capacité de l'arc. On distingue sur G deux
sommets particuliers : une source s et une destination t. Les autres sommets sont les
nœuds intermédiaires du réseau.
b-Flot
Un flot F sur un réseau G=(S,A) est une valuation positive des arcs, c'est à dire une
application de A dans R+, qui vérifie les deux propriétés suivantes :
(1) Pour tout arc a A ,
(2) Pour tout sommet intermédiaire x S \ ( s, t ) , F ( y, x) F ( x, y)
y y
c-Saturation
Un arc (x,y) est saturé par un flot F si la valeur du flot sur l'arc égale sa capacité :
F(x,y) = c(x,y). Un chemin est saturé si l'un de ses arcs est saturé. La capacité résiduelle
d'un arc (x,y) est la quantité c(x,y)-F(x,y) de flot pouvant encore transiter par lui. La
capacité résiduelle d'un chemin est la plus petite capacité résiduelle de ses arcs. Saturer
un chemin p de s à t consiste à augmenter le flot de ses arcs de la capacité résiduelle du
chemin.
g d
f
e
II-Représentation par une liste exhaustive : des sommets, arcs ou arêtes
Considérons le graphe ci-dessous :
c
e
f a
S a, b, c, d , e, f ; A (a, b);(b, f );( f , b);( f , e);(b, e);( e, d );( d, c);( c, b) .
c
e
f a
1-Le dictionnaire des suivants
A chaque sommet Si S , on écrit la liste des sommets qui sont l’extrémité terminale
d’un arc dont Si S est l’extrémité initiale.
Si S Suivant de Si S
a b
b e,f
c b
d c
e d
f e,b
c
e
f a
1-Matrice littérale
Par convention, les lignes représentent les extrémités initiales et les colonnes les
extrémités terminales.
a b c d e f
a (a,b)
b (b,e) (b,f)
c (c,b)
d (d,c)
e (e,d)
f (f,b) (f,e)
2-Matrice booléenne
L’existence d’un arc se traduit par 1 et l’absence par 0.
a b c d e f
a 0 1 0 0 0 0
b 0 0 0 0 1 1
c 0 1 0 0 0 0
d 0 0 1 0 0 0
e 0 0 0 1 0 0
f 0 1 0 0 1 0
e
1 c
h
f
b
3 5
a b c d e f g h
1 1 1 0 0 0 0 0 0
2 -1 0 -1 1 0 0 0 0
3 0 -1 1 0 -1 0 -1 0
4 0 0 0 -1 1 1 0 1
5 0 0 0 0 0 -1 1 -1
Introduction
Les problèmes de cheminement concernent la recherche du plus court chemin d’un
point considéré comme point de départ à un autre point considéré comme point
d’arrivé. Il s’agit ici d’un problème d’optimisation, qui consiste non seulement à
rechercher le chemin optimal(le plus court chemin), mais également sa longueur.
Plusieurs méthodes existent pour résoudre ce type de problème. Dans le présent
chapitre, nous nous intéresserons à l’étude des algorithmes de Dijkstra-Moore et Ford.
I G 1
6 3
1 C 3 2
5 M
4 5
H 12
A 8
4 D 3
1 4 2
2 2 K N 9 F
E 1
B 6 6
1 P
4
L 7
Travail à faire : déterminer le chemin de longueur minimale entre les sommet I(sommet
initial) et le sommet F(sommet final).
Algorithme de Dijkstra-Moore
L’algorithme de Dijkstra-Moore se décompose en quatre(4) phases :
Phase 1 : Mise en place
-On désigne par Σ l’ensemble dans lequel on met les sommets au fur et à mesure de leur
marquage définitif ;
-A chaque sommet Si S , on associe le couple (dist(Si),p(Si)) où dist(Si) désigne la
distance provisoire de I à Si et p(Si) le prédécesseur de Si.
Phase 2 : Initialisation
-Attribuer au sommet I, le couple (0,I) ;
-Attribuer à chaque sommet adjacent à I le couple (poids de l’arc le reliant à I,I) ;
-Attribuer aux autres sommets le couple (+∞, ?).
Phase 4 : Conclusion
-La longueur du plus court chemin de I à F est alors dist(F) ;
-La chaîne de poids minimum se lit à l’envers de F à chacun de ses prédécesseurs
successifs.
2-Application
Considérons le graphe ci-dessus :
I A B C D E G H K L M N P F Σ
(0,I) (1,I) (+∞, ?) (6,I) (+∞, ?) (+∞, ?) (+∞, ?) (+∞, ?) (+∞, ?) (+∞, ?) (+∞, ?) (+∞, ?) (+∞, ?) (+∞, ?) I
(2,A) (5,A) A
(4,B) B
(6,D) D
(9,C) C
(10,E) E
(11,H) (14,H) (17,H) H
(16,L) (17,L) L
(12,G) G
(24,M) M
K
(23,P) P
N
F
b-Graphe ordonnancé
Un graphe dont les sommets ont été classés par niveau est appelé graphe
ordonnancé. On dit aussi qu’on a partagé le graphe en niveaux.
Phase 1 :
Affecter le poids 0 au sommet de niveau 0 ;
Phase 2 :
Phase 3 :
Le chemin de poids minimum est l’un de ceux qui réalisent le poids du dernier sommet :
il suffit donc d’une lecture à l’envers.
3-Application
Considérons le graphe ci-dessous :
S5
S4
6
6
2 9
S3
2
3
S1
S2
6
On considère le sommet S5 comme étant le sommet initial. Dans la résolution de notre
problème, nous allons procéder comme suite :
-On va ordonnancer le graphe : cela revient à déterminer le niveau de chaque sommet.
Au sommet initial, on attribuera le niveau 0 ;
-Appliquer l’algorithme de Ford
a-Ordonnancement du graphe
Sommet S1 S2 S3 S4 S5
Niveau 3 1 2 4 0
11
0 6 S1
6
2
S5 S2 S4
6 9
2
3 6
13
S3
9
La longueur du chemin est 13 et le chemin est [S5, S2, S3, S1, S4].
I-Définitions
1-Arbre
Un arbre est un graphe connexe sans cycle.
2-Arbre couvrant
Un arbre couvrant ou arbre maximal est un sous graphe maximum qui est aussi un
arbre. Autrement dit Un arbre couvrant pour un graphe G=(S,A) est un arbre construit
uniquement à partir des arêtes de A et qui connecte tous les sommets de S. Un arbre
couvrant d'un graphe G est donc un graphe G1 tel que :
Le graphe G1 est un arbre ;
Le graphe G1 est un graphe partiel de G.
4-Exemple d’application
Relier n villes par un réseau routier de coût minimum. Le poids de chaque arête
correspond au coût de construction du tronçon.
k k 1
Fin Si
Fin Tant que
5 2 9 5
1
4 H 7 4
A 3 2 8
8 9 J
G I
9
3
9 E
9 8
routier :
F
18
Introduction :
Il existe deux façons de colorer :
La première consiste à attribuer à chaque sommet une couleur sans que deux
sommets reliés par une arête soit de la même couleur. C’est cette notion qui est
utilisée dans le théorème des quatre(4) couleurs et leur dérivé.
La seconde consiste au contraire à affecter certain sommet d’une couleur et à
propager celle-ci. C’est la méthode dite de graphe chromatique qui est utilisé
pour optimiser la génération de code sur une machine comportant un grand
nombre de registre.
Beaucoup de problèmes peuvent se réduire à la résolution de coloration de graphe à
savoir la cartographie, l’amélioration de l’organisation de tâche.
I-Définition
Soit G=(S,A) un graphe non orienté. Un sous-ensemble Y de S est stable s’il ne
comprend que des sommets non adjacents deux à deux. Le cardinal de la plus grande
partie stable est le nombre de stabilité de G, on le note α(G). La coloration des sommets
d’un graphe consiste à affecter tous les sommets de ce graphe d’une couleur de telle
sorte que deux sommets adjacents ne portent pas la même couleur. Une coloration avec
k couleurs est donc une partition de l’ensemble des sommets en k parties stables. Le
nombre chromatique, noté γ(G) du graphe est le plus petit entier k pour lequel il existe
une partition de S en k sous-ensembles stables.
II-Exemple d’application :
1-Problème d’emploi du temps
L’université de Bouaké doit organiser les horaires des examens. On suppose qu’il y a 7
épreuves à planifier, correspondant aux cours numérotés de 1 à 7 et que les paires de
cours suivantes ont des étudiants communs : 1 et 2, 1 et 3, 1 et 4, 1 et 7, 2 et 3, 2 et 4, 2 et
5, 2 et 7, 3 et 4, 3 et 6, 3 et 7, 4 et 5, 4 et 6, 5 et 6, 5 et 7 et 6 et 7. Comment organiser ces
épreuves de façon qu’aucun étudiant n’ait à passer deux épreuves en même temps et
cela sur une durée minimale ?
2-Solution
Construisons le graphe G dont les sommets sont les épreuves numérotées de 1 à 7, une
arête relie deux de ses sommets lorsque les deux cours correspondant possèdent des
étudiants communs :
III-Application
Colorier les sommets du graphe ci-dessous :
H
B E
A C F J
I
D
I-Définitions
1-Réseau de transport
Un réseau de transport est un graphe sans boucle où chaque arc u est associé à un
nombre c(u) et u A avec c(u) 0 . La valeur c(u) est appelé capacité de l’arc u. En
outre, un tel réseau vérifie les hypothèses suivantes :
-Il existe un seul nœud s qui n’a pas de prédécesseur tous les autres en ont au moins un.
Ce nœud est appelé l’entrée du réseau ou la source ;
- Il existe un seul nœud p qui n’a pas de successeur tous les autres en ont au moins un.
Ce nœud est appelé la sortie du réseau ou le puits.
2-Flot
Un flot f dans un réseau de transport est une fonction qui associe à chaque arc u
( u A ) une quantité f(u) qui représente ( y, x) A la quantité de flot qui passe par cet
arc, en provenance de la source et en destination du puits.
f : A
u f (u)
Un flot doit respecter la règle suivante : la somme des quantités des flots, sur les arcs
entrants dans un nœud autre que la source et le puits doit être égale à la somme des
quantités des flots sur les arcs sortants de ce même nœud. Autrement dit, la quantité qui
arrive à un sommet X donné doit être égale à la quantité qui sort de ce sommet (Règle de
cohérence ou loi de Kirchhoff).
3-Flot compatible
Un flot f est compatible avec un réseau si pour tout arc u on a :
u A,0 f (u) c(u) ;
En d’autre terme le flot qui le traverse ne doit pas dépasser la capacité de l’arc.
4-Flot complet
Un flot f est complet si pour tout chemin allant de la source au puits, il y’a au moins un
arc saturé. Un arc est dit saturé lorsque le flot qui le traverse est égal à sa capacité.
2-Chaîne améliorante
Chaîne sur laquelle on peut augmenter le flux allant de s à p
Plus précisément, une chaîne améliorante est une chaîne élémentaire :
-Tout arc direct (x,y) de la chaîne n’est pas saturé
-Tout arc indirect (x,y) de la chaîne à un flux positif
3-Procédure de Ford-Fulkerson
Permet de trouver une chaîne améliorante
S’il n’en existe pas, le flot est maximum
Initialisation : l’entrée s est marquée +, les autres sommets sont non marqués
Tant que cela est possible, choisir un sommet x vérifiant l’une des deux
conditions suivantes :
-x est l’extrémité d’un arc (y,x) non saturé tel que y est marqué. Marquer + ce
sommet ;
-x est l’origine d’un arc (x,y) tel que y est marqué et sur lequel circule un flux
positif. Marquer – ce sommet.
Indiquer le sommet qui a permis de marqué x c'est-à-dire son prédécesseur
P(x)=y
Si le puits p est marqué, la chaîne reliant les sommets marqués est une chaîne
améliorante
Si en fin d’application de cette procédure, le puits p n’est pas marqué, il n’existe
pas de chaîne améliorante, le flot est donc optimal.
IV-Application
Considérons le graphe ci-dessous :
7,5 7,5+2
10,5+2+2+1
A C G
5,5 8,2+5 10,5
4,2+1
10,2+2+1+5
6,1+5
S B 2,2 D P
1,1
2,1+1 2 6,4
8,1+4
E F
4,4
2-Chaîne ameliorante
S→B→C→A→D→P ;
Min{5,6,10}=5 ;
Le minimum à faire passer est 5. Après cela, on ne peut plus marquer P (non existence
d’une chaîne ameliorante). Le flot maximal est 20.
Introduction
Dès qu’un projet nécessite une multitude de tâches qui mettent en œuvre d’importants
capitaux, des agents de compétences très diverses, des matériels et des matériaux variés,
il est indispensable de prévoir et de suivre le déroulement de toutes les opérations, de
coordonner les différents travaux et l’ensemble des activités afin d’éviter, en autres, les
retards et de rester dans les limites des budgets de financement.
Dans la pratique, la réalisation du projet engendre une succession de tâches auxquelles
s’attachent certaines contraintes :
De temps : délais à respecter pour l’exécution des tâches ;
D’antériorité : certaines tâches doivent s’exécuter avant d’autres ;
De production : temps d’occupation du matériel ou des hommes qui l’utilisent.
Chaque tâche a donc un nom, une durée, une place et un coût. Tout système qui permet
de résoudre le problème d’organisation d’un projet est une méthode ou technique
d’ordonnancement.
Les techniques d’ordonnancement dans le cadre de la gestion d’un projet ont pour
objectif de répondre au mieux aux besoins exprimés par un client, au meilleur coût et
dans les meilleurs délais, en tenant compte des différentes contraintes.
L’ordonnancement se déroule en trois étapes :
La planification : qui vise à déterminer les différentes opérations à réaliser, les
dates correspondantes, et les moyens matériels et humains à y affecter.
L’exécution : qui consiste à la mise en œuvre des différentes opérations définies
dans la phase de planification.
Le contrôle : qui consiste à effectuer une comparaison entre planification et
exécution, soit au niveau des coûts, soit au niveau des dates de réalisation.
Il existe trois méthodes d’ordonnancement : le diagramme de Gantt, la méthode
MPM(Méthode des potentiels Métra), le PERT (Program Evaluation Research Technic).
2-Réalisation.
Les différentes étapes de réalisation d’un diagramme de Gantt son les suivantes :
-Première étape : On détermine les différentes tâches (ou opérations) à réaliser et leur
durée.
Temps
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Tâche
A
D
E
Remarques :
Chaque colonne représente une unité de temps.
Les durées d’exécution prévues des tâches sont représentées par un trait
épais. (2 unités de temps pour A).
Les contraintes de succession se lisent immédiatement.
o La tâche C succède à la tâche A.
o D succède à A et B.
o E succède à C et D
On peut alors déterminer le chemin critique : qui est formé d’une succession
de tâches, sur le chemin le plus long en terme de durée. Il est appelé chemin
critique car tout retard pris sur l’une des tâches de ce chemin, entraîne du
retard dans l’achèvement du projet. (Chemin critique : B, D, E).
Durée de réalisation du projet : 15jours
Avantages :
Permet de déterminer la date de réalisation d’un projet.
Permet d’identifier les marges existantes sur certaines tâches (avec une date
de début au plus tôt et une date au plus tard).
La date au plus tard de début d’une tâche, la date à ne pas dépasser sans
retarder l’ensemble du projet.
Inconvénient :
Ne résoud pas tous les problèmes, en particulier si l’on doit planifier des
fabrications qui viennent en concurrence pour l’utilisation de certaines
ressources.
Date au
plus tard
Date au plus
tôt
2 5
0 2
2 C
A
0 2 4 15 15
9 9
E 6 FIN
0 0
5
DEBUT
0 0 4 4
0 B D
4
Remarques :
Tâche fictive :
- tâche nécessaire pour représenter les contraintes du projet
- elles ont pour valeur 0
- elles sont souvent en pointillés
Exemple :
L succède à J ; K succède à I à J
J L
I K
I et J fonctionne en parallèle J
J
I I
Autres notions :
Chemin critique : chemin tel que toute augmentation de la durée d’une tâche
retarde d’autant la fin du projet. Intervalle de flottement nul.
Date au
Date au plus plus tard
tôt
2 4
2
B(4) D(5)
4 4
3
Introduction
La programmation linéaire est une méthode mathématique qui consiste à trouver la
solution d’un problème, ramené à la recherche de l’optimum d’une fonction linéaire de
plusieurs variables (dite fonction économique) liées par une série de contraintes, elles
mêmes exprimées sous forme d’équations ou d’inéquations linéaires.
I-Définitions
1- Programme linéaire
Un programme linéaire est un modèle mathématique dans lequel la fonction objectif
et les contraintes sont linéaires en les variables.
2-Forme canonique
a-Définition
La forme canonique est la formulation mathématique du problème à modéliser. Un
programme linéaire est sous forme canonique lorsque toutes ses contraintes sont des
inégalités et toutes ses variables sont non-négatives.
b-Exemple
max(ou min) Z C1 x1 C2 x2 ... Cn xn
a11 x1 a12 x2 ... a1n xn ou b1
a21 x1 a22 x2 ... a2 n xn ou b2
......................................................
a x a x ... a x ou b
m1 1 m 2 2 mn n m
x1 0, x2 0,....., xn 0,
c-Représentation matricielle
max(ou min)cT x
s.c. Ax (ou )b
x0
mn
n variables, m contraintes, c, x n , b m
, A .
Contraintes supplémentaires
– Demande maximum en peinture d’intérieur : 2 tonnes / jour.
– La production en peinture d’intérieur ne dépasser que d’une tonne celle d’extérieur.
Formulation
-Choix des variables du problème
x1 = tonnes de peinture d’extérieur produites par jour
x2 = tonnes de peinture d’intérieur produites par jour
6 x1 4 x2 24
x 2x 6
1 2
x2 2
x x 1
2 1
x1 0, x2 0
-Définition de la forme canonique
max Z 5x1 4 x2
6 x1 4 x2 24
x 2x 6
1 2
x2 2
x x 1
2 1
x1 0, x2 0
II-Méthode graphique
La résolution graphique est possible uniquement dans le cas de deux variables.
Considérons le problème ci-dessous
c-Exemple
Déterminons la forme standard de notre exemple :
Forme canonique :
max Z 5x1 4 x2
6 x1 4 x2 24
x 2x 6
1 2
x2 2
x x 1
2 1
x1 0, x2 0
Forme standard :
max Z 5x1 4 x2 0e1 0e2 0e3 0e4
6 x1 4 x2 e1 24
x 2x e 6
1 2 2
x2 e3 2
x x e 1
2 1 4
x1 0, x2 0, e1 0, e2 0, e3 0, e4 0
Forme matricielle :
max cT x
s.c. Ax b
x0
2-Convexité
a-Définition
Un ensemble E n est convexe si et seulement si x E , et y E ,
0,1 x (1 ) y E . L’intersection d’un nombre fini de convexes est convexe.
b-Théorèmes
Théorème 1 : L’ensemble Ω des solutions réalisables d’un programme linéaire est
convexe.
3-Méthode du simplexe
a-Idées de base
– Solution optimale : sommet (point extrême).
– Idée fondamentale du simplexe : déplacement de sommet en sommet adjacent de
manière à améliorer la fonction objectif.
– Transformation des inégalités en égalités : forme standard du programme linéaire -
système de m équations à n inconnues (m < n).
– Identification algébrique des sommets : correspondance avec les bases d’un système
d’équations.
b-Solutions de base
– Système de m équations linéaires à n inconnues (m < n) : infinité de solutions.
– Si on fixe à zéro n-m variables : système de m équations à m inconnues possédant une
solution unique (si la matrice est inversible). C’est une solution de base.
c-Définition (Solution de base)
Une solution de base d’un programme linéaire est la solution unique du système de m
équations à m inconnues obtenu en fixant à zéro n-m variables (pourvu que la matrice
du système soit inversible).
Les variables fixées à zéro sont appelées variables hors base et les autres variables en
base.
d-Algorithme du simplexe
Premier critère de Dantzig (choix de la variable d’entrée)
Pour déterminer la variable entrante, on exprime la fonction économique en fonction
des seules variables hors-bases et on choisit :
-Si on veut maximiser, la variable affectée du coefficient positif le plus élevé.
Critère d’arrêt
-Dans le cas d’une maximisation, Lorsque les coefficients de la fonction économique
exprimée en fonction des seules variables hors-bases sont négatifs ou nuls, l’algorithme
s’arrête. La solution maximale est trouvée.
-Dans le cas d’une minimisation, Lorsque les coefficients de la fonction économique
exprimée en fonction des seules variables hors-bases sont positifs ou nuls, l’algorithme
s’arrête. La solution minimale est trouvée.
Lecture du tableau
-Si la variable est dans la base, sa valeur se trouve dans la colonne des seconds membres
B.
-Si la variable n’est pas dans la base, sa valeur est nulle.
f-Cas particuliers
f-1-Bases dégénérées
– Si plusieurs choix sont possibles pour la variable sortante, une des variables en base
sera nulle à l’itération suivante.
– Base telle qu’une variable en base est nulle : base dégénérée.
– Correspond à une contrainte redondante.
– Risque de cyclage !
Var. en base x1 x2 e1 e2 B
e1 1 4 1 0 8
e2 1 2 0 1 4
Δj 3 9 0 0 0
Var. en base x1 x2 e1 e2 B
x2 1/4 1 1/4 0 2
e2 1/2 0 -1/2 1 0
Δj 3/4 0 -9/4 0 -18
Var. en base x1 x2 e1 e2 B
x2 0 1 1/2 -1/2 2
x1 1 0 -1 2 0
Δj 0 0 -3/2 -3/2 -18
Var. en base x1 x2 e1 e2 B
e1 1 2 1 0 5
e2 1 1 0 1 4
Δj 2 4 0 0 0
Var. en base x1 x2 e1 e2 B
x2 0 1 1 -1 1
x1 1 0 -1 2 3
Δj 0 0 -2 0 -10
5 3
Solution optimale : x1 0 3(1 ) 3 3 ; x2 1(1 ) 1 (0 1) .
2 2
f-3-Problèmes non bornés
– Certains problèmes sont non bornés dans une direction donnée.
– Si cette direction est une direction d’amélioration de la fonction objectif, celle-ci peut
prendre une valeur arbitrairement grande !
Exemple :
max z 2x1 x2
s.c x1 x2 1
2x1 4
x1, x2 0
Var. en base x1 x2 e1 e2 B
e1 1 -1 1 0 1
e2 2 0 0 1 4
Δj 2 1 0 0 0
– Tous les coefficients (sauf le profit marginal) dans la colonne de x2 sont négatifs ou
nuls.
– Cela signifie que toutes les contraintes de non-négativité sont satisfaites quelle que soit
la valeur de x2.
– L’objectif peut donc augmenter indéfiniment.
f-4-Problèmes impossibles
– Le système de contraintes peut n’avoir aucune solution.
– Méthode des 2 phases : termine avec des variables artificielles non nulles.
– Généralement, provient d’une mauvaise formulation du problème.
a-2-Forme standard
min Z 60 x1 90 x2 0e1 0e2
20 x1 10 x2 e1 10750
10 x1 20 x2 e2 8000
x 0, x 0, e 0, e 0
1 2 1 2
Var. en base x1 x2 e1 e2 B
20 10 -1 0 10750
10 20 0 -1 8000
Δj 60 90 0 0 0
Nous remarquons -1 a la place de 1. Il n y a donc pas de solution de base. Pour remédier
à cela, il faut créer des variables pour la base. Ces variables sont appelées variables
artificielles. Ces variables sont sans signification économique.
Var. en base x1 x2 e1 e2 a1 a2 B
x1 1 1/2 -1/20 0 1/20 0 537,5
a2 0 15 1/2 -1 -1/2 1 2625
Δj 0 60-15M 3-1/2M M -3+ 3/2M 0 -32250-2625M
Var. en base x1 x2 e1 e2 a1 a2 B
x1 1 0 -1/15 1/30 1/15 -1/30 450
x2 0 1 1/30 -1/15 -1/30 1/15 175
Δj 0 0 1 4 M-1 M-4 -42750
III-Dualité
1-Notion de dual
Une variable duale est une variable que l’on associe à une contrainte.
b-Problème dual
max bT y
s.c AT y c
y0
mn
n variables, m contraintes, m<n, c n
, b, y m
, A .
3-Règle de construction
Exemple :
Var. en base y1 y2 d1 d2 B
d1 20 10 1 0 60
d2 10 20 0 1 90
Δj 10750 8000 0 0 0
Première itération :
Var. en base y1 y2 d1 d2 B
y1 1 1/2 1/20 0 3
d2 0 15 -1/2 1 60
Δj 0 2625 -537,5 0 -32250
Deuxième itération :
Var. en base y1 y2 d1 d2 B
y1 1 0 1/15 -1/30 1
y2 0 1 -1/30 1/15 4
Δj 0 0 -450 -175 -42750
Solution : y1=1 ; y2=4 ; d1=0 ; d2=0 ; z=42750.
y1=1≠0 → 20x1 10x2 10750 (1)
y2=4≠0 → 10x1 20x2 8000 (2)
Les contraintes sont saturées. La résolution du système donne : x1=450 ; x2=175.
I-Définition et exemple
1-Définition
– Un produit doit être transporté de sources (usines) vers des destinations (dépôts,
clients).
– Objectif : déterminer la quantité envoyée de chaque source à chaque destination en
minimisant les coûts de transport. Les coûts sont proportionnels aux quantités
transportées.
– Contraintes d’offre limitée aux sources et de demande à satisfaire aux destinations.
Destinations Offre/Disponibilité
Sources cij aj
Demande bj
m n
a b
i
i
i
i
Exemple
– Soit une série de communes de la ville d’Abidjan (Yopougon, Abobo, Adjamé, Cocody)
alimentées en électricité par trois centrales.
– Les capacités des deux centrales sont de 46 et 54 respectivement, et les demandes des
quatre communes sont de 24, 26, 30 et 20 GWh.
– La matrice des coûts de cheminement par GWh est :
Yopougon Abobo Adjamé Cocody
Centrale1 3 4 9 2
Centrale2 6 5 8 8
Modélisation du problème :
xij = nombre de GWh produits à la centrale i et envoyé à la commune j.
cij =coût d’acheminement d’1GWh de la centrale i à la commune j.
Coût total Z= 3x11 4x12 9x13 2x14 6x21 5x22 8x23 8x24
Fonction objectif :
min Z min cij xij
i 1, j 1
Contraintes de production:
x11 x12 x13 x14 46
x21 x22 x23 x24 54
Contraintes de consommation:
x11 x21 24
x12 x22 26
x13 x23 30
x14 x24 20
Etape 2 : Test d’optimalité de la solution à travers les coûts marginaux des liaisons non
utilisées.
Etape 3 : Si les coûts marginaux des liaisons non utilisées sont tous positifs, alors la
solution est optimale. Dans le cas contraire, c'est-à-dire si un des coûts marginaux des
liaisons non utilisées est négatif, alors on procède à une amélioration de la fonction
économique.
Algorithme de Stepping-Stone
L’algorithme de Stepping-Stone repose sur la détermination d’une solution de base
initiale que l’on améliore progressivement de façon itérative par intégration de variable
hors-base et élimination corrélative de variable de base.
Déroulement de l’algorithme :
On choisira la case qui permet la plus grande baisse du coût global de transport.
Pour la déterminer, on calculera :
a) les potentiels associés aux origines et aux destinations
b) les variations de coût unitaire pour chaque case vide (β)
c) les quantités maximales qu’on peut ajouter à chaque case vide (Q)
2-Test d’optimalité
Condition d’optimalité : Tous les coûts marginaux associés aux cases vides doivent être
tous positifs.
Coût(SBI)=3х24+4х22+5х4+8х30+8х20=580
3 Yopougon
Centrale1
Centrale2 5 Abobo
8
8
Adjamé
Cocody
b-Détermination des potentiels des sommets
b-1-Procédure
-Affecter 0 comme potentiel, à l’origine de la liaison la plus coûteuse
-Déduire le potentiel des autres sommets par ajout ou déduction des coûts selon le sens
de parcours de l’arbre.
b-2-Application
V(Centrale2)=0 ;
V(Cocody)=8 ;
V(Adjamé)=8 ;
V(Abobo)= 5 ;
V(Centrale1)= V(Abobo)-4=1 ;
V(Yopougon)= V(Centrale1)+3=4 ;
d-Amélioration de la solution
Première itération :
-Déterminons une chaine de transfert compatible
La méthode utilisée est l’algorithme de Stepping-Stone.
Deuxième itération :
-On construit le graphe ;
-On détermine le potentiel de chaque sommet :
V(Centrale2)=0 ;
V(Abobo)=5 ;
V(Adjamé)=8 ;
V(Centrale1)= V(Abobo)-4=5-4=1 ;
V(Yopougon)= V(Centrale1)+3=1+3=4 ;
V(Cocody)= V(Centrale1)+2=1+2=3.
-On détermine les coûts marginaux des cases vides :
β13=V(Centrale1)+c12-V(Adjamé)=1+4-5=0 ;
β21=V(Centrale2)+c21-V(Yopougon)=0+6-4=2 ;
β24=V(Centrale2)+c24-V(Cocody)=0+8-3=5.
Conclusion : La solution est optimale car tous les βij≥0.
Coût=480.
III-Problèmes d’affectation
1-Présentation
2-Algorithme hongrois
réduire M;
TANT QU'on ne peut affecter n zéros, 1 par ligne et 1 par colonne
affecter le plus possible de zéros
(au plus 1 par ligne et par colonne);
marquer toutes les lignes sans zéro affecté;
TANT QU'on peut marquer quelque chose
marquer les colonnes ayant un zéro non affecté dans une ligne marquée;
marquer les lignes ayant un zéro affecté dans une colonne marquée
FIN TANT QUE;
soit r le plus petit nombre à colonne non marquée et ligne marquée;
soustraire r de chaque ligne marquée;
ajouter r à chaque colonne marquée;
réduire M
FIN TANT QUE
Applications :
L’administration de l’université de Bouaké désire procéder aux mutations de 5 membre
du personnel : Amara, Bernard, Clarisse, Dieudonné et Elise et leur offre les postes a, b, c,
d et e. Ces fonctionnaires désirant maximiser leur satisfaction décident d’effectuer
chacun un classement des postes offerts :de 1 très bien à 5 : peu souhaité.
a b c d e
Amara 1 2 3 4 5
Bernard 1 4 2 5 3
Clarisse 3 2 1 5 4
Dieudonné 1 2 3 5 4
Elise 2 1 4 3 5
Solution :
Après réduction on obtient :
0 1 2 1 2
0 3 1 2 0
2 1 0 2 1
0 1 2 2 1
1 0 3 0 2
Appliquons l’algorithme hongrois
0 1 2 1 2
0 3 1 2 0
2 1 0 2 1
0 1 2 2 1
1 0 3 0 2
0 1 2 1 2
0 3 1 2 0
0 0 1 0 1
1 3 1 2 0
3 1 0 2 1
0 0 1 1 0
2 0 3 0 2
Indice de satisfaction : 1+3+1+2+3=10
0 0 1 0 1
1 3 1 2 0
3 1 0 2 1
0 0 1 1 0
2 0 3 0 2
Indice de satisfaction : 2+3+1+1+3=10
0 0 1 0 1
1 3 1 2 0
3 1 0 2 1
0 0 1 1 0
2 0 3 0 2
Indice de satisfaction : 4+3+1+1+1=10
Introduction
1-Equation d’Euler
Soit J, la fonctionnelle définie par, pour toute fonction x
-Une condition nécessaire pour que J soit stationnaire est que l’on ait :
2-Equation d’Hamilton-Jacobi
On considère le problème d’optimisation suivant :
Sous contrainte
NB :
BIBLIOGRAPHIE