Precis de Recherche Operationnelle - Robert Faure
Precis de Recherche Operationnelle - Robert Faure
Precis de Recherche Operationnelle - Robert Faure
de recherche
opérationnelle
Méthodes et exercices d’application
Robert Faure
était professeur de la chaire
de recherche opérationnelle au CNAM
Bernard Lemaire
est professeur émérite de la chaire
de recherche opérationnelle au CNAM
Christophe Picouleau
est professeur des universités au CNAM
7e édition
REMERCIEMENTS
Nous remercions toutes les personnes qui ont contribué à la réalisation de cette
édition du Précis de recherche opérationnelle. En particulier :
Mme Nacera SEGHOUANI-BENNACER Enseignante-chercheuse à Supélec,
pour le chapitre portant sur la simulation ;
M. Patrick SIARRY, Professeur à l’Université Paris XII, pour le chapitre traitant
des métaheuristiques ;
M Daniel VANDERPOOTEN, Professeur à l’Université Paris-Dauphine pour le
chapitre introductif à l’aide multicritère à la décision.
Mme Agnès PLATEAU-ALFANDARI, maître de conférences au CNAM, pour
ses remarques pertinentes.
iii
Table des Matières
iv
Table des Matières
v
Table des Matières
vi
avanT-ProPos
Pr B. LEMAIRE Pr C. PICOULEAU
[email protected] [email protected]
viii
inTroducTion
à la recherche
oPéraTionnelle
pour échapper à sa compétence : les données, nécessaires à ses études, étaient com-
plètes et iables ; enin il réservait la décision à l’état-major (il n’y eut pas de substi-
tution de pouvoir : son équipe ne s’est pas arrogé le pouvoir de décision. L’amirauté
britannique restait libre d’adopter les conclusions des travaux de Blackett et de son
équipe, ou bien de les rejeter). Ces règles s’appliquent encore aujourd’hui, et font
partie de la déontologie de la recherche opérationnelle d’entreprise.
Dès la in des hostilités, furent tentés de nombreux essais d’application à l’écono-
mie industrielle des méthodes jusqu’alors éprouvées seulement par les états-majors
alliés. Depuis les années cinquante, nombre de publications scientiiques et tech-
niques témoignent de leur réussite et de leurs heureux développements.
C’est pourquoi l’on peut légitimement se demander pourquoi l’apparition de la
recherche opérationnelle d’entreprise a été si tardive. Il est bon de citer ici quelques-
unes des principales raisons de cette naissance laborieuse :
a) les modèles mathématiques qui ont, de longue date, conquis la physique et, peu
à peu, bien d’autres sciences expérimentales, n’ont pas été acceptés d’emblée par
les spécialistes des sciences économiques, particulièrement de la micro-économie et
surtout de l’économie d’entreprise. Il ne faut pas méconnaître que les économistes
avaient quelques raisons de suspecter des modèles inertes, simplistes, rigides et abs-
traits, d’être peu propres à représenter le milieu vivant, complexe, lexible et terri-
blement concret de l’économie. Toutefois, dès que la connaissance économique fut
sufisamment avancée et consentit à se parer du nom de science, il fallut bien se ren-
dre à l’évidence : comme dans toutes les autres sciences expérimentales, parvenues
à une certaine maturité, le recours à la mathématique était incontournable ;
b) c’est seulement à partir des années cinquante que les problèmes économiques sont
devenus irrémédiablement complexes, en raison de la taille croissante des irmes et
de l’intrication extraordinaire des liens qui les unissent entre elles ;
c) enin, les acquis théoriques de la recherche opérationnelle ne seraient rien sans la puis-
sance de calcul : les ordinateurs sont indispensables pour résoudre les problèmes dans la
pratique. Or, les premiers ordinateurs n’ont été commercialisés qu’en 1955-1956.
À ce propos, il peut être utile de remarquer qu’il en va de la recherche opération-
nelle comme des ordinateurs. Ces derniers ont suscité des espoirs démesurés ou des
craintes infondées. Il faut répéter que la machine doit être considérée comme un ins-
trument, un outil au service de son créateur : l’homme. Il faut se persuader que lors-
que l’on conie à une machine l’exécution d’opérations qui, naguère encore étaient
l’apanage de l’esprit humain, le caractère de cette besogne se transforme, du même
coup, radicalement : le travail intellectuel devient un simple travail d’exécution. Il
n’y a donc aucune chance qu’une machine dépasse un jour son auteur, bien qu’il
n’y ait pas d’impossibilité à ce qu’elle démontre une conjecture, voire découvre un
théorème inconnu (par une combinaison logique inattendue...). De la même manière,
la recherche opérationnelle est l’auxiliaire de la décision humaine : elle lui est, par
essence, subordonnée et il n’existe pas plus de chance qu’elle la supplante un jour.
C’est pourquoi on considère souvent que la recherche opérationnelle est une compo-
sante majeure de l’aide à la décision.
x
Les domaines d’application
xi
Introduction à la recherche opérationnelle
repas par jour (2), douze mois par an 1 3 3 4 2 , trente jours par mois 1 5 3 6 2 , il fau-
dra cinquante-six ans 1 7 3 8 2 pour en venir à bout, car :
8 ! 5 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8,
le nombre des dispositions différentes, est déjà un nombre très grand. Soit :
8 ! = 40 320
Dans tous les problèmes fortement combinatoires (le précédent étant encore de
taille modeste), l’esprit humain ne peut envisager le nombre astronomique des arran-
gements, permutations, combinaisons. Il lui faut un il d’Ariane s’il veut choisir, entre
telle ou telle de ces dispositions, relativement à un critère quelconque, car, même avec
une puissante machine, le principe fondamental en matière combinatoire demeure de
proscrire toute énumération. Pour s’en convaincre, il sufit de constater que l’énumé-
ration de 20! solutions (nombre des affectations de vingt personnes à vingt postes), à
raison d’un million d’affectations par seconde, prendrait 77 096 ans ; le lecteur notera
que même avec un ordinateur mille fois plus rapide, qui pourrait donc énumérer un
milliard d’affectation par seconde, il faudrait encore 77 ans ! Or les compagnies aérien-
nes sont confrontées à de tels problèmes, mais à la dimension 100 ou davantage... Ou
bien d’imaginer un instant qu’il est possible d’énumérer les fonctions différentes de 9
variables booléennes seulement ; or celles-ci sont au nombre de :
22 5 2512 # 1,134076087.10155,
9
qui dépasse le nombre estimé des électrons et des protons dans l’Univers !
2) Devant les problèmes de l’aléatoire, la situation du décideur n’est guère meilleure.
Considérons l’exemple (d’école) qui suit : dans une grande entreprise, la moyen-
ne des entrées des personnels au bureau du correspondant de la sécurité sociale, est
d’une personne par 4 minutes ; l’employé de ce bureau peut servir, en moyenne,
une personne toutes les 3 minutes 18 secondes. On peut en conclure1 que l’em-
8 3 60
ployé de bureau, recevant 5 120 clients par jour et leur consacrant 3mn
4
18 3 120 5 6 h 36 mn, sur sa journée de 8 heures, peut largement sufire à ce service.
Mais cette solution par les moyennes est mauvaise, comme on le verra plus loin,
car le temps perdu par les personnels, en attente d’être servis, peut atteindre de nom-
breuses heures qui, étant donnée la perte à la production correspondante, reviennent
incroyablement plus cher que l’embauche d’un second employé, pourtant destiné
seulement à absorber les pointes de traic.
Pour que cette véritable solution puisse apparaître, il est nécessaire de considé-
rer le phénomène aléatoire dans toute son ampleur ; il faut tenir compte de toutes
les incidences du hasard et minimiser l’espérance mathématique du coût global des
opérations.
1. Tant il est vrai que la croyance à la compensation est ancrée dans la conscience de l’homme
social, alors que les conditions ne sont évidemment pas réunies pour qu’elle puisse jouer au niveau
de l’entreprise.
xii
Difficultés et dangers de l’optimisation
3) Enin, les situations de « duel » (sinon de concurrence multiple, cas encore plus
dificiles) demandent à être étudiées avec le plus grand soin. Il est bien clair, en effet,
que le choix d’une stratégie, dans une situation donnée, dépend des décisions des
concurrents. Et, comme celles-ci sont éventuelles, il s’agit, à la fois, d’un problème
combinatoire et d’une situation de hasard.
Imaginons, par exemple, qu’un fabricant A hésite, à chaque campagne de vente, entre
la hausse, le maintien et la diminution de ses prix de vente, sachant parfaitement que la
concurrence peut lui opposer les mêmes stratégies. Supposons, en outre, qu’il ait été en
mesure de déterminer les gains (les gains étant négatifs sont des pertes) qu’il réaliserait
pour chaque paire de choix (son propre choix et celui du concurrent) par rapport au chif-
fre normal. Ces situations sont résumées par le tableau ci-dessous :
Stratégies de la concurrence
1 5 2
Stratégies 1 10 21 24
de 5 6 0 22
A 2 10 21 2
On verra, dans le chapitre 9 portant sur la théorie des jeux, que la solution (nul-
lement immédiate) de ce problème est la suivante : le fabricant doit, au hasard, mais
trois fois sur cinq, maintenir ses prix et, deux fois sur cinq, les abaisser, pendant que
son concurrent, s’il est habile (ce qui est évidemment postulé) doit, quatre fois sur
cinq, les maintenir et, une fois sur cinq, les diminuer, moyennant quoi A ne perdra,
en moyenne, que 0,4 à chaque « coup ».
Les domaines d’application de la recherche opérationnelle peuvent donc se classer en :
– problèmes combinatoires ; exemples : déinition des investissements les plus
rentables ; optimisation des programmes de production, des niveaux d’activité,
des affectations, des transports et de la logistique ; ordonnancements, etc. ;
– problèmes stochastiques (c’est-à-dire où intervient le hasard) ; exemples : iles
d’attente, iabilité des équipements et sûreté de fonctionnement des systèmes,
gestion de la production, etc. ;
© Dunod – Toute reproduction non autorisée est un délit.
xiii
Introduction à la recherche opérationnelle
xiv
La R.O. : une pratique à caractère scientifique
objecTifs eT criTères
La déinition des objectifs et la détermination du critère d’optimisation sont du res
sort de l’entrepreneur.
Ce serait avoir une vue technocratique de la recherche opérationnelle que d’ima-
giner que c’est à l’analyste de ixer les valeurs limites déinissant les contraintes et
de ixer le(s) critère(s) de choix.
Au contraire, ce sont là des domaines qui appartiennent en propre à l’entrepre-
neur. Si, par exemple, l’analyste se voit conier l’étude des politiques d’exploitation
d’une société concessionnaire de services, il ne peut décider, de lui-même, d’opti-
miser la rémunération du capital, en limitant le service aux exigences du cahier
des charges, ou, au contraire, d’optimiser le service au meilleur proit des usagers,
en assignant au capital tel ou tel rendement qui lui plaît. C’est aux dirigeants de
la société, ou, dans certains cas, aux autorités de tutelle, de choisir entre ces deux
situations opposées. Le mieux étant sans doute, dans le cas présent comme dans
beaucoup d’autres, d’obtenir un éventail de solutions favorisant ainsi un choix
éclairé.
Car le chercheur opérationnel ne saurait non plus se substituer à l’entrepreneur,
dont c’est la fonction de décider quelle solution lui paraît la plus convenable ou la
plus praticable.
Il faut afirmer bien haut que la R.O., loin d’entraver l’exercice des prérogatives
de l’entrepreneur, autorise ce dernier à décider en meilleure connaissance de cause,
donc élève inalement le niveau où se manifeste la liberté du choix.
© Dunod – Toute reproduction non autorisée est un délit.
xv
Introduction à la recherche opérationnelle
renTabiliTé de la r.o.
On se doute bien que la R.O. n’est pas gratuite. Le plus fréquemment, elle est mise
en œuvre par des consultants n’appartenant pas à l’entreprise ; il s’agit donc de savoir
si, au plan inancier, l’application des résultats de leurs études procure ou non un
bénéice, compte tenu des charges entraînées par l’étude elle-même et quelle est la
durée du « retour sur investissement ».
Même dans la société la mieux administrée, un certain nombre de problèmes
combinatoires peuvent être mal résolus.
Nous nous permettrons de citer, à ce sujet, deux exemples empruntés à A. Kaufmann :
xvi
Rentabilité de la R.O.
1) une société de transports aériens, ayant 400 vols et 600 liaisons à effectuer entre
13 villes souhaitait améliorer le plan de ses vols, conçu jusqu’alors par un bureau
d’études travaillant selon une méthode « habituelle ». À première vue d’ailleurs, le
programme des vols établi par cette méthode semblait donner satisfaction, mais la
direction désirait en obtenir conirmation. À cause de nombreuses contraintes de
caractère économique ou social (temps maximal de pilotage, temps supplémentaire
passé au sol, repos obligatoire, retour périodique des équipages et des appareils au
port d’attache, entretien préventif, indemnités de déplacement, etc), le calcul appa-
raissait comme compliqué. Néanmoins, l’ordinateur, après implémentation d’un
programme d’affectation approprié, fournit, en un temps minime, un solution qui
procurait un gain de 18 % par rapport au plan obtenu manuellement...
2) Une usine sidérurgique possédait trois chaînes de laminoirs, dont la première était très
moderne et la dernière très vétuste. Chaque mois, un bureau de planiication répartissait
entre les trois chaînes les productions à réaliser, selon le carnet de commandes et les pré-
visions du service commercial. Un simple programme linéaire, dont la solution sur ordi-
nateur peut être obtenue en bien moins d’une seconde, établit une répartition qui faisait
gagner 6 % du coût total de fabrication, par rapport au plan, particulièrement soigné, cal-
culé par le bureau compétent. Et, bien entendu, tout plan et toute modiication pouvaient
être désormais obtenus dans les minutes qui suivaient, quasiment en temps réel...
Cependant, il est bien clair, néanmoins, qu’on ne doit pas toujours s’attendre
à des gains de cet ordre, à chaque intervention. Néanmoins le « retour sur inves-
tissements » se chiffre en mois bien plus souvent qu’en années. Et plusieurs sous-
optimisations non contradictoires peuvent conduire à des bénéices cumulés dignes
d’être pris en considération.
D’autre part, la recherche opérationnelle apparaît, de jour en jour davantage,
dans un rôle moins ponctuel d’aide à la décision, qui lui convient bien mieux. Pour
le jouer convenablement, il lui faut revenir à une composition plus hétérogène des
équipes d’analystes (qui ne sauraient notamment se passer ni des compétences d’éco-
nomistes, ni d’organisateurs – au sens de spécialistes de la vie des entreprises –) et
à une prolongation des interventions au-delà de la remise du rapport d’étude (main-
tenance, cycle de vie).
En effet, le temps est révolu du rapport alambiqué, hérissé de formules et de jar-
gon, dont les conclusions ne seront jamais mises en application. Les analystes, après
© Dunod – Toute reproduction non autorisée est un délit.
le dépôt de leur rapport, qui sera rédigé le plus simplement possible dans le langage
le plus courant, devront encore convaincre les responsables de la possibilité d’agir en
tenant compte de leurs recommandations et les aider à les mettre en œuvre.
Le conseiller en recherche opérationnelle apporte un œil neuf et des méthodes
rafinées d’analyse et de synthèse. Sa fonction n’est pas d’émettre des oracles, mais
d’aider ceux qui le consultent à comprendre les implications des différentes déci-
sions qu’ils pourraient prendre, de les aider à choisir, puis inalement de les assister
dans la mise en pratique de la décision retenue. Sans cette volonté d’accompagner
l’action, il risquerait, le plus souvent, d’abandonner le décideur à ses préjugés ou ses
impulsions irrationnelles ou – pire – de se substituer au décideur.
xvii
Introduction à la recherche opérationnelle
r.o. eT gesTion
Naguère encore, le souci d’une bonne gestion se traduisait par un soin spécial appor-
té à la comptabilité. Initialement, la comptabilité est l’histoire du passé de l’activité
et elle comporte plusieurs buts, dont l’un est de permettre de connaître la situation
inancière de l’entreprise (les éléments passifs et actifs) et l’autre de fournir au isc
les bases d’imposition.
Puis la comptabilité est aussi devenue un instrument de prévision. L’étude des
ratios permet de surveiller le développement de l’entreprise et facilite l’élaboration
de certaines décisions : le contrôle budgétaire autorise une certaine planiication
interne et un contrôle permanent de l’utilisation et de la croissance des ressources.
La comptabilité doit concourir à une gestion de plus en plus scientiique. Une des
conditions de ce développement est l’intégration des données, qui vise à saisir le fait
élémentaire, une fois pour toutes, dans sa « pureté », c’est-à-dire au plus près de sa
source. Il faut remarquer que cette exigence ne contrarie en rien la réalisation d’un
système d’information adapté à une structure plus ou moins décentralisée de l’entre-
prise et s’accommode, sans dificulté, de tout système informatique correspondant
au type d’organisation retenu.
Par exemple, l’étude de la distribution statistique des ventes nécessitait hier une
ventilation particulière des commandes des clients ; aujourd’hui, les codes-barre à
une ou deux dimensions (QR-codes) ou les puces électroniques, sur lesquels ont été
enregistrées les données, en vue d’établir les bons de livraison, bordereaux, factures,
etc., peuvent servir, sans autre apprêt, à un rapide dépouillement.
xviii
But et plan de l’ouvrage
– problèmes de transport ;
– problème du voyageur de commerce.
La théorie des graphes constitue d’ailleurs le lien implicite entre les deux pre-
mières parties du livre.
• La R.O. contre le hasard (stochastique)
Dans cette partie, on étudie tout d’abord, notamment au moyen des graphes, les bases
de la théorie des processus stochastiques (essentiellement les chaînes et les processus de
Markov) et l’on donne un aperçu de la programmation dynamique en univers aléatoire.
xix
Introduction à la recherche opérationnelle
xx
ordonnées
sTrucTures 1
aPPlicaTions
des Treillis
eT de l’algèbre
de boole
en recherche
oPéraTionnelle
1. Ce sous chapitre ne constitue qu’un rapide rappel. Au cas où le lecteur voudrait approfondir
les questions concernant les relations et les structures ordonnées, il pourra se reporter à des livres
spécialisés.
Chapitre 1 • Structures ordonnées Applications des treillis
x y z x y z x y z
x (x, x) (x, y) (x, z) x (x, x) (x, z) x (x, x) (x, y)
y ( y, x) ( y, y) ( y, z) y ( y, y) y ( y, z)
z ( z, x) ( z, y) (z, z) z ( z, x) z ( z, x) (z, z)
Produit cartésien ExE Relation R1 Relation R2
x y z x y z t
x (x, x) (x, y) (x, z) (x, x) (x, y) (x, t)
y (y, x) (y, y) (y, t)
z (y, z) (z, z)
(z, z) (t, x) (t, y) (t, t)
Relation R3 Relation R4
Pour qu’une relation soit transitive, il faut qu’elle contienne (a, g) si elle contient
(a, b) et (b, g), quels que soient a, b, g.
La relation R3 est transitive ; elle n’est pas non plus rélexive ; elle est antisymé-
trique. La relation R4 est transitive ; elle est rélexive ; elle est symétrique.
NB : Le contraire de rélexif, symétrique, transitif est, respectivement, irrélexif, asy-
métrique, intransitif. Une relation est irrélexive si elle ne contient aucun élément de D ;
elle est asymétrique, si elle n’est symétrique pour aucun couple ; elle est intransitive si
elle n’est transitive pour aucune paire de couples ; c’est le cas de la relation R5.
x y z x y z
x ( x, y) x (x, x) (x, y) (x, z)
y ( y, z) y ( y, z)
z ( z, x) z ( z, x)
Relation R5 Relation R6
2
1.1 Notions sur les structures ordonnées
Il faut se garder de confondre ces qualiicatifs avec non rélexif (il y a des élé-
ments dans la diagonale, mais non tous), non symétrique (il existe des éléments
symétriques, mais tous ne le sont pas), non transitif (la transitivité existe pour cer-
tains couples, mais pas pour d’autres). La relation R6 est, à la fois, non rélexive, non
symétrique et non transitive.
A B C D E
A (A, A) (A, B) (A, D) (A,E)
1er Camille B (B, B)
Anatole
e
2 ex aequo { Désiré C (C, A) (C, B) (C, C) (C, D) (C, E)
e
4 Ernest D (D, A) (D, B) (D, D) (D, E)
e
5 Bernard E (E, B) (E,E)
TABLEAU 1.1 TABLEAU 1.2: RELATION R
3
Chapitre 1 • Structures ordonnées Applications des treillis
A B C D E A C B D E
A A, A A, C A A, A A, C
B B, B B, D B, E C B, B C, C
C C, A C, C B B, B B, D B, E
D D, B D, D D, E D D, B D, D D, E
E E, B E, D E, E E E, B E, D E, E
TABLEAU 1.3: RELATION || TABLEAU 1.4: RELATION ||
C A D E B
C (C, C) (C, A) (C, D) (C, E) (C, B)
.............
.
......
......
1 2 3 5 10 20 30
1 (1, 1) (1, 2) (1, 3) (1, 5) (1, 10) (1, 20) (1, 30)
2 (2, 2) (2, 10) (2, 20) (2, 30)
3 (3, 3) (3, 30)
5 (5, 5) (5, 10) (5, 20) (5, 30)
10 (10, 10) (10, 20) (10, 30)
20 (20, 20)
30 (30, 30)
TABLEAU 1.7
4
1.1 Notions sur les structures ordonnées
(1, 2) ... (1, 10) (1, 10) . . . (1, 30) (1, 3) . . . (1, 30)
(2, 2) ... (2, 10) (10, 10) . . . (10, 30) (3, 3) . . . (3, 30)
(1, 2) ... (1, 30) (5, 10) . . . (2, 30) (1, 5) . . . (1, 20)
(2, 2) ... (2, 30) (10, 10) . . . (10, 30) (5, 5) . . . (5, 20)
(1, 5) ... (1, 10) (5, 10) . . . (5, 30) (1, 10) . . . (1, 20)
(5, 5) ... (5, 10) (10, 10) . . . (10, 30) (10, 10) . . . (10, 20)
(1, 5) ... (1, 30) (1, 2) . . . (1, 20) (2, 10) . . . (2, 20)
(5, 5) ... (5, 30) (2, 2) . . . (2, 20) (10, 10) . . . (10, 20)
(5, 10) . . . (5, 20)
(10, 10) . . . (10, 20)
tableau 1.7 soit 22, y compris 7 boucles. Mais on peut réduire le nombre de
ces arcs, en supprimant ceux qui résultent de la rélexivité et de la transiti-
vité. On obtient alors un diagramme de Hasse (ig. 1.2), plus lisible.
Le diagramme de Hasse d’un ensemble totalement ordonné est une
Figure 1.3 chaîne (ig. 1.3) (en fait, en termes de graphes orientés, il s’agira d’un
chemin).
À toute relation d’ordre large correspond une et une seule relation d’ordre strict.
Une relation d’ordre strict est irrélexive, asymétrique et transitive. Elle peut induire
un ordre partiel ou un ordre total.
5
Chapitre 1 • Structures ordonnées Applications des treillis
1. L’Académie des sciences recommande d’employer les termes « maximum, minimum, opti-
mum » uniquement comme substantifs ; les adjectifs correspondants étant « maximal, minimal,
optimal ». Ainsi on doit dire « élément maximal » (et non pas « élément maximum »).
6
1.1 Notions sur les structures ordonnées
Insistons sur le fait que les éléments particuliers déinis en a), b), c), d) et e)
n’existent pas nécessairement dans un ensemble partiellement ordonné, ce qui est
illustré par l’exemple ci-dessous.
Exemples. Soit X 5 {1, 2, 3, 5, 10, 20, 30} un ensemble partiellement ordonné par
la relation x | y (x divise y). Nous invitons le lecteur à se reporter au diagramme de
Hasse associé (Fig. 1.2).
1. Prenons P 5 {2, 3, 5, 10}. P est inclus dans X
Il existe un majorant de P : 30, un minorant : 1, deux éléments maximaux : 3 et
10, trois éléments minimaux : 2, 3, 5, ni plus grand élément, ni plus petit élément
de P. La b.s. de P est 30, la b.i. est 1. X n’admet pas d’élément universel, mais un
élément nul : 1.
2. Prenons maintenant P 5 {2, 5, 10}.
Ρ compte trois majorants : 10, 20, 30, un minorant : 1, un élément maximal : 10,
deux éléments minimaux : 2 et 5, un plus grand élément : 10, pas de plus petit élé-
ment. La borne supérieure de Ρ est 10, la borne inférieure est 1.
Pour une partie réduite à deux éléments (ou « paire ») {x, y}, d’un ensemble
ordonné, il peut exister une borne supérieure et/ou une borne inférieure ; la b.s., lors-
qu’elle existe, est notée x ~ y et la b.i. par x ` y.
1.1.4 Treillis
a) On appelle treillis (ou encore lattis ou ensemble réticulé) un ensemble partielle-
ment ordonné dans lequel, pour toute paire d’éléments, existent une borne supérieure
(b.s.) et une borne inférieure (b.i.).
À cette déinition on peut substituer la déinition axiomatique suivante. Soit un
ensemble T, dont les éléments sont munis de deux lois de composition, ~ et ` , véri-
iant, quels que soient x, y et zPT, les propriétés ci-après :
1. x ~ y 5 y ~ x (commutativité) 1r. x ` y 5 y ` x
2. x ~ 1 ~ 2
y z 5 x y1 ~ 2 ~ z (associativité) 2r. x ` 1 y ` z 2 5 1 x ` y 2 ` z
3. x ~ x 5 x (idempotence) 3r. x ` x 5 x
4. x ~ 1 x ` y 2 5 x (absorption) 4r. x ` ( x ~ y ) 5 x
© Dunod – Toute reproduction non autorisée est un délit.
7
Chapitre 1 • Structures ordonnées Applications des treillis
Ces díviseurs forment un treillis dont le diagramme de Hasse est donné par la igure 1.4.
La b.s. de deux éléments quelconques est leur p.p.c.m ; la b.i., leur p.g.c.d. Ainsi :
5 ~ 6 5 5 3 6 5 30 et 5 ` 6 5 1 ; 6 ~ 15 5 2 3 3 3 5 5 30 et 6 ` 15 5 3, etc.
8
1.1 Notions sur les structures ordonnées
9
Chapitre 1 • Structures ordonnées Applications des treillis
La igure 1.6 représente un hypercube, qui n’est autre que le diagramme de Hasse
d’une algèbre de Boole à deux générateurs, a et b, différents de 0 et 1. Elle comporte
24 = 16 éléments. Les éléments diagonalement opposés sur la igure sont le complé-
ment l’un de l’autre. Ainsi : a ` b et a ~ b , a ~ b et a ` b, etc. Plus généralement
une algèbre de Boole avec m atomes comporte 2m éléments.
Figure 1.6
10
1.2 Représentation ensembliste des algèbres de Boole
n 5 p # q (où p et q sont des nombres premiers différents). Pour la igure 1.6, il s’agi-
rait du treillis des diviseurs de n 5 p # q # r # s (p, q, r, s premiers) ; par exemple pour
n 5 210 5 21 # 31 # 51 # 71. Cette isomorphie se traduit par l’identité des deux dia-
grammes de Hasse. Une conséquence du théorème de Stone est que toute algèbre de
Boole comportant m atomes (donc inie) comporte 2m éléments.
Figure 1.8
11
Chapitre 1 • Structures ordonnées Applications des treillis
12
1.2 Représentation ensembliste des algèbres de Boole
AcB5A d B (1.2)
Remplaçons, dans cette formule, A par A et B par B ; on obtient :
A c B 5 A c B 5 A d B.
Prenons maintenant le complémentaire de chaque membre ; il vient :
A c B 5 A d B;
13
Chapitre 1 • Structures ordonnées Applications des treillis
1.2.5 Distributivité
Les opérations d et c doivent être mutuellement distributives. C’est-à-dire que l’on a :
A d 1B c C2 5 1A d B2 c 1A d C2 (1.10)
et
A c 1B d C2 5 1A c B2 d 1A c C2. (1.10bis)
Il est facile de le vériier, par exemple au moyen des diagrammes d’Euler-Venn.
Construisons, à cet effet, le sous-ensemble correspondant à l’expression formant le
membre gauche de (1.10bis) : il s’agit de réunir les régions A (hachures verticales)
et B d C (hachures horizontales) ; on obtient ainsi une région, comportant un type ou
l’autre des hachures, qui a été entourée d’un trait gras sur la igure 1.11.
Construisons maintenant le sous-ensemble correspondant au second membre de
(1.10bis) : il s’agit de trouver l’intersection des réunions A c B (hachures verticales)
et A c C (hachures horizontales) ; on obtient ainsi une région comportant l’un et
l’autre type de hachures ; elle a été entourée d’un trait gras sur la igure 1.12 et l’on
voit qu’elle coïncide avec la région distinguée de la igure 1.11.
14
1.2 Représentation ensembliste des algèbres de Boole
AcB5BcA
AdB5BdA
f (Commutativité)
Ac 1B c C2 5 1A c B2 c C
f (Associativité)
A d 1B d C2 5 1A d B2 d C
AcA5A
AdA5A
f (Idempotence)
Ac05A
Ad15A f (Éléments neutres)
AcA51
AdA50 f (Déinition du complément)
Ac 1B d C2 5 1A c B2 d 1A c C2
(Distributivité mutuelle)
Ad 1B c C2 5 1A d B2 c 1A d C2 f
A d (A c B) 5 A 5 A c (A d B) (Absorption)
constitue une algèbre de Boole comprenant au moins deux éléments, 0 et 1.
Dans cette algèbre on a, notamment, les propriétés :
A5A (Involution de la complémentation)
A d B 5 A c B et A c B 5 A d B (Formules de de Morgan)
On remarque que le deuxième axiome de chacune des six paires d’axiomes
ci-dessus peut être obtenu à partir du premier axiome de la paire, en changeant tout
signe c en d, tout signe d en c et tout 0 en 1.
Les correspondances :
c 4 d ; d 4 c ; 0 4 1
permettent donc de passer d’un axiome quelconque à l’axiome qui lui correspond
dans la même paire. En appliquant les règles de la logique (en particulier deux des
axiomes de la liste : contradiction et tiers exclu), cette propriété sera conservée.
Ainsi, à toute propriété générale, établie pour une algèbre de Boole, correspond une
propriété duale, obtenue en effectuant les échanges de symboles indiqués ci-dessus.
© Dunod – Toute reproduction non autorisée est un délit.
15
Chapitre 1 • Structures ordonnées Applications des treillis
La relation d’inclusion, que nous avons désignée par le symbole ( , est une rela-
tion d’ordre (large) :
1) elle est rélexive, car, quel que soit p, on a : p 1 p, d’où :
A ( A;
2) elle est transitive, car :
1 p 1 p et q 1 r 2 1 1 p 1 r 2 ,
d’où :
1 A ( B et B ( C 2 1 1 A ( C 2 ;
3) elle est antisymétrique, car si l’on a, à la fois : p 1 q et q 1 p, c’est que
A(p) 5 B(q),
A(B
d’où: et s 1 A 5 B.
B(A
Sur le diagramme d’Euler-Venn (igure 1.13), on remarque que, si A ( B :
A c B 5 B et A d B 5 A.
On verrait facilement aussi que, si A ( B :
A c B 5 1 et A d B 5 0.
Ce sont là quatre expressions équivalentes de l’inclusion :
Figure 1.13
1 A ( B 2 3 A d B 5 A 3 A c B 5 B 3 A c B 5 1 3 A d B 5 0.
L’expression de p 1 q par A c B 5 1 est fréquemment employée en logique.
Remarque. Le fait d’écrire : p 1 p, c’est-à-dire que toute proposition s’im-
plique elle-même, revient à formuler le principe d’identité.
16
1.2 Représentation ensembliste des algèbres de Boole
m13 5 A d B d C d D
1 1 0 1
car la valeur décimale du nombre binaire 1101 est 13.
On montre que toute fonction booléenne
f 1 A1, A2, c, Ai, cAn 2
peut être mise sous une forme unique de réunion de mintermes appelée forme cano-
nique disjonctive.
Dualement, il existe, bien entendu, une forme canonique conjonctive, qui est une
intersection de maxtermes.
Soit un vecteur ligne e 5 3 e0, e1, c, e2n 2 1 4 de 2n éléments, ei étant égal à 1 si
le minterme mi existe dans la forme canonique disjonctive, et à 0, sinon. La forme
canonique disjonctive peut donc être symbolisée par le produit scalaire :
i50
5 5 3 1A d B2 c C4 d 1A d B2 6 c 3 1B d C2 d 1A c C2 4
5 m4 c m2 5 m4 d m2 5 M3 d M5 5 1 A c B c C 2 d 1A c B c C2
(on observe, en effet, qu’en prenant le complémentaire d’un minterme d’indice i on
obtient le maxterme d’indice 2n 2 1 2 i).
Dans ces conditions, on peut obtenir sous la forme d’une intersection de max-
termes de deux façons, en effet, on a d’abord :
5 5 m7 c m6 c m5 c m3 c m1 c m0 5 M0 d M1 d M2 d M4 d M6 d M7 ,
puis, aussi bien :
5 , intersection de tous les maxtermes, à l’exception de ceux qui igurent dans :
5 5 M0 d M1 d M2 d M4 d M6 d M7 .
18
1.3 L’algèbre de Boole binaire
f A ( x ) 5 0 ; f B ( x ) 5 0 ; fA d B 1 x 2 5 0 f A ( x ) 5 0 ; f B ( x ) 5 1 ; fA d B 1 x 2 5 0
fA (x ) 5 1 ; fB (x ) 5 0 ; fA d B (x ) 5 0 f A ( x ) 5 1 ; f B ( x ) 5 1 ; fA d B 1 x 2 5 1
Figure 1.15
sagée plus haut. Effectuons maintenant l’étude pour fA c B 1 x 2 , dans les mêmes conditions
(igure 1.16).
f A ( x ) 5 0 ; f B ( x ) 5 0 ; fA c B 1 x 2 5 0 f A ( x ) 5 0 ; f B ( x ) 5 1 ; fA c B 1 x 2 5 1
19
Chapitre 1 • Structures ordonnées Applications des treillis
fA 1 x 2 5 1 fB 1 x 2 5 0 fA 1 x 2 5 1 fB 1 x 2 5 1
fA c B 1 x 2 5 1 fA c B 1 x 2 5 1
Figure 1.16
Remarque.
#
L’élément 0 apparaît comme l’élément neutre #de l’opé#ration 1 et le 1,
comme l’élément neutre de l’opération ? : 0 1 a 5 a 1 0 et 1 # a 5 a # 1,
pour tout a P 5 0, 1 6
Mais, faute de symétrique pour chaque élément, tant pour la somme logique
#
où 1 n’a pas de symétrique ( q xP 5 0,1 6 tel que 1 1 x 5 0) que pour le produit
logique où 0 n’a pas de symétrique ( q xP 5 0,1 6 tel que 0 # x 5 1), les opéra-
tions considérées ne confèrent pas une structure de groupe à l’ensemble {0,1}.
C’est pourquoi l’on introduit souvent une nouvelle opération appelée somme
disjonctive ou encore somme modulo 2, telle que ;a, bP {0, 1} :
#
a ! b 5 a # b 1 a # b.
20
1.3 L’algèbre de Boole binaire
0 1
0 0 1
1 1 0
Figure 1.17
21
Chapitre 1 • Structures ordonnées Applications des treillis
123456 7 8 9 10 11 12 13 14 15 16
# # # # #
a b c a b c a # b a # b 1 c a # b 1 c a # b 1 ab 1 c 2 # a # b b # c a 1 c b # c # 1 a 1 c 2 a # b # c
000111 0 0 1 0 0 0 1 0 0 m0
001110 0 1 0 0 0 0 1 0 0 m1
010101 0 0 1 0 0 1 1 1 1 m2
011100 0 1 0 0 0 0 1 0 0 m3
100011 0 0 1 1 1 0 0 0 1 m4
101010 0 1 0 1 0 0 1 0 0 m5
110001 1 1 0 0 0 1 0 0 0 m6
111000 1 1 0 0 0 0 1 0 0 m7
22
1.3 L’algèbre de Boole binaire
x1 x2 F 5 x1 # x2 1 x2 1 x1
# #
0 0 5 0
# #
11 1151
0 1 5 0
# #
10 1151
1 0 5 0
# #
11 1051
1 1 5 1
# #
10 1051
on s’aperçoit que :
1 x3 5 1 2 1 F.
C’est que c 5 x2 # x3 ou u 5 x1 # x3 ne sont pas des constituants (monômes) pre-
miers de F. Il est important de pouvoir obtenir la liste de tous les constituants (monô-
mes) premiers d’une fonction booléenne.
Considérons, à cet effet, les fonctions :
#
1 5 C # y 1 C
#
2 5 A # x 1 B # x.
Dans la fonction 1, C est un produit booléen (monôme) qui ne comporte la
variable y sous aucun de ses aspects.
On peut écrire :
#
1 5 C # ( 1 1 y ) 5 C
et seul le constituant C est premier, car C # y ( C.
On en déduit que :
1) dans une liste de constituants (monômes), on peut simpliier en supprimant tout
constituant qui est contenu (inclus) dans un autre.
Supposons maintenant que dans la fonction 2 , ni A ni B ne contiennent x ou x.
On a :
#
A #x 5 1 3 A 1 x 5 0
#
B#x 5 1 3 B 1 x 5 0
© Dunod – Toute reproduction non autorisée est un délit.
d’où :
# #
3 ( A 1 x 5 0 ) ou ( B 1 x 5 0 )4 3 3 ( A # x 5 1 ) ou ( B # x 5 1 )4 1 F 5 1
Or :
# # # #
3 ( A 1 x 5 0 ) ou ( B 1 x 5 0 )4 3 3 ( A 1 x ) # ( B 1 x )4 5 0 ;
donc :
# #
3 1A 1 x2 # 1B 1 x2 5 04 1 F 5 1
23
Chapitre 1 • Structures ordonnées Applications des treillis
ou :
# #
1A # B 1 A # x 1 B # x 5 02 1 F 5 1
ou encore :
# # #
3 1 A 1 B 2 # 1 A 1 x 2 # 1 B 1 x 2 5 1 4 1 F 5 1.
En faisant le produit, on obtient :
# #
1 A # B 1 A # x 1 B # x 5 1 2 1 F 5 1.
On en déduit donc que :
#
2) Lorsqu’une fonction se présente sous la forme A # x 1 B # x, on peut lui ajouter
#
A # B, nommé « consensus » de A # x 1 B # x, comme constituant (ce qui ne présente
d’intérêt que s’il n’est pas identiquement égal à 0).
Ce sont ces remarques qui constituent le fondement de la « méthode de Quine »
pour l’obtention des constituants premiers. Leur application systématique et itérative
permet de calculer la liste complète des constituants premiers d’une fonction.
Reprenons à cet effet la fonction :
# #
F 5 x1 # x2 1 x2 # x3 1 x1 # x3
Elle n’est pas simpliiable par la première règle. Écrivons-la sous la forme d’un
tableau à double entrée pour faciliter l’application de la seconde.
On a ainsi le tableau I, qui permet de comparer deux à deux les constituants
initiaux de F et de calculer, selon la règle 2), des constituants supplémentaires.
Ainsi, si l’on pose :
A # x 5 x 1 # x 2 , c’est-à-dire A 5 x 1 et x 5 x 2,
on a aussi :
B # x 5 x 3 # x 2 , c’est-à-dire B 5 x 3 et x 5 x 2,
d’où l’apparition du constituant (consensus) :
A # B 5 x1 # x3.
De même : x1 # x2 et x1 # x3 donnent le consensus : x2 · x3 .
II
I
x2 • x3 x1 • x3 x1 • x3 x2 • x3
x1 • x2 x1 • x3 x2 • x3
I x2 • x3 x3
II x1 • x3 x3
x1 • x3
x2 • x3
24
1.3 L’algèbre de Boole binaire
Exemple.
# #
Soit F 5 a # b # c 1 a # b # c 1 b # c . Calculons F :
# # # # # # # #
F 5 ( a 1 b 1 c ) # [( a 1 b 1 c ) # ( b 1 c ) \ 5 ( a 1 b 1 c ) # [( a # b 1 c )\
# # # # #
5 a # c 1 a # b 1 b # c 1 a # b # c 5 a # c 1 a # b 1 b # c, car a # b absorbe a # b # c
Puis calculons F, qui n’est autre que F :
© Dunod – Toute reproduction non autorisée est un délit.
# # # # #
F 5 F 5 1a 1 c2 # 1a 1 b2 # 1b 1 c2 5 1a 1 c2 # 1b 1 a # c2
# #
5 a # b 1 b # c 1 a # c.
#
En fait, cette méthode équivaut à la précédente car G 5 1 1 2 donne :
# #
G 5 1 # 2 5 C # ( A # B 1 A # x 1 B # x )
# # #
puis G 5 G 5 C 1 A # B 1 A # x 1 Bx, comme en page 24
on a ici obtenu, pour la fonction F, sa forme minimale. Mais ce n’est pas toujours le
cas. Soit, par exemple, de nouveau :
# #
F 5 a#b#c 1 a#b#c 1 b#c;
25
Chapitre 1 • Structures ordonnées Applications des treillis
le lecteur pourra vériier facilement, par la méthode indiquée plus haut, la liste
complète des constituants premiers de cette fonction :
# #
F 5 a#b 1 a#c 1 b#c;
or, cette liste n’est pas la forme minimale de F. En effet, si nous développons F sous la
forme canonique disjonctive (somme de mintermes), nous trouvons :
# # #
F 5 a#b#c 1 a#b#c 1 a#b#c 1 a#b#c.
#
Si maintenant nous développons : Fr 5 a # b 1 a # c, sous forme canonique disjonctive
nous aurons également :
# # #
Fr 5 a # b # c 1 a # b # c 1 a # b # c 1 a # b # c ; ainsi Fr 5 F.
c’est donc que les deux constituants premiers a # b et a # c sufisent à représenter la
fonction F.
Pour mieux nous en rendre compte, dressons un tableau à double entrée dans
lequel nous mentionnerons, en colonnes, les mintermes de la forme canonique et, en
lignes, les constituants premiers.
Marquons d’une croix, sur
a • b•c a • b•c a•b•c a•b•c chaque ligne, les mintermes que
a•b
l’on obtiendrait en développant
chacun des constituants premiers.
a•c On constate que les mintermes
b•c a # b # c et a # b # c ne sont contenus,
respectivement, que dans a # b et
# # # # #
a c ; au contraire, les mintermes a b c et a b c peuvent être obtenus respectivement,
soit par développement de a # b et a # c, soit encore par développement de b # c.
Les constituants premiers a # b et a # c sont des constituants (premiers) essentiels ;
l’absence de l’un d’entre eux dans la forme minimale n’est pas possible, puisqu’ils
engendrent des mintermes qui ne sont contenus dans aucun autre constituant premier.
Il se trouve que les constituants essentiels sufisent ici à représenter la fonction
et que b # c est un constituant premier redondant, donc qu’il ne faut pas faire igurer
dans la forme minimale. Mais il arrive souvent que, pour obtenir une forme mini-
male, on doive employer, outre les constituants essentiels, un certain nombre de
constituants non essentiels ; le problème qui consiste à trouver un ensemble minimal
de ces constituants n’est guère plus dificile, mais sortirait de notre sujet (il s’agit
du problème de « recouvrement », bien connu en recherche opérationnelle). Notons
qu’une même fonction peut admettre plusieurs formes minimales (cf ci-dessous).
26
1.4 Applications élémentaires
27
Chapitre 1 • Structures ordonnées Applications des treillis
Elle peut partir de A pour B par bateau à 8h00, la durée du trajet étant de trois
heures ou bien par avion, à 9h00, le trajet ne durant alors qu’une heure. Elle pourra
revenir de B vers A par ces moyens respectifs en partant à 17h00 et 21h00, les durées
de trajet étant inchangées.
Entre B et C, elle peut prendre le train, qui met deux heures pour effectuer le trajet et
part à 10h30 ; elle peut, par le même moyen, revenir de C vers B, en partant à 13h00.
Entre B et D existe un service ferroviaire : départ à 11h30, retour à 14h30, durée
du trajet : deux heures, et aussi un service aérien : départ à 12h00, retour à 14h00
durée du trajet : une heure.
Enin, entre C et D existe un train express, qui part de D à 12h30 et de C à 14h00,
et dont le trajet dure une heure dans chaque sens.
Pour être plus concrets, établissons un schéma des liaisons (igure 1.18) et un
tableau récapitulatif des horaires. Affectons des variables booléennes latines aux tra-
jets AB, BC, BD, CD et des variables booléennes grecques aux trajets inverses.
HORAIRES
a a a a
A 08h00 09h00 20h00 22h00
B 11h00 10h00 17h00 21h00
b b
B 10h30 15h00
C 12h30 13h00
c c g g
B 11h30 12h00 15h00 16h30
D 13h30 13h00 14h00 14h30
d d
D 12h30 15h00
C 13h30 14h00 Figure 1.18
Il est évident (igure 1.18) qu’il y a deux sens de circulation : ABCDBA ou ABDCBA.
On pourrait évidemment énumérer toutes les solutions possibles en développant
les expressions :
# # #
1a 1 a2 # b # d # 1g 1 g 2 # 1a 1 a2
# # #
et 1 a 1 a 2 # 1 c 1 c 2 # d # b 1 a 1 a 2
qui correspondent, respectivement, à ces deux sens ; on trouverait ainsi 16 possibi-
lités. Mais étudions plutôt les suites de deux lettres de façon à faire apparaître les
changements de date si l’emploi d’un moyen oblige à attendre le lendemain pour
emprunter le suivant.
28
1.4 Applications élémentaires
J J 1
Ville A B C D D B A
Solution d a d a d a d a d a
avion
abd09h00 10h00 10h30 12h30 14h00 15h00 14h00 15h00 17h00 20h00
abd 09h00 10h00 10h30 12h30 14h00 15h00 14h30 16h30 17h00 20h00
avion train train train bateau
© Dunod – Toute reproduction non autorisée est un délit.
La seconde solution est plus économique, mais la première procure un arrêt plus
long dans la ville B, au retour.
29
Chapitre 1 • Structures ordonnées Applications des treillis
M1 M2 M3 M4 M5
A1 7 5 3 6 2
I 5 a Aj # xj.
5
j51
Il importe donc de trouver tous les constituants premiers de F 1 x1, x2,c, x5 2
et de calculer, pour chacun d’eux, la valeur de I, de manière à pouvoir sélection-
ner la plus faible. En effet, un constituant premier implique la fonction (si ce
constituant vaut 1) et il n’est impliqué par aucun autre constituant impliquant
lui-même la fonction, si bien que les ensembles de machines représentés par les
constituants premiers sont les ensembles minimaux qui couvrent la fonction,
donc permettent les fabrications, tout en assurant le respect des contraintes. Cal-
culons d’abord F :
# # # # # #
F 5 1 x1 # x3 1 x4 2 # 1 x2 # x4 1 x1 # x5 2 # 1 x2 # x5 1 x3 2 # 1 x2 1 x4 2 # 1 x1 # x2 1 x4 # x5 1 x2 # x3 2
# # #
5 x2 # x4 # x5 1 x2 # x3 # x4 1 x1 # x2 # x3 # x5 1 x1 # x2 # x3 # x4 # x5,
30
1.4 Applications élémentaires
puis, par une méthode quelconque, par exemple celle de Quine, constatons que
les constituants x1 # x2 # x3 # x5 et x 1 # x 2 # x 3 # x 4 # x 5 donnent le constituant x1 # x3 # x4 # x5
(qui est le consensus de ces deux termes).
Or x1 # x2 # x3 # x4 # x5 est inclus dans x1 # x3 # x4 # x5.
D’où la liste des constituants premiers de F :
# # #
F 5 x 2 # x 4 # x 5 1 x 2 # x 3 # x 4 1 x 1 # x 2 # x 3 # x 5 1 x 1 # x 3 # x 4 # x 5.
Seules les valeurs afirmées nous intéressent dans chacun de ces constituants
premiers pour établir les prix, car elles seules impliquent des achats de machines ;
d’où :
7 5 3 6 2
Ai x1 x2 x3 x4 x5 Total
x2 # x4 # x5 1 1 1 13
x2 # x3 # x4 1 1 1 14
x1 # x3 # x5 # x4 1 1 1 12
t2 5 x1 x2 1 x4 x5 1 x2 x3 5 1
31
Chapitre 1 • Structures ordonnées Applications des treillis
32
1.4 Applications élémentaires
x2 x2 x1 x1 x4 x4 x3 x3 0 1 2 2a 2 2a 2b 1
4 3 1 2 7 3 0 0 3 2 0 7
1 2 1 3 6 6 4 0 6 6 6 5
1 4 2 1 7 7 3 3 7 5 4 6
5 3 2 1 10 10 10 7 7 7 7 5
1* 2* 2 2 Résultat : x1 5 x2 5 x3 5 1 ; x4 5 0 ; F 5 7
2* 2r 2r Résultat : x2 5 x4 5 1 ; x1 5 x3 5 0 ; F 5 7
1* F < 5. Sans intérêt
Les deux phases de cette méthode sont illustrées par la Fig. 1.19
Il est conseillé de suivre la résolution en parallèle avec cette igure.
• Première phase : obtention d’une « bonne » solution admissible
Nous avons, semble-t-il, tout intérêt à prendre x2 5 1, si c’est possible, puisque x2 a
le coeficient le plus élevé dans F (cette démarche est qualiiée de « gourmande »).
© Dunod – Toute reproduction non autorisée est un délit.
Essayons donc x2 5 1 ; nous dirons que nous effectuons le choix 1* et nous note-
rons ce choix sur la ligne et dans la colonne appropriées du tableau. Les valeurs
igurant au second membre ne peuvent plus être celles de la colonne 0 ; en effet,
si l’on fait x2 5 1, la première inégalité devient 3x1 1 x4 1 2x3 < 3 ; en revanche,
la seconde et la troisième ne sont pas modiiées et nous conservons l’espoir que F
atteigne 10. C’est ce que nous traduisons avec les nouvelles valeurs du second mem-
bre igurant dans la colonne 1. Examinons alors si rien ne s’oppose maintenant à la
liberté de nos choix ultérieurs. Pour cela, comparons les coeficients des colonnes
du tableau, au-delà de x2, et pour chaque ligne, avec les valeurs de la colonne 1 du
second membre. On constate que tous les choix sont possibles car les coeficients de
33
Chapitre 1 • Structures ordonnées Applications des treillis
ces colonnes sont inférieurs ou égaux, à la valeur du second membre (et ceci dans
chacune des lignes).
Prenons donc le meilleur, apparemment, en essayant x1 5 1. Ce sera notre choix
2*, que nous noterons sur la ligne des choix. Ses conséquences apparaissent à la
colonne 2 du second membre.
Nous nous apercevons alors que les choix ultérieurs ne seront plus libres. En
effet, nous ne pouvons faire ni x4 5 1, ni x3 5 1, car le second membre deviendrait
négatif, ce qui est impossible évidemment.
Contraints de prendre x4 5 0 et x3 5 1, nous dirons que ces affectations sont
des implications du choix 2*. C’est pourquoi sur la ligne des choix, nous écrirons
2 (sans astérisque) dans les colonnes correspondantes. Mettons à jour le second
membre (2a).
Étant parvenus au bord droit du tableau des coeficients, nous avons donc une
solution. C’est x1 5 1 ; x2 5 1 ; x3 5 1 ; x4 5 0, qui donne bien à F la valeur 7 qui
igure au bas de la colonne 2a. En effet :
F 5 10 2 1 5 3 0 1 3 3 0 1 2 3 1 1 1 3 1 2 5 10 2 3 5 7.
34
1.4 Applications élémentaires
2. Nous ne sommes pas encore certains que les deux solutions obtenues soient
optimales, car il nous faut encore remettre en question le tout premier choix, 1*, que
nous avons effectué.
Ce faisant, nous obtenons un nouveau second membre 1, écrit tout à droite du
tableau des seconds membres et constatons que F < 5. Il est donc inutile de pour-
suivre le calcul.
Figure 1.19
35
Chapitre 1 • Structures ordonnées Applications des treillis
16X 12 1 8X 22 1 4X 11 1 4X 32 1 2X 22 1 X 31 < 20
8X 12 1 4X 22 1 4X 11 1 2X 32 1 2X 22 1 X 31 < 11
8X 12 1 4X 22 1 12X 11 1 2X 32 1 6X 22 1 3X 31 < 19
4X 12 1 2X 22 1 16X 11 1 X 32 1 8X 22 1 4X 31 < 29
36
1.4 Applications élémentaires
X 12 X 12
X 22 X 22 X 11 X 11 X 32 X 32 X 21 X 21 X 31 X 31 0 1 1a 2 2a 2 2a 1 1a 1b
16 8 4 4 2 1 20 4 4 0 0 4 1 20 4 4
8 4 4 2 2 1 11 3 3 1 1 3 0 11 1 1
8 4 12 2 6 3 19 11 11 9 9 11 2 19 1 1
4 2 16 1 8 4 29 29 27 27 27 26 14 25 9 9
32 16 12 8 6 3 77 77 49 49 40 41 41 45 45 39
1* 1 1 2* 2 2 Résultat : x1 5 0, x2 5 5 ; F 5 40
2* 2r 2r Résultat : x1 5 3, x2 5 4 ; F 5 41
1* 1r 1r 1r 1 F < 39. Sans intérêt
et le déroulement des calculs (cf aussi l’arborescence de la ig. 1.21) est analogue
au cas a). La première solution obtenue vaut 40, avec x1 5 0 et x2 5 5. Elle n’est
pas optimale, puisque la seconde, à laquelle on aboutit en remettant en cause le
choix 2*, fournit F 5 41, avec x1 5 3 et x2 5 4.
Enin, la remise en question du choix 1* implique F < 39 (en fait F 5 36), d’où
l’arrêt de l’exploration.
Figure 1.20
37
Chapitre 1 • Structures ordonnées Applications des treillis
On aurait tort de croire que la partie entière (l’arrondi à la valeur inférieure) des
valeurs des variables constituant la solution optimale en rationnels donne l’optimum
entier ; en effet :
E(x1) 5 2, E(x2) 5 4, d’où F 5 38 (cf le point N).
L’exploration arborescente conduit d’abord au point Q, avec F 5 40, ensuite au
point P, avec F 5 41 et c’est l’optimum entier. Toute autre solution, avec le deuxième
choix 2* ne peut que donner F , 41 (ex. x1 5 4, x2 5 2, F 5 38) ; c’est pourquoi
cette solution n’est pas explorée.
Avec la remise en cause du choix 1*, on aboutirait au point R (F 5 36), mais on
ne s’y rend pas, puisque l’on s’arrête dès que l’on constate que F < 39 si X 12 5 0.
Voici l’arborescence illustrant cette recherche (et son parcours) :
Figure 1.21
38
Exercices
EXERCICES
39
Chapitre 1 • Structures ordonnées Applications des treillis
40
Exercices
41
2 noTions de
coMPlexiTé
2.1.1 La notation O
Soit f une fonction croissante déinie sur l’ensemble des entiers positifs. Nous déi-
nissons O 1 f 2 la classe des fonctions g déinies sur l’ensemble des entiers positifs
telles que : 'c . 0, 'n0 . 0 tels que ;n > n0, g 1 n 2 < c # f 1 n 2 (soit en langage
usuel : il existe une constante c strictement positive et il existe un entier naturel n0
tels que pour tout entier naturel n supérieur à n0, la valeur de la fonction g calculée
pour n est inférieure ou égale au produit de la constante c et de la valeur de la fonc-
tion f calculée pour ce même n). La igure 2.1 illustre cette déinition formelle. Nous
noterons alors : g H O 1 f 2 .
Nous noterons O 1 1 2 l’ensemble des fonctions majorées par une constante à partir
1 1
d’un certain rang ; par exemple g ( n ) 5 PO ( 1 ) car pour n > 1, on a : ≤ 1.
n n
2.1 Complexité des Algorithmes
O ( n2 ) ( O ( n3 ) ( c( O ( n10 ) c( O ( 2n ) ( O ( en ) ( O ( n ! ) ( O 1 nn 2 .
Rappelons, au passage, la formule de Stirling : n ! , 1 n/e 2 n !2pn.(1)
Dans le tableau ci-dessous, nous allons illustrer le comportement des fonctions
les plus usuelles. Pour une fonction f et une donnée de taille n, nous avons reporté
le temps nécessaire à un ordinateur qui exécuterait un milliard d’opérations par
seconde, pour effectuer f 1 n 2 opérations.
43
Chapitre 2 • Notions de complexité
44
2.1 Complexité des Algorithmes
1. pour i d 1 à n
2. pour j d 1 à n
3. C 1 i, j 2 d 0
4. pour k d 1 à n
5. C 1 i, j 2 d C 1 i, j 2 1 A 1 i, k 2 3 B 1 k, j 2 (où 3 a la priorité sur 1).
1. id1
2. tant que T 1 i 2 2 v
3. idi11
4. sortir i
Le nombre d’opérations élémentaires exécutées dépend de la position de v dans
le tableau. En effet plus la position de v est éloignée du début de T, plus le nombre de
passages dans la boucle 2 sera important.
Nous allons alors déinir trois notions différentes de complexité, la complexité dans
le pire des cas, la complexité dans le meilleur des cas et la complexité en moyenne.
Ces trois déinitions complémentaires de complexité permettent au chercheur
45
Chapitre 2 • Notions de complexité
La complexité en moyenne
La complexité dans le cas moyen de A est la moyenne arithmétique sur toutes les
a TA 1 D, n 2 , où Dn est
1
données D de taille n, des valeurs TA 1 D, n 2 , soit
l’ensemble des données de taille n. Card Dn DHDn
a kO 1 1 2 5 O 1 n 2
1 n 1 n 1 n ( n + 1) n + 1
n k51
car ∑
n k =1
k=
n 2
=
2
∈O( n ) .
46
2.2 Complexité des Problèmes
Remarque. Dans notre exemple les complexités dans le pire des cas et dans le
cas moyen sont asymptotiquement les mêmes : O(n). En effectuant plus préci-
sément le calcul des deux complexités, on constatera que le temps moyen pour
l’exécution de l’algorithme est deux fois moindre que le temps dans le pire des
1
cas. Cependant comme O a nb 5 O 1 n 2 , à une constante multiplicative près
2
ces deux complexités sont les mêmes.
2.1.5 Conclusion
Nous venons de voir que les trois mesures de complexité déinies, le sont à une
constante multiplicative près, et pour des données de taille sufisamment grande.
Cela pourrait paraître quelque peu imprécis et ne pas reléter véritablement l’efica-
cité d’un algorithme. Cependant, pour être pertinente, l’étude d’un algorithme doit se
faire indépendamment de l’ordinateur sur lequel il devra s’exécuter. D’une machine
à l’autre, les opérations « élémentaires » effectivement exécutées peuvent être diffé-
rentes. Le plus généralement, ce sont des problèmes de grande taille qui doivent être
traités eficacement ; pour un problème de taille réduite un “mauvais” algorithme
car lent, voire une résolution manuelle peuvent être sufisants. Pour ces différentes
raisons, il apparaît que le comportement “asymptotique” (c-à-d sur les problèmes de
grande taille) d’un algorithme est une mesure pertinente de son eficacité pratique.
La connaissance actuelle de la complexité de la majeure partie des algorithmes
est essentiellement concentrée sur la complexité dans le pire des cas. Cette mesure
n’est pas nécessairement la plus pertinente, le pire des cas pouvant ne se présenter
que très occasionnellement. L’étude probabiliste d’un algorithme, l’espérance et la
variance du temps de calcul sont certainement des mesures plus précises mais, mal-
heureusement, les outils mathématiques actuels n’ont permis de mener à bien cette
étude que pour très peu d’algorithmes (certains algorithmes de tri, par exemple).
Cependant une étude statistique plus facile à mener, ainsi que la complexité dans
le pire des cas d’un algorithme, sont des informations souvent sufisantes pour le
chercheur opérationnel.
47
Chapitre 2 • Notions de complexité
d’un algorithme pouvant le résoudre. Nous nous limiterons ici aux conséquences
de cette théorie dans le quotidien du chercheur opérationnel. Le lecteur intéressé
par les aspects théoriques pourra consulter les ouvrages traitant de ce sujet cités
dans la bibliographie.
Dans ce chapitre, nous déinirons deux classes importantes de problèmes puis,
à partir de ces deux classes, nous illustrerons les conséquences concrètes des résul-
tats de la théorie de la complexité sur le traitement des problèmes d’optimisation.
Nous verrons qu’il est très souvent dificile de résoudre exactement certains problè-
mes usuels. Pour cette raison, nous examinerons comment envisager une résolution
approchée de ces problèmes a priori dificiles.
2.2.1 P et NP
Nous ferons ici la distinction entre un problème de décision et un problème d’optimi-
sation. Nous concentrant sur les problèmes de décision, nous déinirons formellement
les classes P et NP dont font partie les problèmes les plus couramment rencontrés
par le chercheur opérationnel. Signalons que la notation NP ne signiie pas “Non
Polynomial” mais “Non Déterministe Polynominal” ; la notation NDP aurait été pré-
férable ; mais l’usage prime.
Un problème de décision est constitué d’une donnée et d’une question ne pou-
vant admettre que deux réponses : « oui » ou « non ». Illustrons cette déinition
par quelques exemples. Le problème de la parité a pour donnée un entier n et pour
question : n est-il pair ? La réponse à cette question étant « oui » ou « non », nous
avons affaire à un problème de décision. Le problème de décision du plus court
chemin (la longueur d’un chemin étant le nombre de ses arcs) est déini de la façon
suivante. La donnée est G 5 ( X, U ) (1) un graphe (non valué), a et b deux sommets
de G et B un nombre entier ; la question posée est : « Existe-t-il un chemin d’ori-
gine a et d’extrémité b de longueur inférieure à B ? » De manière identique, le
problème du plus long chemin est le suivant : la donnée est G 5 ( X, U ) un graphe,
a et b deux sommets de G et B un nombre entier ; la question posée est « Existe-t-il
un chemin élémentaire (c’est-à-dire ne passant pas deux fois par un même som-
met) d’origine a et d’extrémité b, de longueur supérieure à B ? » Nous donnons
comme dernier exemple le problème hamiltonien où la donnée est un graphe G et
la question est « G admet-il un cycle hamiltonien (c’est-à-dire passant une fois et
une seule par chaque sommet) ? ».
La déinition des problèmes de décision étant donnée, nous sommes à même de
déinir P la classe des problèmes de décision polynomiaux. La mesure de complexité
considérée pour déinir la classe P est la complexité temporelle (ou nombre d’opéra-
tions élémentaires) dans le pire des cas, déinie plus haut. Un problème de décision
appartient à la classe P, s’il peut être résolu par un algorithme A de complexité O 1 nk 2
où k est une constante et n est la taille de la donnée du problème. Montrons que cer-
tains problèmes, déinis plus haut, appartiennent à P. Le problème de parité est résolu
48
2.2 Complexité des Problèmes
avec une complexité O(1) en effectuant une division de n par 2. Pour le problème du
plus court chemin, nous verrons (dans la partie dédiée aux parcours dans les graphes)
comment un parcours en largeur de G non valué permet de déterminer les plus courts
chemins issus de a. En comparant la valeur trouvée pour le sommet b avec l’entier
B fourni dans la donnée du problème, nous obtenons un algorithme de complexité
O ( m 1 n ) répondant à la question posée. En revanche, pour ce qui concerne les pro-
blèmes du plus long chemin et du cycle hamiltonien, la recherche d’un algorithme
polynomial pouvant les résoudre est restée vaine jusqu’à ce jour. Nous allons voir
dans le paragraphe ci-après qu’un des principaux résultats de la théorie de la com-
plexité permet de conjecturer que de tels algorithmes n’existent pas.
Nous allons maintenant déinir NP, la classe des problèmes de décision pouvant
être résolus en temps polynomial par un algorithme non déterministe. Plutôt que de
déinir la notion d’algorithme non déterministe, nous allons donner une déinition
de la classe NP ne faisant appel qu’aux algorithmes déterministes. Un problème de
décision appartient à NP si et seulement si pour toute instance (jeu de données) du
problème ayant pour réponse « oui », il existe un certiicat1 (ce certiicat est donné)
permettant, avec un algorithme en temps polynomial, de vériier que la réponse au
problème est effectivement « oui ».
Voici quelques exemples. Considérons le problème du plus court chemin (de a
à b dans un graphe non valué) ; il est aisé de concevoir un algorithme polynomial
vériiant si chemin de a à b (c’est le « certiicat » utilisé pour ce problème) a une
longueur inférieure à B. De façon identique, pour le problème du plus long chemin
élémentaire, il est possible de vériier, par un algorithme polynomial si un chemin
donné est élémentaire, s’il relie effectivement a et b et s’il est de longueur supérieure
à B. Ces deux problèmes appartiennent donc à NP. De même, pour le problème du
cycle hamiltonien, lorsqu’un graphe G admet un cycle hamiltonien, en prenant un
tel cycle pour certiicat, il est possible de vériier en temps polynomial que ce cycle
passe effectivement une et une seule fois par tous les sommets de G.
Considérons le problème de décision de la non primalité déini de la façon sui-
vante. La donnée est n un nombre entier et la question est « n est-il divisible par
un entier autre que 1 et lui-même ? » Montrons que ce problème appartient à NP.
Premièrement nous considérons une instance de ce problème ayant pour réponse
« oui », c’est-à-dire un entier n qui n’est pas premier. Lorsque n n’est pas premier,
il admet pour diviseur un entier a, a 2 1, a 2 n ; en prenant cet entier a comme
© Dunod – Toute reproduction non autorisée est un délit.
1. Nous verrons dans les exemples suivants le sens que l’on donne ici au terme « certiicat ».
49
Chapitre 2 • Notions de complexité
Remarque. En algèbre de Boole, on peut voir ces clauses comme des sommes
de variables booléennes afirmées ou niées : x1 ~ x2 ~ x3 et x1 ~ x3. La question
revient alors à déterminer si l’expression booléenne ( x1 ~ x2 ~ x3 ) ` ( x1 ~ x3 )
peut être rendue égale à 1 en affectant à chaque variable une valeur égale à
0 ou 1.
Les problèmes du plus long chemin élémentaire (au sens du nombre d’arcs) et du
cycle hamiltonien dans un graphe quelconque (non valué), que nous avons déinis
plus haut, ont eux aussi été montrés comme étant NP-complets ; par contre, le pro-
blème du plus long chemin élémentaire dans un graphe sans circuit est polynomial,
en O(m) pour un graphe de m arcs. De nombreux autres problèmes rencontrés tout
50
2.2 Complexité des Problèmes
aussi fréquemment que ceux cités précédemment par le chercheur opérationnel font
aussi partie de la classe des problèmes NP-complets. Nous indiquons, tout au long
de cet ouvrage, le caractère NP-complet d’un problème à chaque fois qu’il a lieu.
Une longue liste de problèmes NP-complets pourra être consultée dans l’ouvrage de
Garey et Johnson cité dans la bibliographie.
cités dans les différents chapitres de cet ouvrage) : le problème du voyageur de com-
merce et, plus généralement, les problèmes de tournées de véhicules, de nombreux
problèmes d’ordonnancement lorsque des contraintes de ressource sont nécessaires
pour l’exécution des tâches, les problèmes d’emploi du temps, la programmation
linéaire en nombres entiers (même dans le cas plus particulier du problème du sac
à dos qui comporte, pourtant, une seule contrainte). Par contre la programmation
linéaire en variables continues est un problème polynomial (même si l’algorithme du
1. Dans un problème de minimisation d’une fonction économique f, on se ixe une borne B (qui
sera l’une des données du problème de décision associé). La question du problème de décision
associé étant : « existe-t-il une solution de coût inférieur ou égal à B ? ».
51
Chapitre 2 • Notions de complexité
simplexe, « bon » en pratique, n’est pas polynomial comme le sont des « méthodes
intérieures »).
52
2.2 Complexité des Problèmes
b c d e f
a 1 2 3 2 2
b 3 4 4 2
c 2 2 3
d 1 2
e 1
a f a f a f
1 1
2
b c b e b e
2
© Dunod – Toute reproduction non autorisée est un délit.
1
e d c d c d
arbre H graphe H cycle C
53
Chapitre 2 • Notions de complexité
54
2.2 Complexité des Problèmes
Nous allons montrer que cet algorithme très simple possède une garantie relative
de performance.
Les boîtes étant de capacité A, une solution optimale vériie C* $ a i 51ai,
1 n
A
car chaque objet est placé dans une boîte. Maintenant nous montrons une propriété
de l’algorithme : à toute étape de l’exécution de l’algorithme, il est impossible que
A
deux boîtes aient leur contenu inférieur ou égal à : en effet, si tel était le cas, les
2
objets placés dans l’une de ces deux boîtes auraient du être placés dans l’autre boîte.
Ainsi, lorsque l’exécution de l’algorithme est achevée, au plus une boîte peut avoir
A
un contenu inférieur ou égal à , les Cˆ 2 1 autres boîtes ayant un contenu supérieur
2
, a ai . En regroupant les inégalités, nous obte-
A Cˆ 2 1 1 n
à , nous avons ainsi :
2 2 A i 51
, a ai # C* ; alors en divisant chaque membre par Cˆ il vient :
ˆ
C21 1 n
nons :
2 A i 51
1 1 C* 1 C* Cˆ
2 ˆ # ˆ et, Cˆ et C* étant entiers : # ˆ , soit # 2.
2 2C C 2 C C*
Dans l’exemple, au pire le nombre d’étagères achetées sera toujours inférieur au
double du nombre minimal. En fait, on peut montrer que le rapport d’approximation
de cet, algorithme est de l’ordre de 1, 7.
L’algorithme est de complexité polynomiale, nous avons donc un algorithme
polynomial avec une garantie relative de performance pour le problème du bin
packing (ce problème étant NP-dificile, il n’existe pas d’algorithme polynomial
pour le résoudre exactement sauf si P 5 NP ) .
Le lecteur pourra également se référer au chapitre 4, à la in du paragraphe 10 de
cet ouvrage où un deuxième algorithme polynomial avec une garantie relative de
performance pour le problème du bin packing est présenté.
Les métaheuristiques
Les métaheuristiques les plus fréquemment utilisées pour fournir des solutions
approchées à des problèmes NP-dificiles ont pour principal attrait d’être sufi-
© Dunod – Toute reproduction non autorisée est un délit.
55
Chapitre 2 • Notions de complexité
moins bonne qualité que la solution précédente S. Pour chacune de ces deux métho-
des, seuls deux paramètres sont à déterminer : la déinition de voisinage dépendant
uniquement du problème à résoudre, et la taille de la liste tabou pour la recherche
tabou ou bien la vitesse de décroissance de la « température » pour le recuit simulé.
Le lecteur est invité à consulter le chapitre 11 pour trouver de nombreux exemples
d’application de ces métaheuristiques. D’autres méthodes ont été conçues avec de
mêmes objectifs, mais sans être toujours plus eficaces que la recherche tabou ou le
recuit simulé : méthodes neuronales, algorithmes génétiques, méthode de bruitage,
colonies de fourmis : cf. le chapitre 11.
Une tendance actuelle est de combiner des métaheuristiques entre elles pour
obtenir des méthodes hybrides qui se révèlent parfois plus eficaces pour certaines
classes de problèmes.
56
Exercices
EXERCICES
5 4 9 1 4 5 9 1
4 5 9 1 4 5 1 9
4 5 1 4 5 1 4 1 5
En in de seconde phase, le second plus grand nombre est à sa place. Ici, il n’y a
que 3 phases (n 2 1 5 3)
4 1 1 4
© Dunod – Toute reproduction non autorisée est un délit.
4 . 1 : on transpose FIN.
57
Chapitre 2 • Notions de complexité
58
éléMenTs
de
la Théorie des
3
graPhes
B C
Figure 3.1
B
E
A
D
C
Figure 3.2
G 1 1 A 2 5 5 B,C 6 ; G 1 1 B 2 5 5 D, E 6 ; G 1 1 C 2 5 5 E 6 ; G 1 1 D 2 5 5 C 6 ; G 1 ( E ) 5 0.
le sommet E, qui n’a pas de successeur, est appelé sortie du graphe (un graphe peut
comporter zéro, une ou plusieurs sorties).
Si l’on remonte maintenant les arcs, on obtient l’application réciproque,
nommée application prédécesseurs et notée G 2 : G 2 ( A ) 5 0 ; G 2 1 B 2 5 5 A 6 ;
G 2 1 C 2 5 5 A, D 6 ; G 2 1 D 2 5 5 B 6 ; G 2 1 E 2 5 5 B, C 6 ;
Le sommet A, qui n’a pas de prédécesseur, est appelé entrée du graphe.
Le sommet E, qui n’a pas de successeur, est appelé sortie du graphe.
Ainsi un graphe est déini lorsque l’on connaît l’ensemble X de ses sommets et
l’application successeur G 1 , d’où l’écriture G 5 1 X, G 1 2 . Ou bien si l’on connaît X
et G 2 ; on note alors : G 5 1 X, G 2 2 .
Tout arc u peut être désigné par le couple formé par son sommet, extrémité
initiale, puis son extrémité extrémale. Par exemple l’arc reliant A à B est noté :
60
3.1 Éléments de la théorie des graphes
(A, B). Soit U l’ensemble de tous les arcs du graphe ; le graphe peut aussi être
noté : G 5 1 X, U 2 . Pour le graphe de la igure 3.2, on a :
U 5 5 1 A, B 2 , 1 A, C 2 , 1 B, D 2 , 1 B, E 2 , 1 C, E 2 , 1 D, C 2 6
U étant un ensemble de couples, U est donc une relation binaire sur l’en-
semble X des som mets (rappel : une relation binaire sur un ensemble X est un
sous-ensemble du produit carté sien X 3 X : U ( X 3 X ; le pro duit carté sien
X 3 X est, par défini tion, l’ensemble de tous les couples (x, y) où x et y appar-
tiennent à X ).
Dans certaines applications, on n’a pas besoin de noter (ou de conserver) l’orien-
tation initiale des arcs : à tout graphe orienté correspond un graphe non orienté. Ses
arcs « désorientés » sont nommés arêtes ; ainsi l’arc (A, B), sans son orientation,
donne l’arête [A, B] (qui peut être notée tout aussi bien : [B, A]). Mais si un graphe G
comporte à la fois l’arc (x, y) et l’arc (y, x), le graphe non orienté associé comporte
une seule arête : [x, y] (qu’on peut noter aussi : [y, x]).
Dans un graphe, on appelle chemin une séquence d’arcs dont l’extrémité termi-
nale de chacun, sauf pour le dernier, est l’extrémité initiale du suivant.
Un chemin qui se ferme sur lui-même est un circuit.
On exige, le plus souvent, qu’un chemin soit simple : un chemin est simple s’il
ne passe qu’une fois par chacun de ses arcs ; il est élémentaire s’il ne passe pas plus
d’une fois chacun de ses sommets. (NB : un chemin élémentaire est nécessairement
simple, mais la réciproque est fausse).
La longueur d’un chemin est le nombre de ses arcs. Un circuit de longueur 1 est
une boucle.
La igure 3.3 représente un graphe dans lequel : (D, A, E, A, E, A) est un chemin,
(A, C, D, A) un circuit ; en B existe une boucle. (D, A, E, A, E, A) n’est pas simple,
(D, A, E, A) est simple, mais pas élémentaire ; (D, A, E) est élémentaire.
Le “demi-degré extérieur” du sommet x est : dx1 5 card G 1 1 x 2 : c’est le nombre
d’arcs ayant leur extrémité initiale en x (en excluant les boucles) ; le “demi-degré
intérieur” du sommet x est : dx2 5 card G 2 1 x 2 : c’est le nombre d’arcs ayant leur
extrémité terminale en x (boucles exclues).
© Dunod – Toute reproduction non autorisée est un délit.
61
Chapitre 3 • Éléments de la théorie des graphes
Une chaîne qui se ferme sur elle-même (et qui est simple) est un cycle.
Un graphe est connexe s’il existe au moins une chaîne entre toute paire de som-
mets ; s’il n’est pas connexe, les sous-ensembles maximaux (au sens de l’inclusion)
de sommets tels qu’entre deux sommets quelconques d’un même sous-ensemble
existe une chaîne, sont nommés « composantes connexes » du graphe. Ce concept ne
fait donc pas appel à l’orientation du graphe.
N.B. Nous déinirons plus loin la forte connexité qui, elle, concerne les graphes
orientés.
Le graphe ci-dessus est connexe ; la suppression des arêtes [A, B], [A, C], [D, A],
[D, E] et [E, C] le rendrait non connexe, le graphe restant comporterait p 5 2 compo-
santes connexes : {A, E} et {B, C, D}.
Le degré d’un sommet x est le nombre d’arêtes ayant une extrémité en x :
dA 5 4, dB 5 2 (la boucle est exclue), dC 5 4, etc.
Un arbre est un graphe connexe et sans cycle (cette notion ne fait donc pas
appel à l’orientation du graphe) ; dans la igure 3.3 si l’on supprime les arcs (A, B),
(B, B), (D, A), (E, A) et (C, E), le graphe restant est un arbre (illustré par les arêtes
grasses de la ig. 3.3). Un arbre de n sommets comporte n 2 1 arêtes (arcs). Insis-
tons sur le fait qu’un arbre n’est pas orienté a priori.
Une arborescence, dans un graphe orienté, est un arbre comportant un sommet par-
ticulier r, nommé racine de l’arborescence ; depuis r, il existe dans l’arborescence un
chemin (et un seul) vers tout autre sommet (cette notion fait donc bien appel à l’orien-
tation du graphe) ; en supprimant tous les arcs de la ig. 3.3 sauf les n 2 1 5 4 arcs
suivants : (B, C), (C, D), (D, A) et (D, E), on obtient une arborescence de racine B.
N.B. Certains informaticiens nomment “arbre” ce qui – en théorie des graphes –
est une arborescence.
62
3.1 Éléments de la théorie des graphes
Une autre manière de représenter un graphe est d’utiliser la liste chaînée de ses
successeurs1. La igure 3.5 bis donne la liste des successeurs pour notre exemple.
Cette représentation compacte d’un graphe est aisée à obtenir en machine en utilisant
les structures de données dynamiques existant désormais dans tous les langages de
programmation.
A B C E .... successeurs de A
B B C .............. successeurs de B
© Dunod – Toute reproduction non autorisée est un délit.
C D ........................ successeurs de C
D A E .............. successeurs de D
E A C .............. successeurs de E
63
Chapitre 3 • Éléments de la théorie des graphes
Tous les termes M[4] sont égaux à 1 car dans G il existe au moins un chemin de
longueur 4 de tout sommet x vers tout sommet y : le vériier sur la Fig. 3.3.
64
3.1 Éléments de la théorie des graphes
Figure 3.6
65
Chapitre 3 • Éléments de la théorie des graphes
Remarques.
#
• 1 I 1 M 2 3k4 est la matrice codant l’existence des chemins d’au plus k arcs
dans le graphe.
• M comporte, dans l’exemple, une colonne entièrement formée de 0 ; c’est
une entrée du graphe (ici, le sommet A) ; elle comporte aussi une ligne consti-
tuée uniquement de 0 : c’est une sortie du graphe (ici, F).
• Dans un graphe de n sommets, il ne peut y avoir de chemin élémentaire de
longueur supérieure à n 2 1 (sans répétition de sommet), si bien que lors-
qu’on recherche la fermeture transitive, (ou ensemble des# descendants de tous
les sommets) on peut s’arrêter à la puissance n 2 1 de I 1 M. En pratique, on
peut d’ailleurs s’arrêter dès que :
# #
1 I 1 M 2 3 k 4 5 1 I 1 M 2 3 k 2 1 4.
Donnons deux schémas possibles pour le calcul de M. ˆ Posons A 5 I 1# M. Le
premier schéma consiste à calculer :
A324 5 A # A, puis A334 5 A324 # A, puis A344, c, puis A3n 2 14 5 A3n 2 24 # A,
soit n 2 2 produits de matrices.
Or le produit de deux matrices n 3 n requiert n3 multiplications booléennes ; en
effet, soient B, C, D des matrices n 3 n telles que : D 5 B # C. Rappelons que :
# # #
dij 5 bi1 # c1j 1 bi2 # c2j 1 c1 bin # cnj.
L’évaluation de dij requiert donc n multiplications booléennes ; or D comporte
n2 termes : au total, il faut effectuer n2 3 n, soit n3 multiplications booléennes pour
calculer D.
Finalement pour évaluer M, ˆ on aura 1 n 2 2 2 3 n3 multiplications booléennes. La
complexité de ce schéma est donc O(n4).
Ainsi pour un graphe de n 5 240 sommets, l’on calculerait :
A2 5 A # A, A3 5 A2 # A, c, A239 5 A238 # A
soit 238 produits de matrices.
On peut donc améliorer ce schéma comme suit : on a vu plus haut que :
# # #
1 I 1 M 2 3n 2 14 5 1 I 1 M 2 3n4 5 c5 3 I 1 M 4 3n 1 p4 (p entier > 21 2 .
Pour ce graphe M ˆ 5 A239 ; comme : 27 5 128 , 239 , 28 5 256, on a aussi :
ˆ 256
M 5 A . D’où le schéma de calcul amélioré :
A2 5 A # A , puis A4 5 A2 # A2 , A8 5 A4 # A4 , c, A256 5 A128 # A128.
66
3.1 Éléments de la théorie des graphes
a b c d e f a b c d e f a b c d e f a b c d e f
a 1 1 0 0 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 0
b 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0
c 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
A=
d 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
e 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1
f 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
© Dunod – Toute reproduction non autorisée est un délit.
a 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
b 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1
c 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1
=M
d 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
e 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1
f 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
67
Chapitre 3 • Éléments de la théorie des graphes
(3)
(2) B C
(4)
4
A (4) D
E F
(3)
(3)
L’itération k 5 1 n’ajoute aucun arc car a est une entrée. L’itération 2 ajoute
l’arc (a, c) car le graphe courant comporte (a, b) et (b, c), l’itération 3 ajoute les arcs
(a, d ), (b, d ) et (e, d ) etc. L’itération 6 n’ajoute aucun arc car f est une sortie. La
matrice M ˆ se déduit de M en égalant à 1 tous les termes de sa diagonale : Mˆ 5 M 1# I,
où M est la matrice obtenue en in d’application de l’algorithme.
Le lecteur intéressé pourra consulter les ouvrages cités en bibliographie pour
trouver la preuve de cet algorithme.
1. Dans toute composante fortement connexe c, il existe donc un chemin entre tout couple de
sommets de c.
68
3.1 Éléments de la théorie des graphes
A B CDE FG A B F CD E G
A 1 1 1 1 1 1 1 A 1 1 1 1 1 1 1
1 2
B 1 1 1 1 1 1 1 B 1 1 1 1 1 1 1
C 0 0 1 1 1 0 1 F 1 1 1 1 1 1 1
ˆ
M D 0 0 1 1 1 0 1 C 0 0 0 1 1 1 1
E 0 0 1 1 1 0 1 D 0 0 0 1 1 1 1
F 1 1 1 1 1 1 1 E 0 0 0 1 1 1 1
Figure 3.8 G 0 0 1 1 1 0 1 G 0 0 0 1 1 1 1
opérationnelle
Un graphe peut représenter toutes sortes de situations dans les phénomènes d’orga-
nisation. Par exemple, un réseau de transport, c’est-à-dire un graphe comportant une
entrée et une sortie, peut correspondre à des canalisations où circule un luide (liquide,
gaz). Dans ce cas, il vériie la loi des nœuds ou loi de Kirchhoff, bien connue en élec-
tricité, et selon laquelle les quantités entrantes (par unité de temps) en un sommet sont
égales aux quantités sortantes (par unité de temps) en ce même sommet (igure 3.9). Il
est facile, en effet, de comprendre que, si trois canalisations apportent en un sommet
A des débits respectifs de 2, 3 et 1 litres/mn, soit en tout 6 O/mn, les canalisations qui
partent de A doivent avoir un débit total de 6 O/mn.
69
Chapitre 3 • Éléments de la théorie des graphes
70
3.2 Parcours des graphes
poursuit sa visite. Lorsqu’il n’est plus possible de poursuivre la visite d’aucun som-
met du graphe, pour le sommet initial choisi, la procédure s’arrête si tous les som-
mets du graphe sont visités ; dans le cas contraire, on reprend le parcours à partir
d’un sommet non encore visité.
Tout au long de la procédure de parcours d’un graphe, chaque sommet passe par trois
états successifs : initialement, un sommet n’est pas atteint par le parcours, il est alors dit
non marqué, puis lorsqu’un sommet est atteint pour la première fois, sa visite débute, le
sommet est alors dans l’état ouvert, enin lorsque la visite d’un sommet est terminée, le
sommet est alors dans l’état fermé. Un parcours débute alors par l’ouverture d’un som-
met du graphe (le sommet initial) et se termine lorsque tous les sommets sont fermés.
Les algorithmes effectuant des parcours de graphe se distinguent par la stratégie
de choix, à chaque étape, du sommet à ouvrir, à partir duquel est poursuivie la visite.
Ainsi la stratégie utilisée par un algorithme de parcours induit deux ordres pour les
sommets du graphe :
• l’ordre dans lequel les sommets sont ouverts, appelé ordre de prévisite ;
• l’ordre dans lequel les sommets sont fermés, appelé ordre de postvisite.
La complexité algorithmique du parcours d’un graphe dépend du type de stra-
tégie utilisée. Cependant, dans un premier temps, si l’on suppose que le choix du
sommet à ouvrir à chaque étape peut se faire en un temps constant (c’est-à-dire avec
une complexité O(1), voir le chapitre 2), la complexité du parcours est O(n 1 m). En
effet, si le graphe est représenté sous la forme de listes de successeurs (ou bien de
listes de sommets adjacents pour un graphe non orienté) (cf. 3.1.2), chacune des n
listes associées aux n sommets du graphe est parcourue entièrement une fois et une
seule. Chacun des éléments d’une liste correspondant à l’un des m arcs (ou des m
arêtes) du graphe, nous en déduisons la complexité annoncée.
Après avoir donné deux exemples de parcours dans les graphes orientés et les graphes
non orientés, nous consacrerons les deux dernières parties de ce sous-chapitre à deux
stratégies de parcours sur lesquelles sont fondés de nombreux algorithmes : le parcours
en largeur et le parcours en profondeur. Nous verrons qu’en utilisant des structures de
données appropriées, ces deux derniers types de parcours ont une complexité O(n 1m).
En R.O. on a souvent affaire à des graphes denses : m W n ; alors celle-ci est O(m).
71
Chapitre 3 • Éléments de la théorie des graphes
Figure 3.12
Nous détaillons maintenant la façon dont le parcours est effectué, le lecteur pour-
ra suivre ce parcours sur les igures 3.13 et 3.17.
Le premier sommet ouvert est le sommet A. Ensuite, le sommet B adjacent à A est
ouvert ; à noter cependant, que les sommets E ou F auraient tout aussi pu être ouverts
à cette étape. Les sommets I, puis E, puis H sont ensuite successivement ouverts. Le
sommet E est alors fermé (L ou F auraient pu être ouverts à cette étape), le graphe
correspondant est alors le dernier de la igure 3.14. L est ensuite ouvert, puis I fermé.
À ce moment, la reprise de la visite du sommet A, permet l’ouverture du sommet
F. Les sommets H, A, B, F, L (ig. 3.16 en haut) sont alors successivement fermés ;
remarquons encore que tout autre ordre de fermeture de ces cinq derniers sommets
aurait été compatible avec l’algorithme. À ce moment, plus aucun sommet n’est
ouvert : c’est la in de la première passe mais tous les sommets ne sont pas fermés :
le sommet non marqué C est alors ouvert : c’est le début de la seconde passe. Le
parcours se poursuit par l’ouverture du sommet J. Puis successivement s’exécutent
les ouvertures de K puis de D, la fermeture de J suivie de l’ouverture de G, puis des
fermetures successives des sommets C, K, G et D (ig. 3.16, en bas). À nouveau,
aucun sommet n’est ouvert, mais tous les sommets ne sont pas fermés. Le parcours
se poursuit (troisième passe) par l’ouverture du sommet M, puis celles de N et O,
successivement. Les sommets N, M, O sont alors successivement fermés (ig. 3.17,
second graphe) ; ici encore, tout autre ordre de fermeture de ces trois derniers som-
mets aurait pu convenir. Tous les sommets sont fermés à cette étape de l’algorithme ;
le parcours du graphe est alors terminé.
72
3.2 Parcours des graphes
Un parcours peut se résumer, d’une part par les deux ordres d’ouverture (on dit
aussi de prévisite) et de fermeture (on dit aussi de postvisite) des sommets du graphe,
et, d’autre part, par la forêt couvrante (une forêt est un graphe dont chaque composante
connexe est une arborescence) déinie par l’ensemble des arcs (x, y) telle que l’ouver-
ture du sommet y s’est effectuée au cours de la visite du sommet x ; elle « couvre » tous
les sommets. Dans cet exemple ces deux ordres sont, en partie, arbitraires. Ce ne sera
plus le cas pour les parcours en largeur ou en profondeur qui sont décrits plus loin.
Début de la première passe
on a ouvert A
puis on a ouvert B
© Dunod – Toute reproduction non autorisée est un délit.
puis on a ouvert I
Figure 3.13
73
Chapitre 3 • Éléments de la théorie des graphes
puis on a ouvert E
puis on a ouvert H
puis on a fermé E
Figure 3.14
74
3.2 Parcours des graphes
puis on a ouvert L
puis on a fermé I
© Dunod – Toute reproduction non autorisée est un délit.
puis on a ouvert F
Figure 3.15
75
Chapitre 3 • Éléments de la théorie des graphes
Figure 3.16
76
3.2 Parcours des graphes
Ici on a ouvert
D puis G, puis
fermé C, D, G, J, K.
ici on a ouvert
N puis O, puis
fermé O, N, et M.
Nous allons montrer, dans les exemples qui suivent, comment des algorithmes de
parcours des graphes peuvent utiliser les positions relatives des sommets dans ces
deux ordres et la forêt couvrante (déinie précédemment), pour déterminer eficace-
ment certaines propriétés et/ou quantités caractéristiques du graphe parcouru.
77
Chapitre 3 • Éléments de la théorie des graphes
78
3.2 Parcours des graphes
Figure 3.19
Les étapes successives du parcours sont les suivantes. A est le premier sommet
ouvert, puis vient ensuite l’ouverture de B, suivie de celle de G. À l’étape suivante,
F est ouvert lors de la poursuite de la visite du sommet B, ce qui justiie l’introduc-
tion de l’arc (B, F) dans la forêt représentative du parcours. Ensuite, le sommet A est
fermé, puis le sommet D est ouvert. Les sommets B et G sont successivement fermés
avant que C soit ouvert. Il vient ensuite les fermetures successives des sommets D,
C et F. À cette étape, aucun sommet n’est ouvert et le sommet E est encore non mar-
qué. E est alors ouvert, puis n’ayant pas de successeur non marqué, E est fermé. Le
parcours est alors terminé.
La forêt inalement obtenue est représenté par l’ensemble des arcs épais du graphe
au bas à droite de la igure 3.21. Elle comporte deux arborescences ; celle de racine
E est réduite à une seul sommet.
L’ordre dans lequel les sommets du graphe sont ouverts, correspond à la liste :
© Dunod – Toute reproduction non autorisée est un délit.
PRÉVISITE5(A, B, G, F, D, C, E)
et l’ordre de postvisite correspond à la liste
POSTVISITE5 (A, B, G, D, C, F, E).
Nous allons montrer, dans le paragraphe suivant, comment en adaptant très sim-
plement l’algorithme générique que nous venons de présenter, nous obtenons un
algorithme eficace permettant de déterminer l’ensemble des descendants d’un som-
met donné. Le lecteur est invité à constater que l’algorithme de Dijkstra, présenté au
chapitre 4, qui calcule les valeurs de plus courts chemins issus d’une origine s, est
un parcours de graphe utilisant une stratégie spéciique d’ouverture et de fermeture
des sommets.
79
Chapitre 3 • Éléments de la théorie des graphes
3 4
5 6
80
3.2 Parcours des graphes
on a fermé C et on a fermé E
on a ouvert E
Fin de la seconde passe
Figure 3.21
Accessibilité
Le problème de l’accessibilité dans un graphe consiste à déterminer l’ensemble des
descendants d’un sommet donné s (que l’on a nommé en 3.1.3 : « fermeture transi-
tive » de s). Nous allons montrer ici qu’un algorithme résolvant ce problème peut
être simplement obtenu en adaptant l’algorithme générique présenté précédement.
Considérons l’algorithme suivant.
1. Initialement tous les sommets sont non marqués ;
2. ouvrir s ;
3. tant que cela est possible exécuter l’une des instructions 4 ou 5 ;
© Dunod – Toute reproduction non autorisée est un délit.
4. ouvrir un sommet y non marqué s’il est successeur d’un sommet x ouvert ;
5. fermer un sommet x si tous ses sommets successeurs sont ouverts ou fermés.
Le résultat de l’application de cet algorithme au graphe donné par la igure 3.19,
pour le sommet s5A, est représenté en bas à droite de la igure 3.21. Les sommets
descendants de A sont les sommets appartenant à l’arborescence (en traits épais)
ayant A pour racine.
Cet algorithme se justiie par la propriété suivante : si s est le premier sommet
ouvert dans un parcours, alors il existe un chemin du sommet s au sommet x dans
l’arborescence relative au parcours, si et seulement si, il existe un chemin de s à x
dans le graphe parcouru. La preuve de cette propriété est la suivante : d’une part le
81
Chapitre 3 • Éléments de la théorie des graphes
82
3.2 Parcours des graphes
Une ile est une liste ordonnée d’éléments pour laquelle seulement deux opéra-
tions élémentaires peuvent être réalisées : la première opération supprime le premier
élément en tête de la ile ; la seconde insère un élément en queue de la ile. Ces deux
opérations peuvent s’effectuer en temps constant en utilisant une représentation des
données appropriée (le lecteur pourra obtenir tous les détails techniques nécessaires en
consultant les nombreux ouvrages traitant d’algorithmique et/ou de programmation).
On n’a pas accès aux autres éléments de la ile. Par suite les deux ordres “PREVISITE”
(celui d’ouverture) et “POSTVISITE” (celui de fermeture) sont identiques.
TÊTE QUEUE
83
Chapitre 3 • Éléments de la théorie des graphes
on ouvre G on ferme G;
file vide
Début de la seconde passe
85
Chapitre 3 • Éléments de la théorie des graphes
relative au parcours est un plus court chemin de s à x dans le graphe. Nous mon-
trons cette propriété en effectuant une récurrence sur la longueur du chemin de s à x
dans l’arborescence. La propriété est évidemment vraie pour le sommet s : d ( s ) 5 0.
Supposons-la également vériiée pour tous les sommets situés à une distance d 2 1 de
s dans l’arborescence. Il résulte de cette hypothèse que pour un sommet x à la distance
d de s dans l’arborescence, un plus court chemin de s à x dans le graphe est constitué
d’au moins d arcs. Le chemin de s à x dans l’arborescence est aussi un chemin du gra-
phe, il est constitué de d arcs ; c’est donc un plus court chemin de s à x dans le graphe.
Nous laissons au lecteur le soin de vériier que les valeurs d(x) calculées par l’algo-
rithme correspondent effectivement au nombre d’arcs de ces chemins.
La complexité de cet algorithme est évidemment identique à celle d’un parcours
en largeur, c’est-à-dire O 1 n 1 m 2 en utilisant une ile.
Parcours en profondeur
Nous déinissons ici une autre stratégie de parcours de graphe appelée parcours en
profondeur. Dans cette partie, nous déterminons ce type de parcours pour les graphes
non orientés ; l’adaptation immédiate de l’algorithme générique proposé aux graphes
orientés est laissée au lecteur. Nous verrons comment en utilisant une structure de
données particulière appelée pile (rappelée plus bas), il est possible d’obtenir une
complexité O 1 n 1 m 2 pour un algorithme effectuant un parcours en profondeur.
La stratégie utilisée pour effectuer un parcours en profondeur obéit à la règle sui-
vante : un sommet qui était non marqué n’est ouvert que s’il est adjacent au dernier
sommet précédemment ouvert ; si un tel sommet n’existe pas, le dernier sommet
ouvert est alors fermé.
II est possible de déterminer le dernier sommet ouvert en utilisant une pile. Dans
ce cas, cette opération peut s’effectuer en temps constant. La complexité obtenue
pour effectuer le parcours en profondeur d’un graphe est alors O 1 n 1 m2 .
Une pile est une liste ordonnée d’éléments pour laquelle seulement deux opéra-
tions élémentaires peuvent s’effectuer. La première insère un élément au sommet de
la pile ; la seconde opération supprime l’élément situé au sommet de la pile. On n’a
donc pas accès aux éléments de la pile autres que celui situé au sommet.
L’algorithme générique effectuant un parcours en profondeur d’un graphe non
orienté est le suivant :
1. initialement tous les sommets sont non marqués ;
2. tant qu’il existe s un sommet non marqué, ouvrir s et insérer s au sommet de la pile ;
3. tant que la pile n’est pas vide faire ;
4. s’il existe un sommet y non marqué, adjacent au sommet x situé au sommet
de la pile ;
5. alors ouvrir y et insérer y dans la pile ;
6. sinon fermer le sommet x et supprimer x de la pile.
On rencontre les synonymes suivants : « empiler » pour « insérer (en haut) dans
la pile » et « dépiler » pour « supprimer (du haut) de la pile ».
86
3.2 Parcours des graphes
Les igures 3.24 à 3.26 illustrent le parcours en profondeur d’un graphe. Pour
chacune des étapes de l’algorithme, le contenu de la pile est représenté à la droite du
graphe correspondant.
Début de la première passe
on ouvre A on ouvre B
on ouvre C on ferme C
© Dunod – Toute reproduction non autorisée est un délit.
on ferme B on ouvre E
Figure 3.24
87
Chapitre 3 • Éléments de la théorie des graphes
on ouvre I on ouvre D
on ferme D on ferme I
on ferme E on ferme A
pile vide :
Fin de la 1ère passe.
Figure 3.25
88
3.2 Parcours des graphes
on ouvre H on ouvre G
on ouvre F on ferme F
on ferme G
puis H
:
FIN
Figure 3.26
89
Chapitre 3 • Éléments de la théorie des graphes
90
3.2 Parcours des graphes
Sommets d’articulation
Nous allons, à présent, montrer comment un parcours en profondeur permet de
déterminer les sommets d’articulation d’un graphe. Sans perte de généralité, dans ce
qui suit, nous considérons un graphe non orienté et connexe. En effet, la notion de
sommet d’articulation ne fait pas appel à l’orientation du graphe.
Un sommet x est appelé sommet d’articulation, si et seulement si sa suppression
rend le graphe non connexe. Ainsi les sommets A et E de la igure 3.27 sont des
sommets d’articulation.
Figure 3.27
la comparaison des valeurs prévisite(x) avec les valeurs hauteur(x), permet de déter-
miner les sommets d’articulation.
1. Initialement tous les sommets sont non marqués ; prévisite d 1 ; A d \ ;
2. ouvrir le sommet s et insérer s au sommet de la pile ;
3. prévisite(s) d prévisite ; prévisite d prévisite1 1;
4. tant que la pile n’est pas vide faire (x étant le sommet en haut de la pile) ;
5. s’il existe un sommet y non marqué, adjacent au sommet x ;
6. alors ouvrir y ; insérer y dans la pile ; 1 x, y 2 H A ;
7. prévisite(y) d prévisite ; prévisite d prévisite1 1;
8. hauteur(y) d prévisite(y) ;
91
Chapitre 3 • Éléments de la théorie des graphes
on ouvre A. on ouvre B.
on ferme B. on ouvre E.
Figure 3.28
92
3.2 Parcours des graphes
on ouvre I. on ouvre D.
on ferme E. on ferme A :
FIN
Figure 3.29
© Dunod – Toute reproduction non autorisée est un délit.
93
Chapitre 3 • Éléments de la théorie des graphes
Figure 3.30
Nous allons maintenant montrer la validité de cet algorithme1. Nous montrons pre-
mièrement que le sommet s, sommet à partir duquel commence le parcours, est un som-
met d’articulation si et seulement si s a au moins deux successeurs dans l’arborescence
relative au parcours. Soient u et v deux successeurs de s dans l’arborescence. Montrons
que toute chaîne reliant u et v passe par le sommet racine s. S’il existait une chaîne
reliant u et v ne passant pas par s, il existerait une arête de retour {x, y} avec x sommet
de la sous-arborescence de racine u et y n’appartenant pas à cette sous-arborescence.
Cela est impossible, car comme nous l’avons montré précédemment, dans un parcours
en profondeur, les arêtes de retour ont leurs deux extrémités sur un même chemin de
l’arborescence relative au parcours. Nous en concluons que toute chaîne reliant les
sommets u et v passe par s : s est donc un sommet d’articulation.
Réciproquement, supposons que la racine s de l’arborescence soit un sommet
d’articulation. Il existe alors deux sommets u et v tels que toute chaîne les reliant
passe par s. Si la racine s de l’arborescence a un successeur unique x, alors il existe
dans l’arborescence un chemin de x à u et un chemin de x à v. Cela implique l’exis-
tence, dans le graphe parcouru, d’une chaîne reliant u et v passant par x et ne passant
pas par s. La propriété est donc démontrée.
Dans l’algorithme proposé, l’instruction 12 teste si la racine s a, au moins, deux
successeurs.
Considérons maintenant un sommet x 2 s. Nous allons montrer que x est un
sommet d’articulation, si et seulement si, il n’existe pas d’arête de retour {u, t} telle
que le sommet u soit un descendant de x (successeur non nécessairement immédiat)
et le sommet t soit un prédécesseur de x dans l’arborescence relative au parcours.
S’il existe une arête de retour {u, t} satisfaisant à la déinition précédente, alors il
existe une chaîne reliant u et t passant par le sommet x, cette chaîne correspondant
au chemin allant de t à u dans l’arborescence ; il existe aussi une chaîne reliant u et t
ne passant pas par le sommet x, cette chaîne est constituée de la seule arête {u, t}. La
réunion de ces deux chaînes forme un cycle passant par x, le sommet x n’est donc pas
un sommet d’articulation. Réciproquement, si pour tout descendant u et prédéces-
seur t de x dans l’arborescence, il n’existe pas d’arête de retour {u, t}, les arêtes de
retour dans un parcours en profondeur ayant leurs deux extrémités sur un même che-
min de l’arborescence, toute chaîne reliant t et u passe nécessairement par le sommet
x. x est donc un sommet d’articulation. La propriété est alors démontrée.
94
3.2 Parcours des graphes
Les valeurs hauteur(y), calculées par l’algorithme, déterminent pour chaque som-
met y de l’arborescence le premier sommet t précédant y dans l’ordre de prévisite tel
que {u, t} soit une arête de retour, u étant le sommet y ou un descendant de y. L’ins-
truction 13 de l’algorithme permet de tester si la propriété montrée au paragraphe
précédant est satisfaite. La preuve de l’algorithme est alors terminée.
Rappelons que, sur l’exemple traité, pour le parcours effectué à partir de A, la
racine A a deux successeurs dans l’arborescence. D’autre part, le sommet E, qui est
un sommet d’articulation, est le quatrième dans la liste de prévisite et son successeur,
le sommet I, a pour valeur hauteur(I)54. Dans le parcours effectué à partir de B
(igure 3.30), la racine B qui n’est pas un sommet d’articulation n’a qu’un seul suc-
cesseur dans l’arborescence. Le sommet A de rang 3 dans la liste de prévisite, a pour
successeur E pour lequel hauteur(E)54 > 3. En revanche, le sommet C qui n’est
pas un sommet d’articulation, qui a le deuxième rang dans l’ordre de prévisite, a
pour successeur dans l’arborescence le sommet A pour lequel hauteur(A)5 1 , 2.
L’algorithme proposé étant appliqué à des graphes connexes, nous avons m > n 2 1
et la complexité obtenue est O 1 n 1 m2 5 O 1 m2 . En effet, les opérations autres que
celles effectuant le parcours sont en nombre inférieur à celles du parcours.
B9 D8 On a iguré à côté
G de chaque sommet
son numéro d’ordre de
5
fermeture : 1 pour I, 2
A
© Dunod – Toute reproduction non autorisée est un délit.
N ( I ) 5 11 2 1 5 10, N ( H ) 5 9, N ( F 5 8 ) , N ( D r ) 5 7, N ( G ) 5 6, N ( E ) 5 5,
N ( C ) 5 4, N ( D ) 5 3, N ( B ) 5 2, N ( A ) 5 1.
La igure 3. 32 illustre ce graphe avec ses sommets ainsi numérotés.
95
Chapitre 3 • Éléments de la théorie des graphes
x2
x3 x6
on vériie que pour tout arc (xi,
x4 x5 xj), on a bien : i < j.
x1
x10
x9
x7 x8 Figure 3.32
EXERCICES
*3.1 Vocabulaire et concepts de base des graphes
Soit le graphe G ci-dessous
1. Donner G1 1 A 2 , G1 1 B 2 , G2 1 A 2 , G2 1 B 2 . A
2. Donner les demi-degrés intérieurs et
B
extérieurs des sommets A et B. Donner les
éventuelles entrée(s) et sortie(s) de G.
F
3. Donner un exemple de chemin simple
mais non élémentaire.
C
4. Existe-t-il un circuit hamiltonien dans
G ? Un chemin hamiltonien ?
E
5. G est-il fortement connexe ? Justiier en D
détail.
6. Donner plusieurs arborescences diffé-
rentes, de racine B, extraites du graphe.
B C
D
1. Que représentent les sommets ? Les arêtes ?
2. Calculer le degré de chaque sommet, puis en déduire l’impossibilité du
problème.
3. Que se passerait-il si on ajoutait un 8ème pont, joignant directement la
rive nord A et la rive sud D de la rivière ?
96
Exercices
F E D
97
Chapitre 3 • Éléments de la théorie des graphes
E B A
F H
G D C
98
aPPlicaTions
des graPhes
4
à la recherche
oPéraTionnelle
Exemple. Imaginons la ig. que nous ayons à construire une autoroute entre les
villes A et K, ainsi que l’indique la Figure 4.1, les points (sommets) intermédiaires
pouvant être classés en groupes ou (phases) et les arcs du graphe ayant été valués par
l’indication des coûts totaux (coûts de réalisation 5 coûts des chaussées, ouvrages
d’art, etc. 1 coûts sociaux, coûts de “regrets”, etc.).
1. Ce critère se traduit par une fonction « de retour » (de revenu) qui doit être « décomposable »
(condition de Mitten) et, par exemple, pour un critère « multiplicatif » (produit de revenus élémen-
taires), les valuations du graphe doivent être positives.
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Figure 4.1
Le chemin de coût minimal est (A, D, G, I, K), noté en abrégé ADGIK ; son coût est
17 u.m. La meilleure politique est donc de construire les tronçons d’autoroute AD,
DG, GI et IK.
100
4.1 Notions de programmation dynamique (PRD)
5 OPT 3 f 1* 1 B 2 1 v 2 1 B, E 2 ; f 1* 1 C 2 1 v 2 1 C, E 2 ; f 1* 1 D 2 1 v 2 1 D, E 2 4
5 OPT 3 8 1 3 ; 5 1 5 ; 7 1 4 4 5 10 ,
d’où le choix : (A, C, E) pour la valeur 10 ;
f 2* 1 F 2 5 OPT 3 f 1* 1 x 1 2 1 v 2 1 x 1, F 2 4
x 1PX 1
5 OPT 3 f 1* 1 C 2 1 v 2 1 C, F 2 4
5 5 1 4 5 9, car F a un seul prédécesseur : C.
d’où le choix : (A, C, F), pour la valeur 9 ;
f 2* ( G ) 5 OPT 3 f 1* ( x 1 ) 1 v 2 ( x 1, G ) 4
x 1PX 1
5 OPT 3 f 1* 1 B 2 1 v 2 1 B, G 2 ; f 1* 1 C 2 1 v 2 1 C, G 2 ; f 1* 1 D 2 1 v 2 1 D, G 2 4
5 OPT 3 8 1 4 ; 5 1 6 ; 7 1 2 4 5 9
d’où le choix : (A, D, G), pour la valeur 9.
Et ainsi de suite.
L’économie de calcul provient de l’affaiblissement du caractère combinatoire
du problème. Au lieu d’énumérer 64 chemins de quatre arcs, on ne prend en compte
que 3 sous-chemins d’un arc, 9 sous-chemins de deux arcs, dont on ne conserve que
© Dunod – Toute reproduction non autorisée est un délit.
101
Chapitre 4 • Applications des graphes à la recherche opérationnelle
misation ne peuvent se faire que selon des ordres particuliers ; dans les problèmes forte-
ment ordonnés, une seule décomposition et un seul ordre d’optimisation sont possibles.
Même en avenir déterminé, les problèmes de caractère économique se posent diffé-
remment lorsque l’horizon est limité ou, au contraire, illimité. Si, par exemple, le nombre
de phases augmente indéiniment, il se peut qu’on ait des dificultés à comparer des
fonctions qui, elles aussi, augmentent indéiniment. Dans ce cas, on a souvent recours
à une procédure d’actualisation, qui est légitime à la fois du point de vue mathéma-
tique et du point de vue économique, lorsque les phases se succèdent dans le temps.
Dans le cas contraire, on essaie parfois d’obtenir la convergence « en moyenne » :
F 1 x 0, c, x N 2
lim .
N S 1` N
4.1.2 Exemple d’application : détermination d’un ensemble
stable de cardinal maximal dans un arbre
Voici un exemple particulièrement eficace d’utilisation de la programmation dyna-
mique. Nous considérons G 5 1 X, E 2 un arbre pour lequel nous désirons calculer le
nombre de stabilité a 1 G 2 . Nous dirons qu’un ensemble de sommets S ( X est stable
si, pour toute paire de sommets x, yPS, l’arête [x, y] n’est pas dans G, autrement dit
deux sommets quelconques de S ne sont pas adjacents. a ( G ) est alors la plus grande
cardinalité d’un ensemble stable, c’est-à-dire le nombre de sommets d’un ensemble
stable de cardinal maximal (qui comporte le plus grand nombre de sommets).
Bien que le nombre de stabilité soit généralement dificile à calculer pour un
graphe quelconque, nous allons montrer que dans le cas d’un arbre (rappelons qu’un
arbre est un graphe d’au moins deux sommets, connexe et sans cycle ; la igure 4.2
représente un arbre), ce nombre peut être calculé rapidement avec un algorithme de
programmation dynamique.
En choisissant arbitrairement un sommet r de l’arbre, nous déinissons de
manière unique une orientation des arêtes de manière à déduire de cet arbre une
arborescence de racine r. Par souci de simpliication, nous appellerons aussi G
cette arborescence et confondrons les arêtes de l’arbre avec les arcs de l’arbo-
rescence. Nous noterons Gi la sous-arborescence extraite de l’arborescence G de
racine i1 et, par extension, le sous-graphe correspondant.
L’algorithme est fondé sur la propriété évidente suivante :
si S* est un ensemble stable pour Gi alors soit le sommet i H S*, soit i x S*.
Pour chaque Gi nous allons calculer deux valeurs : Ri la taille d’un ensemble stable
maximal (au sens de l’inclusion) contenant i, et Ri la taille d’un ensemble stable
maximal ne contenant pas i. Ainsi il est aisé de constater que a 1 Gi 2 5 max 1 Ri, Ri 2 .
Nous allons maintenant montrer comment obtenir les deux valeurs Ri et Ri à partir
des valeurs Rj et Rj des successeurs j de i. Rappelons que G(i) désigne l’ensemble des
successeurs j du sommet i.
1. Pour alléger les notations, tout sommet xi est désigné ci-dessous par son numéro : i.
102
4.1 Notions de programmation dynamique (PRD)
Premièrement, si Gi ne compte que le seul sommet i (qui est alors une « feuille »
– ou « sommet pendant » – de l’arborescence G) nous avons immédiatement
Ri 5 1 et Ri 5 0. Maintenant, si i a des successeurs et i appartient à un sous-ensemble
jPG1i 2
appliquée à partir d’un sommet quelconque d’une arborescence G, calcule a 1 Gi 2 :
• si G ( i ) 5 [ : Ri 5 1 ; Ri 5 0 ; a( Gi ) 5 1 (initialisation).
103
Chapitre 4 • Applications des graphes à la recherche opérationnelle
_
Figure 4.3 Un deuxième ensemble stable de cardinalité maximale : a(G) = 10 = RA
104
4.2 Applications aux chemins optimaux
Employons à cet effet un graphe valué, dont les sommets représentent les points de
passage possible et les arcs (lèches) les routes praticables (igure 4.5).
Nous allons examiner, pour chaque point, la longueur kilométrique (ou « valeur »)
du plus court chemin y conduisant à partir de A.
Pour B, c’est la route AB 5 3 ; pour D, la route 1 A, B, D 2 5 3 1 2 5 5 (et non
l’arc (A, D)) ; pour C, la route 1 A, B, D, C 2 5 3 1 2 1 2 5 7 (et non l’arc (A, C)) ;
pour E la route 1 A, B, D, C, E 2 5 3 1 2 1 2 1 1 5 8 (et non (A, B, E), ou (A, C, E)
ou (A, D, C, E)). Il en résulte que, pour aller de A en F par le plus court chemin, il
faut passer par B, D, C et E. On a un chemin de valeur minimale 10.
Plus généralement, on s’intéresse au problème de détermination des chemins de
valeur minimale : soit d’un sommet donné vers un autre sommet (cas 1) comme ici
de A à F, ou bien d’un sommet donné vers tous les autres sommets (cas 2) ou encore
entre tout couple de sommets (cas 3).
Algorithme de Ford1 (chemins de valeur minimale)
Pour un graphe comportant de nombreux sommets, une procédure aussi peu assurée
© Dunod – Toute reproduction non autorisée est un délit.
risquerait de conduire à de longs calculs et sans doute à des oublis. Il est d’autre part
évident, par exemple, que lorsque les plus courtes distances de A aux points B, C et
D ont été calculées, il est inutile, pour avoir la plus courte distance entre A et E, de
remonter au-delà des prédécesseurs de E, c-à-d des points qui sont directement liés
par un arc (une lèche) à E : en d’autres termes, il sufit de comparer les chemins (A,
B, E) et (A, B, D, C, E), car on sait que le plus court chemin entre A et B est AB 5 3
et le plus court chemin entre A et C, 1 A, B, D, C 2 5 7. Finalement, entre A et E, c’est
105
Chapitre 4 • Applications des graphes à la recherche opérationnelle
106
4.2 Applications aux chemins optimaux
Lorsqu’il n’est plus possible de modiier les li, on a donc trouvé la valeur mini-
male soit l n 2 1, des chemins entre X0 et Xn 2 1 (pourvu qu’il existe au moins un che-
min entre X0 et Xn 2 1 ) . Les li, pour chaque Xi, donnent la valeur minimale des che-
mins entre X0 et Xi : on a alors résolu le cas 2.
Pour retrouver le chemin de valeur minimale lui-même de X0 à Xn 2 1, il sufit de
déterminer, partant de Xn 2 1, le prédécesseur Xp1, tel que l n 2 1 2 l p1 5 v 1 Xp1, Xn 2 1 2 ,
puis le prédécesseur Xp2 de Xp1, tel que : l p1 2 l p2 5 v 1 Xp2, Xp1 2 , etc. et de remonter
jusqu’à X0. Il peut naturellement y avoir plusieurs chemins de valeur minimale (mais
leur valeur est évidemment unique).
107
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Figure 4.8 L'arborescence des plus courts chemins d’origine A est donnée par les arcs en
traits doubles
Montrons que l’algorithme de Ford, qui est évidemment ini en l’absence de cir-
cuit absorbant, donne nécessairement un chemin de valeur minimale. En effet, soit
un chemin quelconque m 5 ( X0, Xk ,, Xk , 1, c, Xk 1, Xn 2 1 ) de X0 à Xn 2 1, on a avec
2
........................
l n 2 1 2 l k 1 < v ( Xk 1, Xn 2 1 ) ,
d’où, en additionnant membre à membre :
l n 2 1 < v ( X0, Xk, ) 1 v ( Xk,, Xk, 1 ) 1 c1 v 1 Xk1, Xn 2 1 2 :
2
108
4.2 Applications aux chemins optimaux
Méthode matricielle
Voici maintenant un algorithme qui permet d’obtenir les chemins de valeur minimale
entre toute paire de sommets du graphe : c’est le cas 3. Il est dû notamment à G.
Demoucron et a été publié indépendamment aux États-Unis par R. W. Floyd.
Après avoir numéroté les sommets de 1 à n (et non de 0 à n 2 1 comme ci-
dessus), poser :
v ( Xi, Xj ) si ( Xi, Xj ) H U
vrij 5 b
1` si ( Xi, Xj ) x U,
et mettre ces valeurs dans une matrice n 3 n, notée D0.
À chaque étape, k > 1, de l’algorithme, calculer :
109
Chapitre 4 • Applications des graphes à la recherche opérationnelle
1 2 3 4 5 6 1 2 3 4 5 6
1
3 8 6
1
3 8 5 9
2
2 6 2
2 6
D0 D1 3
1
D2 3
1
4
2
7 4
2
7
5
2 5
2
6
6
1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
1
3 8 5 9 1
3 7 5 8 12 1
3 7 5 8 10
2
2 6 2
4 2 5 9 2
4 2 5 7
D3 3
1 D4 3
1 D5 3
1 3
4
2 37 4
2 37 4
2 35
5
2 5
2 5
2
6
6
6
13 2 13 2 13 2 5 7 13 2 13 2 13 2 5 12
vr13 5 v14 1 v43 vr23 5 v24 1 v43
13 2 13 2 13 2 5 8 13 2 13 2 13 2 5 5
vr15 5 v14 1 v45 vr25 5 v24 1 v45
13 2 13 2 13 2 5 9 13 2 13 2 13 2 5 9
vr16 5 v14 1 v46 vr26 5 v24 1 v46
d’où :
142 142
v13 5 min 5 7, 8 6 5 7 v23 5 min 5 4, 1 ` 6 5 4
142 142
v15 5 min 5 8, 9 6 5 8 v25 5 min 5 5, 6 6 5 5
142 142
v16 5 min 5 12, 1 ` 6 5 12 v26 5 min 5 9, 1 ` 6 5 9
110
4.2 Applications aux chemins optimaux
1. Ce qui entraîne l’absence de circuit absorbant (de valeur , 0) dans une minimisation.
111
Chapitre 4 • Applications des graphes à la recherche opérationnelle
tandis que le sommet en cours de traitement est cerclé d’un ilet épais. Les arcs modi-
iant les valeurs li sont représentés en gras les sommets situés à gauche des traitillés
sont ceux dont le l est déinitif. Sur la dernière igure (en bas) les arcs en gras sont
ceux utilisés lors de la dernière modiication des valeurs li. En remontant ces arcs
nous obtenons l’arborescence des plus courts chemins issus du sommet A.
Arborescence des
plus courts chemins
(réduite ici à un chemin hamiltonien)
Le chemin de valeur minimale de A à C est :
(A, E, D, B, C) qui “coûte” λc = 6.
112
4.2 Applications aux chemins optimaux
traité est représenté en haut à gauche, après la phase d’initialisation. Pour chaque
itération, le sommet en cours de traitement est cerclé en épais et les arcs modiiant
les valeurs li sont représentés en gras. Sur la igure en bas à droite, les arcs en traits
doubles sont ceux utilisés lors de la dernière modiication des valeurs l1. En remon-
tant ces arcs nous obtenons un plus court chemin issu du sommet 1.
Remarque. Nous avons traité jusqu’à présent le cas des chemins de valeur
minimale ; nous allons voir que, dans quelques problèmes comme ceux
d'ordonnancement, ce sont, au contraire, les chemins de valeur maximale qui
importent.
113
Chapitre 4 • Applications des graphes à la recherche opérationnelle
1. Pour le moment, nous n’examinons pas comment cette décomposition est réalisée ; nous pou
vons, par exemple, nous borner à considérer toutes les tâches « élémentaires ».
115
Chapitre 4 • Applications des graphes à la recherche opérationnelle
des graphes. Ce sont la méthode américaine CPM (Critical Path Method), avec sa
variante, incluant d’éventuelles données aléatoires, PERT (Program Evaluation and
Review Technique ou Program Evaluation Research Task), d’une part, et la méthode
française des potentiels (MPM), d’autre part. Désormais, le sigle PERT a supplanté
celui de CPM, même en l’absence de données (durées) aléatoires.
Prenant en compte seulement les contraintes du type potentiel ou se ramenant à
ce type, les méthodes PERT ou MPM permettent :
– d’établir un ordonnancement, dès lors qu’aucune contrainte n’est contradictoire avec
une autre ; ce qui revient à calculer pour chaque tâche i sa date de début au plus tôt ti :
– de minimiser le temps total nécessaire à la réalisation de l’objectif : tel est le critère ;
– de déterminer les tâches critiques, c’estàdire celles dont l’exécution ne peut être
ni retardée ni ralentie, sans que la in de l’ensemble des travaux ne soit décalée du
temps correspondant.
– d’évaluer les marges des tâches non critiques.
Des méthodes ou algorithmes annexes permettent, en outre, certains paramétrages :
obtention du coût le plus bas par aménagement des tâches non critiques ; accélération
du programme initial au moindre coût par raccourcissement du temps d’exécution des
tâches critiques dont la compression temporelle revient relativement le moins cher ; etc.
La méthode PERT est très répandue en pratique, alors que la méthode des poten-
tiels est plus facile à mettre en œuvre.
Pour utiliser la méthode PErt, on construit un graphe orienté, sans boucle, dont les
sommets constituent des événements (étapes de la réalisation ou, si l’on veut, objectifs
intermédiaires, inconnus au départ) et les arcs représentent les opérations (tâches élé-
mentaires en lesquelles on a décomposé le processus de réalisation de l’objectif inal).
Les arcs étant valués par les durées d’exécution, il sera aisé, une fois le graphe tracé, de
rechercher, au moyen d’un algorithme approprié, le chemin de valeur maximale dans le
graphe et d’obtenir ainsi le (ou les) chemins(s) critique(s), comme nous le verrons dans
l’exemple ci-dessous, d’autant que – le plus souvent – il ne comporte pas de circuits.
Mais nous verrons que le tracé du graphe PERT peut comporter quelques dificultés.
La méthode des potentiels (MPM) repose sur un graphe différent, dont le tracé
est immédiat : les sommets représentent les opérations et les arcs, les contraintes ;
tout arc est valué par un nombre indiquant la durée minimale devant s’écouler entre
le début de la tâche associée à son extrémité initiale et celui de la tâche associée à son
extrémité terminale. En pratique, souvent ce graphe n’est pas tracé, il est simplement
représenté par une structure de données adaptée (liste des prédécesseurs). Contraire-
ment au PERT, ici tous les sommets et arcs sont connus au départ.
Nous examinerons sur un même exemple l’une et l’autre des méthodes.
116
4.3 Problèmes d’ordonnancement en gestion de projets
117
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Figure 4.13
Pour déterminer les dates attendues (au plus tôt) des divers événements, il sufit
d’examiner pour tout sommet (événement) la date la plus proche de réalisation (date
attendue), le début global des opérations étant supposé avoir lieu à la date 0 ; lorsqu’il
118
4.3 Problèmes d’ordonnancement en gestion de projets
existe plusieurs chemins entre deux sommets, la date attendue est évidemment celle
qui est obtenue en suivant le (ou les) chemin(s) de valeur la plus grande. Par exemple,
bien que l’impression des hors-texte puisse être achevée à 16 1 3 5 19, l’événe-
ment 10 n’aura lieu que lorsque les secondes épreuves du texte auront été tirées, ainsi
que celles des dessins ; sa date attendue, notée u10, est donc :
u 10 5 max 3 16 1 3, 16 1 3 1 1 1 2 1 1, 16 1 4 1 1 1 2 4 5 23,
ce qui revient à appliquer l’algorithme de Bellman transposé au cas d’une maximisation1.
L’exemple étant particulièrement simple, il n’y a aucune dificulté à obtenir la
date attendue (au plus tôt) de l’achèvement des opérations qui est u22 5 31,5. Pour
l’obtenir on a, en fait, déterminé les deux chemins de durée maximale du sommet 0
(début du projet) au sommet 22 (in du projet).
On remarquera, sur le graphe, l’emploi d’arcs de valeur 0 entre les événements 15
et 19, 15 et 21, 16 et 19, 16 et 20, 18 et 20, 18 et 21. En effet, les événements 15 et 21
ne peuvent être confondus : 15 représente la in du brochage, 21 le début de l’envoi
des exemplaires de presse, une fois achevée l’impression du prière d’insérer ; si l’on
confondait 15 et 21, l’arc t aboutirait à 15 et alors l’opération w, qui suit r et s, devrait
suivre également t, ce qui serait une contrainte étrangère au problème. Le lecteur exa-
minera pourquoi les autres sommets, où aboutissent des arcs de valeur 0, ne peuvent
pas être confondus. Ces arcs ne correspondent à aucune des opérations (on dit aussi :
« tâches ») du projet ; on dit qu’ils représentent des « opérations ictives » ou encore
des « tâches ictives ». Nous détaillons plus bas la question des tâches ictives.
le chemin critique (ou les chemins critiques, car il n’est pas nécessairement unique)
comporte les tâches qui, si elles subissaient un retard, retarderaient d’autant la date
attendue de l’achèvement du projet ( u22 5 31,5 ) . Il est jalonné par les événements (dits
critiques) dont la date attendue est égale à la différence entre la date attendue de l’évé-
nement suivant, sur le chemin critique, et la valeur de l’arc qui les relie. L’événement
« début des opérations » et l’événement « in des opérations » marquent évidemment le
début et la in du chemin critique. Tout arc dont la suppression rendrait le graphe PERT
non connexe fait nécessairement partie du chemin critique : par exemple, l’une quel-
conque des opérations a à d, ou encore l’opération m.
L’événement 22 étant sur le chemin critique, faisons les différences 31,5 2 1/2,
31, 5 2 1/8, 31,5 2 1/4, ain de remonter les arcs aboutissant à 21 ; seul l’événement
© Dunod – Toute reproduction non autorisée est un délit.
19 est tel que sa date attendue est égale à 31,5 2 1/2 5 31 ; il fait donc partie du che-
min critique. Continuons, avec 31 2 0 (événement 15) et 31 2 0 (événement 16) ;
seul l’événement 16, tel que sa date attendue est égale à 31 2 0 5 31, fait partie du
chemin critique. On remonte ainsi, de proche en proche, jusqu’au premier sommet du
graphe. Noter qu’en remontant à partir de l’événement 10, on doit calculer 23 2 1,
23 2 3, 23 2 2, pour voir si les dates attendues coïncident avec celles des événe-
ments 7,4 et 9 : or, 23 2 1 5 22, date attendue de l’événement 7 et 23 2 2 5 21,
119
Chapitre 4 • Applications des graphes à la recherche opérationnelle
date attendue de l’événement 9 : le chemin critique a donc deux branches. Ses arcs
sont igurés par un trait double dans la Fig. 4.13.
Nous devrions ici revenir sur la signiication pratique de la notion de chemin
critique ; nous verrions alors que, dans le problème proposé, il existe des chemins
« presque critiques », surtout vers la in de l’ensemble des opérations ; nous consta-
terions probablement que le découpage en tâches que nous avons réalisé doit être
revu : comme nous l’avions annoncé précédemment, nous avons simplement consi-
déré la liste de toutes les opérations « élémentaires » ; cette méthode peut conduire à
des dificultés si l’on a des tâches de durée très inégale (exemple : 12 et 1/8, c’est-à-
dire dans un rapport de 1 à 100) ; pour cette raison, il convient souvent, en pratique,
de regrouper certaines tâches, de façon à obtenir des durées du même ordre.
L’une des dificultés, déjà signalée plus haut, du tracé du graphe PERT réside
dans le fait que l’on peut être amené à y introduire des tâches ictives, pour traduire
correctement les contraintes, sans introduire de contraintes étrangères au problème
et donc risquant de le fausser. Ainsi, pour l’exemple ci-dessous :
Tâches Contraintes Durée
(opérations) (en jours)
A peut débuter au moins 5 jours après l’origine 16
B peut débuter dès l’origine 14
C peut débuter au moins 3 jours après l’origine 20
D A, B inis 8
E B ini 18
F B, C inis 25
G D, E, F inis 15
H E ini ; C à moitié ini 17
I D, E, F inis 10
La dificulté vient ici du fait que la tâche B est préalable à la fois à D, Ε et F, mais
pas en compagnie des mêmes tâches : B et A précèdent D ; B seule précède Ε ; mais B et
C précèdent F ; il convient alors de ne pas réunir l’événement « in de B » avec d’autres
événements, et de igurer un arc du sommet « in de B » vers le sommet « début de
D » (tracé en pointillés ci-dessous) ; de même, on a iguré un arc du sommet « in de
B » vers le sommet « début de F » ; tout se passe comme si l’on avait une tâche ictive,
notée w3, de durée nulle, pouvant commencer lorsque B est inie, et préalable au début
de D (et une tâche ictive w4 préalable à F).
De même, dans la liste des contraintes, si l’on remarque que D et F sont préa-
lables au démarrage des tâches G et I, il convient de remarquer que la tâche Ε pose
le même type de problème que la tâche B ci-dessus : elle intervient, certes, conjoin-
tement avec D et F, comme préalable à G et I ; mais Ε intervient avec la in de la lère
moitié de C, comme préalable à H : pour éviter l’introduction de contraintes étran-
gères au problème, il convient de laisser l’événement « in de C » libre, c’est-à-dire
de ne pas le fusionner avec d’autres événements.
120
4.3 Problèmes d’ordonnancement en gestion de projets
Enin, on observe que les tâches G et I ont les mêmes préalables : D, Ε et F, elles-
mêmes, sont préalables à un même événement (ici, la in du projet). Si l’on ne prenait
pas de précaution, on les tracerait ainsi :
Figure 4.14
À gauche, la représentation est mauvaise : on a iguré deux arcs du sommet k vers le
sommet ,, ce qui est impossible dans un graphe. En pratique, d’ailleurs, une tâche sera
désignée par le couple : numéro du sommet « début » de cette tâche puis numéro du
sommet « in » de cette tâche, soit ici (k,,) ; si l’on adoptait la représentation de gauche,
alors G et I seraient homonymes, puisque toutes deux désignées par le même couple
(k, ,). Pour « casser » cette homonymie, il convient d’ajouter un sommet supplémen-
taire : m, qui sera soit le début de G soit la in de G, ou le début de I ou la in de I, et
une tâche ictive w8 de durée nulle du sommet m vers le sommet ,. Sur la igure 4.14 à
droite, on a choisi, arbitrairement, de prendre la in de G comme sommet m ; on a alors :
m 5 9 et , 5 11.
Enin, notons que pour représenter les contraintes « A ne peut débuter qu’au moins
5 jours après l’origine », de même que « C ne peut débuter qu’au moins 3 jours après
l’origine », on a introduit deux tâches ictives de durée non nulle, respectivement du
sommet « début » vers le sommet « début de A » (w1, durée 5) et vers le sommet
« début de C » (w2, durée 3). Le lecteur notera donc que la durée d’une tâche ictive
n’est pas nécessairement nulle.
Voici un graphe PERT représentant le projet décrit, (et évitant l’introduction
de contraintes étrangères au problème, ce qui pourrait, évidemment, en fausser la
résolution) :
© Dunod – Toute reproduction non autorisée est un délit.
Figure 4.15
121
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Figure 4.16
Dans la recherche du (ou des) chemin(s) critique(s) par la méthode MPM, il sufit
pour « calculer » un sommet (c’est-à-dire déterminer la date au plus tôt de l’opéra-
tion (tâche) associée à ce sommet), de connaître quels sont les prédécesseurs de ce
sommet.
Aussi, pour ce calcul, peut-on s’affranchir du tracé du graphe MPM, que l’on
représente alors sous forme d’un tableau de prédécesseurs : à chaque opération k
correspond une colonne du tableau, dans laquelle on inscrit les opérations qui doivent
précéder immédiatement k ; on indique aussi, en regard de chacune de ces opérations
préalables, sa durée. On ajoute à la liste des opérations, l’opération « début » (notée ici
D) et l’opération in (notée F). Quand une opération , n’est précédée par aucune autre
122
4.3 Problèmes d’ordonnancement en gestion de projets
Passons au calcul des dates au plus tôt de début des tâches et à l’obtention des
tâches critiques. La date de démarrage du projet est tD 5 0.
On a donc écrit 0, en face (à gauche) de D, dans la sous-colonne correspondant
aux opérations qui comportent un D. Comme il y a sûrement au moins une opération
qui comporte un D (et seulement un D) dans sa colonne, on a immédiatement une
colonne « complète », c’est-à-dire dont la colonne et la sous-colonne sont remplies :
ici il s’agit de la colonne a ; on fait la somme des chiffres inscrits dans la colonne
et la sous-colonne et l’on obtient : 0 1 0 5 0 ; on en déduit que la date de début de
l’opération a est 0 et l’on écrit cette valeur en tête de colonne à gauche de a. Ensuite,
partout où apparaît un a, on marquera 0 dans la sous-colonne correspondante, à
© Dunod – Toute reproduction non autorisée est un délit.
gauche de a. Ici, on opère ainsi dans la colonne b : on a ainsi une nouvelle colonne
« complète » et l’on inscrit 0 1 1 5 1 en tête de la colonne à gauche de b, et ainsi
de suite.
On arrivera fatalement (sauf en cas de graphe linéaire, où toutes les opérations
se suivraient sur un seul chemin mais alors, il n’y aurait pas de problème !), à une
colonne où igurent plusieurs opérations préalables. Lorsque la colonne est « com-
plète », au sens ci-dessus, on fait les additions des nombres inscrits sur la même ligne
dans la colonne et la sous-colonne et l’on inscrit, en tête de colonne, le maximum des
résultats obtenus. Ainsi, pour la colonne m, on a, sur la ligne g : 16 1 3 5 19, sur la
ligne j : 21 1 2 5 23 et sur la ligne , : 22 1 1 5 23. On inscrit donc 23 en tête de
123
Chapitre 4 • Applications des graphes à la recherche opérationnelle
colonne à gauche de m ; 23 est la date la plus proche (“au plus tôt”) à laquelle peut
commencer l’opération m.
En continuant ainsi, on arrive à marquer la colonne F ; le nombre qui est indiqué
en tête de cette colonne indique la date au plus tôt d’achèvement de l’ensemble des
opérations, c’est-à-dire la durée minimale du projet. Pour trouver le chemin critique,
il sufit de reprendre dans le tableau, et en partant de la in, les opérations enchaînées
dont la ligne a fourni le nombre indiqué en tête de colonne. Ainsi, dans la colonne F,
c’est w ; dans la colonne w, c’est s ; dans la colonne s, c’est q ; etc.
Le graphe MPM illustre le problème de façon parfaite, mais on se rend bien
compte qu’il n’est pas du tout nécessaire de le tracer pour résoudre le problème.
k m n
12 j : 5 k:2 :3 m:4
m:4
Figure 4.17
124
4.3 Problèmes d’ordonnancement en gestion de projets
Figure 4.18 En comparant avec le graphe PERT initial, on constate que de grandes
modifications ont dû lui être apportées...
Pour reprendre le même problème par la méthode des potentiels MPM, il sufit de
remplacer ou ajouter quelques chiffres dans le tableau :
© Dunod – Toute reproduction non autorisée est un délit.
Figure 4.19 En comparant avec le graphe MPM initial, on voit que l’on a ajouté seulement
quelques arcs (en pointillés) et modifié quelques durées.
125
Chapitre 4 • Applications des graphes à la recherche opérationnelle
u *i
La date au plus tard, notée pour l’événement i, est égale, pour tout événement
(sommet) i d’un chemin critique ζ, à la date au plus tôt : u *i 5 u i, si iPz .
En dehors d’un chemin critique, les dates au plus tard se calculent par la formule :
u *i 5 min 3 u *j 2 dij 4 .
jPG 1 (i)
Le calcul fait apparaître une notion très intéressante ; il est bien clair qu’une tâche
non critique (i, j) peut, au contraire, soit débuter après la date ui marquant son début
possible au plus tôt, soit être exécutée plus lentement que prévu. Ainsi, la tâche (4,
10) peut commencer à u 4 5 16, mais elle ne dure que 3. On peut donc, si on le désire,
soit ne la commencer qu’à la date 20 (date limite, « au plus tard » de son début,
soit u *4), c’est-à-dire décaler son début de 4, soit allonger sa durée de 4 (puisque
u 4 1 3 1 4 5 u *10). Dans les deux cas, cette tâche deviendrait alors critique.
1. Si l’on avait affaire à des contraintes telles que « la tâche B doit s’enchaîner sans délai avec la
tâche A » ou « D commence au plus tard 6 jours après la in de C », le graphe comporterait un cir
cuit et un (ou des) arc(s) de valeur négative. Il conviendrait alors d’employer l’algorithme de Ford.
L’ordonnancement ne serait possible que si le graphe ne comportait pas de circuit absorbant.
126
4.3 Problèmes d’ordonnancement en gestion de projets
On dit que sur la tâche (opération) (4, 10), on bénéicie d’une marge libre de 4.
La marge libre mij de l’opération (i, j) est déinie par : mij 5 u j 2 1 u i 1 dij 2 .
Les marges libres jouent un grand rôle dans le paramétrage des ordonnancements.
En effet, on peut vouloir ralentir l’exécution d’une opération non critique, ain de
la rendre moins coûteuse, mais on ne peut pas allonger la durée d’une opération
au-delà de la marge libre sans modiier les dates au plus tôt (et donc les marges
libres) des opérations ultérieures. On ne dispose de la totalité de la marge libre
mij pour l’opération (i, j) que si les opérations qui lui sont préalables ont effecti-
vement commencé à leur date au plus tôt. Remarquons que la marge libre d’une
opération, si elle est nulle le long du chemin critique, peut être nulle sans que pour
autant cette opération soit critique. Ainsi, pour l’opération p, notée (11, 17) dans
le graphe PERT de la igure 4.13, on a : m11, 17 5 26 2 1 25 1 1 2 5 0. En effet, la
marge libre apparaît comme la « réserve de temps » dont on dispose sur une tâche
qui permet – si elle est consommée – de ne pas retarder les dates au plus tôt des
tâches ultérieures : il s’agit donc d’une interprétation bien restrictive de la notion de
marge ; c’est pourquoi les spécialistes utilisent aussi d’autres marges.
La marge totale de l’opération (i, j) est par déinition : Mij 5 u *j 2 1 u i 1 dij 2 : c’est
la réserve de temps sur l’opération (i, j) qui – si elle est consommée – fait que (i, j) se
terminera à sa date au plus tard, c’est-à-dire que l’opération deviendra critique lors
de l’exécution du projet. L’opération (i, j) ne pourra bénéicier effectivement de la
marge totale Mij, que si les dates au plus tôt 1 u k 2 des événements préalables à (i, j) ont
été respectées : les marges totales ne sont donc pas indépendantes. Par exemple, pour
l’opération non critique p 5 1 11, 17 2 , on a : M11, 17 5 30,75 2 ( 25 1 1 ) 5 4,75 ;
de même pour t 5 1 17, 18 2 , on a : M17, 18 5 31,25 2 ( 26 1 0, 5 ) 5 4,75. Si l’on
retarde, lors de l’exécution, la tâche p de 4,75 (quinzaines), alors l’opération t n’a
plus de marge et devient critique !
Passons maintenant à la méthode mPm. Le calcul des dates de début au plus
tôt (ti), au plus tard (t*i ) et celui de la marge libre (mi) et totale (Mi) pour l’opération
(ou tâche) i se pratique de manière analogue.
• Pour les dates au plus tôt : tj 5 max 3 ti 1 vij 4 , où vij est la valuation de l’arc (i, j) ;
iPG 2 (j)
le plus souvent on a simplement : vij 5 di (durée de la tâche i).
• Pour les dates au plus tard on a t*i 5 ti si la tâche i est critique, et t*i 5 min 3 t*j 2 vij 4
© Dunod – Toute reproduction non autorisée est un délit.
1
jPG (i)
sinon,
la marge libre mi vaut : mi 5 c min 3 tj 2 vij d 2 ti
jPG2(i)
127
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Pour les dates au plus tard, il vient : t*t 5 30,75 et t*p 5 29,75. (rappel : tp 5 25).
D’où la marge totale : Mp 5 29,75 2 25 5 4,75. On a, bien sûr, retrouvé les
mêmes valeurs que celles obtenues dans la méthode PERT.
128
4.4 Problème du flot de valeur maximale
129
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Certains arcs u sont tels que w 1 u 2 5 c 1 u 2 : on dit qu’ils sont « saturés » ; plus
bas (ig 4.22 à 4.24) ils sont tracés en trait gras épais. Les autres sont une « capacité
résiduelle » : c 1 u 2 2 w 1 u 2 , non nulle.
Donnons la déinition suivante : une chaîne améliorante est une chaîne élémen-
taire m 5 1 x1, c, xp 2 d’origine O 5 x1 et d’extrémité P 5 xp, telle que aucun arc
direct (un arc direct1 est un arc ( xi, xi 1 1 ) de la chaîne tel que l’arc ( xi, xi 1 1 ) est un
arc du graphe, alors que pour un arc indirect de la chaîne, c’est l’arc de sens opposé
( xi 1 1, xi ) qui est un arc du graphe) de cette chaîne ne soit saturé (la quantité de lux
associée est strictement inférieure à la capacité de l’arc) et que les lux des arcs indi-
rects soient strictement positifs. L’algorithme de Ford-Fulkerson est alors :
1. tant qu’il existe m, une chaîne améliorante, faire
2. augmenter le lux sur m
En fait, Ford et Fulkerson ont donné une procédure de marquage permetttant de
trouver une chaîne améliorante m (si elle existe) : nous la détaillons plus bas.
On montrera aussi plus loin que, lorsqu’il n’existe plus de chaîne améliorante, le
lot est optimal (de valeur maximale).
L’opération consistant à augmenter le lux sur une chaîne améliorante C s’énonce
de la manière suivante :
1. calculer d 1 5 min 5 cu 2 wu 6 , où u est un arc direct de C ; nécessairement :
d 1 . 0 car aucun arc direct n’est saturé.
2. calculer d 2 5 min 5 wu 6 , où u est un arc indirect de C ; nécessairement : d 2 . 0
car aucun arc indirect n’a son lux nul.
3. poser d 5 min 5 d 1, d 2 6 ; nécessairement : d . 0 car d 1 et d 2 sont positifs.
4. pour tout arc direct u faire : wu d wu 1 d
5. pour tout arc indirect u faire : wu d wu 2 d
La procédure de marquage suivante, due à Ford et Fulkerson, permet de détermi-
ner une chaîne améliorante si le lot courant n’est pas optimal :
1. initialement la source Ο est « marquée » du signe 1 et les autres sommets sont
« non marqués »
2. tant que cela est possible, choisir un sommet x non marqué vériiant l’une des
deux déinitions 3 ou 4 suivantes :
3. si y est extrémité initiale d’un arc (x, y) tel que x est déjà marqué et y non marqué,
avec φ(x,y) < c(x,y), c’est-à-dire que (x, y) est non saturé, marquer +x le sommet y
4. si x est extrémité initiale d’un arc (x, y) tel que y est déjà marqué et x non
marqué, avec φ(x,y) > 0, c’est-à-dire de flux non nul, marquer −y le sommet x
5. En fin de marquage : si le puits p est marqué, alors le flot courant est améliorable.
Si le puits p n’est pas marqué, il n’existe pas de chaîne améliorante et le lot
courant est optimal.
1. Autrement dit, si l’on parcourt la chaîne de Ο vers P, les arcs directs sont parcourus dans le sens
de leur orientation, tandis que les arcs indirects (ou « rétrogrades ») sont parcourus en sens inverse
de leur orientation.
130
4.4 Problème du flot de valeur maximale
On peut remarquer que l’on ne peut pas améliorer trivialement la valeur du lot
courant : tout chemin de O vers P comportant au moins un arc saturé (on dit alors
que le lot est « complet »).
Appliquons la procédure de marquage des sommets : l’initialisation consiste à mar-
quer O d’un 1 ; puis A, extrémité terminale de l’arc (Ο, A), non saturé, est marqué du
signe 1O ; E, extrémité terminale de l’arc (A, E), non saturé, est marqué 1A ; B, extré-
mité initiale de l’arc (B, E), transportant un lot non nul, est marqué 2E ; D, extrémité
terminale de l’arc (B, D), non saturé, est marqué 1B ; enin, P, extrémité terminale de
l’arc non saturé (D, P), est marqué 1D : le lot courant n’est donc pas un lot de valeur
maximale.
Considérons alors la chaîne améliorante [O, A, E, B, D, P] : on l’obtient à partir
du puits Ρ en remontant le chaînage arrière contenue dans les marques. En effet p(P)
© Dunod – Toute reproduction non autorisée est un délit.
5 D, puis p(D) 5 B, puis p(B) 5 E, puis p(E) 5A et enin p(A) 5 O, où p(Y ) est le
prédécesseur de Y sur la chaîne améliorante.
131
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Si nous désirons améliorer le lot, il faudra augmenter les lux transportés par
(O, A), (A, E), (B, D) et (D, P) (les arcs de la chaîne améliorante qui ont donné lieu à un
marquage 1), mais il faudra diminuer d’autant le lux transporté par (B, E) (arc de la
chaîne améliorante ayant donné lieu à un marquage -), de manière qu’aux sommets A,
Ε, B et D, la loi Kirchhoff continue d’être respectée. Nous voyons immédiatement que
l’on ne peut diminuer le lot de (B, E) que de 5 1/s ; par conséquent, nous ne pouvons
augmenter les lux de chacun des autres arcs que de 5 1/s et c’est possible parce que la
différence entre la capacité et la quantité transportée est supérieure à 5 pour tous ces
arcs (il sufirait qu’elle soit égale) : le calcul donne d 1 5 10 et d 2 5 5. D’où d 5 5.
Effectuons cette modiication sur le lot ci-dessus ; pour les arcs directs :
ru 5 u 1 d et pour l’arc indirect : ru 5 u 2 d ; on obtient la igure 4.24. On
obtient un nouveau lot f9, de valeur V ( f9 ) 5 85. Appliquons la procédure de
marquage à ce nouveau lot ; on ne peut pas marquer le puits P : le lot obtenu est de
valeur maximale. Si l’on voulait satisfaire toutes les demandes, on pourrait augmen-
ter le débit maximal de la canalisation AD d’au moins 5 1/s.
Bien que nous ne donnions que plus loin la démonstration de l’algorithme, nous
allons déjà nous rendre compte qu’il conduit bien à une solution optimale. Considérons
une ligne fermée (ou coupe), à l’intérieur de laquelle sont tous les sommets marqués.
Vers l’extérieur de cette courbe ne sortent que des arcs saturés (NB : l’arc (B, D) ayant
son extrémité initiale et son extrémité terminale à l’extérieur de la courbe, ne doit être
considéré ni comme arc sortant, ni comme arc entrant) ; vers l’intérieur de cette courbe
ne pénètrent que des arcs de lux nul, ici un seul (l’arc (B, E)). Il est évidemment impos-
sible de faire sortir un lot de valeur supérieure à celui qui est indiqué, puisque tous les
arcs sortants sont saturés et qu’il est impossible de réduire le lot entrant, puisqu’il est nul.
Comme la courbe contient la source O, c’est bien le lot maximal qui part de la source.
NB. Sur cet exemple, l’optimum est obtenu en une seule itération. Bien entendu,
dans le cas général, il peut y en avoir plusieurs.
132
4.4 Problème du flot de valeur maximale
cité cet arc et wij est son lux. Les contraintes que doivent respecter un lot sont les
suivantes :
1. pour tout arc (i, j), on a : 0 < wij < cij
2. pour tout sommet i 2 s, p, on a : a wji 5 a wij (loi de Kirchhoff).
jHG 2 (i) jHG 1 (i)
i HS, i 2s
50
La source s n’ayant pas de prédécesseur A a wjs 5 0B, il vient :
V ( F ) 5 a wij 2 a wji
i HS i HS
133
Chapitre 4 • Applications des graphes à la recherche opérationnelle
On en déduit, en raisonnant par l’absurde, que s’il existe une coupe S* et un lot
f tels que : C ( S* ) 5 V ( f* ) , alors f* est un lot de valeur maximale et S*, une coupe
*
de capacité minimale.
Nous sommes maintenant en mesure de montrer le théorème de Ford-Fulkerson
qui s’énonce de la façon suivante :
Dans tout réseau de transport, la capacité minimale des coupes est égale à la
valeur maximale des lots.
Soit le dernier lot obtenu par appplication de l’algorithme, pour lequel il
n’existe donc pas de chaîne améliorante. Nous avons déjà observé que dans ce cas,
après l’application de la procédure de marquage, p n’est pas marqué. Considérons
alors S l’ensemble des sommets marqués. s étant marqué, et p n’étant pas marqué,
l’ensemble S et son complémentaire S (les sommets non marqués) sont non vides et
déinissent bien une coupe. Tout arc (i, j) avec i H S, j x S est nécessairement saturé,
c’est-à-dire nous avons wij 5 cij car, sinon, j aurait été marqué. D’autre part, pour
tout arc (j, i) avec j x S, et i H S, on a nécessairement wji 5 0, puisque j n’a pas été
Figure 4.25 À gauche, un flot F avec 4 arcs saturés ; à droite GFe le graphe d’écart associé
D’autre part il est aisé de constater qu’à une chaîne améliorante pour R corres-
pond un chemin de la source au puits dans GFe et réciproquement. Ainsi un lot est
maximal si et seulement si il n’existe pas de chemin de s à p dans GFe .
1. Par abréviation, nous appelons ici lot maximal, tout lot de valeur maximale.
135
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Soit l’arc (i, j) du réseau de transport ; dans le graphe d’écart GFe le coût de l’arc
(i, j) (qui existe si wij , cij) est 1pij et celui de l’arc (j, i) (qui existe si wij . 0) est
2pij. La igure 4.25 illustre cette construction ; le réseau de transport et le lot sont
représentés à gauche, le graphe d’écart correspondant est à droite.
Nous allons maintenant donner, sans le démontrer, le théorème de Roy fournis-
sant une condition nécessaire et sufisante d’optimalité : un lot est de coût mini-
mal parmi les lots de valeur v ( f) , si et seulement si il n’existe pas de circuit de coût
strictement négatif dans GFe .
(NB. : ce théorème est énoncé pour tout lot , n’est donc pas nécessairement
de valeur maximale.)
Pour le lot maximal de coût 20 considéré dans la igure 4.25, le circuit (A, S, B,
A) est de coût 25 : en vertu du théorème précédent, ce lot n’est donc pas de coût
minimal. En effet le lot maximal représenté dans la igure 4.26 est de coût 15. Ce
dernier lot est maximal car son graphe d’écart ne comporte pas de chemin de S à P.
(NB : les coûts des circuits du graphe d’écart associé sont alors positifs ou nuls).
Nous allons donner un algorithme calculant un lot maximal de coût minimal dû à
B. Roy puis, indépendamment, à R. Busacker et P. Gowen. Comme dans l’algorithme
présenté pour la recherche d’un lot de valeur maximale, à chaque étape de l’algo-
rithme un lot est calculé à partir d’un lot F9 en utilisant une chaîne améliorante
(cf 4.4.1). Le choix de la chaîne améliorante utilisée fait que le graphe d’écart GeF
associé n’a pas de circuit de coût strictement négatif. Cet algorithme est le suivant :
1. initialement F 5 ( 0, c, 0 ) ; GFe 5 R car on part du lot nul : wij 5 0 pour tout
arc (i, j) ;
2. tant qu’il existe un chemin de s à p dans GFe faire
3. déterminer C, un chemin de coût minimal de s à p
4. modiier le lux sur tout arc (i, j) de C : si d 5 min rij, le lux est augmenté de
1 i, j 2 HC
d si (i, j) est un arc du réseau de transport ; le lux est diminué de d si (j, i) est
un arc du réseau de transport.
5. tracer le graphe d’écart GFe du lot ainsi modiié.
136
4.5 Flot de valeur maximale à coût minimal
Remarquons enin, en revenant au problème de lot de valeur maximale, que l’on peut
aisément reformuler l’algorithme de FordFulkerson en termes de graphe d’écart :
soit (0) le lot initial.
1. Poser d 102. Pour tout arc u 5 (x, y) du réseau de transport, poser v(u)
d w (x, y ).
2. Construire le graphe d’écart Ge() (comme dans le Fig. 4.25).
3. Tant que Ge() comporte un chemin de s vers p
© Dunod – Toute reproduction non autorisée est un délit.
137
Chapitre 4 • Applications des graphes à la recherche opérationnelle
138
4.6 Problèmes d’affectation
A 1 2 3 4 5
choisir un chiffre et un seul par ligne
B 1 4 2 5 3 et par colonne, de manière à ce que la
C 3 2 1 5 4 somme des cinq chiffres choisis soit
minimale (si chacun pouvait obtenir
D 1 2 3 5 4 le poste qu’il a classé n° 1, la somme
E 2 1 4 3 5 minimale serait 5) ; mais c’est ici
impossible : trois personnes ont classé
Tableau 4.1 le poste a en premier.
On ne change pas le problème en soustrayant, ligne par ligne, puis colonne par
colonne, le plus petit élément de la ligne ou de la colonne (ceci se prouve aisément).
139
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Si l’on pouvait, dans le tableau 4.3 ainsi obtenu, choisir un zéro par ligne et par
colonne, on aurait déjà la solution, mais ce n’est pas possible.
De plus, nous savons déjà que le « coût » de l’affectation ne sera pas inférieur à
9 (somme des chiffres ôtés aux différentes rangées pour faire apparaître un zéro par
ligne : 5, puis par colonne : 4, cf tableaux 4.2 et 4.3).
Remarque. Le lecteur pourrait être tenté par l’énumération des solutions (qui,
ici, demeurerait envisageable puisque 5 ! 5 120). Mais il devra se souvenir
que 10 ! atteint déjà 3 628 800 et qu’il faudrait plus de quatre millions de
siècles pour énumérer, à la vitesse d’un million de permutations par seconde,
les affectations possibles sur un Tableau 25 3 25 (cf. chapitre 2 sur la com-
plexité). L’algorithme hongrois, exposé ci-dessous, permet de résoudre le pro-
blème en un temps raisonnable (même pour la dimension n 5 100).
a b c d e a b c d e
A 0 1 2 3 4 A 0 1 2 1 2
B 0 3 1 4 2 B 0 3 1 2 0
C 2 1 0 4 3 C 2 1 0 2 1
D 0 1 2 4 3 D 0 1 2 2 1
E 1 0 3 2 4 E 1 0 3 0 2
140
4.6 Problèmes d’affectation
Figure 4.32
Par suite, (O, A), (O, B), (O, C) et (Ο, E), d’une part, (a, S), (b, S), (c, S) et
(e, S), d’autre part, sont aussi saturés. La procédure de marquage permet de marquer
seulement : O (+), D (+O), a (+D) et A (–a).
S n’est pas marqué ; nous avons donc bien un lot maximal, ce qui veut dire que,
quels que soient les choix des zéros sur le tableau 4.3, nous n’arriverons pas à affec-
ter plus de quatre zéros.
Pour résoudre le problème, nous devons maintenant avoir recours à la méthode
hongroise.
a b c d e Reprenons le tableau 4.4 où on a mentionné
A 0 éga lement les zéros que nous avons dû éliminer
pour les choix ultérieurs, par suite d’une affecta-
B 0 0
tion d’un autre zéro sur la même ligne ou la même
C 0 colonne : ces zéros seront dits : zéros barrés ; les
D 0 zéros affectés seront dits : zéros encadrés. La
transposition du marquage de Ford-Fulkerson à
E 0 0 ce tableau (zéro « barré » : arc de lux nul ; zéro
« encadré » : arc saturé) fournit (cf Tab. 4.5) :
Tableau 4.4
a) marquer 1 toute une ligne n’ayant pas de zéro
encadré (ici la ligne D) ;
a b c d e
b) marquer ensuite 1 toute colonne ayant un zéro
A 0 barré sur une ligne marquée (ici la colonne a) ;
© Dunod – Toute reproduction non autorisée est un délit.
141
Chapitre 4 • Applications des graphes à la recherche opérationnelle
les sommets x tels qu’il existe un arc (x, y) de lux non nul (donc ici saturé puisque tous
les arcs ont pour capacité 1), si y est déjà marqué ; ici on a marqué – le sommet A.
Cette correspondance est détaillée plus bas : sur les graphes des igures 4.33
et 4.34.
Traçons alors un trait sur les lignes non mar-
a b c d e quées et les colonnes marquées (tableau 4.6). Le
A 0 1 2 1 2 sous-tableau restant comprend les cases asso-
B 0 3 1 2 0 ciées aux arcs « utiles » c’est-à-dire tels que, si
l’un d’eux était ajouté au graphe précédent, on
C 2 1 0 2 1 pourrait marquer de nouveaux sommets. Consi-
D 0 1 2 2 1 dérons le plus petit nombre du tableau restant :
retranchons-le de tous les éléments non rayés et
E 1 0 3 0 2 ajoutons-les aux éléments rayés deux fois (tableau
4.7). Cela revient à ajouter au graphe le (ou les)
arc(s) « utile(s) » de plus faible coût : il y a en
Tableau 4.6
quatre ici, ceux de coût 1 (tableau 4.6), dans le
tableau restant. On obtient alors le tableau 4.7.
a b c d e Sur le tableau 4.7, il est maintenant possible
d’affecter un zéro par ligne par colonne, et cela
A 0 0 1 0 1 de trois manières différentes qui constituent les
B 1 3 1 2 0 solutions équivalentes du problème, en ce sens
qu’elles donnent toutes, en revenant au tableau
C 3 1 0 2 1
4.1, la somme (coût) 10.
D 0 0 1 1 0
On remarquera que le coût de 10 correspond
E 2 0 3 0 2 bien à la somme de la borne inférieure 9 trouvée pré-
cédemment, et du plus petit élément soustrait pos-
Tableau 4.7 térieurement au tableau. Plus généralement, soit g
la borne du coût lors d’une itération quelconque ;
notons XM les sommets marqués du premier niveau et YM , ceux du second niveau.
On montre que la borne inférieure du coût passe de g à g 1 a ( Card XM 2 Card YM )
où a est le plus petit coût du « tableau restant », c’est-à-dire du sous-tableau dont les
lignes sont marquées (XM) et dont les colonnes ne sont pas marquées ( Y M ) ; le lecteur
pourra prouver que nécessairement on a : Card XM . Card YM.
Au cas où le Tableau 4.7 n’aurait pas fourni la solution, il aurait fallu reprendre l’algo-
rithme, après avoir affecté le plus possible de zéros, (ce que l’on vériie en résolvant un
problème de lot maximal comme ci-dessus), à la procédure de marquage, et ainsi de
suite jusqu’à l’obtention de la solution (qui nécessite en général plusieurs itérations).
Une solution optimale consiste à affecter : A à a ; B à e ; C à c ; D à b et Ε à d. Elle
a pour coût 10.
Telle est la méthode hongroise, à laquelle on a donné ce nom en souvenir de deux
mathématiciens hongrois, Egervary et König, qui ont contribué, avec Kuhn, à en
fonder la théorie.
142
4.6 Problèmes d’affectation
La igure 4.34 présente la situation de telle sorte qu’il est visible que, pour
résoudre le problème, il importe de trouver l’arc de moindre coût (ou un arc de
moindre coût) entre l’ensemble des sommets marqués du premier niveau, soit ΧM, et
l’ensemble des sommets non marqués du second niveau, soit Y M : on vise à effectuer
une augmentation du lot en utilisant cet arc (ou l’un de ces arcs) par une progression
du marquage.
En regroupant le tableau des coûts sous la forme correspondant à la igure 4.34,
on obtient le tableau 4.8. On voit que l’on ne change rien à la situation existant entre
les sommets marqués si l’on soustrait le plus petit élément des éléments non rayés
de la matrice et si on l’ajoute aux éléments
YM YM rayés deux fois. En effet, dans les cases
(A, a) et (D, a), le coût demeurera 0.
XM
A 0 1 2 1 2 1
D 0 1 2 2 1 1
zéro entre l’ensemble des sommets mar-
qués du premier niveau et l’ensemble des
sommets non marqués du second niveau ;
B 0 3 1 2 0 ce sont les arcs : (A, b) ; (A, d) ; (D, b) ;
XM C 2 1 0 2 1 (D, e).
E 1 0 3 0 2 Les échanges concernant le lot les plus
1 simples sont les suivants (au choix) :
1) faire circuler un lux saturant de 1 sur
Tableau 4.8
(A, d), saturant (d, S) ; faire circuler un lux
saturant de 1 sur (O, D) et saturer (D, a) ;
143
Chapitre 4 • Applications des graphes à la recherche opérationnelle
2) ou bien faire circuler un lux saturant de 1 sur (O, D) et saturer (D, b), reporter
le lux saturant de 1 de (E, b) à (E, d), ce qui sature (d, S).
3) Une troisième possibilité nous est offerte : Saturer (A, b) et (O, D) ; acheminer
le lux de (O, D) sur (D, a) ; enin reporter le lux de (E, b) à (E, d), ce qui sature (d, S).
L’arc (D, e) ne permet pas de modiication intéressante, car le coût de l’arc (B, d) est
2 et non 0.
On a donc 3 solutions (de coût 10) : [A-a, B-e, C-c, D-b, E-d] ou
[A-b, B-e, C-c, D-a, E-d] ou [A-d, B-e, C-c, D-a, E-b].
Remarques.
1. Le lecteur pourra constater l’analogie de cette méthode avec l’algorithme
de Roy (Busacker-Gowen) présenté au paragraphe 4.5. En effet, un pro-
blème d’affectation à coût minimal peut être modélisé par un problème de
lot maximal de coût minimal. Le réseau de transport associé au problème
d’affectation est obtenu comme ci-dessus (ig. 4.32) de la façon suivante : la
source Ο du réseau a pour successeurs les sommets correspondant aux lignes
du tableau, le puits S a pour prédécesseurs les sommets correspondant aux
colonnes ; tout sommet correspondant à une ligne a pour successeurs tous
les sommets (qui correspondent aux colonnes) ; ainsi à toute case du tableau
correspond un arc dans le réseau de transport ; les capacités des arcs valent
toutes 1 ; les coûts unitaires associés aux arcs sont les suivants : 0 pour les
arcs ayant la source Ο pour origine ou le puits S pour extrémité ; le coût
pij associé à l’arc (i, j) est le coeficient de la case situé sur la ligne i et la
colonne j du tableau initial des coûts.
L’affectation partielle donnée dans le tableau 4.4 correspond au lot repré-
senté par la igure 4.32. Ce lot est obtenu après 4 itérations de l’algorithme
de Roy (Busacker-Gowen). À chacune de ces itérations, le chemin de coût
minimal dans le graphe d’écart était de coût 0. À cette étape, le lot de valeur
4 n’est pas maximal. Le chemin de coût minimal dans le graphe d’écart, cor-
respondant au lot représenté par la igure 4.32, est le chemin (O, D, b, E, d,
P) de coût 1. Le lot suivant est alors de valeur maximale 5 et de coût mini-
mal 10. Ce lot correspond à l’affectation représentée dans le tableau 4.7
2. La démonstration de la validité de l’algorithme hongrois (ou « méthode
hongroise ») présente une analogie intéressante avec celle de l’algorithme de
Ford-Fulkerson ; le lecteur intéressé pourra se reporter à [1].
144
4.7 Notions d’arbre et d’arborescence
Figure 4.35
4.7.2 Arborescence
Dans un graphe G 5 (X, U), on nomme « racine », tout sommet à partir duquel part
au moins un chemin vers tout autre sommet. Un graphe peut comporter 0 ou 1 ou plu-
sieurs racines ; ainsi dans un graphe fortement connexe, tout sommet est une racine ;
dans un « réseau de transport » (cf Flot 4.4.1) la source est une racine, alors unique.
On déinit une « arborescence » comme un graphe qui, sans son orientation, est
un arbre et, avec son orientation, comporte une racine.
Cette racine est unique (sinon si r et rr étaient deux racines différentes, par r et
r’ passerait un circuit et le graphe sans l’orientation comporterait un cycle, ce qui
145
Chapitre 4 • Applications des graphes à la recherche opérationnelle
1. On appelle multigraphe un graphe dont deux sommets au moins sont reliés par plus d’un arête.
146
4.8 Applications aux arbres optimaux
les arêtes sont les arêtes du graphe initial, susceptibles de connecter deux à deux ces
sousarbres (elles ont la même valeur dans le graphe initial et dans le sousgraphe).
Passer à a).
La validité de cet algorithme est justiiée comme suit : la procédure, qui est néces-
sairement inie, ne peut engendrer que des sous-arbres (ou un arbre) puisque, à chaque
étape, on prend un sommet x non encore retenu et donc on ne peut pas ainsi créer un
cycle. On montre, par l’absurde, qu’à chaque étape de l’algorithme ces sous-arbres
sont optimaux. Finalement, on construit un arbre à partir de ses sous-arbres optimaux.
Exemple. Considérons un graphe G 5 (X, U ), dont les arêtes sont valuées par des
coûts ; on veut trouver dans ce graphe, qui représente le projet d’un réseau de distri-
bution, un arbre de coût minimal (ig. 4.37).
Figure 4.37
147
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Figure 4.39
Figure 4.38
148
4.9 Les programmes de transport
Le lecteur aura certainement remarqué que les trois algorithmes que nous venons
de présenter, basés tous les trois sur une stratégie « gourmande » (on dit aussi : « glou-
tonne » ; en anglais : « greedy »), se révèlent particulièrement eficaces. Le lecteur consul-
tera les chapitres consacrés aux matroïdes dans les ouvrages traitant d’algorithmique [8]
ou de théorie des graphes pour trouver les justiications théoriques de cette eficacité.
149
Chapitre 4 • Applications des graphes à la recherche opérationnelle
I 12 27 61 49 83 35 18
II 23 39 78 28 65 42 32
III 67 56 92 24 53 54 14
IV 71 43 91 67 40 49 9
Quantités
demandées
(bj)
9 11 28 6 14 5 73
150
4.9 Les programmes de transport
a) On observe que la somme des demandes (ici 73) est égale à la somme des dispo-
nibilités.
On note m le nombre d’origines et n celui des destinations.
b) Soient ai les quantités disponibles, bj les quantités demandées, cij les coûts de
transport ; la solution du problème revient à trouver les valeurs numériques des mn
nombres non négatifs xij qui représente la quantité livrée depuis l’origine i à la des-
tination j, tels que :
a ai 5 a bj : offre 5 demande
m n
(4.1)
i51 j51
toute origine i livre entièrement sa quantité disponible ai :
a xij 5 ai 1 i 5 1, 2,
n
c, m 2 (4.2)
j51
à toute destination j est livrée toute sa demande bj :
a xij 5 bj ( j 5 1, 2,
m
c, n ) (4.3)
i 51
et que la fonction économique (coût global du transport) :
a a cij xij 5 z
m n
# (4.4)
i 51 j51
soit minimale.
Nous verrons plus tard que ce type de problème appartient à la classe des pro-
grammes linéaires, mais il n’est pas nécessaire de lui appliquer les méthodes géné-
rales de la programmation mathématique : ce que nous nous garderons de faire,
même si l’on peut interpréter les méthodes particulières qui vont suivre en termes de
programmation mathématique.
Considérations préliminaires
Pour résoudre un tel problème, on peut tout d’abord d’obtenir une solution admissible,
c-à-d conforme aux relations (4.1), (4.2) et (4.3) sans se préoccuper de la fonction éco-
nomique (4.4). Pour qu’une telle solution soit utilisable pour la suite de l’algorithme,
il convient qu’elle ne soit pas dégénérée, c’est-à-dire qu’elle comporte exactement :
n # m 2 1n 1 m 2 12 5 1n 2 12 # 1m 2 12
© Dunod – Toute reproduction non autorisée est un délit.
1. Il y a n # m inconnues, liées par n 1 m relations ; mais ces n 1 m relations ne sont pas indépen
dantes, puisque la somme des seconds membres des n premières est la même que la somme des
seconds membres des m autres, il y a au plus n 1 m 2 1 relations indépendantes. Il doit donc y
avoir, dans une solution admissible, au moins n # m 2 ( n 1 m 2 1 ) variables nulles.
151
Chapitre 4 • Applications des graphes à la recherche opérationnelle
a ai 5 18 1 32 1 14 1 9 5 73 ;
4
1.
i 51
a bj 5 9 1 11 1 28 1 6 1 14 1 5 5 73,
6
j51
i 51 j51
152
4.9 Les programmes de transport
a x1j 5 9 1 9 1 0 1 0 1 0 1 0 5 18 5 a1 ;
6
2.
j51
a x2j 5 0 1 2 1 28 1 2 1 0 1 0 5 32 5 a2 ; etc.
6
j51
a xi1 5 9 1 0 1 0 1 0 5 9 5 b1 ;
4
3.
i 51
a xi2 5 9 1 2 1 0 1 0 5 11 5 b2 ; etc.
4
i 51
2 3 2 3 2 3 2 3
I 9 0 9 I 1 1
9 1 99 I
27 61 I 0 9 9
II 2 28 30 II 128 1
2 30 IIII
30 39 78 II 11 19 30
© Dunod – Toute reproduction non autorisée est un délit.
153
Chapitre 4 • Applications des graphes à la recherche opérationnelle
ce qui signiie que l’on va gagner 5 unités monétaires pour chaque unité transportée
sur la relation (I, 3).
Sur combien d’unités ce gain peut-il porter ? On le voit, à la relation (I, 2) : on ne peut
soustraire que 9 unités transportées (au lieu de 28 sur (II, 3)) ; le gain maximal résultant
de cet échange portera donc sur 9 unités et se montera à 9 3 5 5 45 unités monétaires.
Remarquons d’ailleurs que seul un échange libérant l’une des relations auparavant sélec-
tionnés conduit de nouveau à une solution de base (dans le cas présent, avec 15 zéros).
Mais à quelle modiication le transfert unitaire envisagé ci-
dessus correspond-il sur le graphe de la igure 4.42 ? Simple-
ment à l'ajout d’un arc (I, 3), ce qui engendre un cycle et un seul
dans l’arbre représentatif de la solution, comme nous l’avons
souligné en 4.7.1. Ce cycle (I, 3), (3, II), (II, 2), (2, I) a deux
arêtes parcourues dans le sens des lèches, deux autres parcou-
Figure 4.43 rues en sens inverse (ig. 4.43). Du point de vue des quantités,
la loi de Kirchhoff est respectée : il y a équilibre entre 11 et
21, en chacun des quatre sommets I, 3, II et 2.
Monétairement, on ajoute les coûts d’une unité sur les arcs (I, 3) et (II, 2) et l’on
en retranche les coûts sur les arcs (I, 2) et (II, 3) : on retrouve exactement 25.
Mais la structure d’arbre va encore faciliter les calculs. En effet, un arbre constitue
un graphe sur lequel on peut déinir, ixant arbitrairement le potentiel d’un sommet et
les différences de potentiel entre les sommets adjacents, un ensemble unique de poten-
tiels (à une constante additive près). La propriété est triviale et résulte d’ailleurs du fait
que, dans un arbre, il existe une chaîne et une seule entre deux sommets quelconques.
154
4.9 Les programmes de transport
i j 5 1 2 3 4 6 ai i j 5 1 2 3 4 6 ai
III 53 67 56 92 26 54 14 III 14 14
I 65 12 27 61 49 35 18 I 9 9 18
© Dunod – Toute reproduction non autorisée est un délit.
II 65 23 39 78 28 42 32 II 2 28 2 32
IV 40 71 43 91 67 49 9 IV 4 5 9
bj 14 9 11 28 6 3 bj 14 9 11 28 6 5
Tableau des cij (réordonné) Tableau des xij
On obtiendrait une solution dégénérée, avec 16 zéros au lieu de 15, dont le graphe
comprendrait deux sous-arbres, ce qui ne permettrait plus de calculer tous les di,j.
Bien entendu, une telle solution dégénérée peut se présenter aussi à une itéra-
tion quelconque de la résolution du problème.
155
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Figure 4.45
i j 5 1 2 3 4 6
III 14 14
I 9 9 18
II 2 28 2 32
IV 4 5 9
14 9 11 28 6 5
156
4.9 Les programmes de transport
IV 71 43 91 67 40 49 9 3 IV 71 43 91 40 49 9 3
bj 9 11 28 6 14 5 73 bj 9 11 28 14 5 67
c 11 12 17 4 13 7 c 11 12 17 13 7
157
Chapitre 4 • Applications des graphes à la recherche opérationnelle
sporter à la relation qui comporte le plus petit coût de la matrice (ici I, 1), puis passer
à celle à laquelle correspond le plus petit coût dans le reste du tableau, et ainsi de
suite (méthode MINITAB), on préfère rechercher une relation telle que, si l’on ne
lui affecte pas la quantité la plus grande possible, on sera obligé, dans la suite du
problème, d’affecter cette quantité, à une ou plusieurs relations de coût de beaucoup
supérieur.
Puis on passe à la relation qui est désignée par la différence maximale dans le tableau
restant (cf tableau “2e pas” ci-dessus), et ainsi de suite.
• 2e pas. Sur la matrice réduite, la différence maximale est 17, ce qui amène à affecter
la quantité 18 à la relation (I, 3) saturant ainsi la ligne I, qui disparaît du problème.
3e pas 4e pas
j i 1 2 3 5 6 ai D
ℓ j i 2 3 5 6 ai Dℓ
II 23
III 67 56
39 78 65
92 53 54
42 18
32
16
1
II 39 78
III 56 92
65 42
53 54
18
32
16
1
IV 71 43
bj 9 11 10
91 40 49
14 5
14
49
3
bj
IV 43 91
11 10
40 49
14 5
14
40
3
Dc 44 4 13 13 7 Dc 4 13 13 7
1. Les autres affectations conduisant ici directement à l’optimum, nous priveraient de la possibi
(1)
lité d’exposer concrètement la deuxième phase de résolution des problèmes de transport.
158
4.9 Les programmes de transport
j i 1 2 3 4 5 6 ai
I 18 18
II 9 11 7 5 32
III 3 6 5 14
IV 9 9
bj 9 11 28 6 14 5 73
1) a ai 5 18 1 32 1 14 1 9 5 73
4
i 51
a bj 5 9 1 11 1 28 1 6 1 14 1 5 5 73
6
et a ai 5 a bj
j51
2) a x1j 5 0 1 0 1 18 1 0 1 0 1 0 5 18 5 a1
6
j51
j51
3) a xi1 5 0 1 9 1 0 1 0 5 9 5 b1
4
i 51
a xi2 5 0 1 11 1 0 1 0 5 11 5 b2
4
i 51
i 51
b) en outre, le nombre des relations inutilisées est de 15 ; il est précisément égal à :
nm 2 1 n 1 m 2 1 2 5 6 3 4 2 1 6 1 4 2 1 2 5 24 2 9 5 15,
© Dunod – Toute reproduction non autorisée est un délit.
159
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Pour calculer les potentiels Ui et Vj, on choisit alors la relation affectée du coût
le plus grand [ici, (III, 3)] et l’on écrit 0 (origine des potentiels) face à la ligne III, sur
la droite de la matrice, ce qui revient à poser UIII 5 0 ; on a alors :
cIII, 3 5 V3 2 UIII
160
4.9 Les programmes de transport
d’où :
V3 5 cIII, 3 2 0 5 92 2 0 5 92,
et, par suite, l’inscription du potentiel 92 sous la colonne 3 au bas de la matrice.
Du fait que UIII 5 0, on a immédiatement V4 5 24 et V5 5 53, puisque les relations
(III,4) et (III,5) sont affectées. Ayant V5 5 53, on obtient :
UIV 5 V5 2 cIV, 5 5 53 2 40 5 13,
et ainsi de suite. La procédure équivaut très exactement à celle que l’on a prati-
quée sur l’arbre de la igure 4.48, mais elle évite le recours à un son tracé.
Pour calculer alors le coût marginal d’une liaison inutilisée, on la repère
d’abord sur le tableau (la partie haute de la case étant vide), par exemple (III, 2), et
l’on lit cIII,2 5 56. On a :
d III, 2 5 UIII 1 cIII, 2 2 V2 5 0 1 56 2 53 5 3,
car on remarque que UIII est le potentiel lu sur la ligne III à droite de la matrice,
alors que V2 est celui que l’on lit au bas de la colonne 2, sous la matrice.
Le lecteur s’exercera à calculer de cette façon tous les coûts marginaux. Il en
trouvera un seul négatif (c’est-à-dire un seul économiquement intéressant) ; c’est :
d III, 6 5 0 1 54 2 56 5 22.
Il faut ensuite, pour tout coût marginal négatif δij, rechercher le cycle de substi-
tution permettant de réaliser la modiication du transport auquel il correspond. C’est
le cycle unique qu’on obtient en rajoutant à l’arbre (Fig. 4.46) l’arête [ij] ; quand un
tel cycle ne comporte que 4 arêtes, il est aisé de le trouver directement sur le tableau
des [xij] de la solution de base courante.
Dans le cas présent, posons un signe 1 dans la case (III,6) ; il nous faut un signe
– en (II,6), un signe 1 en (II,3) et, enin, un signe – en (III,3). On contrôle d’ailleurs
que 54 2 42 1 78 2 92 5 22. Les cases marquées sont associées aux arcs du cycle
de substitution. Cherchons maintenant la quantité maximale déplaçable : les signes
–, dans les cases (II, 6) et (III, 3), permettent de constater que si l’on peut diminuer de
5 la quantité inscrite en (II,6), en revanche on ne peut diminuer que de 3 celle portée
en (III,3) : inalement, il est seulement possible de déplacer trois unités. Le résultat
de cette substitution sera 3 3 ( 22 ) 5 26, c’est-à-dire un gain total de 6. La solution
obtenue alors a pour coût : 3 529 ; nous montrons plus bas qu’elle est optimale.
© Dunod – Toute reproduction non autorisée est un délit.
S’il y avait plusieurs di, j négatifs, on calculerait le gain relatif à chacune des substi-
tutions possibles et l’on choisirait de réaliser celle qui apporte le gain total le plus grand.
Parfois, plusieurs substitutions sont possibles simultanément et rien n’empêche
alors de les réaliser ensemble ; il sufit qu’elles se traduisent par des cycles de subs-
titution indépendants (sans arcs ni sommets communs).
161
Chapitre 4 • Applications des graphes à la recherche opérationnelle
j i 1 2 3 4 5 6 Ui Ui i j Vj
6 5 18 54 59 10
I 17 1 23
12 27 61 49 83 35
9 11 10 16 24 2 17 I 2 39
II 0
23 39 78 28 65 42
0 II 3 78
32 29 2 6 5 3
III 12
67 56 92 24 53 54 -12 III 4 12
49 5 14 56 9 8
IV 1 1 IV 5 41
71 43 91 67 40 49
Vj 23 39 78 12 41 42 6 42
L’optimum est unique du fait que tous les coûts marginaux sont, ici, strictement
positifs. Si certains étaient nuls, on ferait apparaître d’autres solutions équivalentes
(grâce à des substitutions de gain nul). En clair : xI,3 5 18 ; xII,1 5 9 ; xII,2 5 11 ;
xII,3 5 10 ; xII,6 5 2 ; xIII,4 5 6 ; xIII,5 5 5 ; xIII,6 5 3 ; xIV,5 5 9 pour un coût minimal
de 3 529 unités monétaires.
Remarque(1) 1 La formulation de ce programme de transport en tant que pro-
gramme linéaire amène à introduire N 5 m 3 n 5 24 variables puis à écrire
M 5 m 1 n 5 10 contraintes (certes liées par une relation de dépendance ;
on peut supprimer l’une d’entre elle, ce qui amène à Mr 5 m 1 n 2 1 5 9
contraintes) ; ces contraintes étant en égalité, on doit introduire une variable
artiicielle dans chacune d’elles pour obtenir une base (artiicielle) initiale ; la
résolution de la « première phase » par l’algorithme du simplexe conduirait
(après un minimum de m 1 n 2 1 itérations) à une base réalisable. L’avan-
tage de la méthode du stepping-stone, que nous venons de décrire, est d’éviter
toutes les itérations de cette « première phase », puisqu’on part d’une base réa-
lisable ; de plus, si l’on utilise la méthode de Balas-Hammer, la base réalisable
initiale, on le sait, sera « bonne », c’est-à-dire que l’on évitera de nombreuses
itérations lors de la « seconde phase » pour atteindre l’optimum.
(1)
1. La compréhension de cette remarque suppose la connaissance du chapitre 8 du présent livre.
162
4.10 Recherches arborescentes
163
Chapitre 4 • Applications des graphes à la recherche opérationnelle
164
4.10 Recherches arborescentes
En cas d’égalité, on se donne une règle arbitraire pour retenir l’un des regrets
maximaux, par exemple le premier rencontré lors du balayage de la matrice ligne
après ligne.
On obtient ainsi la matrice 4, où le regret maximal, soit 4, concerne l’arc (B, D).
– Bloc D. On sait à présent, après que l’on ait procédé à A B C D E F
l’évaluation des regrets des zéros d’une matrice, et cela à
toute étape du problème, qu’il reste possible : A 2
soit de renoncer à utiliser l’arc (X, Y), de regret
B 4
p(X, Y), le plus fort parmi les regrets. Alors la valeur de C 1
ce regret doit être ajoutée à la borne inférieure, calculée
D 2
plus haut, pour obtenir une borne du coût des solutions
évitant l’arc (X, Y) ; E 1 2 2 0
soit de choisir d’utiliser l’arc (X, Y). Restent à exami F 2
ner les conséquences de ce choix.
4. Regrets correspon-
C’est ainsi que se développera l’arborescence décrivant dant aux zéros de la
la recherche, par la création d’un sommet de type I : NON matrice 3.
(X, Y) et d’un sommet de type II : (X, Y) : cf Fig 4.48.
D’où déjà, pour le sommet de type I, correspondant à la décision NON (X, Y), c’est-
à-dire la décision de renoncer à l’utilisation de (X, Y), ce qui a le surcoût p(X, Y) :
B :5 B 1 p ( X, Y ) .
Dans l’exemple cité, la borne du sommet NON (B, D) de l’arborescence est :
B :5 20 1 4 5 24.
– Bloc E.
1) Au contraire, si l’on inclut l’arc (X, Y), il faut supprimer la ligne X et la colonne
Y, de la matrice des coûts réduits, puis, par l’introduction d’un coût inini, inter-
dire l’arc qui fermerait un circuit « parasite » (c’est-à-dire un circuit qui serait de
longueur inférieure à n, donc non hamiltonien). Notons que les circuits parasites
n’existent plus lorsque l’on est parvenu à une matrice de dimension 1 3 1.
2) Il faut maintenant vériier s’il existe toujours dans la matrice A B C E F
réduite (matrice 5) un zéro par ligne et par colonne. Sinon, faire A 2 4 0 2
© Dunod – Toute reproduction non autorisée est un délit.
165
Chapitre 4 • Applications des graphes à la recherche opérationnelle
167
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Toutes les autres bornes des sommets pendants de l’arborescence étant mainte-
nant strictement supérieures à 23, on est sûr que le circuit optimal trouvé en 6. est
unique.
La igure 4.49 représente l’arborescence parcourue ; elle est relativement peu
étendue par rapport à l’arborescence « potentielle », celle associée aux 1 6 2 1 2 !, soit
120 circuits hamiltoniens.
Remarque. Une méthode « gourmande » pour résoudre de manière appro-
chée (heuristiquement) cet exemple consisterait à choisir un arc de plus
petit coût, soit (A, E) de coût 1, puis, sans remettre en cause ce choix,
choisir un arc de plus petit coût compatible avec (A, E) : (D, F) de coût 1,
et ainsi de suite. On choisit ensuite (B, D) de coût 2, puis (C, A) de coût 5 ;
on doit alors obligatoirement prendre les arcs (chers !) (E, B) de coût 7 et
(F, C) de coût 8, pour fermer un circuit hamiltonien : (A, E, B, D, F, C, A)
de coût 24, non optimal.
Certes sur cet exemple, l’heuristique gourmande a fourni une solution proche
de l’optimum : ce n’est pas le cas en général, même sur des graphes de petite
taille. Ainsi, pour l’exemple ci-dessous, cf. Matrice 19, cette méthode gour-
mande fournit le circuit hamiltonien (A, B, D, C, A) de coût 103... alors que
l’optimum (A, D, B, C, A) a pour coût seulement 5.
168
4.10 Recherches arborescentes
relative de performance, c’est-à-dire qu’il existe des exemples (ou instances) pour
lesquels le rapport cH/c* peut être rendu arbitrairement grand.
En revanche, pour ce même problème du voyageur de commerce, si le tableau des
coûts (ou distances) est euclidien, c’est-à-dire s’il vériie les inégalités triangulaires :
pour tout i, j, k : cij < cik 1 ckj, comme le font les distances géographiques, il existe
des heuristiques pour lesquelles cH ^ c* < 2, quelle que soit l’instance considérée.
Montrons comment pour un autre problème, une heuristique gourmande (gloutonne)
fournit une garantie de performance. Le problème appelé bin packing s’énonce de la
façon suivante : n objets non sécables, l’objet i étant de taille ai, 0 , ai , A, sont à placer
dans un nombre minimal de boîtes toutes de taille A (la somme des tailles des objets
169
Chapitre 4 • Applications des graphes à la recherche opérationnelle
placés dans une même boîte ne doit pas être supérieure à la taille de la boîte). Un algorithme
glouton fournissant une solution approchée au problème est le suivant : initialement, les
objets sont triés par taille décroissante : a1 > a2 > c> ai > ai 1 1 > c> an ; les
objets sont placés un à un, suivant l’ordre résultant du tri effectué, dans la première boîte
pouvant les contenir ; si aucune boîte déjà utilisée ne peut contenir un objet, l’objet est
placé dans une boîte vide. Le mathématicien américain D. Johnson a montré que, pour
toute instance du problème de bin packing, en notant cH le nombre de boîtes utilisées
par une solution fournie par l’algorithme précédent et c* le nombre de boîtes utilisées
dans une solution optimale, la garantie relative de performance de l’algorithme vériie :
11
cH /c* < . Ainsi en utilisant l’heuristique gourmande proposée pour résoudre ce pro-
9
blème, nous sommes assurés que le nombre de boîtes utilisées n’excède, dans le pire des
cas, que de 22,3 % le nombre minimal de boîtes nécessaires.
Le lecteur intéressé par ce sujet pourra consulter l’ouvrage [11] entièrement
dédié à l’approximation des problèmes algorithmiquement dificiles.
Après avoir introduit la notion de recherche arborescente en résolvant par l’algo-
rithme de Little et al. le problème du voyageur de commerce (praticable pour des ins-
tances ayant moins d’une centaine de villes), nous précisons maintenant cette notion et
l’appliquons à deux autres problèmes. Le problème du sac à dos et la programmation
linéaire en nombres entiers (ce dernier problème, déjà rencontré au chapitre 1, est
repris ultérieurement dans le chapitre 8 consacré à la programmation linéaire).
4.10.2 Recherches arborescentes par séparation
et évaluation
Nous allons maintenant présenter une méthode générale permettant la résolution
des problèmes d’optimisation NP-dificiles. Nous avons déjà signalé que seules des
méthodes énumératives (qu’on souhaite le moins exhaustives possible) sont à même
de résoudre ces problèmes : la méthode décrite ici a pour objectif de mener à bien
l’énumération des solutions réalisables du problème traité en essayant d’éviter le
plus possible l’énumération explicite de cet ensemble.
Dans cet ouvrage, cette méthode est illustrée à travers trois exemples très clas-
siques de la recherche opérationnelle. Deux de ces exemples ayant pour cadre la
programmation linéaire en nombres entiers sont situés plus bas dans ce paragraphe ;
le troisième, l’algorithme dû à Little et al., résolvant le problème du voyageur de
commerce vient d’être présenté, a servi d’introduction pour ce paragraphe.
Le principe de la méthode est le suivant :
• Une arborescence est développée au cours de l’algorithme. Chaque sommet de
cette arborescence correspond à un sous-ensemble de solutions admissibles (on
dit aussi : réalisables) du problème ; la racine de l’arborescence correspondant à
l’ensemble de toutes les solutions réalisables.
• Évaluation. Pour chacun des sommets Si, une valeur E(Si) appelée évaluation du
sommet, est calculée via, le plus souvent, une fonction appelée fonction d’évaluation.
Pour un problème de maximisation, cette valeur E(Si) doit être un majorant de la valeur
de la meilleure solution contenue dans l’ensemble des solutions correspondant au som-
170
4.10 Recherches arborescentes
met de l’arborescence Si. Au contraire, E(Si) doit être un minorant de cette valeur dans
un problème de minimisation (comme dans l’algorithme de Little et al.).
• Si l’évaluation E(Si) d’un sommet est inférieure (pour un problème de maximi-
sation, supérieure pour un problème de minimisation) à la valeur d’une solution
connue du problème, le sommet Si n’est pas exploré. Dans ce cas, Si ne peut pas
contenir une solution meilleure que celle déjà obtenue.
• Lorsque pour un sommet Si la (ou l’une des) meilleure(s) solution(s) de l’ensemble
correspondant est obtenue ou bien s’il apparaît que Si ne contient pas de solution,
l’exploration de Si est terminée et Si n’a pas de successeur dans l’arborescence.
• Séparation. Lorsque l’on n’est pas dans le cas précédent, l’ensemble Si est séparé
en plusieurs sous-ensembles non vides, chacun comportant moins de solutions que
Si, tels que toute solution admissible contenue dans Si soit contenue dans l’un de ces
sous-ensembles. Les successeurs de Si dans l’arborescence sont les sommets corres-
pondant à ces ensembles.
Une stratégie de parcours de l’arborescence doit être adoptée. Les stratégies les
plus couramment utilisées sont soit un parcours en profondeur d’abord ou “S.E.S” (cf.
chapitre 3), soit un parcours où le sommet à explorer en priorité est celui (ou l’un de
ceux) possédant la meilleure évaluation parmi ceux non encore explorés, ou “S.E.P”.
Les principes de séparation et d’évaluation dépendent du problème traité. L’efi-
cacité de la méthode dépend fortement des principes utilisés. En pratique, on consi-
dérera comme de « bonnes » évaluations, des évaluations rapides à obtenir et dont
l’écart avec la solution optimale du sous-problème associé au sommet Si considéré
est petit. Par ailleurs, le développement d’une heuristique rapide permettant d’obte-
nir une bonne solution approchée au problème est généralement nécessaire à l’efica-
cité de la méthode. En effet, plus petit est l’écart entre l’évaluation d’un ensemble de
solutions et la valeur d’une solution admissible connue, plus grandes sont les possi-
bilités d’arrêter après peu d’étapes (séparations) l’exploration du sommet considéré
et plus rapide sera la résolution du problème.
Problème du sac à dos (knapsack)
Le problème nommé sac à dos ou encore knapsack est l’un des problèmes les plus
classiques de la recherche opérationnelle. Il peut se présenter informellement de la
façon suivante. Un randonneur dispose d’un sac à dos de volume B ; il a devant lui n
© Dunod – Toute reproduction non autorisée est un délit.
objets chacun de volume donné ai ; chacun de ces objets a une utilité que le randon-
neur note ci, ci étant un nombre entier positif ; le volume cumulé des n objets étant
supérieur au volume du sac, le randonneur devra choisir parmi les objets ceux qu’il
emportera ; son objectif est de maximiser la somme des utilités des objets emportés.
Le problème se formalise de la manière suivante :
max a ci xi
n
i 51
a ai xi < B
n
µ
i 51
xi H 5 0, 1 6 , 1 < i < n.
171
Chapitre 4 • Applications des graphes à la recherche opérationnelle
Dans la solution obtenue, les objets mis dans le sac à dos sont ceux pour lesquels la
variable correspondante xi vaut 1. Ceux pour lesquels xi vaut 0 ne sont pas emportés.
Sans perte de généralité, dans tout ce qui suit, nous supposerons que ai < B pour
tout indice i et que :
i 51
Nous supposerons aussi que ces objets sont indicés de sorte que :
c1 c2 cn
> > c> .
a1 a2 an
et sont donc classés par utilité décroissante.
Pour illustrer l’eficacité des méthodes par séparation et évaluation, considérons
le problème du sac à dos suivant :
max z 5 15x1 1 18x2 1 4x3 1 7x4 1 2x5 1 x6
• 3x1 1 4x2 1 x3 1 3x4 1 x5 1 x6 < 5
xi H 5 0, 1 6 , 1 < i < 6.
On vérifie que 15/3 . 18/4 . 4/1 . 7/3 . 2/1 . 1/1.
La igure 4.50 représente l’arborescence que nous allons obtenir au long de la
résolution de cet exemple :
172
4.10 Recherches arborescentes
173
Chapitre 4 • Applications des graphes à la recherche opérationnelle
OPTIMUM
Figure 4.51 Arborescence pour la résolution du programme linéaire en nombres entiers.
(1)
1. au besoin se reporter au chapitre 8
174
4.10 Recherches arborescentes
175
Chapitre 4 • Applications des graphes à la recherche opérationnelle
EXERCICES
I PROGRAMMATION DyNAMIqUE
a aixi < b
n i 51
µ
i 51
i 51 i 51
pour toutes les valeurs de d, 0 < d < b. On note z(b) la solution (valeur nutritive)
optimale du problème de sac-à-dos à résoudre, en considérant ici les n aliments.
1. Montrer que z(b) 5 zn(b).
Notre objectif est alors de calculer zn(b) à partir des valeurs de zn 2 1 qui
seront ellesmêmes calculées à partir de zn 2 2 et ainsi de suite.
c1 si a1 < d
2. Montrer que la récurrence est initialisée par z1 1 d 2 5 b
0 si a1 . d
(ici k = 1 : on ne considère que le premier aliment)
3. Supposons qu’à la phase k, pour la valeur d, xk 5 1 soit dans une solu
tion optimale. Montrer que d 2 ak > 0. En déduire que dans ce cas que :
zk 1 d 2 5ck 1 zk 2 1 1 d 2 ak 2 .
176
Exercices
177
Chapitre 4 • Applications des graphes à la recherche opérationnelle
II CHEMINS OPTIMAUX
178
Exercices
NB : l’arc (B, D) est valué : 22 ; les arcs (A, D) et (B, E) sont valués : 6.
deux arcs de sens opposés : (x,y) et (y,x) ; sauf pour celles issues de A et de H.
2. Le livreur arriveratil à temps ?
179
Chapitre 4 • Applications des graphes à la recherche opérationnelle
5 9 4
3 2
4 1
7
4 2 9
3 9 6
7 5
5
3 10
10 6 5 1
11 2
12 9
13 4 3
14 4
15 4 3
16
III ORDONNANCEMENTS
180
Exercices
*4.9
Un projet comporte les tâches : A, B, …, H, I. Voici leurs durées et les contraintes
auxquelles elles sont soumises :
A 16 jours peut commencer au moins 5 jours après le début global
B 14 jours peut commencer dès le début global
C 20 jours peut commencer au moins 31 jours après le début
D 8 jours nécessite A et B inis
© Dunod – Toute reproduction non autorisée est un délit.
181
Chapitre 4 • Applications des graphes à la recherche opérationnelle
182
Exercices
Le tableau ext(j) liste, dans l’ordre lexicographique, les extrémités terminales des arcs
issus du sommet 1 puis celles du sommet 2, etc. Ainsi le sommet 1 a deux successeurs :
ce sont les 2 premiers éléments du tableau ext(j), donc les sommets 2 et 5.
1. Tracer ce graphe. Montrer, en détail, qu’il s’agit d’un réseau de transport
(la capacité de chaque arc étant donnée à la question suivante).
2. On associe à chaque arc uj une capacité et un lux :
j 1 2 3 4 5 6 7 8
capa(j) 1 3 2 5 5 3 4 12
flux(j) 1 3 2 2 2 3 4 9
Vériier que les lux proposés forment bien un lot sur ce réseau de transport.
Déterminer, obligatoirement à l’aide de l’algorithme approprié, si ce lot est
maximal. Sinon, l’optimiser. Donner la valeur du lot maximal ; indiquer
une coupe minimale, et rappeler sa signiication concrète.
a b c d e f
A 10 90 27 14 39 52
B 29 24 79 90 23 13
C 17 43 62 02 73 70
D 58 14 06 18 16 63
E 15 41 78 44 73 70
F 25 44 81 36 80 80
183
Chapitre 4 • Applications des graphes à la recherche opérationnelle
1 2 3 4 5 6
1 9 12 9 6 9 10
2 7 3 7 7 5 5
3 6 5 9 11 3 11
4 6 8 11 2 2 10
184
Exercices
*4.16
On considère le graphe valué donné par la igure ci-contre et l’on demande de
chercher l’arbre de valeur (ou “poids”) minimale :
*4.17
Résoudre le même problème que précédemment mais, cette fois, ain de trouver
l’arbre de valeur maximale.
**4.18
On demande de déterminer un circuit hamiltonien de valeur minimale dans le graphe
valué donné par la matrice des valeurs des arcs ci-dessous :
A B C D E
A 1 0 1 2
B 0 4 3 5
C 1 1 4 0
D 4 7 2 1
E 0 1 2 0
NB. Le lecteur trouvera d’autres exercices portant sur les recherches arborescentes,
en in du chapitre 1 : exercices 1.4 et 1.6.
185
5 Processus
sTochasTiques
eT PrograMMaTion
dynaMique
sTochasTique
faire d’abord l’objet d’une critique et d’un rajustement convenable avant leur projec-
tion sur l’avenir.
Une autre méthode consisterait, dans bien des cas, tout en partant de données
non rectiiées, à mettre ensuite en cause les résultats provisoires de l’optimisation
mathématique, pour tenir compte des expansions ou régressions dues à la conjonc-
ture ou aux événements particuliers à l’entreprise et à son environnement immé-
diat.
Une autre caractéristique commune aux chapitres en question est d’aboutir cha-
cun à un compromis entre le coût correspondant à l’utilisation de moyens humains ou
matériels et l’espérance mathématique du gain résultant de l’usage de ces moyens,
dans des conditions connues seulement en probabilité.
Dans un problème de iles d’attente1, par exemple, il s’agit, en général, de déter-
miner le nombre des stations (où les « clients » viennent chercher un « service ») de
manière à ce que ces clients ne perdent qu’un temps limité. Et cela revient à minimi-
ser le coût total de déploiement des stations et de l’attente des clients ; donc ina-
lement à établir un compromis entre le coût des serveurs et le coût de l’attente des
clients, ces deux coûts variant évidemment en sens inverse. Mais le coût des serveurs
est simplement proportionnel à leur nombre, tandis que celui de l’attente des clients
dépend de données aléatoires (l’afluence de la clientèle et la durée du service).
Dans les problèmes de maintenance1 (d’entretien) des équipements, c’est l’usure
qui est aléatoire, et c’est sa connaissance statistique qui peut permettre de ixer les
taux d’approvisionnement, de manière à obtenir le meilleur compromis entre le coût
des arrêts du système (matériel) et celui du stockage des équipements (pièces) de
rechange.
Tous ces problèmes font appel à la notion commune de processus stochastique. Il
sera donc nécessaire de donner ici, tout d’abord, quelques notions sur ces processus.
Nous serons aidés par le fait que presque tous, étant donné en R.O. le caractère dis-
cret (c’est-à-dire ini ou inini dénombrable) de leurs ensembles d’états, peuvent être
exposés concrètement en utilisant la théorie des graphes2.
La première idée de la théorie des processus stochastiques revient sans doute à
A. Einstein qui, en 1905, soutint sa thèse sur le mouvement brownien. Ensuite, A.
Markov, vers 1910, en étudiant l’œuvre de Pouchkine intitulée « Eugène Onéguine »,
décrivit de manière probabiliste l’alternance des consonnes et des voyelles sous la
© Dunod – Toute reproduction non autorisée est un délit.
forme d’une “chaîne” qui porte son nom. Le Danois Erlang créa, vers 1914, la théo-
rie des iles d’attente (pour l’aider à résoudre des problèmes de dimensionnement de
standards téléphoniques). C’est à A. Kolmogorov, que l’on doit la formalisation géné-
rale du processus stochastique (1933). Des mathématiciens comme D.G. Kendall, P.
Lévy, A. Khintchine, W. Feller, J. Doob ont entrepris, dans l’intervalle ou par la
suite, de développer encore cette théorie.
187
Chapitre 5 • Processus stochastiques et programmation…
188
5.3 Chaînes de Markov à espace d’états discret
On dit alors que la chaîne est markovienne d’ordre 1. Elle serait d’ordre p si
la probabilité de l’état atteint à l’instant n ne dépendait que des p états antérieurs
(atteints respectivement à t 2 p, t 2 p 1 1, c, t 2 1 ) ; par une démultiplication des
états, on peut ramener une chaîne d’ordre p à une chaîne d’ordre 1.
Les probabilités conditionnelles P 3 Xn 5 j k Xn 2 1 5 i 4 sont appelées probabilités
de transition. On fera le plus souvent l’hypothèse que la chaîne est homogène(1) :
alors les probabilités de transition pij(n) seront indépendantes de l’instant n de la tran-
sition (c’est pourquoi on les qualiie, parfois, de stationnaires dans le temps) :
pij1n2 5 P 3 Xn 5 j k Xn 2 1 5 i 4 5 pij.
Ainsi, par exemple, la probabilité de passer de l’état E12 à l’état E37 entre les ins-
tants t 5 0 et t 5 1, ou encore entre t 5 1 321 et 1 322 est la même : elle vaut p12,37.
Dans la suite, nous supposons que l’ensemble e des états est ini, de cardinal r.
Les probabilités de transition pij vériient ;
0 < pij < 1 et :
pour i = 1, 2,... n : a pij 5 1, car il est certain que si la chaîne est dans l’état Ei à
r
j51
t = n – 1, elle sera dans l’un quelconque des états E1, E2,..., Er à t = n.
Ainsi une chaîne de Markov homogène, à espace d’état ini, est donnée par une
matrice m carrée r 3 r, à terme positifs : 3 pij 4 5 m, dont la somme des termes, pour
toute ligne, est égale à un. Une telle matrice est dite stochastique.
Nous désignons par (n) le vecteur (stochastique) des probabilités des états :
P ( n ) 5 3 p 1 ( n ) , p 2 ( n ) , c, p r ( n ) 4 , où :
p k ( n ) 5 P 3 X n 5 k 4 et a p i ( n ) 5 1 pour tout n = 0,1,...
pd
i51
Ainsi (0) sera la distribution initiale des probabilités des états.
Évaluons (1) connaissant (0) ; on peut exprimer p j 1 1 2 à l’aide de la formule
des probabilités totales. Rappelons que : P 3 B 4 5 a P 3 B k Ai 4 # P 3 Ai 4 , où B est un évé-
i
nement et les Ai forment un système complet d’événements, c’est-à-dire une par-
tition de l’ensemble fondamental . Ainsi, en prenant pour Ai l’événement X0 5 i :
P 3 X1 5 j 4 5 a P 3 X1 5 j k X0 5 i 4 # P 3 X0 5 i 4 , soit :
r
© Dunod – Toute reproduction non autorisée est un délit.
i 51
P ( 1 ) 5 P ( 0 ) # m ; De même on a :
P ( n ) 5 P ( n 2 1) # m
(1) Un processus 5 Xt, t H T 6 est homogène si, pour tout intervalle [s, t], la probabilité
1.
P 3 Xt 5 y k Xs 5 x 4 dépend seulement de la longueur t – s de cet intervalle. Alors, pour tout
u : P 3 Xt 1 u 5 y k Xs 1 u 5 x 4 5 P 3 Xt 5 y k Xs 5 x 4 . En particulier, cette probabilité est égale à :
P 3 Xt 2 s 5 y k X0 5 x 4 .
189
Chapitre 5 • Processus stochastiques et programmation…
k51
car, pour aller de Ei à Ej en exactement deux transitions, il faut passer par un état
intermédiaire Ek, qui peut être n’importe lequel des r états formant l’espace d’état e
(ig. 5.1). De la même façon, on a aussi pour n = 1 + (n – 1) transitions :
k51
puis, d’une manière plus générale pour n = p+q transitions :
k51
Cette dernière relation est appelée relation de Chapman-
Kolmogorov ; elle est caractéristique du fait que la chaîne est
« sans mémoire ».
Il est facile de montrer que la probabilité de passer de
l’état Ei à l’état Ej en exactement n transitions, soit pij1n2, est
égale à l’élément (i, j) de la matrice m n : Figure 5.1
3 pij1n2 4 5 3 pij 4 n, soit m (n) 5 mn.
k51
(1) Nous poserons, en outre, pij(0) 5 dij, d ij étant le symbole de Kronecker (dij 5 1 si et seulement
1.
si i 5 j et dij 5 0 sinon).
190
5.4 Classification des états d’une chaîne de Markov
Par récurrence, il est aisé de montrer que, si la propriété est vraie pour n 2 1, elle
est vraie aussi pour n : supposons que 3 pij(n 2 1) 4 5 mn 2 1. Comme pij1n2 5 a pij # pkj1n 2 12 ,
r
A B C D E F G H I J K L
A 0, 1 0, 5 0, 4
B 0, 2 0, 5 0, 3
C 1
D 0, 3 0, 7
E 0, 4 0, 2 0, 4
M = F 1
G 1
© Dunod – Toute reproduction non autorisée est un délit.
H 0, 6 0, 3 0, 1
I 0, 2 0, 8
J 1
K 0, 4 0, 5 0, 1
L 0, 8 0, 1 0, 1
Le lecteur vériiera que la somme des termes, dans toute ligne de m, vaut 1.
191
Chapitre 5 • Processus stochastiques et programmation…
Figure 5.2
On dit qu’un état Ej est « accessible » à partir de l’état Ei si, pour au moins une cer-
taine valeur de l’entier q, on a : pij1q2 . 0. En termes de graphe cela signiie qu’il existe
un chemin de longueur q (composé de q arcs) du sommet Ei vers le sommet Ej.
Deux états Ei et Ej mutuellement accessibles sont dits « communicants ». En termes
de graphe : il existe alors un chemin de Ei vers Ej et un chemin de Ej vers Ei. Autrement
dit, Ei et Ej appartiennent à une même composante fortement connexe du graphe.
Le graphe comporte deux composantes connexes : en termes de chaînes de
Markov, on dit que la chaîne comporte deux souschaînes, ayant pour ensemble
d’états respectivement ;
e1 5 5 A, B, C, D, E, F, G, K 6 et e2 5 5 I, J, L 6 .
Si l’état initial du système appartient à e1 la chaîne ne passera jamais par les états
de e2, et réciproquement. La matrice m 5 3 pij 4 est alors « décomposable » :
A B C D E F G H K I J L
A ·1 ·5 ·4
B ·2 ·5 ·3
C 1
D ·3 ·7
1 E
F
·4 ·2
1
·4
0
G 1
H ·6 ·3 ·1
K ·4 ·5 ·1
I ·2 ·8
2 J
L
0 ·8
1
·1 ·1
192
5.4 Classification des états d’une chaîne de Markov
c5 5 5 I, L 6 , c6 5 5 J 6 .
On peut alors retracer le graphe en faisant apparaître l’ordre sur ces composantes
fortement connexes. Rappelons que « ck précède c, » (ck < c,) si et seulement si,
dans G, il existe un chemin d’un sommet quelconque de ck vers un sommet quel-
conque de c, ; cette relation étant rélexive, antisymétrique et transitive, il s’agit
d’une relation d’ordre sur les classes, dont voici le diagramme de Hasse :
Les classes c1, c2 et c5 sont des classes d’états transitoires : si le système est ini-
tialement dans l’un des sommets de ces classes, il inira par le quitter déinitivement
(pour tout état transitoire Ei, pij1q2 S 0 quand le nombre de transitions q S ` 2 . Dans
le diagramme ci-dessus toute classe transitoire ck a une classe « au dessus » d’elle,
© Dunod – Toute reproduction non autorisée est un délit.
193
Chapitre 5 • Processus stochastiques et programmation…
d’une « classe périodique ». Nous préciserons plus loin, dans une annexe, la notion
de périodicité.
Au contraire pour la classe 5 D, E, K 6 5 c4, l’évolution sera toute diffé-
rente : on dit qu’il s’agit d’une « classe apériodique ». On peut calculer la pro-
babilité pour que le système se trouve dans chacun des états de c4 au bout d’un
grand nombre de transitions, sachant qu’initialement (à t = 0), le système y était
déjà : p D 1 0 2 1 p E 1 0 2 1 p K 1 0 2 5 1 (ou bien si l’on est sûr qu’au bout d’un certain
nombre de transitions, le système a atteint l’un des états D, E, ou K).
Soit mr la sous-matrice des probabilités des transitions entre les états de la classe
c4 ; nous supposerons l’existence d’une distribution stationnaire des probabilités des
états (atteinte après un grand nombre de transitions), soit P* 5 3 p *D, p *E, p *K 4 . Cette
distribution étant stationnaire, on retrouve la même après une transition : P* 5 P* # mr,
soit, en posant (pour alléger les notations) P* 5 3 a, b, c 4 :
D E K
D 0, 3 0, 7 0
3a, b, c4 5 3a, b, c4 mr, où: mr 5 E £ 0, 4 0, 2 0, 4 §
K 0, 4 0, 5 0, 1
Le système P* 5 P* # mr s’écrit :
0, 3a 1 0, 4b 1 0, 4c 5 a (1)
0, 7a 1 0, 2b 1 0, 5c 5 b (2)
µ
0, 4b 1 0, 1c 5 c (3)
a b 1 c 5 1 (4)
Remarquons que (4) – (1) – (2) redonne l’équation (3), si bien que ce système
comporte 3 équations indépendantes, pour 3 inconnues. L’équation (5.3) fournit
9 13
b 5 c ; en reportant dans (2), il vient : a 5 c. En reportant dans (4), il vient :
4 7
13 9
a 1 1 1b c 5 1,
7 4
28 63 52 52 63 28
d’où : c 5 ; puis b 5 et a 5 , soit P* 5 B , , R : ce sont
143 143 143 143 143 143
donc les probabilités de trouver le système en D, Ε ou Κ au bout d’un grand nombre
de transitions. Supprimons les 9 autres états pour garder seulement la sous-chaîne
ayant comme ensemble d’états c4 et pour matrice mr ; on constate ici que les pro-
babilités des états tendent vers une limite P* indépendante de la distribution initiale
(0) et strictement positive.
194
5.4 Classification des états d’une chaîne de Markov
52 63 28
n1
lim mr 5 £ 52 63 28 §
n S` 143
52 63 25
Pour une chaîne ergodique, on sait que m n possède une limite m* quand n S `,
et que (n) tend vers une limite P* indépendante de la distribution initiale
(0). Prenons la limite de chaque membre de l’équation ci-dessus quand n tend vers
l’inini, il vient :
P* 5 P ( 0 ) # m*.
ce qui semble contredire notre propos : apparemment P*, dans cette relation, dépen-
drait de (0). Mais il faut savoir que m* a toutes ses lignes égales à P*.
195
Chapitre 5 • Processus stochastiques et programmation…
Ainsi, pour la sous-chaîne {D, Ε, K}, prenons une répartition initiale quelconque
(0) 5 [a, b, g] où a, b et g > 0 et a 1 b 1 g 5 1.
Effectuons P ( 0 ) 3 m*, il vient :
52 63 28
1
#
3 a, b, g 4 £ 52 63 28 § 5 P*
143
52 63 28
d’où :
1 52 , 63 , 28
P* 5 3 52 ( a 1 b 1 g ) , 63 ( a 1 b 1 g ) , 28 ( a 1 b 1 g ) 4 5 c d.
143 143 143 143
1 "3 1 "3
l 3 2 1 5 ( l 2 1 )( l 2 j )( l 2 j ) où j 5 2 1i et j 5 2 2 i .
2 2 2 2
196
5.5 Processus de Markov à espace d’états discret
Ainsi pour la chaîne ci-dessus comportant une seule classe d’états (qui est
donc récurrente) car son graphe est fortement connexe, la période de E4 est :
d4 5 PGCD 5 4, 8, 12, c6 5 4. On vériie que les circuits passant par E4 ont une
longueur qui est un multiple de 4. L’exemple ci-dessus montre que la périodicité d
1
pour l’état Ei n’exige pas que : pii1n2 soit égal à 1. Ainsi p55
142
5 .
3
Un état Ei est dit « apériodique » si di 5 1. Une condition sufisante d’apériodi-
cité pour Ei est que le graphe possède une boucle au sommet Ei : alors pii112 5 pii . 0
et di 5 PGCD 5 1, c6 5 1.
Cette condition n’est pas nécessaire : Pour la chaîne ci-dessous :
di 5 PGCD 5 2, 3,c6 5 1.
En effet il y a un circuit de longueur 2 passant par Ej, et un autre de longueur 3.
Enin on peut montrer que tous les
états d’une même classe (récurrente)
ont la même période : il s’agit en
fait d’un résultat concernant les lon-
gueurs des circuits à l’intérieur d’une
composante fortement connexe d’un
graphe.
• Si l’on résolvait le système
P* # ms 5 P*, on obtiendrait
1
© Dunod – Toute reproduction non autorisée est un délit.
p *C 5 p *F 5 p *G 5 .
3
Cela ne correspond pas à une limite aux probabilités des états (n) quand n S `,
mais seulement à une limite en moyenne : « au sens de Cesaro » (toutes les 3 transi-
tions, le système passe par C, F ou G). (n) n’a pas de limite, puisqu’il oscille entre
les 3 vecteurs ; [1, 0, 0] , [0, 1, 0] et [0, 0, 1].
197
Chapitre 5 • Processus stochastiques et programmation…
maintenant les processus de Markov, qui sont des processus stochastiques à temps
continu et à espace d’états discret : ils constituent un outil privilégié pour modéliser
en recherche opérationnelle bien des problèmes : dans le domaine des phénomènes
d’attente ou de la iabilité et de la sûreté de fonctionnement, notamment.
Un processus stochastique Xt caractérise l’état d’un système à l’instant t. C’est un
processus de Markov à temps continu et à espace d’états discret s’il vériie les trois
propriétés suivantes :
1) le temps t est continu.
Le plus souvent le temps varie de 0 à l’inini ; alors : tPT 5 R1 ;
2) Xt appartient à un espace d’états e qui est discret (c’est-à-dire, comme nous
l’avons déjà dit, ini ou inini dénombrable) : Xt Pe 5 5 E1, E2, c, Em, c6 . Dans la
suite on omettra de rappeler à chaque fois ce caractère discret. Mais dans ce paragraphe,
e peut être inini.
3) le processus stochastique Xt vériie la propriété « sans mémoire » (ou prop-
riété de Markov) : la probabilité pour que le système passe par l’état Ej à l’instant
t 1 , sachant qu’il était dans l’état Ei à l’instant t, ne dépend pas des états par les-
quels le système est passé entre les instants 0 et t – :
P 3 Xt 1 5 Ej k Xu pour 0 < u , t , Xt 5 Ei 4 5 P 3 Xt 1 5 Ej k Xt 5 Ei 4 .
4) Nous supposerons en outre dans la suite que les processus de markov sont
« homogènes » (de même que nous l’avons fait pour les chaînes de Markov) : la
probabilité de transition ci-dessus sera supposée indépendante de t et dépendra donc
seulement de la durée τ d’évolution du système (entre t et t 1 ) :
P 3 Xt 1 5 Ej k Xt 5 Ei 4 5 pij 1 2 .
On notera m( ) 5 3 pij ( ) 4 la matrice de ces probabilités de transition.
N.B. On suppose le plus souvent les processus de Markov « homogènes »
car l’emploi de processus de Markov non homogènes est des plus rares dans les
applications.
Notons que l’on a pour les probabilités de transition :
En effet, sachant qu’à l’instant t le processus est dans l’état Ei, il est certain qu’à
l’instant t 1 il se trouvera dans l’un quelconque des états de e (le processus ne
peut pas « s’échapper » de son espace d’états), et la probabilité d’un événement
certain vaut 1.
Donnons maintenant la relation de Chapman-Kolmogorov pour les probabilités
des transitions : pij ( u 1 ) 5 a pik ( u ) # pkj ( ) , dont voici la démonstration :
Ek Pe
pij ( u 1 ) 5 P 3 X U 1 5 Ej k X 0 5 Ei 4 5 a P 3 X U 1 5 Ej et X U 5 Ek k X 0 5 Ei 4 .
Ek Pe
198
5.5 Processus de Markov à espace d’états discret
prouver que la probabilité pour que le processus, étant dans l’état Ei à l’instant t,
quitte pour la première fois cet état Ei pour passer dans l’état Ej vaut : lij /qi 5 mij
( i 2 j, sinon m ij 5 0 ) . La matrice [mij] étant telle que a mij 5 1, est une matrice
stochastique. EjPe
199
Chapitre 5 • Processus stochastiques et programmation…
200
5.6 Probabilités des états
Soit une distribution initiale des probabilités des états : (0) 5 [p0(0), p1(0), c4
où pi(0) désigne la probabilité initiale (à t 5 0) de l’état Εi : pi(0) 5 P[X0 5 Ei].
La probabilité de l’état Ej à l’instant t est : pj(t) 5 P[Xt 5 Ej] (elle n’a de sens
que si la distribution initiale (0) a été spéciiée). Par application de la « formule des
probabilités totales » (cf p. 189), on a :
p j ( t ) 5 P 3 Xt 5 Ej 4 5 a P 3 Xt 5 Ej k X0 5 Ei 4 # P 3 X0 5 Ei 4 ,
k
P ( t 1 ) 5 P ( t ) # m( ) .
Posons 5 Dt dans la relation ci-dessus et utilisons les expressions des probabi-
lités pkj(Dt) données plus haut :
p j 1 t 1 Dt 2 5 a p k 1 t 2 # pkj 1 Dt 2 5 a p k 1 t 2 # l kj # Dt 1 1 1 2 qjDt 2 # p j 1 t 2 1 o 1 Dt 2
k k2j
Retranchons pj(t) à chaque membre, puis divisons chacun par Dt :
5 a p k ( t ) # l kj 2 qjp jt 1
p j ( t 1 Dt ) 2 p j ( t ) o ( Dt )
.
Dt k2j Dt
Prenons la limite pour Dt tendant vers 0 :
© Dunod – Toute reproduction non autorisée est un délit.
p rj ( t ) 5 a p k ( t ) # l kj 2 qj # p j ( t ) .
k2j
Soit, matriciellement, Pr ( t ) 5 P ( t ) # A.
Remarquons qu’on aurait pu établir directement cette relation matriciellement ;
en effet en posant 5 Dt dans la relation P ( t 1 ) 5 P ( t ) # m( ) puis
en retranchant P ( t ) à chaque membre et enin en divisant chacun par Dt:
P ( t 1 Dt ) 2 P ( t ) m( Dt ) 2 I
5 P(t) # .
Dt Dt
Par passage à la limite pour Dt tendant vers 0, il vient : Pr ( t ) 5 P ( t ) # A.
201
Chapitre 5 • Processus stochastiques et programmation…
5.7 ergodiciTé
Nous commencerons par prendre un exemple : celui de l’ingénieur dans son bureau.
Nous connaissons les expressions des probabilités de transition entre t et t 1 Dt,
c'est-à-dire sur un intervalle de temps ininitésimal Dt ; calculons maintenant ces
probabilités pour un intervalle de temps quelconque, d’amplitude t. Dans l’équation
de Chapman-Kolmogorov faisons τ 5 Dt et i 5 j 5 0 :
202
5.7 Ergodicité
l
De même, p01(t) et p11(t) ont la même limite : .
l1m
Ces limites sont les mêmes quelque soit l’état initial : E0 ou E1.
Ce fait a une conséquence importante pour les probabilités des états : suppo-
sons qu’à t 5 0 on ait une répartition quelconque des probabilités des états, soit :
p0(0) 5 a et p1(0) 5 b, soit (0) 5 [a, b], où a et b sont des réels positifs ou nuls,
tels que a 1 b 5 1.
Évaluons les probabilités d’états E0 et E1 à l’instant t :
m
D’où : p 0 ( t ) 5 ( a 1 b ) 1 e2
(l 1 m )t # al 2 bm ,
l1m l1m
l
et : p 1 ( t ) 5 ( a 1 b ) 2 e2
(l1 m )t # al2 bm . On vériie : p 0 ( t ) 1 p 1 ( t ) 5 1.
l1 m l1 m
Prenons alors les limites de ces probabilités d’états quand t tend vers l’inini :
m l
p0(t) tend vers p *0 5 ; de même : p *1 5 (car a 1 b 5 1).
l1m l1m
Ainsi, les probabilités des états tendent, ici, vers une limite positive, indépen-
dante de la distribution initiale. On dit alors que le processus de Markov est « forte
ment ergodique ».
D’une manière générale, nous dirons d’un processus de Markov (homogène) qu’il
est « fortement ergodique » si toute probabilité de transition pij(t) admet, quand t tend
vers l’inini, une limite positive p*j , indépendante de l’état initial Εi. La matrice m(t)
aura alors pour limite la matrice m* dont toutes les lignes sont identiques et égales à
3 p*0, p*1, p*2, c4 . Ainsi dans notre exemple :
m l
l1m l1m
m* 5 ≥ ¥
m l
© Dunod – Toute reproduction non autorisée est un délit.
l1m l1m
Par conséquent, le vecteur des probabilités des états admet une limite P*, posi-
tive, indépendante de la distribution initiale.
En effet, puisque P ( t ) 5 P ( 0 ) # m( t ) , par passage à la limite, il vient :
P 5 P ( 0 ) # m *.
*
203
Chapitre 5 • Processus stochastiques et programmation…
soit P* 5 3 p*0, p*1, p*2 4 : cette limite est, elle aussi, positive et indépendante de la dis-
tribution initiale (0). Remarquons, en outre, que pour tout état Ei, on a : p *i 5 p*i .
On peut donner une condition sufisante de forte ergodicité (admise ici) pour un
processus de Markov : c’est que son graphe soit fortement connexe et ini. Ce qui était
le cas dans notre exemple. Rappelons que « graphe ini » équivaut à : « e ini ».
Nous verrons ultérieurement que, pour un processus de Markov comportant un
nombre inini d’états, la forte ergodicité peut avoir lieu ou pas, selon les valeurs relatives
des différents taux lij (comme plus bas, dans les processus de naissance et de mort).
Précisons enin qu’un processus de Markov est « ergodique » (on dit aussi « sim-
plement ergodique ») si toute probabilité de transition pij(t) admet, quand t tend vers
l’inini, une limite positive ou nulle p*j indépendante de l’état initial Ei. Les états Ej,
tels que p*j 5 0, sont des états transitoires.
wB S B 5 a a p *i # l ij 5 a p *i # l ij.
Ei HB Ej HB (Ei, Ej) Hv1 (B )
204
5.8 Calcul des probabilités des états en régime…
w B S B 5 a a p *i # l ij 5 a p *i # l ij.
Ei HB Ej HB (Ei, Ej) Hv2 (B )
p i( t 1 ) 5 a p k ( t ) # p ki( ) .
k
En prenant τ 5 Dt, et en exprimant les probabilités de transition p ki( ) sur cet
intervalle de temps ininitésimal, il vient :
p i( t 1 Dt ) 5 B a p k ( t ) # l ki Dt R 1 p i( t ) ( 1 2 q i Dt ) 1 o ( Dt ) .
k 2i
En régime permanent, les probabilités des états ont atteint leur valeur limite, soit :
© Dunod – Toute reproduction non autorisée est un délit.
p i t 1 Dt 2 5 p i 1 t 2 5 p *i . D’où :
1
p *i 5 B a p *k # l ki R Dt 1 p *i ( 1 2 qi Dt ) 1 o ( Dt ) .
k2i
En simpliiant dans chaque membre p *i , puis en divisant par Dt que l’on fait alors
tendre vers 0, il vient :
205
Chapitre 5 • Processus stochastiques et programmation…
i51
On montre que pour un processus de Markov fortement ergodique, ce système
admet une solution unique, strictement positive. Ainsi, pour notre exemple :
l 2l
3 0, 0 4 5 3 p *0, p *1 4 # BR et p *0 1 p *1 5 1.
m 2m
On retrouve le système l # p *0 5 m # p *1 et p *0 1 p *1 5 1, puis:
m l
p *0 5 et p *1 5 .
l1m l1m
Exemple. Un atelier comporte deux machines identiques ; chacune à une « iabilité »
exponentielle de taux l c’est-à-dire que la probabilité qu’une machine donnée en mar-
che à t, tombe en panne entre t et t 1 dt, vaut l dt 1 o(dt). Lorsque panne survient,
la réparation requiert l’intervention de deux réparateurs : R1 puis R2 (et toujours dans
cet ordre) ; l’atelier ne dispose que d’un seul réparateur R1 et d’un seul réparateur R2.
Les durées des réparations chez R1 comme chez R2 suivent des lois exponentielles
de taux respectifs m1 et m2 (la probabilité qu’une réparation, en cours à t chez R1, se
termine entre t et t 1 dt vaut : m1 dt 1 o(dt) et m2 dt 1 o(dt) pour R2. Toute machine
réparée est immédiatement remise en service. Les délais d’intervention des répara-
teurs, si ceux-ci sont disponibles, sont négligeables. On se propose de modéliser le
fonctionnement de cet atelier par un processus de Markov ; on montrera qu’il est for-
tement ergodique, puis on calculera les probabilités des états en régime permanent
206
5.8 Calcul des probabilités des états en régime…
Pour calculer les probabilités des états en régime permanent, on pourrait résoudre
i 50
rème des coupes (on a posé m1 5 m2 5 m) :
5 E0 6 : 2l # p *0 5 m # p *2 ; 5 E1 6 : ( l 1 m ) # p *1 5 2l # p *0 1 m # p *4 ;
5 E2 6 : ( l 1 m ) # p *2 5 m # p *1 1 m # p *5 ; 5 E3 6 : m # p *3 5 l # p *1 ;
5 E4 6 : 2m # p *4 5 l # p *2 1 m # p *3 ; 5 E5 6 : m # p *5 5 m # p *4 ;
et : p *0 1 p *1 1 c1 p *5 5 1.
207
Chapitre 5 • Processus stochastiques et programmation…
208
5.9 Processus de Markov particuliers
Le processus est dit « ouvert » si li est strictement positif pour toute taille (état) i
de la population. Alors cette taille tend vers l’inini quand t tend vers l’inini : le
processus n’est pas ergodique. Toutefois, pour t ini, on peut chercher à calculer les
probabilités des états pi(t), sachant qu’initialement elle est de taille nulle : X0 5 0.
C’est ce que nous ferons ci-dessous pour les processus de Poisson.
Indiquons que ce calcul n’est possible que si li ne croît pas « trop vite » avec i ;
on montre que les probabilités des états à t (ini) n’existent que si la série a 1/l i
diverge. Intuitivement, puisque 1/li est le temps moyen de séjour de l’état i, la somme
1/l 0 1 1/l 1 1 c1 1/l n représente l’espérance du temps passé dans les états 0,
1, cn. Si la série converge, la population atteint une taille moyenne ininie en un
temps ini... Ce serait le cas, par exemple, pour l i 5 ( i 1 1 ) 2 # l.
Au contraire, le processus est dit « fermé » s’il existe une taille N telle que
lN 5 0 (sachant que li est positif pour tout i 5 0, 1, c, N 2 1 ) . La population
devient « stérile » dès qu’elle a atteint la taille N. En pratique, c’est le cas des sys-
tèmes à capacité limitée à N unités : lorsque cette capacité est atteinte, il n’y a plus
© Dunod – Toute reproduction non autorisée est un délit.
d’arrivée (naissance). Ainsi si un standard téléphonique est saturé (ses N lignes étant
occupées) les appels qui arrivent alors sont perdus.
Le processus fermé est ergodique (mais pas fortement ergodique) : quand t tend
vers l’inini, on a : p *0 5 p *1 5 c5 p *N 2 1 5 0 et p *N 5 1. L’état N est « absor-
bant ».
209
Chapitre 5 • Processus stochastiques et programmation…
l 2t2 2 lt
#e .
2
l 3t3 2 lt
• Pour n 5 3, on trouve : p 3 ( t ) 5 e .
6
l4t 4 2lt ( lt ) 4
• Pour n 5 4, on trouve : e 5 e2lt.
24 4!
On fait alors l’hypothèse de récurrence :
( lt ) n
pn ( t ) 5 e 2lt
n!
( lt ) n 1 1
et l’on montre que pn11(t) a la forme analogue : p n 1 1 ( t ) 5 e2lt.
(n 1 1)!
Connaissant, désormais, les probabilités des états d’un processus de Poisson, on peut
calculer l’espérance et la variance du nombre de naissances entre 0 et t (ou entre u et
u 1 t puisque le processus est homogène) :
E 1 Xt 2 5 a n # p n 1 t 2 5 e an
# lt a
` `
1 lt 2 n `
1 lt 2 n 2 1
2 lt
5e 2 lt
210
5.9 Processus de Markov particuliers
Par abus de langage, nous dirons que le « nombre moyen » de naissances sur un
intervalle de temps d’amplitude t est lt. La variance est :
2 1 E 1 Xt 2 2 5 a n2 # p n 1 t 2 2 1 lt 2 2 ;
`
var Xt 5 E 1 X 2t 2 2
n50
par un calcul analogue à celui ci-dessus, il vient : var Xt 5 lt.
Rappelons, en résumé, les propriétés importantes du processus de Poisson :
– il est homogène, ce qui se traduit par le fait que le taux de naissance l est indé
pendant du temps ;
– c’est une loi à « accroissements indépendants » : les nombres de naissances X 1
et X 2 sur deux intervalles de temps T 1 et T 2 disjoints, sont des variables aléa
toires indépendantes ;
– la probabilité d’occurrence « simultanée » (c’estàdire entre t et t 1 Dt) de
plusieurs événements (naissances) est négligeable : elle est en o(Dt) ;
– le processus n’est pas ergodique : le nombre de naissances Xt tend vers l’inini
quand t tend vers l’inini.
E ( T ) 5 3 t # f ( t ) # dt 5 3 t m e 2 mt dt 5 m .
` `
1
0 0
1
On peut aussi calculer var T 5 s2T. Elle est égale à : .
m2
Une propriété importante de la loi exponentielle est la suivante :
211
Chapitre 5 • Processus stochastiques et programmation…
On trouve m # dt : cette valeur est indépendante de t (ce qui est lié à la propriété
« sans mémoire » du processus de Markov qu’est le processus de Poisson de taux m,
considéré ici). En pratique, prenons deux exemples :
• supposons d’abord qu’une conversation téléphonique, se déroulant dans une
cabine publique, suive une loi exponentielle et qu’à l’extérieur une personne attende
que la cabine se libère... Alors, que cette personne ait attendu 10 secondes, 5 minutes
ou 1 heure, la probabilité que la conversation se termine dans la seconde qui suit
(dt 5 1 s) est la même ! Tout se passe comme si, à chaque instant, la conversation
venait de commencer...
• Considérons ensuite un équipement de iabilité exponentielle (c’est-à-dire que si
T est la date de sa panne, on a P[T > t] 5 e–mt). À tout instant, tout se passe comme
si l’équipement était neuf. Aussi, pratiquer un renouvellement préventif sur un tel
équipement reviendrait... à mettre à la poubelle un équipement neuf !
Terminons par une remarque. Pour la loi exponentielle, le carré du coeficient de
variation : s2T/ 1 E 1 T 2 2 2 est égal à 1. Pour des lois moins dispersées que la loi expo-
nentielle, ce coeficient est inférieur à 1 : tel est le cas pour la loi d’Erlang-k (déduite
d’un processus de Poisson de taux km, dans lequel on regroupe les événements en
( km ) ktk 2 1e2kmt
groupes de k événements) dont la densité de probabilité est : f t 5 ( ) ;
(k 2 1)!
1
alors E 1 T 2 5 m et s2T 5 1/km 2 ; le carré du coeficient de variation vaut donc 1/k :
k étant un entier positif, on a donc : s2T/ ( E ( T )) 2 , 1.
Au contraire, pour des lois plus dispersées que la loi exponentielle, ce coeficient
est supérieur à 1 ; ainsi pour les lois hyper-exponentielles dont la densité de pro-
212
5.9 Processus de Markov particuliers
vidu (on dit aussi mort, ou départ) entre t et t 1 Dt, lorsque la population comporte i
individus est : mi Dt 1 ο(Dt). Il ne se produit pas de naissance.
On a alors affaire à un processus de Markov dont voici le graphe des transitions
entre t et t 1 Dt :
m 1 2 ( l1 1 m 1 ) l1 0c
A5E U.
0 m 2 2 ( l2 1 m 2 ) l2
© Dunod – Toute reproduction non autorisée est un délit.
( f f f
213
Chapitre 5 • Processus stochastiques et programmation…
214
5.9 Processus de Markov particuliers
n50
5 1^ c1 1 a a q m b d .
N n
lk 2 1
p *0
k
n51 k51
cas du processus ouvert, a p *m est une série (somme ininie de termes) qui
`
n50
doit converger vers 1 (la somme des probabilités des états étant égale à 1). Appli-
à partir d’une certaine taille N0 , le taux de naissance doit être inférieur au taux de mort,
pour toute coupe Bn ; sinon, on « sent » que la taille de la population s’accroîtrait jusqu’à
l’inini : il ne saurait exister alors un régime permanent. On interprètera encore mieux
cette condition pour les iles d’attente (M/M/1 ou M/M/S, par exemple).
© Dunod – Toute reproduction non autorisée est un délit.
215
Chapitre 5 • Processus stochastiques et programmation…
Exemple. Supposons que nous ayons affaire à un joueur qui connaît, au début du
jeu, la position qu’il occupe : A, B ou C et reçoit, en phase 1, l’autorisation de chan-
ger de position ou de rester dans sa position selon les lèches (arcs) pleines du dessin
(ig. 5.3). Le hasard intervient ensuite en imposant au joueur un déplacement aléa-
toire, suivant les lèches (arcs) dessinées en pointillés sur lesquelles sont indiqués le
gain correspondant à chaque déplacement puis la probabilité de celui-ci. À la in de
la phase 1, le joueur se trouve donc dans une des trois positions A, Β ou C et reçoit
de nouveau – c’est la phase 2 – le droit de se déplacer à son gré, puis de participer à
un nouveau tirage (ig. 5.4).
Étudions quelles doivent être les stratégies optimales de ce joueur dans un jeu
comportant de nombreuses parties de même type.
Appelons z2 ( y2, x2 ) l’espérance mathématique du joueur qui, se trouvant en y2,
décide d’aller en x2 (cf Fig. 5.4) ; on a, en prenant y2 5 A :
z2 1 A, A 2 5 2 3 0, 8 1 4 3 0, 2 5 2, 4
z2 1 A, B 2 5 3 3 0, 5 1 4 3 0, 5 5 3, 5
216
5.10 Notion de programmation dynamique stochastique
et l’on voit que le joueur doit choisir la seconde décision, comme donnant une
espérance de gain plus forte que la première.
Des calculs analogues pour y2 5 Β puis y2 5 C donnent les résultats suivants :
z2 ( B, A ) 5 2, 4 ; z2 ( B, C ) 5 2, 8 ; puis :
z2 ( C, A ) 5 2, 4 ; z2 ( C, B ) 5 3, 5 ; z2 ( C, C ) 5 2, 8,
d’où le choix x2 5 C si y2 5 Β et le choix x2 5 Β si y2 5 C.
Remontons à la 1ère phase et calculons de la même manière, l’espérance z1 (y1, x1) ;
on a pour y15 A :
z1 1 A, A 2 5 1 3 1 3, 5 2 3 0, 7 1 1 2 1 2, 8 2 3 0, 2 1 1 1 1 3, 5 2 3 0, 1 5 5, 96 ;
z1 ( A, C ) 5 ( 2 1 2, 8 ) 3 0, 2 1 ( 5 1 3, 5 ) 3 0, 8 5 7, 76 ,
d’où l’on déduit que, si y1 5 A, il faut choisir x1 5 C.
On obtient également :
z1 ( B, A ) 5 5, 96 ; z1 ( B, B ) 5 7, 10 ;
z1 ( C, B ) 5 7, 10 ; z1 ( C, C ) 5 7, 76 ,
En phase I En phase II
Si le joueur il Si le joueur il
se trouve en choisit se trouve en choisit
A C A B
B B B C
C C C B
© Dunod – Toute reproduction non autorisée est un délit.
On remarque que, dans ces calculs, on utilise déjà les résultats de la phase sui
vante, c’est-à-dire qu’on admet que les déplacements futurs seront conformes aux
stratégies optimales déjà déterminées : le calcul remonte du futur vers le passé.
Il faut observer que l’on a été obligé, ici, de remonter du futur au passé pour
effectuer les calculs, car sinon on n’aurait pas bénéicié d’une réduction du caractère
combinatoire du problème : il aurait fallu énumérer 556 chemins possibles, comme
si l’on ignorait la notion d’espérance mathématique.
Le problème est dit « fortement ordonné ».
217
Chapitre 5 • Processus stochastiques et programmation…
Bien entendu, l’exemple n’est relatif qu’à deux phases, mais on peut imaginer
un nombre élevé de phases successives. Il arrive parfois que les diverses phases se
déroulent exactement selon le même schéma, contrairement à ce qui se passe dans
l’exemple choisi ci-dessus ; il est alors indiqué de faire appel également à la théorie
des chaînes de Markov (méthode de Howard).
Le théorème d’optimalité, relatif à un phénomène s’étendant sur N périodes,
s’énonce alors : une sousstratégie optimale de Ν à N 2 n ne peut être formée que
par une sousstratégie optimale de Ν à N 2 n 1 1.
On peut évidemment considérer, en avenir aléatoire, des choix discrets ou conti-
nus, un horizon (nombre de phases) limité ou un horizon illimité.
Essayons de formuler les équations de récurrence dans le cas aléatoire, comme
nous l’avons fait pour le cas certain, avec des choix discrets et un horizon limité.
Nous choisirons un processus où, à chaque phase, le hasard intervient pour faire
évoluer la situation, après que l’on ait pris une décision ; pour cette raison, on quali-
ie un tel processus de processus D.H. (décision-hasard) ; il existe, bien entendu, le
processus inverse, H.D., un peu plus dificile cependant à manier.
Soient donc :
• Et12 1, Et22 1, c, Eti 2 1, c, Ept 2(t)1, les états dans lesquels peut se trouver le système
au début de la phase t ; p(t) désigne le nombre d’états possibles lors de ce début de
phase.
• Dt1, Dt2, c, Dtj, c, Dtq(t), les états vers lesquels le décideur peut transférer le sys-
tème par la décision qu’il prend à la phase t ;
• ctij, le coût de la décision de transférer le système de l’état Eit 2 1 à l’état Dtj (dans
l’exemple ci-dessus ce coût était nul).
Observons toutefois qu’à partir de l’état Eit 2 1, seule une partie des Dtj, soit G1 1 Eti 2 1 2 ,
est accessible ;
• ptjk, la probabilité de passer de l’état Dtj à l’état Etk à la in de la phase t, et r tjk le
revenu résultant de ce passage (cf les arcs en pointillés de la Fig 5.3).
Rappelons qu’on appelle « stratégie » la collection des décisions qui doivent être
prises, pour chaque phase, quand le système est dans un état déterminé.
Supposons que nous connaissions la sous-stratégie optimale du début de la phase
t 1 1 jusqu’à la in de la phase N, donc les z*t 1 Etk 2 , c’est-à-dire les p(t) valeurs opti-
males de l’espérance mathématique du revenu en chacun des états possibles Etk à la
in de la phase t (ou début de la phase t 1 1).
Nous écrirons z*t 1 Etk 2 sous la forme plus simple z*t
k . Nous voulons évaluer les
z*t
i
21
, c’est-à-dire espérances mathématiques optimales lorsque, au début de la phase
t, le système se trouve dans l’état Eti 2 1. On a :
z*t
t
21
5 max e 2ctij k )f.
jPG1(Ett 2 1 )
k51
218
5.10 Notion de programmation dynamique stochastique
t1 t
D1t E1t
1
E1t
Cit1
Ekt
t
revenu : rjk
1 proba : pjtk
Eit
coût
cit j
Djt
t1 t
Ep(t) Dqt(t) Ep(t1)
Décision Hasard
Phase t
© Dunod – Toute reproduction non autorisée est un délit.
219
Chapitre 5 • Processus stochastiques et programmation…
EXERCICES
I ChAînes De MARKOV
220
exercices
étudier la limite de la puissance nième de m lorsque n tend vers l’inini sans calculer
© Dunod – Toute reproduction non autorisée est un délit.
221
Chapitre 5 • Processus stochastiques et programmation…
Tracer le graphe et déterminer la classe des états transitoires et celle des états
récurrents.
On demande d’étudier le comportement de m n lorsque n augmente indéiniment et
de trouver * = * (`).
222
exercices
II PROCESSUS DE MARkOV
t et 2t ? Entre 3t et 5t ?
( at ) n
2. On rappelle que p n ( t ) 5 e 2 lt pour toute durée d’intervalle t.
n!
En faisant t :5 Δt, retrouver la probabilité d’avoir respectivement 0 événe-
ment, 1 événement, au moins 2 événements entre u et u 1 Δt.
3. Soit Xt 1 t 2 5 at le nombre moyen d’événements se produisant sur un
intervalle de durée t et s2Xt la variance de ce nombre. Évaluer s2Xt.
4. Quelle est la durée moyenne séparant deux « naissances » (événements)
consécutifs ? Évaluer la variance de cette durée.
223
Chapitre 5 • Processus stochastiques et programmation…
p ij 5 l ij /q i (où q i 5 a l ij )
j 2i
Vériier que a p ij 5 1
j 2i
2. Évaluer la probabilité d’une « trajectoire » suivie entre t 5 t0 et t 5 tn :
P 3 Xt0 5 Ei0, Xt1 5 Ei1, c, Xtn 1 5 Ein 1, Xtn 5 Ein 4 ,
2 2
224
exercices
L’abonné reçoit aussi des appels, lorsque la ligne est libre, arrivant suivant un pro-
cessus de Poisson de taux a ; la durée aléatoire d’une telle conversation est encore
régie par une loi de Poisson de taux m. On remarquera que dans ce cas de réception
d’un appel, la phase 1 n’a pas lieu pour la ligne étudiée.
1. Associer au fonctionnement de la ligne un processus de Markov à
3 états E0, E1, E2, ; décrire en détail chaque état.
Tracer le graphe associé ; valuer chaque arc par le taux de la transition cor
respondant.
2. Ce processus estil ergodique ? Justiier.
3. Sachant que l 5 a 5 3 appels/heure, qu’une conversation dure en
moyenne 3 minutes et que la phase 1 dure en moyenne 20 secondes, calcu-
ler numériquement les probabilités des états en régime permanent (appli-
quer le théorème des coupes à E0 et E1). On prendra l’heure comme unité
commune de temps.
Déterminer pendant combien de temps, en moyenne et par heure, la ligne
est libre.
un terminal pris dans le stock ; celui hors-service est envoyé à l’atelier de réparation
où le réparateur, s’il est libre, remet ce terminal en état puis le replace dans le stock.
Si le stock est nul, le bureau doit attendre la réparation de son terminal.
Dans tous les cas la durée d’une réparation obéit à une loi exponentielle de
taux b.
On suppose négligeable le temps nécessaire au déplacement des réparateurs ou au
remplacement d’un terminal par un autre.
225
Chapitre 5 • Processus stochastiques et programmation…
1 1
Soient les valeurs numériques suivantes : N 5 4, a 5 6 jours, 5 1 jour, R 5 2,
b
S 5 2. (Elles sont peu réalistes mais permettent des calculs simples.)
1. Étude de la politique P1
a) On désigne par Ek l’état pour lequel k terminaux sont en état de marche.
Montrer que l’évolution du parc de terminaux est régie par un processus
de naissance et de mort ; on tracera le graphe associé à ce processus et l’on
valuera ses arcs en fonction de a et b (sans valeur numérique). Existetil
un régime permanent pour ce processus ? Pourquoi ? Dans la suite du pro
blème, on utilisera directement les valeurs numériques.
b) On suppose le régime permanent atteint. Notons alors p*k la probabilité
de l’état Ek.
1
Exprimer p*k en fonction de p*0 ; puis montrer que p*0 5 ; en déduire les
valeurs numériques des probabilités p*. 805
k
2. Étude de la politique P2
a) Appelons Fk l’état pour lequel k terminaux sont en état de marche (dans
les bureaux et dans le stock).
Associer à l’évolution du parc des terminaux un processus de naissance et
de mort ; tracer le graphe associé à ce processus et le valuer en fonction
de a et b.
b) On suppose le régime permanent atteint ; on note alors q*k la probabilité
de l’état Fk.
Calculer les valeurs numériques des probabilités q*k .
c) Déterminer le nombre moyen r r de réparateurs inoccupés, le nombre
moyen rr de terminaux en panne (pour le parc complet) ainsi que le nombre
moyen t de terminaux en panne dans les différents services de la société.
226
exercices
227
2
6 fiabiliTé des
coMPosanTs, sûreTé
de foncTionneMenT
des sysTèMes
organisation très simple, on peut connaître, sur un lot de 2 500 pneus combien ont
duré moins d’un mois, de un mois à deux mois, de deux mois à trois mois, etc. Les
données du problème se présentent sous la forme du tableau ci-après. En fait nous
avons ici « contracté » le temps ain que l’exemple garde une taille raisonnable (en
réalité les durées de vie des pneus sont, heureusement, bien supérieures).
Classe Nombre
Nombre Mortalité relative
Durée cumulé
de Durée des pneus de pneus n ( t21 ) 2n ( t ) n ( t21 ) 2n ( t )
tr de pneus
durée t restants : pi 5
défaillants n(0)
n(t)
0 2 500 0
1 0,5 moins de 1 mois 2 495 5 5 0,002
2 1,5 de 1 mois à 2 mois 2 480 15 20 0,006
3 2,5 de 2 mois à 3 mois 2 440 40 60 0,016
4 3,5 de 3 mois à 4 mois 2 350 90 150 0,036
5 4,5 de 4 mois à 5 mois 2 190 160 310 0,064
6 5,5 de 5 mois à 6 mois 1 990 200 510 0,080
7 6,5 de 6 mois à 7 mois 1 740 250 760 0,100
8 7,5 de 7 mois à 8 mois 1 390 350 1 110 0,140
9 8,5 de 8 mois à 9 mois 790 600 1 710 0,240
10 9,5 de 9 mois à 10 mois 340 450 2 160 0,180
11 10,5 de 10 mois à 11 mois 90 250 2 410 0,100
12 11,5 de 11 mois à 12 mois 30 60 2 470 0,024
13 12,5 de 12 mois à 13 mois 10 20 2 490 0,008
14 13,5 de 13 mois à 14 mois 0 10 2 500 0,004
plus de 14 mois 0 0 2 500 0
a 51
Tableau 6.1
date t de la gestion du lot considéré : le lecteur s’y reportera avant de lire les colonnes
4 et 5.
On obtient donc facilement la courbe n(t) ; un simple changement d’échelle sur
l’axe des ordonnées permet de représenter la courbe de survie :
n1t2
v1t2 5;
n102
v(t) peut être interprété comme la probabilité de survie ou « iabilité » d’un pneu à
toute époque déterminée t, en raison du fait qu’on a étudié un lot assez nombreux
d’équipements a priori identiques (tableau 6.1).
229
Chapitre 6 • Fiabilité des composants, sûreté. . .
Par exemple, la probabilité pour qu’un pneu dure plus de 8 mois est :
n(8) 1 390
5 5 0, 556, soit encore 55,6 %.
n(0) 2 500
La probabilité pour qu’un pneu cesse d’être en état de rouler entre l’époque t 2 1
et l’époque t n’est autre que :
n(t 2 1) 2 n(t)
pt 5 ;
n(0)
on lit les résultats (“mortalité relative”) dans la septième colonne. Ainsi, la probabi-
lité pour qu’un pneu soit réformé entre 8 et 9 mois vaut :
n(8) 2 n(9) 1 390 2 790 600
p9 5 5 5 5 0, 24,
n(0) 2 500 2 500
qui est une valeur très élevée (mais nos données du tableau 6.1 sont artiicielles).
230
6.1 Données discrètes. courbes de survie expérimentale
d’où :
pt n(t 2 1) 2 n(t ) n(0) n(t 2 1) 2 n(t ) n(t)
pc ( t ) 5 5 3 5 512 .
v(t 2 1) n(0) n(t 2 1) n(t 2 1) n(t 2 1)
Évaluons ainsi pc(9) ; on a :
n192 790
pc 1 9 2 5 1 2 512 . 0, 432.
n182 1 390
Ce résultat est fort signiicatif puisqu’il nous apprend que plus de 43 % des pneus
encore en service au bout de 8 mois auront cessé d’être aptes à rouler avant la in du
neuvième mois.
La formule de calcul de la “durée de vie moyenne”, approximation de l’espérance
mathématique de la durée de vie E(T), s’écrit :
t 5 a t # pt
14
1
donne ici la valeur 8,334, qu’on peut toutefois rectiier1 si l’on tient compte de la
durée t’ pour chaque classe (deuxième colonne) , on obtient alors :
tr 5 a tr # pt . 7, 8 ( 34 ) mois, où : tr 5 t 2 ,
14
1
1
2
on calculera aussi très facilement la variance :
s2t
d’où un écart-type de : 1
st 5 "1, 98 . 1, 4 ( 1 ) mois.
La igure 6.2 montre que :
t # pt 5 t 3 v ( t 2 1 ) 2 v ( t ) 4 5 t # D v.
Si donc on fait la somme a t # pt, pour toutes les valeurs de t, on obtient une aire
qui est très légèrement supérieure à l’aire sous-tendue par la courbe v(t).
Dans le cas où v(t) est une fonction continue, on peut faire tendre Δν vers zéro et
© Dunod – Toute reproduction non autorisée est un délit.
l’on obtient exactement l’aire comprise entre la courbe de survie et l’axe des temps.
On peut donc écrire, dans ce cas :
t 5 3 v ( t ) dt.
`
231
Chapitre 6 • Fiabilité des composants, sûreté. . .
1
p c ( t ) 5 2 3 2 l e2lt 4 # 2lt
5 l.
e
Calculons la « durée de vie1 moyenne » t dans le cas d’une courbe de survie
exponentielle (il s’agit en réalité, ici, de l’espérance de la durée de vie : E(T)) :
t 5 3 e 2 lt # dt 5
`
1
;
0 l
or, la valeur a, correspondant à v(t) 5 0,5, est telle que : 0,5 5 e2lt ou encore :
ln 2
a5 . On a donc a , t puisque ln 2 5 0,693 est inférieur à 1.
l
Plus la courbe de survie se rapproche d’un échelon rectangulaire, plus la probabi-
lité d’avarie, qui était nulle jusqu’à l’âge a 5 t, subit un saut brusque ; v(t) vaut alors
1 (igure 6.4) pour t , a puis vaut 0 pour t ù a.
232
6.2 Loi de survie : forme analytique
d
i ( t ) # dt 5 2dv ( t ) et que : i ( t ) 5 2 v ( t ) 5 2vr ( t ) .
233
Chapitre 6 • Fiabilité des composants, sûreté. . .
3 l(u) du
t
car 3 l ( u ) du 5 2 3 log v ( u ) 4 t0 .
2 t
v (t) 5 e 0 ,
0
Les courbes l(t), pour des types d’équipements (composants) donnés, ont les
allures ci-dessous (courbes « en baignoire »).
Pendant une brève période, l(t) peut être initialement décroissant : il s’agit de
la période d’élimination de composants affectés de défauts de fabrication (« mala-
dies de jeunesse »). Suit une période longue pendant laquelle l(t) est soit constant
(équipements dits de fatigue, de iabilité exponentielle), soit croissant modérément
(équipements dits d’usure). Soit enin, une phase pendant laquelle l(t) brusquement
se met à croître de plus en plus vite : il s’agit d’une phase d’usure prononcée (géné-
ralement on remplace les équipements atteignant cette phase).
• Calculons l’âge moyen ˉt d’apparition de l’avarie ou la “durée de vie moyenne”
d’un équipement (qui est en réalité l’espérance mathématique E[T]). Il vient :
t 5 3 t # i ( t ) # dt 5 3 t # d 3 2v ( t ) 4 5 3 2t # v ( t ) 4 0` 2 3 2v ( t ) dt 5 3 v ( t ) # dt,
` ` ` `
0 0 0 0
car, en intégrant par parties, le terme 2t # v ( t ) est nul entre 0 et l’inini. On a supposé :
lim t # v ( t ) 5 0, ce qui est physiquement évident, aucun équipement n’étant éternel.
tS`
C’est cette durée de vie moyenne qui est appelée MTTF ou MTF (Mean Time To
Failure) par les industriels : Temps Moyen jusqu’à la Panne, qui a remplacé le terme
234
6.2 Loi de survie : forme analytique
ancien de MTBF1 désormais réservé au cas de systèmes réparables (et non pas d’un
composant ou un équipement isolé).
Bien entendu la loi « continue » n’est qu’une loi idéale, tirée de l’observation par
le statisticien, d’après des données du même type que celles dont nous avons fait
usage dans l’exemple traité plus haut (Tab. 6.1).
Dans beaucoup de problèmes pratiques, on n’a pas besoin de cette loi. C’est le cas
lorsque, pour exécuter un calcul sur ordinateur, il est nécessaire de « discrétiser » la
loi continue qu’on vient de tirer des données expérimentales discrètes. En revanche,
les méthodes statistiques sont très utiles si les données expérimentales contiennent
des points aberrants ou bien des « trous ».
Par des méthodes statistiques que nous ne précisons pas ici, on a pu trouver
l’expression continue suivante pour l’exemple cité plus haut :
5
v ( t ) 5 e 2 (0, 12t) ,
ce qui correspond à une loi dite « de Weibull », de la forme v 1 t 2 5 e 2 1at2 avec les
b
valeurs a 5 0,12 ; b 5 5.
On a alors t 5 7,64 au lieu de la valeur expérimentale 7,8 et des écarts entre la
courbe idéale et la courbe pratique (igure 6.8).
Donnons quelques compléments sur la loi de Weibull. Cette loi dépend de deux
paramètres positifs : b est le paramètre de « forme » (cf. courbes ci-dessous Fig 6.7)
et a, celui de « durée de vie ».
La iabilité est v ( t ) 5 e 2 (a t) .
b
La « durée de vie moyenne » MTTF (Mean Time To Failure), en fait E(T), vaut :
t 5 3 i ( t ) dt 5 a G a1 1 b
`
1 1
0 b
0
positif, nommée aussi fonction « gamma ».
235
Chapitre 6 • Fiabilité des composants, sûreté. . .
Figure 6.7
Figure 6.8
236
6.3 Probabilité de consommation. approvisionnements
q1 ( t ) 5 a 5 a pk # v ( t 2 k ) .
n 3 ( k 2 1 ) 4 2 n ( k )
k 5r k 5r
n ( t 2 k )
3
© Dunod – Toute reproduction non autorisée est un délit.
k 51
n(0) n(0) k 51
D’une manière analogue, on obtiendrait la formule de récurrence :
qm ( t ) 5 a qm 2 1 ( t 2 k ) # pk ,
k 5r
k 51
En présence d’une fonction v(t) continue, qm(t) est donné par la convolution :
qm ( t ) 5 2 3 qm 2 1 ( t 2 u ) # v r ( u ) # du 5 3 qm 2 1 ( t 2 u ) # i ( u ) # du
t t
0 0
1 2 #
puisque pk peut être remplacé par 2 vr t D t lorsque tend vers zéro.
237
Chapitre 6 • Fiabilité des composants, sûreté. . .
Lorsque la iabilité est exponentielle : v(t) 5 e2lt, cette récurrence se résout aisé-
( lt ) m
ment ; on trouve : qm t 5
( ) e 2 lt, c’est-à-dire que l’on retrouve une loi de Pois-
m!
son. En effet, on sait que la loi exponentielle est la loi de la durée des intervalles de
temps séparant deux événements consécutifs (ici : deux pannes) dans un processus
de Poisson.
a qk ( t ) > 0, 95,
k 5m
k 50
On cherchera donc la plus petite valeur de m réalisant cette condition. Notons que
si l’on voulait assurer le dépannage avec la probabilité 1, il faudrait avoir un stock
de pièces de rechange… inini1 ! En pratique au lieu de 1, on adapte 0,99 ou 0,999
ou...
Les conditions d’approvisionnement durant une période de gestion sont précisées
par la considération du taux d’approvisionnement. Pour mettre en évidence cette
notion, il est nécessaire de connaître, en fonction du temps, le nombre d’équipements
que l’on veut maintenir en état : c’est la fonction d’utilisation (t).
Soit, par exemple, à mettre en service Ν équipements au temps t 5 0, puis à porter
le nombre de ces équipements à Nr au temps t 5 t1, pour le maintenir à cette valeur
jusqu’à t2, puis le laisser décroître régulièrement de N à 0 entre t2 et t3. La igure 6.9
représente la fonction d’utilisation.
Imaginons maintenant que l’axe des temps soit divisé en périodes égales de durée .
Pour la période 3 1 k 2 1 2 , k 4 , le nombre d’approvisionnement r() est :
r 1 k 2 5 n 1 k 2 2 n 3 1 k 2 1 2 4 ,
si l’on appelle n(k) le nombre d’équipements
remplacés jusqu’au temps k.
À chaque période i, les équipements remplacés,
au nombre de r(i), étant neufs, seront soumis à la
loi de survie v 1 t 2 i 2 , si bien qu’il en restera en
service au temps t :
r 1 i 2 # v 1 t 2 i 2
À toute époque t, on devra avoir, si t 5 r :
1 ( t ) 5 N # v ( t ) 1 a r ( k ) # v ( t 2 k )
k 5r
Figure 6.9
k 51
238
6.4 Calcul des approvisionnements
1 ( t ) 5 N # v ( t ) 1 3 R r ( ) # v ( t 2 ) # d ,
t
239
Chapitre 6 • Fiabilité des composants, sûreté. . .
tandis que les probabilités de transition des états précédents aux états 1, 2, 3, c
(survie pendant une période) sont :
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0, 002 0, 998
1 0, 006 0, 994
2 0, 016 0, 984
3 0, 037 0, 963
4 0, 068 0, 932
5 0, 091 0, 909
M = 6 0, 126 0, 874
7 0, 201 0, 799
8 0, 432 0, 568
9 0, 570 0, 430
10 0, 735 0, 265
11 0, 667 0, 333
12 0, 667 0, 333
13 1 0
dont le graphe G est donné par la igure 6.11 ; cette chaîne est non décomposable (car
G est fortement connexe) et apériodique (car G comporte une boucle), elle est donc
fortement ergodique ; mais ici nous allons étudier le régime transitoire).
240
6.4 Calcul des approvisionnements
Figure 6.11
En faisant le produit du vecteur n(0)1, dont les éléments sont les nombres d’équi-
pements d’âges déterminés mis en service à la date 0, par la matrice m, on obtiendra
n(1)1, les éléments de ce vecteur étant les nombres d’équipements d’âges détermi-
nés: à remplacer (colonne 0) ou survivants (colonnes 1 à 13) à la date 1. En multi-
pliant n(1) par m, on obtiendra n(2)1, et ainsi de suite. Nous ferons le calcul dans
l’hypothèse où l’on a, initialement, 2 500 équipements neufs :
n ( 0 ) 5 3 2 500 ; 0 ; c; 0 4
Il vient successivement :
n ( 1 ) 5 n ( 0 ) # m 5 3 5 ; 2 495 ; 0 ; 0 ; c; 0 4 ;
n ( 2 ) 5 n ( 1 ) # m 5 3 14,98 ; 4,99 ; 2 480,03 ; 0 ; 0 ; c; 0 4 , etc.
pour les âges des équipements aux périodes successives. On remarque que la pre-
mière composante N0(k) de chaque vecteur n(k) donne la quantité à réapprovision-
ner en chaque début de période : initialement, 2 500 ; après une période, 5 ; après
deux périodes : 14,98 ; etc. Bien entendu, les nombres non entiers qui apparaissent
sur le tableau correspondent à un calcul théorique. Dans la pratique, on remplace
un nombre d’équipements évidemment entier et les effectifs des différentes classes
d’âge s’expriment également en nombres entiers (cf. tableau 6.3).
La « courbe » de la igure 6.12 (pour rendre plus visible l’évolution, on a réuni
les points par des segments de droite) est extrêmement intéressante. Elle montre que
les quantités à approvisionner oscillent très largement autour de la valeur moyenne
N 2 500
5 . 300 équipements par période. La poursuite du calcul montrerait que
© Dunod – Toute reproduction non autorisée est un délit.
t 8, 334
ce n’est qu’à partir d’une lointaine période que l’on aurait une différence de moins de
N
1 % entre réapprovisionnements calculés et le réapprovisionnement moyen . Cela
t
signiie que l’on a renouvelé, en moyenne, six à sept fois le matériel avant d’être par-
venu à l’équilibre ( 52/8,33 < 6,24 ) .
1. les vecteurs N(0), N(1), N(2), etc., sont égaux aux vecteurs de probabilité des états : P(0),
P(1), P(2), multipliés par 2 500.
241
242
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 2 500
1 5 2 495
2 14,98 4,99 2 480,03
3 39,74 14,95 4,96 2 440,35
4 90,54 39,66 14,86 4,88 2 350,06
5 160,64 90,36 39,42 14,62 4,70 2190,25
6 201,67 160,32 89,82 38,79 14,08 4,38 1990,94
7 256,45 201,26 159,36 88,38 37,36 13,12 3,98 1740,08
8 361,53 255,94 200,06 156,81 85,11 34,82 11,93 3,48 1390,32
9 623,04 360,81 254,40 196,86 151,01 79,32 31,65 10,43 2,78 789,70
10 489,67 621,79 358,64 250,33 189,57 140,74 72,10 27,66 8,33 1,58 339,57
11 314,14 488,69 618,06 352,91 241,07 176,68 127,93 63,02 22,10 4,73 0,68 89,99
12 160,53 313,51 485,76 608,17 339,85 224,68 160,60 111,81 50,35 12,55 2,03 0,18 29,97
13 169,25 160,21 311,63 477,98 585,67 316,74 204,23 140,37 89,34 28,60 5,40 0,54 0,06 9,98
14 215,81 168,91 159,25 306,64 460,30 545,85 287,92 178,50 1 12,15 50,74 12,30 1,43 0,18 0,02
15 255,97 215,38 167,90 156,70 29,00 429,00 496,17 251,64 142,62 63,70 21,82 3,26 0,48 0,06
Chapitre 6 • Fiabilité des composants, sûreté. . .
16 299,02 255,46 214,08 165,21 150,90 275,22 389,96 433,66 2 389,96 81,01 27,39 5,78 1,09 0,16
17 341,18 298,42 253,93 210,66 159,10 140,64 250,17 340,82 346,49 114,20 34,83 7,26 1,93 0,36
18 384,84 340,50 296,63 249,87 202,87 148,28 127,84 218,65 272,32 196,81 49,11 9,23 2,42 0,64
19 378,47 384,07 338,45 291,88 240,62 189,07 134,79 111,73 174,70 154,68 84,63 13,01 3,07 0,80
20 329,66 377,72 381,77 333,04 281,08 224,26 171,86 117,81 89,27 99,23 66,51 22,43 4,33 1,02
Régim. perm. 299,96 299,36 297,56 292,80 281,97 262,79 238,88 208,78 166,82 94,75 40,74 10,80 3,60 1,20
Il faut en tirer la conclusion, très importante, que les phénomènes permanents sont
en général de peu d’intérêt en matière de renouvellement des équipements. En effet,
on n’aura pas encore atteint le régime permanent lorsque, frappé d’obsolescence,
l’équipement considéré sera déjà à remplacer par un nouveau type d’équipement !
On peut donc, avec avantage, se laisser guider par ce calcul simple pour dresser les
tableaux de commande du matériel à renouveler, période par période, quitte à insti-
tuer un certain stock de sécurité, pour éviter les conséquences d’aléas éventuels. Le
gain, souvent considérable, qui résulte de commandes cadencées, selon la méthode
ci-dessus, pour le réapprovisionnement des équipements, est calculé comme en
matière de stockage.
Figure 6.12
243
Chapitre 6 • Fiabilité des composants, sûreté. . .
p 1 3 1 2 v (u ) 4 # P
C2 ( u ) 5 ,
tu
tθ étant la durée de vie moyenne d’un organe dont la courbe de survie subit un saut
à θ, soit :
tu 5 3 v ( t ) dt.
u
tu 5 3 t # f ( t ) # dt 1 u # Pr( T . u ) ,
u
avec :
Figure 6.13
d
f (t) 5 v ( t ) et Pr ( T . u ) 5 v ( u )
dt
244
6.5 Un autre compromis : l’entretien préventif
3 t # f ( t ) # dt 5 23 t # dv ( t ) 5 2 3 tv 4 0 1 3 v ( t ) # dt 5 2uv ( u ) 1 3 v ( t ) # dt ;
u u u u
u
0 0 0 0
ainsi :
tu5 3 t # f ( t ) # dt 1 u # v ( u ) 5 2u # v ( u ) 1 3 v ( t ) # dt 1 u # v ( u ) 5 3 v ( t ) # dt ■
u u u
0 0 0
Pour que l’entretien préventif soit avantageux, il faut qu’il existe au moins une
époque θ telle que l’on ait : C2 1 u 2 , C1, c’est-à-dire :
p 1 3 1 2 v (u ) 4P p1P
,
tu t
ou :
p # t 1 P # t 2 P # v ( u ) # t , ( p 1 P) # tu ;
mais :
tu 5 t 2 u avec : u 5 3 v ( t ) # dt.
`
Il vient donc :
2P # v ( u ) # t , 2 ( p 1 P ) # u ,
d’où :
p1P v1u 2 # t
, ,
P u
soit encore :
v1u 2
C1 , P # .
u
v1u 2
Dans ces conditions, c’est-à-dire si : C1 , P # , l’époque la plus favorable
© Dunod – Toute reproduction non autorisée est un délit.
u
pour l’entretien préventif sera évidemment la valeur θ rendant C2(θ) minimal.
Or, C2(θ) est généralement une fonction tout d’abord décroissante, puis croissante
de θ (on écrit plus bas, en abrégé : v, au lieu de : v(θ)).
dC2 1 u 2
Calculons ; on a :
du
245
Chapitre 6 • Fiabilité des composants, sûreté. . .
dv dtu
2t u # P # 2 3p 1 1 1 2 v 2 P 4 #
dC2 1 u 2 du du
5
du t2u 2
dtu
Sachant que : 5 v ( u ) ; il en résulte que C2(θ) est minimal pour :
du
dv
2t u # P # 2 3p 1 1 1 2 v 2 # P 4 # v 5 0
du
ou encore :
vr p1P
2tu # 1v5 . (6.1)
v P
Remarquons au passage que pour une iabilité exponentielle :
tu 5 3 e2lt # dt 5
u
1 2 e2lu
et : vr ( u ) 5 2le2lu .
0 u
L’équation (6.1) donne alors :
(1 2 e2lu ) ( 2le2lu ) p1P
2 # 1 e2lu 5 ,
l e2lu P
p1P
soit après simpliications : 15 ,
P
ce qui supposerait que le prix de l’équipement p soit nul ! En fait, pratiquer de
l’entretien (remplacement) préventif avec un matériel de iabilité exponentielle est
absurde : le taux de panne l étant constant, cette démarche reviendrait à mettre à la
poubelle des équipements neufs ! En effet, un tel équipement n’a pas d’« âge » (au
sens habituel du terme). En pratique, l est constant sur une très longue période, mais
la phase d’usure init par apparaître : cf. Fig 6.5.
Appliquons maintenant ces résultats à un exemple dans lequel la loi de survie
serait conforme au tableau mais oublions qu’il s’agissait de pneumatiques, les consé-
quences économiques de la panne étant, dans ce dernier cas, trop faibles pour que le
problème soit intéressant. Considérons, au contraire, et successivement, que :
l) p 5 0,1 ; P 5 1 ; 2) p 5 1 ; P 5 1.
Le tableau ci-dessous permet de tirer des conclusions intéressantes.
246
6.5 Un autre compromis : l’entretien préventif
t υ
υ() 1υ() υ / t (1) t /υ() υ() / υ() C2()
υ()
t t Cas 1 Cas 2
1 0, 998 0, 002 0, 002 0, 999 1, 001 6, 835 0, 146 1 0,102 1, 003
2 0, 992 0, 008 0, 006 1, 994 2, 010 5, 840 0,170 1, 004 0, 054 0, 506
3 0, 976 0, 024 0, 016 2,978 3, 051 4, 856 0, 201 1, 025 0, 042 0, 344
4 0, 940 0, 060 0, 036 3,936 4,187 3, 898 0, 241 1, 091 0, 041 0, 269
5 0, 876 0,124 0, 064 4,844 5, 530 2, 990 0, 293 1, 230 0, 046 0, 232
6 0, 796 0, 204 0, 080 5, 680 7,136 2,154 0, 370 1, 367 0, 054 0, 212
7 0, 696 0, 304 0,100 6, 426 9, 233 1,408 0, 494 1, 619 0,063 0, 203
8 0, 556 0, 444 0,140 7, 052 12, 683 0, 782 0, 711 2, 332 0, 077 0, 205
9 0, 316 0, 684 0, 240 7, 488 0, 346 0, 913 0,105 0, 225
10 0,136 0, 864 0,180 7, 714 0, 120 1, 133 0, 125 0, 242
11 0, 036 0, 964 0,100 7, 800 0, 034 1, 059 0,136 0, 252
12 0, 012 0, 988 0, 024 7, 824 0, 010 1, 200 0,139 0, 254
13 0, 004 0, 996 0, 008 7, 832 0, 002 2 0,140 0, 255
14 0 1 0,004 7,834 0 0, 140 0, 255
t C1 C1
Pour calculer tu , on trace la courbe v(θ) en joignant les points (θ, v(θ)), où θ = 0,
1, c, 14, par des segments de droite : la « courbe » v(θ) est alors une ligne brisée.
Puis on évalue l’aire comprise entre la courbe et l’axe des temps entre t = 0 et t = θ :
tu u est alors la somme des aires de θ trapèzes. En outre, comme v(t) = 0 pour t > 14,
on a : t14 5 tr.
v (u)
1) Dans le premier cas, on a pour tout θ : C1 . P # . En effet
u
© Dunod – Toute reproduction non autorisée est un délit.
1, 1 0, 1 1 1 2 v ( u)
C1 5 5 0, 140 4 et P 5 1. Ici C2 ( u) 5 .
7, 834 tu
247
Chapitre 6 • Fiabilité des composants, sûreté. . .
tu Dv p1P
2 # 1 v ( u) 5 5 1,1 pour une valeur de θ très légèrement supé-
v ( u) Du P
rieure à θ 5 4.
1. Kelly a fondé l’étude de l’entretien préventif sur l’utilisation d’une représentation lognormale
des courbes de survie.
248
6.5 Un autre compromis : l’entretien préventif
3 e
x x2
1 2
v (x ) 5 1 2 2
dx 5 1 2 Pr ( x ) .
"2p 2`
On reconnaît dans l’intégrale la fonction de répartition de la loi normale centrée
réduite.
Représentons (igure 6.14) un certain nombre de courbes de survie, en fonction
t
de a ; elles passent toutes, dans ces conditions, par le point de coordonnées :
t
a 5 1 ; v 5 0, 5.
On remarque, de plus, que ces courbes vont de la loi rectangulaire pour m 5 0 à la
loi exponentielle décroissante pour m 5 0, 84, c’est-à-dire balaient le champ habituel
des courbes de survie.
Il est aisé de calculer :
m2 m2
tu 5 e m 1 2 , soit: tu 5 e m 1 2 Pr ( 1 m) 1 em 1 m 3 1 2 Pr ( ) 4
,n u 2 m
où : 5 m .
© Dunod – Toute reproduction non autorisée est un délit.
Figure 6.14
249
Chapitre 6 • Fiabilité des composants, sûreté. . .
On obtient alors :
C2 p 1 3 1 2 v(u ) 4P ( p / P ) 1 Pr ( )
5 # t 5 # 1
.
C1 p1P (p / P) 1 1 m
tu m a 2 b
Pr ( 2 m ) 1 e 2 # 3 1 2 Pr ( ) 4
Il est intéressant de constater que les pièces d’usure, pour lesquelles le coeficient
m est compris entre 0,3 et 0,6, donnent des minima bien marqués du rapport C2/C1,
ceci d’autant mieux que p/P est petit (nous l’avons constaté sur l’exemple numérique
précédent, où l’on pourrait prendre m < 0,4, tout au moins pour la partie supérieure
de la courbe de survie). Il est donc, en général, avantageux de pratiquer l’entretien
préventif : une pièce d’usure (courroie, garniture de frein, chaîne, etc.) est, le plus
souvent, de peu de prix devant le coût d’une panne.
Au contraire, les pièces de fatigue (composants électroniques, axes, roulements,
leurets, vilebrequins, etc.), pour lesquelles le coeficient m est voisin de 0,9, ne
donnent de minima signiicatifs du rapport C2/C1 que lorsque p/P est vraiment faible,
de l’ordre de 0,05, par exemple. Or, les pièces de fatigue sont généralement coû-
teuses et ainsi le rapport p/P dépasse largement la limite indiquée ci-dessus, si bien
que l’on n’a pas souvent intérêt à pratiquer l’entretien préventif.
D’ailleurs, puisque les pièces de fatigue survivent selon une courbe qui s’appa-
rente à l’exponentielle décroissante, il est à peu près évident qu’on n’a pas d’avan-
tage à remplacer une vieille pièce par une pièce neuve de fragilité égale, comme
nous l’avons déjà souligné plus haut, ceci tant que la phase d’usure n’est pas atteinte
(Fig. 6.5).
Figure 6.15
250
6.6 Fiabilité des systèmes non réparables
En particulier, si n 5 2, il vient : Vp 1 t 2 5 v1 1 t 2 1 v2 1 t 2 2 v1 1 t 2 # v2 1 t 2 .
Monter des composants en parallèle permet d’accroître la iabilité d’un système ;
ainsi avec n 5 3 composants et (comme ci-dessus) vk(1 000) 5 0,9, il vient :
1 2 Vp 1 1 000 2 5 3 1 2 0, 9 4 3 soit Vp 1 1 000 2 5 0, 999 : bien meilleur que 0,9 !
Doubler, tripler des composant est largement utilisé dans des systèmes embar-
qués, satellites, navettes spatiales, etc.
251
Chapitre 6 • Fiabilité des composants, sûreté. . .
Figure 6.17
Figure 6.18
252
6.6 Fiabilité des systèmes non réparables
Pour le premier terme de cette somme (6.1), on sait que la panne de T5 surviendra
après t : pour évaluer P 3 T . t k T5 > t 4 , on peut alors considérer C5 comme un court-
circuit ; le système devient alors :
on obtient :
V 5 3 1 v1 1 v3 2 v1v3 2 # 1 v2 1 v4 2 v2v4 2 4 # v5 1 3 v1v2 1 v3v4 2 v1v2v3v4 4 # 1 1 2 v5 2
Si vi(t) 5 v(t) pour tout i, on a : V 1 t 2 5 2v5 1 t 2 2 5v4 1 t 2 1 2v3 1 t 2 1 2v2 1 t 2 .
2 5 2 2 49
Pour vi(t) 5 e2lt, on obtient alors t 5 2 1 1 5 .
5l 4l 3l 2l 60l
L’approche utilisée ici pour évaluer V(t) est plus eficace que celle consistant à
énumérer toutes les chaînes de composants de e à s, puis à appliquer la formule du
crible (que nous donnons ici à l’ordre 4) :
P [A1 ou A2 ou A3 ou A4]
© Dunod – Toute reproduction non autorisée est un délit.
5 P 3 A1 4 1 P 3 A2 4 1 P 3 A3 4 1 P 3 A4 4 2 P 3 A1 et A2 4 2 P 3 A1 et A3 4 2 P 3 A1 et A4 4
2 P 3 A 2 et A 3 4 2 P 3 A 2 et A 4 4 2 P 3 A 3 et A 4 4 1 P 3 A 1 et A 2 et A 3 4 1 P 3 A 1 et A 2 et A 4 4
1 P 3 A1 et A3 et A4 4 1 P 3 A2 et A3 et A4 4 2 P 3 A1 et A2 et A3 et A4 4 .
Pour l’exemple ci-dessus, on trouve les quatre chaînes :
A1 5 [C1, C2] ; A2 5 [C1, C5,C4] ; A3 5 [C3, C5, C2] ; A4 5 [C3, C4].
P [A1] désigne ici la iabilité de C1 et C2 en série, soit P 3 A1 4 5 v1 # v2. Ainsi, on
aura :
P 3 A 2 et A 4 4 5 v 1 # v 3 # v 4 # v 5 (et non pas v1v5v4 # v3v4 , on ne doit pas répéter v 4!).
253
Chapitre 6 • Fiabilité des composants, sûreté. . .
Figure 6.22
6.7.1 Modélisation markovienne
Le système ci-dessus a trois états :
– E0 : les deux composants fonctionnent (donc le taux global de panne est 2 # l) ;
– E1 : un seul composant fonctionne, l’autre est en cours de réparation ;
– E2 : les deux composants sont en panne : l’un est en cours de réparation, l’autre
attend d’être réparé.
Voici alors le graphe des transitions entre t et t 1 dt :
Figure 6.23
254
6.7 Sûreté de fonctionnement des systèmes réparables
EiPFC
cette fonction minimale est assurée.
Il convient alors, pour évaluer D*, de calculer les probabilités des états en régime
0 5 P* # a
1 5 a p *i
permanent t 1 S 2
` : on résout le système linéaire b , où a désigne le
générateur ininitésimal du processus de Markov. Ici, on a :
0 1 2
0 22l 2l 0
a 5 1≥ m 2(l 1 m ) l ¥.
2 0 m 2m
On peut aussi appliquer le théorème des coupes (pour lequel il sufit de considérer
le graphe simpliié):
– Pour C0 5 {E0} :
C0 C1 2l # p *0 5 m # p *1.
– Pour C1 5 {E0, E1} :
l # p *1 5 m # p *2,
et : p *0 1 p *1 1 p *2 5 1.
Figure 6.24
© Dunod – Toute reproduction non autorisée est un délit.
1 1 2l/m
On obtient D* 5 . On vériie que D* , 1 et que, si l / m est
1 1 2l/m 1 2l 2 /m 2
petit, c’est-à-dire que le taux de réparation est très supérieur au taux de panne, D*
est voisin de 1 ; on aurait, pour l 5 0, D* 5 1 : un système sans panne est toujours
disponible !
On pourrait aussi chercher la disponibilité à l’instant t : D(t), connaissant la dis-
tribution initiale des probabilités des états, mais ce calcul de régime transitoire est
plus délicat.
255
Chapitre 6 • Fiabilité des composants, sûreté. . .
Figure 6.25
On peut aisément calculer les quantités dans le cas d’une modélisation marko-
vienne. Rappelons la formule des temps (cf. chapitre 5) :
L’ensemble des états e étant partitionné en F et F, le temps moyen de séjour parmi
les états de F, entre deux passages par ceux de F, vaut : TF 5 p *F // wF S F, où :
p *F 5 a p *i et wF S F 5 a a p *i l ij.
EiPF EiPF EjPF
Pour évaluer le MUT, on prendra pour F le sous-ensemble d’états de fonction-
nement correct : dans ce cas, on aura p *F 5 D* ; pour le MDT, on prendra F. Ainsi
dans l’exemple :
F 5 5 E0, E1 6 ; F 5 5 E2 6 ; wF S F 5 l # p *1 5 wF S F 5 m # p *2
p *0 1 p *1 1 m / 2l 1 1 2 # p *1 2l 1 m
MUT 5 5 5 ,
l # p *1 l # p *1 2l 2
256
6.7 Sûreté de fonctionnement des systèmes réparables
p *2 p *2 1 2l 1 m 1
MDT 5 5 5 m ; MTBF 5 1m
l # p *1 m # p *2 2l 2
MUT ( 2 l 1 m ) /2l 2 2 l m 1 m2
On retrouve : D* 5 5 5 .
MTBF ( 2 l m 1 m 2 1 2 l 2 ) /2 l 2m 2 l m 1 m 2 1 2l 2
En divisant le numérateur et le dénominateur par m2, on retrouve bien :
1 1 (2 l / m )
D* 5 .
1 1 ( 2 l / m ) 1 ( 2 l 2 / m2 )
Remarquons enin que le fonctionnement d’un système (pour lequel les durées de
réparations sont petites par rapport aux temps entre défaillances) est modélisable par
un processus de Markov... à deux états :
Figure 6.26
Figure 6.27
257
Chapitre 6 • Fiabilité des composants, sûreté. . .
L’arc (E2, E1) a été supprimé : l’état de panne E2 a été rendu absorbant (il com-
porte une boucle valuée par une probabilité de transition égale à 1).
Sachant qu’à t 5 0 aucune panne n’est survenue (le système est dans l’état E0), le
problème revient à calculer p0(t) et p1(t) (donc en régime transitoire), puisque :
V1t2 5 p01t2 1 p1 1t2.
Soit a le générateur ininitésimal du processus de Markov. On résout
Pr ( t ) 5 P ( t ) # a, de préférence à l’aide de la transformée de Carson-Laplace(1) :
V s 5 s3 V ( t ) e2st dt).
`
,( )
0
p 0r ( t ) 5 22l # p 0 ( t ) 1 m # p 1 ( t ) ; p 1r ( t ) 5 2 ( l 1 m ) # p 1 ( t ) 1 2 l # p 0 ( t )
avec, comme condition initiale : p0(0) 5 1.
, s # ( s 1 3l 1 m ) s1s 1 c2
On trouve V ( s ) 5 . Or, l’original de
s2 1 s ( 3l 1 m ) 1 2l 2 1s 1 a2 1s 1 b2
a 2 c 2at b 2 c 2bt 1
est : e 2 e . D’où : V 1 t 2 5 3 ae2bt 2 be2a t 4 , où :
a2b a2b "D
3 l 1 m 1 "D 3 l 1 m 2 "D
D 5 l 2 1 6lm 1 m 2 ; a 5 ; b5 .
2 2
Notons que, pour m 5 0, (c’est-à-dire en l’absence de réparation), on retrouve :
V ( t ) 5 2e2lt 2 e22lt
(alors "D 5 l, a 5 2l, b 5 l), expression que l’on avait aisément obtenue au
paragraphe consacré aux systèmes parallèles non réparables.
Le lecteur en a déjà été averti : le calcul formel d’un régime transitoire est souvent
lourd, voire impraticable (même en disposant d’un logiciel du type Mathematica).
Cependant, nous allons voir que le calcul du MTFF (Mean Time To First Failure) :
temps moyen jusqu’à la première panne paralysante, peut se pratiquer plus aisément.
1a b ( a 1 b )( a 2 b ) ( 3 l 1 m ) # "D 3 l 1 m.
MTFF 5 c
2 d 5 5 5
"D b a "D # a b "D # 2l 2 2l 2
1.
(1) Si le lecteur ne connaît pas la transformée de CarsonLaplace, il peut sauter ce développement
et passer au paragraphe cidessous (commençant par “cependant, nous...”).
258
6.8 stratégie de remplacement
,( )
(En fait, en utilisant un théorème de calcul opérationnel : 3 V t dt 5 lim s ,
` V s
( )
0 sS0
1 s # ( s 1 3l 1 m ) 3l 1 m
on obtient plus rapidement : MTFF 5 lim s # 2 5 )
sSo s 1 s ( 3l 1 m ) 1 2l 2
2l 2
• Mais le calcul direct du MTFF est possible sans avoir à évaluer la iabilité V(t)
(ni même la transformée de Carson-Laplace , V ( s )) , si on utilise l’absorption dans
les processus de Markov. Considérons les états transitoires Ε0, Ε1, c, Ek21 (les
autres états étant absorbants) ; notons tj le temps moyen passé dans l’état transi-
toire Ej, avant absorption ; extrayons du générateur ininitésimal a la sous-matrice
carrée atr de dimension k 3 k relative aux états transitoires. Enin, notons ttr le
vecteur-ligne : 3 t0, t1, c, tk 2 1 4 et Ptr ( 0 ) 5 3 p 0 ( 0 ) , p 1 ( 0 ) , c, p k 2 1 ( 0 ) 4 .
On montre que l’on a la relation : ttr 5 Ptr ( 0 ) # 3 atr 4 21.
En pratique, on résout le système linéaire de k équations à k inconnues :
ttr # atr 5 2Ptr ( 0 ) .
k50
22l 2l
Ainsi pour l’exemple : P ( 0 ) 5 3 1, 0 4 , atr 5 c d , ttr 5 3 t0, t1 4 .
m 2(l 1 m )
D’où le système : 22 l # t0 1 m # t1 5 21 et 2 l # t0 2 ( l 1 m ) # t1 5 0, qui a pour
solution :
l1m 1
t0 5 et t1 5 .
2l 2 l
Finalement on retrouve le résultat obtenu plus haut :
3l 1m
MTFF 5 t0 1 t1 5 .
2l 2
259
Chapitre 6 • Fiabilité des composants, sûreté. . .
Figure 6.28
Pour ne pas surcharger, les probabilités de transition ont été indiquées
à la phase N 2 1, les coûts à la phase N.
Si l’équipement se trouve en E1N 2 1, le décideur a le choix entre DN0 et DN1 : soit rem-
placer l’équipement par un neuf ( DN0 ) , soit de le conserver pour la phase Ν ( DN1 ) .
Dans le premier cas, cela coûte, en moyenne :
175 1 ( 0, 2 3 515 ) 1 ( 0, 8 3 40 ) 5 310,
N
puisque D0 entraîne le changement de matériel au coût de 175 ; dans le second cas :
0 1 ( 0, 5 3 535 ) 1 ( 0, 5 3 60 ) 5 297, 5.
1. Le coût 515 est la somme du prix de l’équipement (175), du coût de la panne (300) et du coût
de l’entretien en première période (40).
260
6.8 stratégie de remplacement
On voit que cette deuxième solution est préférable, d’où : z*N1 5 297, 5. Cela signi-
ie que pour la phase Ν il ne faut pas changer le matériel s’il trouve dans l’état 1.
On calcule de même z*N 2 5 z3 5 310, ce qui signiie qu’à la phase N, il faut rem-
*N
z*N
i
21
5 min b cij 1 a pjk ag jk 1 z*N
2
k br
DN 1 j
k
2) z*N
1
21
5 min e cc10 1 p00 # ag 00 1 z*N #
0 b 1 p01 ag 01 1 z1 b d ;
*N
D0N 2 1 # D1N 2 1
cela indique que tout matériel dans l’état 2, au début de la phase N 2 1, doit
être remplacé ;
21
4) z*N
3 5 min ( 575, 770 ) 5 575 ;
d’où l’on conclut qu’il faut aussi remplacer, au début de la phase N 2 1, tout
matériel dans l’état 3.
En remontant dans le temps, on peut essayer de contrôler si la stratégie ainsi
déinie est « permanente » (valable pour toutes les périodes) ou seulement adaptée à
certaines périodes (début, in), etc.
Comme on l’a dit plus haut, la méthode de Howard permet de calculer la stratégie
optimale sans calcul inutile, mais elle sort du cadre de cet ouvrage.
261
Chapitre 6 • Fiabilité des composants, sûreté. . .
EXERCICES
Calculer la iabilité V(t) de ce pont double connaissant les iabilités des composants :
vA(t), vB(t), c, vH(t).
Indication : on aura intérêt à appliquer la formule des probabilités totales :
V ( t ) 5 P 3 T . t 4 5 P 3 T . T k TA . t 4 ? P 3 TA . T 4 1 P 3 T . t k T A < t 4 ? P 3 TA < t 4
où TA (resp. T ) est la variable aléatoire « durée de vie » du composant A (resp.
« durée de vie » du montage en pont double).
Pour évaluer le premier terme de cette somme, on pourra remplacer A par un
court-circuit ; pour le second, on pourra supprimer A.
NB. Poursuivre le calcul seulement dans le cas où vA(t) 5 vB(t) 5 c 5 vH(t) 5 v(t).
262
exercices
u u
2. À supposer que les 1 000 pneus soient renouvelés ensemble à une date
t 5 0, étudier les conditions du réapprovisionnement à instituer pour main-
tenir ensuite le nombre de pneus en service à cette valeur.
© Dunod – Toute reproduction non autorisée est un délit.
t 1 2 3 4 5 6 7 8 9 10
0, 95 0, 85 0, 70 0, 50 0, 30 0, 15 0, 10 0, 05 0, 025 0
263
Chapitre 6 • Fiabilité des composants, sûreté. . .
Lorsque cette pièce est défaillante, elle met en panne le matériel sur lequel elle
est montée. On examinera s’il y a intérêt à pratiquer l’entretien préventif dans les
deux cas suivants :
1. le prix p de la pièce est cinq fois inférieur au coût P de la panne ;
2. le prix de la pièce est la moitié du coût de la panne.
264
exercices
265
Chapitre 6 • Fiabilité des composants, sûreté. . .
266
exercices
267
Chapitre 6 • Fiabilité des composants, sûreté. . .
268
exercices
269
7 les PhénoMènes
d’aTTenTe
Cette matérialisation du
File d’attente passage des clients d’un
état dans un autre est
Entrée Sortie
simplement utile pour
(queue) préciser le vocabulaire
Station
employé dans la théo-
rie des phénomènes
Figure 7.1 d’attente.
On a, en effet, coutume d’appeler ile d’attente l’ensemble des clients qui attendent
d’être servis, à l’exclusion de celui ou ceux en train de se faire servir.
On nomme système avec attente l’ensemble des clients qui font la queue, y com-
pris celui ou ceux au service. Le phénomène d’attente s’étend à tous les clients
possibles (dans le cas de systèmes bouclés, nommés réseaux de iles d’attente,
les mêmes clients reviennent plus tard à l’entrée – par exemple des machines qui
tombent en panne dans un atelier –, le nombre des clients est alors, en général, ini).
Ces appellations se généralisent et prennent surtout leur intérêt dans les situations
où coexistent plusieurs stations et plusieurs iles d’attente. Attention : en américain
“queue” désigne tout le système d’attente.
Nous distinguerons donc deux types principaux de systèmes avec attente : le sys-
tème ouvert, dans lequel le nombre de clients potentiels est très élevé (cas des gui-
chets publics, des grands magasins, etc.), au point qu’on peut considérer qu’il est
illimité ; le système avec attente fermé, dans lequel le nombre de client est limité (cas
d’un atelier dans lequel existe un service de réparation de machines) ; dans les deux
cas il peut y avoir une ou plusieurs iles d’attente.
La théorie des iles d’attente remonte aux premiers travaux du Danois K. Erlang,
en 1917, sur le calcul du nombre d’organes de chaque type à installer dans un central
téléphonique automatique. Développé aussi par Engset (1918), cette théorie s’est ampli-
iée sous l’impulsion de nombreux chercheurs, parmi lesquels il faut citer E. Borel,
D. Kendall, A. Kolmogorov, Khintchine, LC. Palm, F. Pollaczek, L. Feller, etc. Les
informaticiens l’utilisent, notamment pour l’évaluation de performances – à titre
prévisionnel – des systèmes ou des réseaux informatiques depuis les années 1970.
271
Chapitre 7 • Les phénomènes d’attente
L’expérience montre que, dans beaucoup de phénomènes d’attente, les lois des
arrivées et des services sont, respectivement, poissonniennes et exponentielles. Ce
ne sont évidemment pas les seules formes que peuvent affecter ces lois, mais ce sont
les plus fréquentes et aussi les plus simples à employer pour obtenir un exposé facile
des principes et de la théorie des phénomènes d’attente.
La notation de Kendall a pour but de décrire, de manière compacte, les caractéristiques
d’un système avec attente, en lui associant une chaîne de caractères comme ci-dessous :
A/B/S/N/ discipline
• A est le code de la loi des arrivées ; pour la loi de Poisson on a A 5 M (M, en fait ici,
pour Markov) ; pour des arrivées déterministes, c’est-à-dire à intervalles constants,
on a A 5 D ; pour une loi quelconque, générale, on aurait A 5 G, etc.
• B est le code de la loi des services ; pour la loi exponentielle on a B 5 M ; on aurait
B 5 D pour des services de durée constante, B 5 G pour une loi générale.
On peut rencontrer d’autres codes, le cas Markovien étant le plus fréquent. Ainsi Ek
désigne une loi d’Erlang-k (moins dispersée que la loi de Poisson), Hr désigne une
loi Hyper-expotentielle d’ordre r (davantage dispersée que la loi de Poisson), Cn une
loi de Cox d’ordre n. L’exposé de ces lois sort du cadre de cet ouvrage ; contentons-
nous de signaler que des services régis par ces trois lois peuvent être simulés par un
réseau de k (resp. r, n) guichets ictifs délivrant chacun un service régi par une loi
exponentielle. Cela permet de modéliser des ils d’attente où interviennent de telles lois,
à l’aide d’un processus de Markov mais moyennant une démultiplication des états.
• S est le nombre de stations fonctionnant en parallèle ; en l’absence de précision, toutes
ces stations sont réputées équivalentes : elles ont le même taux moyen de service.
• N est la « capacité », c’est-à-dire le nombre maximal de clients admissibles dans le
système (ile et station(s)). Si cette indication est omise, c’est que N 5 ` : le système a
une capacité illimitée (ou assez grande pour que tout se passe comme si N 5 `).
• La discipline n’est spéciiée que dans la règle n’est pas « premier arrivé, premier
à être servi » (PAPS ; en anglais : FIFO). D’autres disciplines existent, notamment
« processeur partagé » (« round robin ») ou DAPS (en anglais LIFO) : « dernier
arrivé, premier au service », qui se rencontrent en informatique.
272
7.3 File à une station. Système ouvert : file M/M/1
0 0 0 0
1 0 1 0
p0 ( t 1 Dt ) 2 p0 ( t )
d’où : 5 2l p0 ( t ) 1 mp1 ( t ) ,
Dt
1. Ainsi que nous l’avons remarqué au chapitre 5 dans un processus de naissance et de mort, on
n’a pas à envisager une entrée et une sortie pendant le temps Dt, la probabilité de cet événement
étant négligeable : en Dt2, donc o(Dt). Le lecteur qui commettrait cette erreur par inadvertance ver
rait d’ailleurs le terme correspondant disparaître ensuite de l’équation donnant pn(t 1 Dt).
273
Chapitre 7 • Les phénomènes d’attente
(on observera que, si aucun client n’est présent à t, la probabilité pour qu’il n’en
sorte pas du système pendant le Dt suivant est 1, et non 1 2 m D t).
Revenons au cas n > 1. On a donc, en faisant tendre Dt vers 0 :
prn ( t ) 5 lpn 2 1 ( t ) 2 ( l 1 m ) pn ( t ) 1 mpn 1 1 ( t ) (7.1)
et
pr0 ( t ) 5 2l p0 ( t ) 1 mp1 ( t ) (7.2)
Supposons le phénomène stationnaire : les probabilités des états ont alors atteint
une limite. On a donc :
pn ( t ) 5 p*n 5 constante ; d’où :
pr0 ( t ) 5 pr1 ( t ) 5 c5 prn ( t ) 5 c5 0.
Les équations différentielles (7.1) et (7.2) se transforment alors en équations
linéaires algébriques : 2lp*0 1 m p*1 5 0
et, pour n > 1 : 0 5 lp*n 2 1 2 ( l 1 m ) p*n 1 m p*n 1 1
On obtient facilement, de 2l p*0 1 mp*1 5 01 :
l
p*1 5 m p*0
Or,
p*0 1 p*1 1 c1 p*n 1 c5 1, (7.4)
d’où, d’après la formule (7.3) :
2 n
l l l
p*0 1 p*1 1 c1 p*n 1 c5 p*0 1 m p*0 1 a m b p*0 1 c1 a m b p*0 1 c
2 n
l l l
5 p*0 C1 1 m 1 a m b 1 c1 a m b 1 cS.
1. On remarquera que la quantité de 2l pn 2 1 1 mpn est un « invariant » car elle ne dépend pas de
n ; de plus, cette quantité est nulle, ce qui simpliie la résolution de la récurrence. Cet invariant
découle de la conservation des fréquences de transition exprimée par le théorème des coupes (cf.
chapitre 5)
274
7.3 File à une station. Système ouvert : file M/M/1
Comme nous l’avons dit plus haut, on peut aussi traiter cette ile d’attente comme
un processus de naissance et de mort. L’état n (ou En) désigne la situation où n clients
sont présents. Les arrivées des clients, de loi poissonienne, constituent (nous l’avons
vu au chapitre 5) un processus de naissance ; de plus le taux de naissance à partir de
l’état n vaut ici : l n 5 l ( n 5 0,1, 2, c) . Les départs de clients, dus aux ins de ser-
vices, constituent un processus de mort pour lequel m n 5 m ( n 5 1, 2, 3, c) .
Voici alors le graphe des transitions entre états, entre t et t 1 Dt :
© Dunod – Toute reproduction non autorisée est un délit.
Figure 7.2
Figure 7.3
275
Chapitre 7 • Les phénomènes d’attente
2 3 n
l l l l
5 C a m b 1 2a m b 1 3a m b 1 c1 na m b 1 cS
Or :
2 n 2 n21
l l c1 na l b 1 c5 l C1 1 2 l 1 3a l b 1 c1 na l b
m 1 2am b 1 m m m m m 1 cS
l
et l’on reconnaît, dans le crochet, la dérivée, par rapport à q 5 m de la progression :
q
q 1 q2 1 q3 1 c1 qn 1 c 5 q ( 1 1 q 1 q2 1 c) 5 .
12q
1
En dérivant cette dernière expression par rapport à q, on obtient et ainsi
(1 2 q)2
l
; d’où : n 5 a n #
1 l 1 l m l .
le crochet vaut p*n 5m# a1 2 mb 5 l 5
2 2 m2l
l l 12 m
a1 2 mb a1 2 mb
276
7.3 File à une station. Système ouvert : file M/M/1
Il est facile de calculer le temps moyen qu’attend un client dans la ile ; lors de
son arrivée il trouve en moyenne une ile de n clients qui s’écoulera en un temps
1 1
moyen n 3 m , m étant le temps moyen passé par chaque client à la station (y com-
pris pour celui au service, car la loi exponentielle est « sans mémoire » : pour un ser-
vice de loi exponentielle, tout se passe, à chaque instant, comme si ce service venait
de commencer). On a donc :
l
tf 5 n / m 5 .
m (m 2 l )
De même si lS μ–, alors tf S ` ; c’est l’engorgement.
n50
si un atelier comporte N machines, chacune de taux de panne l, et un seul répa-
rateur de taux m :
5 a ( N 2 n ) ? l ? p*n 5 m ? ( 1 2 p*0 ) .
N21
l *eq
n50
Application. Dès à présent, le lecteur peut se rendre compte des raisons pour lesquelles
on attend si longtemps chez le médecin… Par exemple, si la durée d’une consultation
est, en moyenne, de 15 min, le médecin convoque ses patients toutes les 20 min, mais,
dans notre société où l’inexactitude est devenue la règle, ceux-ci arrivent inalement au
hasard... On a : l = 3, μ = 4 (par heure). Il est alors facile de calculer :
277
Chapitre 7 • Les phénomènes d’attente
l 3 n 3
n5 5 5 3 et tf 5 m 5 ,
m2l 423 4
ce qui veut dire que le nombre moyen de patients (!) présents est 3 et que leur attente
moyenne est de 3/4 d’heure !
Figure 7.4
l
Bien entendu, la condition pour que le système ne s’engorge pas est ici : , 1.
mS
Appliquons le théorème des coupes à B0 , puis à B1 , etc. Il vient:
278
7.4 File à S stations, système ouvert : file M/M/S
l *
On obtient l’expression de p*S 1 1 (en faisant k 5 0) aisément par: p*S 1 1 5 pS :
S11 Sm
1 l
5 ? a m b ? p*0.
p*S 1 1
S # S!
puis, de proche en proche, pour n > S :
n
1 l
*
pn 5 n 2 S ? a m b ? p*0.
S S!
En fait, ces expressions peuvent s’obtenir plus rapidement en appliquant la relation
établie pour les processus de naissance et de mort1.
Comme la somme illimitée des p*n vaut 1 :
2 n
l 1 l 1 l
15 p*0 C 1 a b 1 c1 a b 1 cS
m 2! m n! m
('''')''''*
n,S
s S11 n
1 l 1 l 1 l
1 p*0 C a b 1 a b 1 c1 a m b 1 cS
S! m SS! m Sn 2 S S!
n
Ss l
Dans le second crochet, le terme général égale : on reconnaît une
S ! Sm
S
l Ss l
série géométrique de raison et de premier terme . D’où :
Sm S ! Sº
k ` k ` k21
Or p*S 1 k 5 p*S .
Sm Smk51
Sm Sm k51
l 0 # l 1 # c# l n 2 1 l ? l ? c? l *
1. En effet : p*n 5 p* ; pour n < S il vient : p*n 5 p0, soit :
m 1 # m 2 # c# m n 0 1m # 2 m # c# nm
ln * c c
p*n 5 # p . Pour n > S : p*n 5 l ? l ? ? l ? l ? l ? ? l
n 0
p*
n!m c
1m ? 2m ? ? ( S 2 1 ) m ? Sm ? Sm ? c? Sm 0
('')''*
n2S n
n2S fois
s s
lS l 1 l l l
c’estàdire : np*
5 ? a b ? p*
0 5 ? a b ? p*
0 car : S a
, s
b 5a b.
S!m S Sm S n 2 S S! m Sm m
279
Chapitre 7 • Les phénomènes d’attente
S11
l
amb
l 1
D’où : v 5 p*S # # 5 # p*0.
Sm l
2
l
2
a1 2 b S # S! # a1 2 b
Sm Sm
n 5 v 1 g.
p*k
k51 k5S
de clients présents est inférieur à S, le nombre de guichets occupés est égal à k : tout
client est à un guichet ; sinon, tous les S guichets sont occupés, pour tout k > S).
Mais ce calcul est lourd ; il est plus élégant d’appliquer la propriété de conservation
des clients : en régime stationnaire (permanent) le taux des entrées dans le système,
soit l, est égal au taux des sorties du système ; celui-ci serait Sm si les S guichets
étaient tous occupés en permanence, ce qui est faux lorsque le nombre de clients pré-
sents est inférieur au nombre de guichets. En fait, le taux des sorties est le produit du
taux de service d’un guichet, soit m, par le nombre moyen de guichets occupés, soit
g. D’où l 5 mg et la valeur (très simple !) g 5 l/m.
280
7.5 Application numérique
an
6
fn 1
Nombre d'ouvriers Féquences # 5 ( 0 3 29 1 1 3 34 1
0
100 100
arrivant pendant observées
une période de 5 min fn 2 3 24 1 3 3 9 1 4 3 3 1 5 3 1 ) 5 1,26.
L’emploi d’un test statistique va per-
0 29 mettre de vériier si la loi observée se
1 34 rapproche d’une loi théorique classique,
2 24 en l’espèce celle de Poisson.
3 9
( lt ) n
4 3 La formule : qn ( t ) 5 e2lt, avec
5 1 n!
6 0
lt 5 1,26 et e21,26 5 0,2837 permet de
calculer les fréquences théoriques d’une
100 loi de Poisson de moyenne 1,26 arrivées/
5 min ; ce sont cent fois les valeurs :
(q5, en réalité, a été prise égale à la différence entre 1 et la somme des autres qn
jusqu’à q4).
Employons, par exemple, le test du x2 de Pearson, qui s’applique à des classes dans
lesquelles, le nombre d’événements attendus est ou moins de l’ordre de 5 (il sufira de
regrouper les deux dernières classes pour satisfaire grossièrement à cette exigence).
Ce test consiste à calculer les carrés des différences entre les fréquences
théoriques de la loi à vériier et les fréquences observées, puis à diviser chacun
de ces carrés par la fréquence théorique de la classe à laquelle les fréquences sont
relatives.
281
Chapitre 7 • Les phénomènes d’attente
Tableau 7.4
282
7.5 Application numérique
ment ce point de vue. À moins d’avoir de sérieuses raisons de douter des don-
nées collectées, il est rare que l’on repousse, en recherche opérationnelle, une
hypothèse donnant un excellent x2, le cas est d’ailleurs assez rare !
Les seuils indiqués plus haut sont arbitraires. Mais, en tout cas, avant chaque test,
il convient de se donner a priori le seuil d’acceptation (le plus souvent : 0,95).
1
( 0, 5 3 23 1 1, 5 3 20 1 2, 5 3 14 1 3, 5 3 12 1 4, 5 3 9 1 5, 5 3 5 1 6, 5 3 4
100
1
< 0, 30.
3, 27
On fait alors l’hypothèse que la loi des services est une loi exponentielle, de densité :
0,30 e20,30t,
et de taux : m 5 0,30.
Se ramenant au centre des classes : 0,5 ; 1,5 ; 2,5 etc., et réduisant à huit classes
(6 degrés de liberté), on a x 2calculé 5 0, 906 ; le x20,95, lu dans la table, s’élève à 1,635 et
l’analyste décide d’admettre qu’il a bien une loi exponentielle de taux : m 5 0,30.
283
Chapitre 7 • Les phénomènes d’attente
l 0, 25
n5 5 5 5;
m2l 0, 30 2 0, 25
n 5 2
tf 5 m 5 5 16 min .
0, 30 3
On se rend compte que le temps perdu par les « clients » (les employés de l’entre-
prise qui, pendant ce temps, n’exécutent pas leur tâche habituelle) est considérable ;
pour une journée de travail de 8 h et 0,25 client par minute, attendant chacun en
2
moyenne 16 min, cela fait au total :
3
2 1
8 3 60 3 0,25 3 16 min 5 33 h .
3 3
1
8 3 60 3 0, 25 3 3,27 min < 6 h , par pour.
2
284
7.5 Application numérique
1
p*0 5 5 0, 432.
( 0, 833 ) 3 0, 833 ( 0, 833 ) 2
111 1
0, 833 1! 2!
3!a1 2 b
3
On peut alors calculer aussi :
2
– pour S 5 1, tf 5 16 min , r 5 0,167 ;
3
285
Chapitre 7 • Les phénomènes d’attente
Figure 7.5
286
7.6 File à S stations, cas du système fermé : file M/M/S/N
Pour évaluer les probabilités des états en régime stationnaire (permanent) il sufit
alors d’instancier le résultat général des processus de naissance et de mort :
l0 ? l1 ? c? l k 2 1
p*k 5 m ? m ? c? m p*0
1 2 k
avec les valeurs de ln et mn ci-dessus, puis d’évaluer p*0, ce que nous faisons dans
l’exemple ci-dessous. Notons que ce processus de Markov est fortement ergodique
(les probabilités des états tendent, quand t S `, vers des limites indépendantes de
leur valeur à t 5 0), car le graphe est fortement connexe et ini.
1
Exemple. Un atelier dispose de cinq machines, tombant en panne au taux l 5 par
3
1
heure. On a un mécanicien pour réparer les machines, le taux de service est m 5
2
(autrement dit, il faut deux heures en moyenne au mécanicien pour réparer une
machine). Le salaire, charges comprises, d’un mécanicien est 30 euros de l’heure.
Trois ouvriers travaillent dans l’atelier ; mais, pour produire, chacun a besoin d’une
machine (en état de marche). Lorsqu’un ouvrier est immobilisé la perte (salaire 1
charges 1 perte de production) est estimée à 50 euros par heure. Ne vaudrait-il pas
mieux augmenter le nombre de mécaniciens ?
NB : ici les valeurs numériques ne sont pas réalistes, mais elles permettent des cal-
culs simples !
1) Pour 5 machines et un seul mécanicien, on a :
l n 5 n # l ( n 5 0, 1, c, 4 )
e
mn 5 m ( n 5 1, 2, c, 5 )
1 1
où l 5 et m 5 .
Figure 7.6 3 2
5l 5 m # 4l 5 l # 4 l # 3l 5 l # 4 l # 3 l # 2l
p*1 5 m p*0 ; p*2 5 m # m p*0 ; p*3 5 m # m # m p*0 ; p*4 5 m # m # m # m p*0 ;
5l # 4l # 3l # 2l # l *
© Dunod – Toute reproduction non autorisée est un délit.
p*5 5 m#m#m#m#m p0, or : p*0 1 p*1 1 p*2 1 p*3 1 p*4 1 p*5 5 1. Il vient :
287
Chapitre 7 • Les phénomènes d’attente
81
Le mécanicien est inoccupé les de la journée (c’est bien peu !), d’où un
coût de : 5 711
81
3 8 3 30 5 3, 40 euros/jour.
5 711
Les ouvriers ne peuvent pas travailler pendant les cas suivants :
1 280
– les trois, pendant les de la journée (état E5: toutes les 5 machines en panne) ;
5 711
1 920
– deux d’entre eux, pendant les de la journée (état E4 : une seule machine
en marche) ; 5 711
1 440
– un seul, enin, pendant les de la journée (état E3 : deux machines en
marche). 5 711
La perte totale journalière pour les ouvriers, par impossibilité de travailler, est
donc :
1 280 1 920 1 440
a3 3 123 1 b 3 8 3 50 5 638,77 euros/jour.
5 711 5 711 5 711
d’où un coût total se montant à :
638,77 1 3,40 5 642,17 euros par jour.
2) Dans les mêmes conditions, mais avec deux mécaniciens, on a :
Figure 7.7
on trouve :
81 270 360 360 240 80
p*0 5 ; p*1 5 ; p*2 5 ; p*3 5 ; p*4 5 ; p*5 5 .
1 391 1 391 1 391 1 391 1 391 1 391
On obtient inalement un coût total de 74,536 1 310,567 5 385,10 euros par jour,
moindre que le précédent.
3) Essayons d’augmenter encore le nombre de mécaniciens. Le lecteur vériiera sans
peine que le coût total s’élève à 447,67 euros par jour dans l’hypothèse où l’on a un effec-
tif de trois mécaniciens. On remarquera que le manque à gagner a pour expression :
( 3p*5 1 2p*4 1 1p*3 ) 3 8 3 50 1 ( 3p*0 1 2p*1 1 1p*2 ) 3 8 3 30.
En conclusion, la meilleure solution est d’engager deux mécaniciens. Cependant
le problème est loin d’être épuisé, car on pourrait penser aussi à paramétrer, c’est-
à-dire à faire varier, le nombre d’ouvriers ou encore tenir compte de l’absentéisme
des mécaniciens...
288
7.7* Probabilité de dépasser une certaine attente : cas de la file M/M/1
P 3 Tf . t 4 5 a P 3 Tf . t 0 N 5 n 4 # P 3 N 5 n 4 ,
`
n51
obtenue en appliquant la formule « des probabilités totales ».
Tf est une variable aléatoire ; nous noterons f (t) sa densité de probabilité :
d
f (t) 5 5 P 3 Tf < t 46 . Or, on a : P 3 Tf < t 4 5 1 2 P 3 Tf . t 4 ,
dt
d
d’où : f ( t ) 5 2 5 P 3 Tf . t 46 .
dt
Nous notons ici N la variable aléatoire « nombre de clients trouvés dans le sys-
tème par un nouveau client y arrivant » ; on montre que P 3 N 5 n 4 5 p*n, c’est-à-dire
que cette probabilité coïncide avec celle de trouver n clients dans le système à un ins-
tant quelconque. En outre pour qu’il y ait attente, il faut que le nouveau client arrivant
trouve, lors de son arrivée, au moins un client déjà présent dans le système : n > 1.
Évaluons P 3 Tf . t k N 5 n 4 : l’attente Tf dépassera t pour un nouveau client arri-
vant, disons à u, si entre u et u 1 t le serveur a servi soit 0, soit 1, c, soit n 2 1
clients (mais pas n, sinon le nouveau client arrivé à u serait en cours de service à
u 1 t, et donc plus en attente). Or les ins de service, lorsque le serveur ne connaît
pas de période d’inactivité (faute de clients à servir), forment un processus de Pois-
son de taux m (les services représentent les intervalles de temps entre deux événe-
ments consécutifs de ce processus : on sait que la loi de ces services est alors une
( mt ) k
loi exponentielle de taux m). En notant qk t 5 ( ) e2mt, la probabilité d’avoir n
k!
événements dans ce processus entre u et u 1 t, il vient :
© Dunod – Toute reproduction non autorisée est un délit.
P 3 Tf . t 0 N 5 n 4 5 q0 ( t ) 1 q1 ( t ) 1 c1 qn 2 1 ( t )
mt ( mt ) 2 ( mt ) n 2 1
5 e2mt # C1 1 1 1 c1 S 5 U.V
1! 2! (n 2 1)!
( mt ) n 2 1! mt c ( n 2 1 ) m # ( mt )
n22
2m e 2mt # C1 1 mt 1 c1 S1e2mt #
Cm 1 2 m 1 1 S
1! (n 2 1)! 2! (n 2 1)!
289
Chapitre 7 • Les phénomènes d’attente
n22
mt c ( mt )
Le second crochet vaut : m # C1 1 1 1 S. D’où :
1! (n 2 2)!
d ( mt ) n21
5 P 3 Tf . t 0 N 5 n 46 5 2m # e2mt #
dt ( n2 1 ) !
P 3 Tf . t 4 5 2 b a P 3 Tf . t 0 N 5 n 4 # p*n r .
`
d d
f (t) 5 2
dt dt n51
l l
Rappelons que : p*n 5 a1 2 m b # a m b.
f ( t ) 5 m # a1 2 m b # e a
`
l ( mt ) n 2 1 l n
2 mt
a b
n51
(n 2 1)! m
#ma
`
l ( lt ) n 2 1
5 (m # l ) # e2mt
.
n51
(n 2 1)!
Puisque a
`
xn 2 1
5 ex, le sigma vaut elt ; il vient :
n51
( n 2 1 ) !
l
f ( t ) 5 ( m 2 l ) m e2(m 2 l )t.
II est alors aisé de retrouver l’attente moyenne (qui n’est autre que l’espérance de Tf) :
tf 5 E ( Tf ) 5 3 t # f ( t ) dt 5
`
l
(valeur déjà trouvée au 7.3).
0 m ( m 2 l)
Connaissant f (t), on peut calculer les moments E ( Tfk ) . En particulier :
l
var ( Tf ) 5 E ( Tf2 ) 2 3 E ( tf ) 4 2 5 .
m (m 2 l )2
De la même manière, on peut établir que pour le temps total de séjour dans le sys-
tème, soit T, comprenant l’attente et le service, on a : P[T . t] 5 e2(m2l)t : on reconnaît
une loi exponentielle de taux a 5 m 2 l. Aussi, la durée moyenne de séjour est :
1 1
t 5 E (T) 5 a 5 (valeur déjà trouvée au 7.3).
m2l
En outre, on montre que le processus des sorties d’une ile M/M/1 (comme d’une
ile M/M/S) est un processus de Poisson de taux l. Ceci est important pour les réseaux
de iles d’attente, dont le pionnier a été J. JACKSON, mais dont l’étude sort du cadre
de cet ouvrage. Le lecteur pourra généraliser à la ile M/M/S, le calcul de P[Tf . t]
et celui f (t). Soit P[Tf . 0] la probabilité d’une attente non nulle ; on a :
290
7.7* Probabilité de dépasser une certaine attente : cas de la file M/M/1
2 *
l l pS
P 3 Tf . 0 4 5 p*S 1 p*S 1 1 1 c5 p*S C1 1 1 a b 1 cS 5
Sm Sm 1 2 l/Sm
p*0 ( l/m )
où : p*S 5 . On obtient : f (t) 5 P[Tf . 0] # (Sm 2 l) # e2(Sm2l)t.
S!
Ce qui permet de retrouver : tf 5 E (Tf ) 5 3 t # f ( t ) # dt, d’où : tf 5 P 3Tf . 04 #
`
1
.
0 Sm 2 l
On retrouve bien l’expression de tf déjà donnée plus haut :
p*0 # ( l/m) S 1 ( l/m ) S
tf 5 # 5 # p*0.
S! ( 1 2 l/Sm) S # m # ( 1 2 l/Sm) S m # S! # ( 1 2 l/Sm) 2
Exemple d’application : un processeur informatique doit traiter des travaux qui
arrivent aléatoirement, selon un processus de Poisson de taux l ixé. La nature de
ces travaux et les caractéristiques techniques du processeur font que la durée aléa-
toire d’exécution de chaque travail suit une loi exponentielle de taux m.
Le cahier des charges pour ce processeur exige que les deux spéciications ci-
dessous soient respectées :
1) le temps de « réponse » moyen (attente et exécution) doit être inférieur à une
durée donnée : u ;
2) dans 90 % des cas, le temps de réponse Τ doit être inférieur à k # θ (k est un
entier, en pratique de l’ordre de 2 ou 3).
Nous reprenons ci-dessous les résultats établis pour la ile M/M/1.
Il faudra donc trouver un processeur tel que la vitesse d’exécution pour les tra-
vaux considérés, soit m, vériie :
1 1
1) t 5 , u soit m . l 1 (on savait déjà que nécessairement : m . l) ;
m2l u
2) P 3 T , ku 4 > 0, 9. Or :
P 3 T , ku 4 5 3 f ( t ) # dt, soit : 3
ku (m2l)ku
e2x dt, en posant x 5 ( m 2 l) t.
© Dunod – Toute reproduction non autorisée est un délit.
0 0
D’où : 1 2 e2(m2 l)ku > 0, 9, c’est-à-dire 0, 1 > e2(m2 l)ku . En prenant le loga-
rithme népérien de chaque membre : 22,3 > 2 ( m 2 l) # k # u. Finalement :
2, 3 2, 3
m2l> soit m > l 1 .
ku ku
Il y a donc deux cas :
• pour k . 2,3 , c’est la spéciication 1 qui détermine m : m . l1 1/u ;
• pour k , 2,3 , c’est la spéciication 2 qui détermine m : m . l1 2, 3/ku.
• pour k 5 2,3 , les deux spéciications donnent m 5 l1 1/8.
291
Chapitre 7 • Les phénomènes d’attente
EXERCICES
1. C’est-à-dire que le nombre de stations en opération est égal au nombre de clients présents.
292
exercices
293
Chapitre 7 • Les phénomènes d’attente
En fait, la durée des consultations suit une loi exponentielle et l’arrivée des clients,
qui ont toujours une bonne excuse (encombrements, dificultés à trouver un stationne-
ment, etc.) pour se présenter aléatoirement, peut être assimilée à une loi de Poisson de
moyenne 3 arrivées par heure.
1. Calculer le temps d’attente et les probabilités (en se limitant à celle
supérieures à 0,05) pour qu’il y ait 1, 2, c personnes chez le médecin.
2. Quelle est la probabilité qu’un patient (c’est le cas de le dire !) attende
plus d’une heure ? plus de deux heures ?
3. a) Qu’arriveraitil si le médecin décidait de ne convoquer ses patients
que toutes les 25 min car la fréquentation moyenne de son cabinet est
tombée à 2,4 patients/h. ?
b) Quel serait l’intervalle audelà duquel moins de 10 % des patients
auraient à attendre ?
4. Le médecin s’adjoint un jeune confrère (mais qui n’apporte pas de nou
velle clientèle) ; tout patient peutêtre reçu indifféremment par l’un ou l’autre
des médecins.
a) Pendant quelques jours, des rendezvous étant déjà pris, l’intervalle de 20
minutes entre convocations est maintenu. Calculer le temps moyen d’attente
et montrer que la probabilité d’une attente supérieure à 1 heure est négli
geable.
b) Pour que chacun des deux médecins assure trois consultations par heure
en moyenne, il faudrait convoquer les patients à des intervalles de 10 min
(il en arriverait en moyenne 6 par heure). Quels seraient alors le temps
moyen d’attente ? La probabilité pour que l’attente dépasse 1 heure ?
c) Les deux médecins décident de ne pas imposer à leurs patients une
attente moyenne supérieure à 10 min. Combien doiventils recevoir de
patients en moyenne par heure ? Quelle est alors la probabilité d’attendre
plus d’1 heure ?
294
exercices
b) Évaluer p *k
k50
sous la forme 1 5 p*0 1 p*1 1 p*2 ( 1 1 q 1 q2 1 q3 1 c) .
1
On rappelle que pour q , 1, 1 1 q 1 q2 1 q3 1 c5 .
12q
22C
Montrer alors que p *0 5 .
2 1 C 1 C2
3. a) Prouver que le nombre moyen d de douaniers occupés au contrôle
des voitures est : d 5 2 2 ( 2 # p*0 ) 2 ( 1 # p*1 ) 2 ( 1 # p*2 ) .
b) En remplaçant alors p*0 , p*1 et p*2 par leur valeur en fonction de C,
prouver que d 5 C. Interpréter cette relation en terme de conservation de
clients (égalité du taux d’arrivée des voitures à la douane et du taux de
départ de voitures contrôlées).
une loi de Poisson de taux l et les durées aléatoires des services, une loi exponen-
tielle de taux m.
1. Modéliser le problème à l’aide d’un processus de naissance et de mort
comportant six états (indicés de 0 à 5). Tracer le graphe des transitions
entre t et t 1 dt.
Donner la notation de Kendall de cette ile (A/B/m/n).
Ce processus est-il fortement ergodique ? Justiier en détail.
2. On se place en régime permanent ; calculer les probabilités des états
en fonction de l, m et p*0 (probabilité d’avoir aucun travail en traitement).
Puis calculer p*0.
295
Chapitre 7 • Les phénomènes d’attente
Rappel : 1 1 a 1 a2 1 c1 ak 5 (1 2 ak 1 1) / (1 2 a) si a 2 1 ; 5 k 1 1 si a 51.
3. A.N. En moyenne, il arrive 24 travaux par minute, traité chacun en deux
secondes. Quelle est l’utilisation U du processeur (probabilité que le pro
cesseur soit actif)?
Quel est le temps moyen d’unité centrale (processeur) perdu par heure ?
Quel est le nombre moyen de travaux r refusés par heure (« déchet ») ?
Vériiez que l ( 1 2 p*5 ) 5 m # U et interpréter cette relation en termes de
conservation des clients.
4. Ce déchet étant jugé inacceptable, on a le choix entre deux politiques :
a) doubler la mémoire de masse (on pourra alors accepter 9 travaux au
maximum dans le système) ; on notera Ur1, et rr1 (au lieu de U et r au 3.)
b) installer un second processeur, travaillant en parallèle avec le premier (on
pourra alors traiter deux travaux simultanément et six pourront prendre place,
au maximum dans le système). Dans ce cas, Ur2 désigne le nombre moyen de
processeurs actifs et rr2, le déchet.
Reprendre la modélisation dans chacun de ces deux cas puis calculer Ur et
le nombre moyen rr de travaux refusés par heure.
Quel serait votre choix ? Donner brièvement ses implications inancières.
5. On décide d’installer un second processeur (comme au 4-b) mais en
augmentant en outre la mémoire de masse :
a) si cette mémoire est doublée par rapport à la coniguration initiale
(cf. le 1), donner la notation de Kendall de cette ile d’attente, évaluer
Us et rs et commenter ces résultats ;
b) si cette mémoire était illimitée : donner la condition d’existence d’un
régime permanent et évaluer Ut et rt. Retrouver la valeur (simple) de Ut
à l’aide de la notion de conservation des clients.
296
la PrograMMaTion
linéaire
8
298
8.1 Exemple de programme linéaire – Aspect géométrique
Cas de n 5 2 variables
Nous commencerons par examiner un sous-problème du problème précédent. Sup-
posons que l’entreprise ait éliminé le produit P3 de sa gamme et ait réduit l’activité
© Dunod – Toute reproduction non autorisée est un délit.
299
Chapitre 8 • La programmation linéaire
Figure 8.1
Les contraintes sont aisées à représenter. Ainsi la contrainte x 1 < 1 000 signi-
ie que dans le quadrant positif, les points dont la coordonnée x1 excède 1 000 sont
exclus du domaine des solutions. Or, x 1 5 1 000 représente une droite D1 verticale,
orthogonale à l’axe Ox1 au point x 1 5 1 000 : à toutes les solutions respectant cette
contrainte, sont associés des points compris entre D1 et l’axe Ox2 (et au-dessus de
l’axe Ox1). On raisonnerait de même pour la contrainte x2 < 500 (la droite D2, hori-
zontale, a pour équation x 2 5 500).
Si le problème ne comportait que les contraintes 0 < x 1 < 1 000 et 0 < x 2 < 500
le domaine « admissible », c’est-à-dire le domaine des points associés aux solu-
tions vériiant ces contraintes, serait le rectangle OABC. Mais x 1 1 2x 2 5 1 750 est
aussi l’équation d’une droite D3 dont l’intersection avec la droite D1 est le point E
( x 1 5 1 000, x 2 5 375 ) et l’intersection avec D2 est le point F ( x 1 5 750, x 2 5 500 ) .
Le domaine des solutions admissibles d de notre problème est donc le polygone
convexe OAFEC, à la frontière ou à l’intérieur duquel se trouvent les points associés
à ces solutions admissibles.
Jusqu’à présent nous ne nous sommes occupés que des contraintes ; pour choisir
parmi les solutions admissibles une solution qui soit optimale, nous devons chercher
à maximiser la fonctionnelle z 5 4x 1 1 12x 2 (« fonction économique »), cf ig. 8.2.
L’ensemble (ou « lieu ») des points tels que z 5 0, est la droite Δ0 d’équation
1
x 2 5 2 x 1 ; elle n’a qu’un seul point commun avec le domaine admissible : c’est le
3
point Ο (production nulle et donc bénéice nul !). Le lieu des points tels que z 5 4 000
est la droite Δ4 000, parallèle à Δ0 et passant par le point C ( x1 5 1 000, x2 5 0 ) .
Pour une valeur donnée arbitrairement à la fonction économique, soit z 5 a, on peut
a
montrer que la distance de l’origine Ο à la droite Δα est : OH 5 .
"4 1 122
2
300
8.1 Exemple de programme linéaire – Aspect géométrique
l’origine soit la plus grande possible et qui ait encore au moins un point en commun
avec le polygone d des solutions admissibles OAFEC.
Figure 8.2
Il est facile de voir que cette droite est obtenue pour a 5 9 000 ; cette droite a un seul
point en commun avec le polygone : c’est le point F. D’où la solution optimale :
x *1 5 750, x *2 5 500, z* 5 9 000 euros.
Cette méthode géométrique permet de résoudre tous les programmes linéaires à deux
variables ; en résumé, elle consiste à écarter la droite de la fonction économique pas-
sant par un point initial évident (ici O), parallèlement à elle-même, tant que l’inter-
section de la droite courante avec le polygone d des solutions admissibles n’est pas
vide. La résolution s’arrête lorsque la droite courante n’a plus qu’un seul point de
contact (ou une arête de contact) avec ce polygone (on a évidemment supposé que d
n’est pas vide c-à-d que les contraintes ne sont pas contradictoires).
N.B. Si on avait z = 4x1 + 8x2, les droites Dα seraient parallèles à FE : alors tous les
points de l’arête seraient optimaux, y compris les sommets F et E.
© Dunod – Toute reproduction non autorisée est un délit.
Cas de n 5 3 variables
Rien ne nous empêche ici de recourir encore à la méthode géométrique puisque nous
n’avons que trois variables et qu’il est possible de représenter en clair les trois axes
(orthonormés) qui porteront les quantités x1, x2 et x3.
A priori, toute solution du problème est représentée par un point de l’espace, de coor-
données x1, x2 et x3, déterminées. Reportons nous à la formulation du 8.1.2 :
Les contraintes 5), 6) et 7) signiient d’ailleurs que nous pourrons nous contenter de
représenter l’octant positif de ce système de coordonnées, puisque nous avons :
x1, x2 et x 3 > 0 (igure 8.3).
301
Chapitre 8 • La programmation linéaire
Nous allons voir que les contraintes 1) à 4) s’interprètent également d’une manière très
aisée. Par exemple, la contrainte 1) signiie que, dans l’octant positif, les points dont
la coordonnée x1 excède 1 000 sont exclus de l’espace des solutions. Or, x 1 5 1 000
représente un plan P1 orthogonal à l’axe Οx1, le coupant au point x 1 5 1 000, x 2 5 0,
x 3 5 0 ; toutes les solutions éventuelles du problème seront donc comprises, dans
l’octant positif, entre le plan de base x2Ox3 et le plan x 1 5 1 000.
On raisonnerait de même pour les contraintes 2) et 3). En fait, les plans :
P1 : x 1 5 1 000, P2 : x 2 5 500, P3 : x 3 5 1 500
délimitent le parallélépipède OABCDEFG, à l’intérieur ou à la surface duquel se
trouvent la (ou les) solution(s) éventuelle(s).
D’autre part 3x 1 1 6x 2 1 2x 3 5 6 750 est aussi l’équation d’un plan P4, dans l’espace
à trois dimensions et la contrainte 4) signiie que les points-solutions doivent nécessai-
rement se trouver aussi à l’intérieur ou à la surface du tétraèdre OA rB rCr, formé par
les trois plans de coordonnées et le plan P4 ; le plan P4 coupe Ox1 en A r (2 250, 0, 0),
Ox2 en B r (0, 1 125, 0) et Ox3 en Cr (0, 0, 3 375).
Il est facile de voir que le plan P4 coupe la droite FG au point Ρ (1 000, 125, 1 500) ;
en effet, FG est l’intersection des plans :
x 1 5 1 000
b
x 3 5 1 500
et P4 a comme équation :
3x 1 1 6x 2 1 2x 3 5 6 750 ;
si l’on remplace, dans cette équation x1 et
x3 par leur valeur, on obtient :
3 000 1 6x 2 1 3 000 5 6 750,
d’où :
6x 2 5 750 et x 2 5 125.
On établirait de même que P4, coupe GD
en Q (250, 500, 1 500) et GB en R (1 000,
500, 375).
C’est le solide commun au parallélépipède
OABCDEFG et au tétraèdre (pyramide tri-
angulaire de sommet O : OA rB rCr) qui
contiendra les solutions ; on constate qu’il
faut enlever au parallélépipède le (petit)
tétraèdre GPQR.
Finalement, pour satisfaire aux contraintes,
un point solution doit nécessairement se
trouver à l’intérieur ou à la surface du
polyèdre OABCDEFPQR, noté d.
Figure 8.3
302
8.1 Exemple de programme linéaire – Aspect géométrique
Jusqu’à présent, nous ne nous sommes occupés que des contraintes ; pour choisir
entre les solutions que nous venons de déterminer celle (celles) qui est (sont) opti-
male(s), nous devons chercher à maximiser la fonction économique :
z 5 4x 1 1 12x 2 1 3x 3.
Pour chaque point M ( x 1 5 j , x 2 5 h, x 3 5 u) de l’espace des solutions, z a une
valeur donnée :
z ( j , h, u ) 5 4 j 1 12 h 1 3 u.
Par exemple, pour le point C (0, 500, 0), on a :
z 5 ( 4 3 0 ) 1 ( 12 3 5 000 ) 1 ( 3 3 0 ) 5 6 000.
Mais, les points qui, tel C, donnent à z la valeur 6 000 forment un plan P(z 56 000)
d’équation :
4x 1 1 12x 2 1 3x 3 5 6 000.
Représentons ce plan, qui coupe les axes Ox1, Ox2 et Ox3 aux points I (1 500, 0, 0),
C (0, 500, 0) et J (0, 0, 2 000) (igure 8.4). Son intersection avec le polyèdre d est le
pentagone STUVC.
Tout plan Pz, quelle que
soit la valeur de z :
z 5 4x 1 1 12x 2 1 3x 3,
représente un plan parallèle
au plan P(z 56 000).
La distance de l’origine à
un plan Pz est :
z
OH 5
"42 1 122 1 32
z
5 .
13
On a donc :
z 5 13 # OH.
© Dunod – Toute reproduction non autorisée est un délit.
303
Chapitre 8 • La programmation linéaire
x *1 5 250 ; x *2 5 500 ;
x *3 5 1 500 ; z * 5 11 500.
x 1 1 2x 2 1 2x 3 < 4 000
304
8.1 exemple de programme linéaire – Aspect géométrique
On peut encore espérer, par des raisonnements du type « fausse hypothèse », et des
substitutions mutuelles d’unités des différents produits, se tirer d’affaire et trouver le
nouvel optimum (point W) que conirmerait la construction géométrique :
x1 5 375 ; x2 5 500 ; x3 5 2 625/2 ; z 5 11 437, 5.
Notons qu’en W, la variable x3 n’a pas une valeur entière.
En effet, la présence d’une nouvelle contrainte conduit à tronquer le polyèdre des
solutions, qui se réduit alors au solide OABCDEFXWR et c’est le point W dont les
coordonnées forment la solution optimale.
Mais, avec m contraintes (m grand), il n’est plus possible de s’y retrouver dans des
raisonnements de ce type, qui deviennent par trop combinatoires.
Il faut donc tenter d’utiliser les informations obtenues jusqu’ici pour tenter de géné-
raliser le problème par une autre voie.
Nous allons énoncer, dans le théorème qui suit, une propriété qui nous permettra de
caractériser une solution optimale d’un programme linéaire (PL).
théorème. Si l’ensemble des contraintes d’un programme linéaire forme un polyèdre1
non vide, il existe (au moins) une solution optimale qui est un sommet de ce polyèdre.
Preuve. Le polyèdre formé par les contraintes du PL étant supposé non vide, le PL
admet au moins une solution optimale. Nous allons supposer dans un premier temps,
que cette solution est unique. Ci-dessous, z désigne un point du polyèdre (et non pas
la fonction économique)
La démonstration se fait par récurrence sur la dimension d du polyèdre. Si d 5 0,
le polyèdre se réduit à un point qui est aussi un sommet, le résultat est donc vériié.
Supposons maintenant d . 0. Montrons que le point représentatif de la solution ne
peut se trouver à l’intérieur du polyèdre. Soit z un point situé à l’intérieur du polyèdre
et supposons que z corresponde à la solution optimale. Considérons Pz l’hyperplan
passant par z et dont la direction est ixée par les coeficients de la fonction écono-
mique. Pz partage le polyèdre en deux parties non vides. Il existe alors un point z r à
l’intérieur de l’une de ces deux parties, correspondant à une solution réalisable du
PL dont la valeur sera strictement supérieure à la valeur du point z. Cela contredit le
fait que z soit la solution optimale. La solution optimale est donc située sur une face
du polyèdre. Une face d’un polyèdre de dimension d étant un polyèdre de dimension
dr , d, en appliquant à nouveau le même raisonnement, nous avons montré le résul-
© Dunod – Toute reproduction non autorisée est un délit.
1. Par déinition un polyèdre est ini (il ne possède pas de points à l’inini).
305
Chapitre 8 • La programmation linéaire
cas, bien que des solutions réalisables du PL existent, il n’existe pas nécessairement
de solution optimale (les solutions optimales peuvent être rejetées à l’inini). Alors, si
une solution optimale inie existe, on peut montrer avec une démonstration similaire
à la précédente qu’il existe une solution optimale située en un sommet du polytope.
Mais, dans les applications de R.O. ce cas est pratiquement exclu : les ressources, les
temps, les capacités, etc. y sont en effet inis !
Dans d’autres cas, les contraintes capacités peuvent être contradictoires : alors le
polyèdre est vide et le PL est impossible.
On pourrait alors en déduire qu’il sufit de déterminer les coordonnées de tous les
sommets du polyèdre et de calculer la valeur de la fonction économique qui corres-
pond à chacun d’eux : il resterait à choisir la plus grande de ces valeurs. Mais, s’il
y a n variables et m contraintes, il y a n 1 m plans, dont les intersections n à n sont
au nombre de :
(m 1 n)!
C nn 1 m 5 ,
m!n!
pour n 5 15 et m 5 10, on a 3 268 760 points d’intersection et pourtant il ne s’agit
encore que d’un petit programme linéaire. Même avec de très puissants ordinateurs,
d’aujourd’hui ou de demain, l’énumération de tous les sommets est impraticable
dès que n et m dépassent 20 : elle conduirait à des durées prohibitives sur des P.L.
de taille industrielle, pouvant dépasser des milliards d’années, ou plus !1 il est exclu
d’énumérer dans le combinatoire !
L’algorithme le plus connu pour la résolution des programmes linéaires : l’algo-
rithme du simplexe, au lieu de calculer la valeur de z pour tous les sommets (donc en
les énumérant), la calcule seulement pour une suite de sommets telle que la valeur
de z pour le nième ne soit pas inférieure à la valeur z pour le ( n 2 1 ) ième. Ainsi, on est
sûr de parvenir à l’optimum au bout d’un nombre de pas ini, puisque le nombre de
sommets est ini, à condition que la valeur de la fonction économique z augmente
strictement pour un certain nombre de ces pas. Rappelons que l’on maximise z.
Les sommets qui constituent la suite envisagée sont adjacents, c’est-à-dire le kième
et le ( k 1 1 ) ième sont les extrémités d’une même arête ; il est donc nécessaire que,
quelque soit le sommet de départ, on puisse toujours trouver, étant donné un sommet
auquel on est parvenu, un sommet adjacent dont les coordonnées donnent une valeur
non inférieure à z, tant qu’on n’est pas arrivé à l’optimum.
Or, ceci est possible, en raison d’une propriété des polyèdres engendrés par des
contraintes linéaires : la « convexité ».
1. Les points d’intersection ne sont pas tous des sommets du polyèdre des solutions dans l’espace
à n dimensions ; autrement dit, les coordonnées de certains de ces points ne vériient pas une ou
plusieurs contraintes. Ainsi, le polyèdre que nous avons considéré plus haut, comme exemple, ne
compte que 10 sommets, alors qu’il existe @37 5 35 points d’intersection des plans 3 à 3. Mais ce
fait ne restreint pas le problème, puisqu’il faudrait examiner toutes les intersections pour détermi-
ner les sommets « admissibles » c’est-à-dire vériiant toutes les contraintes.
306
8.2 Algorithme du simplexe : méthode algébrique…
307
Chapitre 8 • La programmation linéaire
Ainsi, la contrainte x 1 < 1 000 signiie que x1 étant inférieur (resp : égal) à 1 000,
il faut lui ajouter une quantité positive (resp. nulle) que nous noterons x4, pour ame-
ner sa valeur à 1 000 :
x 1 < 1 000 équivaut à : x 1 1 x 4 5 1 000 et x 4 > 01.
La variable x4 est nommée « variable d’écart » et représente, dans le contexte de
l’exemple, l’écart à la saturation du marché en produit P1. Les contraintes (1) à (5)
peuvent s’écrire sous forme d’équations en introduisant des variables d’écart x4, x5,
x6 et x7 :
(1) x1 1 x4 5 1 000
(2) x2 1 x5 5 500
(3) e x3 1 x6 5 1 500
(4) 3x 1 1 6x 2 1 2x 3 1 x 7 5 6 750
(5) x1 , x2 , x3 , x4 , x5 , x6 , x7 > 0
(x7 représente 150 fois le nombre d’heures de travail par semaine non employées :
l’atelier est disponible 45 heures par semaine ; le facteur 150 vient du fait que pour
chasser les dénominateurs de (4), on a multiplié chaque membre par 150 ; ainsi :
6 750 5 45 3 150 ) .
Les variables d’écart2 ont une contribution nulle à la fonction économique z :
z 5 4x 1 1 12x 2 1 3x 3 1 0x 4 1 0x 5 1 0x 6 1 0x 7.
En effet ne pas saturer un marché, ou encore ne pas utiliser des machines à 100 %,
cela ne rapporte aucun bénéice.
Prenons comme solution initiale le sommet O : x 1 5 0, x 2 5 0, x 3 5 0 (c’est la
solution « du mois d’août » : on ne fabrique rien, on ne gagne rien ; mais cette solu-
tion est admissible au sens mathématique puisque les contraintes du PL sont véri-
iées).
Les m 5 4 variables qui sont alors positives (autant que de contraintes) sont x4,
x5, x6 et x7. On les nomme variables de base en O. De même, les variables nulles
au sommet Ο : x1, x2 et x3 sont nommées variables hors-base en Ο (on écarte de cet
exposé introductif les cas de dégénérescence – dits de « seconde espèce » – où une
variable de base serait nulle : tel serait le cas si, par exemple, quatre plans délimitant
des contraintes étaient concourants en un même sommet. Ce cas sera traité en détail
plus loin).
On peut exprimer facilement les variables de base en Ο (qui forment l’ensemble
@o) en fonction des variables hors base en O, de même que la fonction économique
z:
1. Si l’on avait affaire à une contrainte en sens inverse, par exemple 2x 1 1 x 2 1 5x 3 > 1 000, on
retrancherait une variable d’écart (x8) pour obtenir 2x 1 1 x 2 1 5x 3 2 x 8 5 1 000 et x 8 > 0.
2. On aurait pu noter différement les variables d’écart : x 1, x 2, x 3 et x 4.
308
8.2 Algorithme du simplexe : méthode algébrique…
x 4 5 1 000 2 x 1
x 5 5 500 2 x2
@0 = {x4, x5, x6, x7} O e x 6 5 1 500 2 x3
x 7 5 6 700 2 3x 1 2 6x 2 2 2x 3
z 5 0 1 4x 1 1 12x 2 1 3x 3
L’examen de z montre que, pour augmenter sa valeur numérique, il faut donner
à l’une des variables hors base, actuellement nulle au sommet considéré (O), une
valeur positive. Puisque dans z, x2 a le coeficient (bénéice marginal) le plus élevé,
nous choisissons d’accroître x2 en posant x 2 5 u, où θ est un paramètre que nous
prenons positif croissant ; nous gardons, pour cette itération, les autres variables hors
base nulles : x 1 5 x 3 5 0.
Le système devient :
x 4 5 1 000
x 5 5 500 2 u
e x 6 5 1 500
x 7 5 6 750 2 6u
z 5 0 1 12u
Jusqu’à quelle valeur peut-on accroître θ (c’est-à-dire x2) ?
Le bénéice global z est proportionnel à θ : l’entreprise peut-elle devenir très riche
en donnant à θ une valeur très élevée ? En fait non, car il ne faut pas oublier que
toutes les variables sont positives ou nulles, et doivent le demeurer (« contraintes
implicites » ) :
x 5 > 0 entraîne u < 500
x 7 > 0 entraîne u < 6 750/6 5 1 125
Ainsi, la plus grande valeur de θ qui respecte la positivité de toutes les variables
est u 5 500 (et non pas 1 125 qui rendrait x5 négatif). Si l’on pose donc u 5 500,
il vient numériquement :
x 4 5 1 000 x 1 5 0
© Dunod – Toute reproduction non autorisée est un délit.
x5 5 0 x 2 5 500
e x 6 5 1 500 x 3 5 0
x 7 5 3 750
z 5 6 000
On reconnaît alors les coordonnées du sommet C : le programme de production (0,
500, 0) qui engendre un bénéice z 5 6 000 euros.
On vient donc de trouver un procédé algébrique qui nous a permis de passer d’un
sommet (O) d’un polyèdre à un sommet « voisin » (C), en décrivant une arête de ce
polyèdre : l’arête OC, en augmentant z.
309
Chapitre 8 • La programmation linéaire
1. On pourrait se contenter de choisir comme variable entrante, une variable horsbase ayant un
coeficient positif dans l’expression de z en fonction des variables hors-base.
310
8.2 Algorithme du simplexe : méthode algébrique…
x 4 5 1 000 2 u
x 2 5 500
e x 6 5 1 500
x 7 5 3 750 2 3u
z 5 6 000 1 4u
L’accroissement du bénéfice étant proportionnel à u, on a intérêt à prendre u le
plus grand possible.
Pour respecter la positivité des variables, on prend au mieux u 5 1 000: x4 alors
s’annule et sort de la base ; l’équation de l’échange est x 4 5 1 000 2 x 1 ; en subs-
tituant dans les autres équations du système associé au sommet C, à x1 la valeur
1 000 2 x 4, il vient, avec @B = {x1, x2, x6, x7} :
x1 5 1 000 2 x4
x2 5 500 2 x5
x6 5 1 500 2 x3
B g x7 5 3 750 2 2x 3 2 3 ( 1 000 2 x 4 ) 1 6x 5
5 750 2 2x 3 1 3x 4 1 6x 5 (*)
z 5 6 000 1 3x 3 1 4 ( 1 000 2 x 4 ) 2 12x 5
5 10 000 1 3x 3 2 4x 4 2 12x 5
On reconnaît en effet le système associé au sommet Β : l’expression des variables
de base en Β : x1, x2, x6, x7, en fonction des variables hors base en Β : x3, x4, x5.
Puisque z, ainsi exprimé, comporte encore un coeficient positif : 3, sur une
variable hors base (x3), on peut pratiquer une nouvelle itération ; on pose x3 5 u
positif et croissant, et x 4 5 x 5 5 0 ; il vient :
x 1 5 1 000
x 2 5 500
e x 6 5 1 500 2 u
© Dunod – Toute reproduction non autorisée est un délit.
x 7 5 750 2 2u
z 5 10 000 1 3u
On prend u 5 375 : en effet la variable x7 est la première à s’annuler quand u croît ;
x7 est donc la variable sortante ; l’équation de l’échange est :
x 7 5 750 2 2x 3 1 3x 4 1 6x 5 ;
3 1
d’où : x 3 5 375 1 x 4 1 3x 5 2 x 7.
2 2
En substituant à x3 cette valeur dans les autres équations du système associé à B, il
vient, avec @R = {x1, x2, x6, x3} :
311
Chapitre 8 • La programmation linéaire
x1 5 1 000 2 x4
x2 5 500 2 x5
3 1
x6 5 1 125 2 x 4 2 3x 5 1 x7 (*)
2 2
Rh
3 1
x3 5 375 1 x 4 1 3x 5 2 x7
2 2
1 3
z 5 11 125 1 x 4 2 3x 5 2 x7
2 2
On reconnaît le sommet R (1 000, 500, 375) où le bénéice vaut : 11 125 euros.
Nouvelle (et dernière) itération : la variable hors base x4 ayant dans z un coef-
icient positif (1/2), entre en base : on pose x 4 5 u, positif croissant et on garde
x 5 5 x 7 5 0 ; il vient :
3 3 1
x 1 5 1 000 2 u, x 2 5 500, x 6 5 1 125 2 u, x 3 5 375 1 u, z 5 11 125 1 u.
2 2 2
3
La variable sortante est donc x6 (avec u 5 1 125^ a b 5 750 ) .
2
3 1
L’équation de l’échange est : x 6 5 1 125 2 x 4 2 3x 5 1 x 7 ; d’où, en l’inversant :
2 2
3 1 2 1
x 4 5 1 125 2 3x 5 2 x 6 1 x 7 et donc : x 4 5 750 2 2x 5 2 x 6 1 x 7.
2 2 3 3
En substituant à x4 cette valeur dans les autres équations du système associé à R, il
vient, avec @Q = {x1, x2, x3, x4}.
2 1
x1 5 250 1 2x 5 1 x6 2 x7
3 3
x2 5 500 2 x 5
x3 5 1 500 2 x6
Qh
2 1
x4 5 750 2 2x 5 2 x6 1 x7
3 3
1 4
z 5 11 500 2 4x 5 2 x6 2 x7
3 3
On reconnaît le sommet Q : x 1 5 250, x 2 5 500, x 3 5 1 500 avec un bénéice de
z 5 11 500 euros. Le sommet est optimal : il n’est pas possible d’améliorer z par le
procédé ci-dessus car tous les coeficients des variables (hors base) igurant dans z
sont négatifs ; on peut alors démontrer, en utilisant un argument de convexité et de
dualité que, dans ces conditions, l’optimum est effectivement atteint : nous y revien-
drons plus loin dans le paragraphe 8.7 consacré à la dualité.
Systématisons la procédure ci-dessus employée dans l’algorithme du simplexe.
Nous avons vu que l’algorithme consiste à progresser d’un sommet initial vers
un sommet adjacent en ayant soin de ne pas diminuer la valeur de la fonction éco-
312
8.2 Algorithme du simplexe : méthode algébrique…
nomique ; d’autre part, nous savons aussi que toutes les variables (principales ou
d’écart) doivent demeurer non-négatives. Nous repartons ci-dessous du sommet ini-
tial O, et présentons sous forme de tableaux le système associé à O.
1 2 3 4 5 6 7
i j a a a a a a a
4 1 0 0 1 0 0 0 1000
Sommet 5 0 1 0 0 1 0 0 500
O 6 0 0 1 0 0 1 0 1500
7 3 6 2 0 0 0 1 6750
∆j 4 12 3 0 0 0 0 z 0
313
Chapitre 8 • La programmation linéaire
as étant l’ancienne valeur : on divise la ligne s, celle du pivot, par le pivot : ase qui
est nécessairement positif, cf le second critère de Dantzig.
Dans ces conditions, comme à chaque pas on désire que zr soit supérieur (ou égal)
bs
à z, il faudra prendre Δe positif ( ase sera positif, car bs . 0 est positif ou – excep-
tionnellement – nul et le pivot ase sera pris positif). Heuristiquement, on a intérêt à
prendre De . 0 le plus élevé possible. C’est pourquoi le premier critère de Dantzig
s’énonce ainsi :
« Pour déterminer la colonne ae qui doit entrer dans la base, on choisit celle qui
comporte le Dj positif le plus grand ». Si tous les Dj sont négatifs ou nuls: in, l’opti
mum est atteint (propriété admise ici).
Le premier critère de Dantzig vise à minimiser le nombre d’itérations effectuées au
cours du déroulement de l’algorithme. Mais ceci n’est pas toujours le cas, il existe
même des exemples, certes rares, pour lesquels l’utilisation de ce critère peut être
particulièrement désastreuse et l’algorithme ne jamais se terminer. C’est pourquoi
d’autres critères ont été donnés évitant ceci. Citons le critère de Bland : pour déter
miner la colonne ae, qui doit entrer dans la base, on choisit celle pour laquelle
l’indice j est le plus petit, parmi celles pour lesquelles Dj . 0. Bland a montré que
l’utilisation de ce critère assurait la terminaison de l’algorithme. En pratique, des
stratégies mixtes combinant les deux critères de Bland et Dantzig, ou bien encore
d’autres stratégies basées sur des tirages aléatoires peuvent être utilisées.
314
8.2 Algorithme du simplexe : méthode algébrique…
bs bs
Si l’on prend ase positif, alors βk, qui est positif, est sûrement plus grand que ake # ase
lorsque ake est négatif. Au contraire, lorsque ake est positif, on peut diviser les deux
membres de l’inégalité par ake et l’on a :
bs bk
< .
ase ake
bk
La condition sera donc réalisée si l’on a soin de prendre, parmi les quotients a obte-
ke
nus pour toutes les valeurs k, le plus petit positif d’entre eux (obtenu pour k 5 s ) .
D’où le deuxième critère de Dantzig :
« Pour déterminer la colonne as qui doit sortir de la base, on choisit celle d’indice
bk
s tel que a soit le plus petit positif (l’indice e ayant été déterminé par l’application
ke
du premier critère) ».
N.B. Si tous ces rapports sont négatifs, alors l’optimum est rejeté à l’inini : in. Ce
cas ne se présente pas dans les PL ayant un contexte économique.
Tels sont les deux critères sur lesquels est fondé l’algorithme de Dantzig.
L’optimum sera atteint dès que le premier critère ne sera plus applicable, c’est-à-dire
lorsque tous les Dj relatifs aux variables hors base seront négatifs ou nuls, ceux rela-
tifs aux variables de base étant nécessairement nuls.
de la fonction économique sous sa forme initiale, pour chaque valeur i des indices de
ligne igurant dans le tableau, c-à-d pour toute variable de base xi) et une ligne sous le
tableau principal où seront notés les cj (coeficients de la fonction économique sous sa
forme initiale, correspondant cette fois aux indices j immuables, des colonnes). Dans le
tableau de droite, la colonne b, on indique les valeurs des variables de la base courante.
(Pour la base initiale associée au sommet O, rappelons que l’on a : b 5 b.)
Lors de toute itération le repérage de la colonne e qui doit entrer dans la base est
simple : il sufit de lire la ligne des Δj et de sélectionner celui des Δj qui est le plus
grand et positif, si l’on applique le premier critère de Dantzig.
Ici, c’est D2 5 12, dans la colonne 2 ; on a donc : e 5 2 et c’est x2 qui est associé à la
deuxième colonne, qui entrera dans la base.
315
Chapitre 8 • La programmation linéaire
�i
ci i j 1 2 3 4 5 6 7 �
�ie
0 4 1 0
pivot
0 1 0 0 0 1000 �
0 5 0 1 0 0 1 0 0 500 500 (*)
s�5
0 6 0 0 1 0 0 1 0 1500 �
0 7 3 6 2 0 0 0 1 6750 1 125
cj 4 12 3 0 0 0 0
�j 4 12 3 0 0 0 0 z�0
↑
e�2
Dans la suite nous n’écrivons que rarement la ligne cj (car il s’agit de données ini-
tiales).
bi bi
Calculons maintenant les quotients a c’est-à-dire a puisque e est désormais
ie i2
connu : e 5 2 ; les valeurs de i sont : 4, 5, 6 et 7 et l’on a donc :
(1)
b4 1 000 b5 500 b6 1 500 b7 6 750
a42 5 0 5 `; a 5
52 1
; a62 5
0
5 ` ; a72 5
6
5 1 125 ;
bi
on peut écrire ces résultats sur une nouvelle colonne a (e, indice de la colonne
ie
entrante), immédiatement à droite de b, le vecteur courant des seconds membres.
Prenons le rapport le plus petit positif : c’est 500, qui correspond à l’indice i 5 5 ; ce
sera donc la 5e colonne (soit x5) qui sortira de la base ; l’indice de la variable sortant
de la base est donc s 5 5.
Il faut maintenant appliquer les formules de changement de coordonnée (avec e 5 2
et s 5 5 ) :
b5 b5
z r 5 z 1 a52 # D2 brk 5 bk 2 ak2 # a52
a5l a5l b5
arkl 5 akl 2 ak2 # a52 ( k 2 5 ) a5l 5 a52 et br5 5 a52 .
L’élément αse (ici a52) qui joue un rôle fondamental a été appelé élément distingué
ou pivot de la transformation. Rappelons que le pivot est nécessairement strictement
positif : ceci résulte du second critère de Dantzig.
1 000
(1) On ne s’inquiètera pas du fait que l’on pose ici : 5 `, c’est une simple convention.
0
316
8.2 Algorithme du simplexe : méthode algébrique…
Plutôt que d’appliquer, élément par élément, les formules ci-dessus, on emploie les
règles pratiques de transformation du tableau très simples (qui leur sont équiva-
lentes) suivantes :
1) on repère le pivot ase qui est à l’intersection de la ligne s et de la colonne e. C’est
l’indice de ligne correspondant à l’indice de la colonne (associée à xs) qui sort de la
base et de la colonne e : indice de la colonne (associée à xe) qui entre dans la base ;
2) on divise les éléments de la ligne s par le pivot ase c’est-à-dire dans le tableau
central et la colonne de droite, donc pour j 5 1, 2, c, 7 et on remplace l’indice du
tableau de gauche, 2e colonne, par l’indice e de la colonne qui entre dans la base ; on
remplace le coeficient cs du tableau de gauche, lère colonne, par la valeur ce du coef-
icient de la fonction économique ;
3) parmi les autres lignes du tableau, celles qui comportent un 0 dans la colonne
e qui entre dans la base ( ake 5 0, où k 2 s ) , ne sont pas modiiées : la variable
entrante xe est absente dans l’expression de la variable de l’ancienne base xk (qui reste
dans la nouvelle base).
4) les éléments des autres lignes du tableau qui comportent un élément différent de
0 dans la colonne qui entre dans la base ( ake 2 0, où k 2 s ) , sont modiiés comme
suit :
– on multiplie les éléments de la nouvelle ligne du pivot (désormais ligne e) par cet
élément ake (non nul) et on soustrait les résultats aux éléments correspondants de
la ligne à modiier ;
– ce traitement est applicable aux éléments du vecteur des seconds membres
(« colonne b ») ;
– il s’applique également aux éléments de la ligne z de la fonction économique ; en
bs
particulier pour le second membre de la ligne z, on inscrit z 2 ase # De.
Par exemple, revenant au tableau précédent (cf p. 313), on aura :
1) l’élément distingué (pivot) est le 1 de ligne 5 et de la colonne 2 ;
2) la ligne 5, divisée par le pivot égal à 1 reste donc la même ; on remplace, dans le
tableau de gauche, 5 par 2 (c’est-à-dire 5 par e) et immédiatement à gauche 0 par 12
(c’est-à-dire c5 par c2) ;
3) les lignes 4 et 6 ne subissent pas de modiication (car elles comportent un 0 dans
© Dunod – Toute reproduction non autorisée est un délit.
317
Chapitre 8 • La programmation linéaire
ci i j 1 2 3 4 5 6 7 0
0 4 1 0 0 1 0 0 0 1 000
12 2 0 1 0 0 1 0 0 500
s=6
0 6 0 0 1 0 0 1 0 1500
0 7 3 0 2 0 �6 0 1 3 750
z �j 4 0 3 0 �12 0 0 6 000
↑
e =1
Note. La règle pratique énoncée ci-dessus est conçue pour les problèmes de maximi-
sation. En fait, elle peut s’appliquer aussi aux problèmes de minimisation, à condition
de changer les signes des coeficients cj de la fonction économique (car maximiser –z
revient à minimiser z) ; il faut naturellement qu’il y ait au moins un coeficient positif
après ce changement de signe (sinon l’optimum serait déjà atteint).
On a donné, en annexe, le tableau associé à chaque itération.
Le dernier tableau fourni par la règle pratique est le suivant :
318
8.2 Algorithme du simplexe : méthode algébrique…
1 4
j 0 0 0 0 4 z 11 500
3 3
L’optimum est atteint, puisque tous les Dj relatifs aux variables hors base, sont néga-
tifs. Nous sommes évidemment parvenus à la même solution que nous avions trouvée
plus haut par d’autres voies : x 1 5 250, x 2 5 500, x 3 5 1500, z 5 11 500 euros.
En se reportant à l’annexe, qui contient les calculs intermédiaires, le lecteur consta-
tera que, partant du sommet O, l’origine des axes ( x 1 5 x 2 5 x 3 5 0, z 5 0 ) , nous
sommes successivement passés, dans l’espace à trois dimensions, par :
le sommet C ( x 1 5 x 3 5 0, x 2 5 500, z 5 6 000 ) ,
puis le sommet B ( x 1 5 1 000, x 2 5 500, x 3 5 0, z 5 10 000 )
puis le sommet R ( x 1 5 1 000, x 2 5 500, x 3 5 375, z 5 11 125 ) ,
enin au sommet Q ( x 1 5 1 000, x 2 5 500, x 3 5 1 500, z 5 11 500 ) .
Mais il va sans dire que nous n’avons pu mener ce problème à bien, par des calculs
manuels, que parce que le nombre de variables est très petit. Lorsque le nombre de
variables dépasse la dizaine, il ne peut être question de calculer à la main ; l’algo-
rithme s’implémente informatiquement et il est capable de résoudre des programmes
linéaires comportant des centaines de milliers de variables et des dizaines de milliers
de contraintes(1). Le cas échéant, on fait appel à des méthodes de décomposition,
lorsque le problème est de grande taille.
© Dunod – Toute reproduction non autorisée est un délit.
1.
(1) Voire même audelà, pour des programmes linéaires dont les données ont des structures par
ticulières
319
Chapitre 8 • La programmation linéaire
sommet B �i
i j 1 2 3 4 5 6 7 � �ie
1 1 0 0 1 0 0 0 1000 �
2 0 1 0 0 1 0 0 500 �
6 0 0 1 0 0 1 0 1 500 1 500/1
s 7 0 0 2* �3 �6 0 1 750 750/ 2 � 375 (*)
↑
sommet R �i
i j 1 2 3 4 5 6 7 � �ie
1 1 0 0 1 0 0 0 1000 1 000/1
2 0 1 0 0 1 0 0 500 �
3 * 1
s 6 0 0 0 3 1 � 1125 1125/(3/2) � 750 (*)
↑
2 2
3 1 négatif
3 0 0 1 � �3 0 375
2 2
1 3
0 0 0 �3 0 � z �11 125
2 2
↑
e
sommet Q
i j 1 2 3 4 5 6 7 �
2 1
1 1 0 0 0 �2 � 250
3 3
2 0 1 0 0 1 0 0 500
2 1
4 0 0 0 1 2 � 750
3 3
3 0 0 1 0 0 1 0 1 500
1 4
0 0 0 0 �4 � � z �11 500
3 3
L’optimum est atteint en 4 itérations (tous les Dj sont alors négatifs ou nuls : c’est
le test de in). On reconnaît le sommet Q avec x1 5 250 (5 b1), x2 5 500 (5 b2),
x3 5 1 500 (5 b3). Le bénéice étant de 11 500 euros par semaine.
320
8.3 Dégénérescences
8.3 dégénérescences
8.3.1 Dégénérescence de première espèce
Pour certains programmes linéaires, l’optimum peut être réalisé en plusieurs points
de la frontière du domaine admissible : tous les points d’une arête ou d’une facette
(ou...) sont alors optimaux.
Ainsi soit le programme :
3 max 4 z 5 6x 1 1 4x 2
sous les contraintes :
23x 1 1 2x 2 < 4 23x 1 1 2x 2 1 x 1 5 4
3x 1 1 2x 2 < 16 3x 1 1 2x 2 1 1 x2 5 16
d soit d
x1 < 3 x1 1 x3 5 3
x1 , x2 > 0 x1 , x2 , x1 , x2 , x3 > 0
Les tableaux successifs conduisant à la solution se présentent de la manière suivante :
(les suivre en parallèle avec la igure 8.8) :
ci i 1 2 1 2 3 (0) b ci i 1 2 1 2 3 (1)
0 1 3 2 1 0 0 4 0 1 0 2 1 0 3 13
s 0 2 3 0 1 0 16 s 0 2 0 2 0 1 3 7
↑
↑
0 3 1 0 0 0 1 3 6 1 1 0 0 0 1 3
Sommet Sommet
O j 6 4 0 0 0 z 0 D j 0 4 0 0 6 z 18
↑ ↑
e e
ci i 1 2 1 2 3 (2) ci i 1 2 1 2 3 (3)
© Dunod – Toute reproduction non autorisée est un délit.
s 0 0 1 1 6 1 1
↑
0 1 6 0 3 0 0 1 1
6 6
1 3 7 1 3
4 2 0 1 0 4 2 0 1 0 5
2 2 2 4 4
1 1
6 1 1 0 0 2
6 1 1 0 0 0 1 3 6 6
Sommet Sommet
j 0 0 0 2 0 z 32 j 0 0 0 2 0 z 32
C B
↑
e
321
Chapitre 8 • La programmation linéaire
ci i j1 2 1 2 3 4 i ci i j 1 2 1 2 3 4 i i/ ie
s 0 1 3 2 1 0 0 0 4 1 2 3/ 2 1
↑
1/ 2 0 0 0 2 <0
0 2 3 2 0 1 0 0 16 0 2 6 0 1 1 0 0 12 2*
0 3 1 0 0 0 1 0 3 0 3 1 0 0 0 1 0 3 3
0 4 1 4 0 0 0 1 22 s 0 4 7 0 2 0 0 1 14 2*
↑
Sommet Sommet
O 1 1 0 0 0 0 z 0 A 5/ 2 0 1/ 2 0 0 0 z 2
↑ ↑
e e
322
↑
↑
8.3 Dégénérescences
↑ ↑
ci i j 1 2 1 2 3 4 i i/ ie ci i j 1 2 1 2 3 4 i
1 3
1 2 0 1
14
0 0 14 5 70 1 2 0 1 0 1 0 3 5
10 10
s 0 2 0 0 5 6 7 6
↑
7
1 0 7 0 0* 0 1 0 0 1 0 5 0
5
0 3 0 0 2 0 1 0 2 1
7 1 7 1 7/ 2 0 3 0 0 1 1
5 5
1 1 1 0 72 0 0 1
7
2 négatif 1 1 1 0 0 2 0 51 2
5
Sommet Sommet
B 0 0 3 0 0 5 z 7 B 0 0 0 3 0 1 z 7
14 14 10 10
↑
e
Remarques.
1. Au cas où l’on aurait, au deuxième tableau, fait sortir la variable x 2, au lieu
de la variable x 4, on ne se serait pas aperçu de la dégénérescence autrement
que par l’apparition de la valeur x4 5 0 , D1 et D2 étant négatifs. Cela montre
© Dunod – Toute reproduction non autorisée est un délit.
que la ligne 4 et la colonne 4 pouvaient être supprimées (la contrainte (4) est
redondante : cf. la remarque 2.) : cf. ci-dessous le tableau associé.
2. Multiplions la première inéquation: 23x 1 1 2x 2 < 4 par 5/6 et la seconde :
3x 1 1 2x 2 < 16 par 7/6 et ajoutons-les : nous trouvons la dernière contrainte :
x 1 1 4x 1 < 22 qui est donc une conséquence des deux autres. Cette dernière
inéquation ne joue aucun rôle dans le problème et peut-être supprimée (cf.
aussi la notion de dominance en théorie des jeux, cf le chapitre 9).
323
Chapitre 8 • La programmation linéaire
ci i 1 2 1 2 3 4 �i
1 2 0 1 1/ 4 1/ 4 0 0 5
1 1 1 0 �1/ 6 1/ 6 0 0 2
0 3 0 0 1/ 6 �1/ 6 1 0 1
0 4 0 0 �5/ 6 �7/ 6 0 1 0
0 0 �1/ 12 �5/ 12 0 0 z �7
F.s. c a ij j
n
324
8.4 Aspect matriciel
0 0 0 c 61
Cette matrice diagonale a pour déterminant le produit des éléments diagonaux, qui
vaut donc 11 ou 21 : il est donc non nul.
À nouveau, cette hypothèse est, en pratique, peu restrictive.
Dans ces conditions, le système linéaire a # x 5 b de m équations à n inconnues
admet au moins une solution (et, en général, une ininité). C’est un système « sous
déterminé » comportant plus d’inconnues que d’équations. Notons que si l’on
connaît deux solutions différentes xr et xs de ce système, alors tout x de la forme
x 5 l # xr 1 ( 1 2 l ) # xs, où 0 < l < 1, est aussi une solution du système ; x est
nommé : “combinaison linéaire convexe” de xr et de xs.
325
Chapitre 8 • La programmation linéaire
Base
Par déinition, une « base » d’un PL est un ensemble de m vecteurs-colonne indépen-
dants, extraits de a. Ainsi si l’on découpe a en colonne :
et que l’on ait extrait de a les m colonnes d’indices j1, j2, c, jm , à la base B est asso-
ciée une matrice carrée m 3 m, de déterminant non nul :
xj1
xj2
B Aj1 Aj2 ... Ajm xB 5 D T
(
xjm
Les « variables de base » sont les variables x j1, x j2, c, x jm associées aux colonnes
constituant la base ; on note xB le vecteur colonne des m variables de base. Les
n 2 m autres variables sont dites « variables hors base » et l’on note xN leur
vecteur-colonne.
Réécriture du programme linéaire associée à une base B
Par permutation des colonnes de a, on place en tête (calées à gauche) les colonnes
de base qui forment la sous-matrice B, puis on place, immédiatement à droite de
celles-ci, les colonnes hors base (qui forment la sous-matrice n ). On permute dans
le même ordre les variables ; ainsi a 5 ( B, n )
xB
et x 5 a x b :
N
326
8.4 Aspect matriciel
x1
A1 A2 A3 A4 A5 x2
soit : 2 3 1 1 3 . x3 12 soit A . x b.
6
7 1 2 x4
5 1
x5
3 3
Les m 5 2 colonnes A2 et A5 forment une base B 5 ( a2, a5 ) 5 a b puisque le
21 1
déterminant de cette matrice n’est pas nul : dét B 5 6.
La réécriture fournit :
x
x2
A2 A5 A1 A3 A4 B
x5
b
3 3 2 1 1
. x1 12
x
1 1 7 2 5 6
x3 N
B N
x4
x1
2 1 1
3 3 . x2 . 12
soit :
1 1 x5 x3 c’est-à-dire B. xB N . xN b.
7 2 5 6
x4
Solution de base
Posons xN 5 0, il reste alors B # xB 5 b, qui est un système de m équations à m inconnues,
de déterminant non nul (système de Cramer), admettant une solution unique :
xB 5 B 2 1 # b
• si xB vériie aussi les contraintes « implicites » de positivité, c’est-à-dire si xB est
positif ou nul, xB est alors une « solution de base admissible ».
Reprenons l’exemple ci-dessus ; pour la base B 5 ( a2, a5 ) , on obtient la solution de
base associée en posant x 1 5 x 3 5 x 4 5 0, soit xN 5 0. Il reste le système :
© Dunod – Toute reproduction non autorisée est un délit.
3 3 . x2 12 ,
1 1 x5 6
1 1 1 3
1 3 , d’où : x2 12 1
or B 1 . xB : on n’a pas xB 0 :
6 1 3 x5 6 1 3 6 5
cette solution de base n’est pas admissible car x2 5 21 , 0. Par contre avec la base
327
Chapitre 8 • La programmation linéaire
D’une manière générale une « solution admissible » (on dit aussi « réalisable » ou
même « faisable » : mauvaise re-traduction de l’anglais « feasible ») est une solution
(pas nécessairement de base) du système : a # x 5 b, avec x > 0.
Le théorème suivant (que nous admettons sans démonstration) précise la correspon-
dance entre les sommets du polyèdre et les solutions de base admissibles : il fait le
lien entre l’aspect géométrique et l’aspect algébrique en programmation linéaire.
328
8.4 Aspect matriciel
1 2 3
1 0 1 750 1
– au sommet F correspond la base BF 5 C 0 1 0 S et xBF 5 C 500 S 2
1 2 0 250 3
1 2 4
1 0 0 1 000 1
– au sommet Ε correspond la base BE 5 C 0 1 1 S et xBE 5 C 375 S 2
1 2 0 125 4
1 4 5
1 0 0 1 000 1
– au sommet C correspond la base BC 5 C 0 1 0 S et xBC 5 C 500 S 4
1 0 1 750 5
Remarquons qu’aux sommets G, H et I (I étant l’intersection de la droite FE avec l’axe
Ox1) qui sont à l’extérieur du domaine admissible d correspondent des bases non admis-
sibles c’est-à-dire pour lesquelles certaines variables de bases seraient négatives :
1 2 5
1 0 0 1 000 1
BG 5 C 0 1 0 S et xB G 5 C 500 S 2
1 2 1 2250 5
2 3 4
0 1 0 875 2
BH 5 C 2 0 1 S et xB H 5 C 1 000 S 3
1 0 0 2375 4
1 3 4
1 1 0 1 750 1
BI 5 C 0 0 1 S et xB I 5 C 2750 S 3
1 0 0 500 4
© Dunod – Toute reproduction non autorisée est un délit.
329
Chapitre 8 • La programmation linéaire
330
8.5 Démarrage de l’algorithme du simplexe…
a aij xj 1 x i 5 bi.
p
#
j51
les m variables d’écart xi forment une base de matrice identité i (dont les élé-
ments diagonaux sont égaux à 1 et les non diagonaux égaux à 0). Les p 5 n 2 m
variables principales : x1, x2, c, xp sont hors-base.
Le sommet associé est l’origine Ο (dans l’espace des variables principales : Rp ) .
L’expression des variables de base en fonction des variables hors-base est immé-
diate :
x i 5 bi – a aij # x j,
p
( i 5 1, 2, c, m ) .
j51
directement exprimée uniquement en fonction des variables hors-base :
z 5 a cj # x j 1 ( 0 # x 1 1 0 # x 2 1 c1 0 # x m )
p
j51
Le tableau associé à cette base initiale est :
i 1 2 ... p 1 2 ... m
(0)
i bi
1 a11 a12 ... a1p 1 0 ... 0 b1
2 a21 a22 ... a2p 0 1 ... 0 b2
...
...
...
...
...
...
...
...
...
m am1 am2 ... amp 0 0 ... 1 bm
331
Chapitre 8 • La programmation linéaire
332
8.5 Démarrage de l’algorithme du simplexe…
1 0 0 x2 10 2 11
x1
C 0 1 0 S # C x3 S 1 C 9 10 S # B R 5 C 1 S.
x4
0 0 1 x5 234 238 3
2
On retrouve dans le second membre b 5 B21 # b 5 C 1 S , c’est-à-dire les valeurs pro-
3
posées dans la solution que nous avons « parachutée » ci-dessus.
Sous forme algébrique, ce système s’écrit :
x2 1 1 10x 1 1 11x 4 5 2
c x3 1 9x 1 1 10x 4 5 1
x 5 2 34x 1 2 38x 4 5 3
Reste à exprimer z 5 x 1 1 3x 2 1 5x 3 1 x 4 1 4x 5 uniquement en fonction des
variables hors-base ; ceci est aisé, puisque le système ci-dessus fournit l’expression
de chaque variable de base en fonction des variables hors base :
z 5 x 1 1 3 ( 2 2 10x 1 2 11x 4 ) 1 5 ( 1 2 9x 1 2 10x 4 ) 1 x 4 1 4 ( 3 1 34x 1 1 38x 4 ) ,
soit : z 5 23 1 62x 1 1 70x 4.
Pour ce faire, nous aurions aussi pu procéder matriciellement :
z 5 c B # ( B 2 1 # b ) 1 3 c N 2 c B # ( B 2 1 # n ) 4 # xN ;
10 11 2
or nous avons déjà calculé ci-dessus B21 # n 5 C 9 10 S et B21 # b 5 C 1 S ;
234 238 3
puisque cB 5 3 3, 5, 4 4 et cN 5 3 1, 1 4 , il vient :
2 10 11
x1
z 5 3 3, 5, 4 4 # C 1 S 1 c 3 1, 1 4 2 3 3, 5, 4 4 # C 9 10 S s # B R 5 23 1 62x 1 1 70x 4.
x4
3 234 238
Le tableau correspondant à cette solution de base est le suivant :
© Dunod – Toute reproduction non autorisée est un délit.
i 1 2 3 4 5 (0) B1
.b
2 10 1 0 11 0 2
∆
↑
3 9 0 1 10 0 1
5 34 0 0 38 1 3
62 0 0 70 0 z 23
↑
e
333
Chapitre 8 • La programmation linéaire
La base proposée n’est pas optimale ; en faisant entrer x4 en base on obtient l’optimum
en une seule itération : z* 5 30 et x1 5 0, x2 5 0,9, x3 5 0, x4 5 0,1 et x5 5 6,8.
8.5.3 Cas d’une base « évidente » : B 5 I
Soit le programme linéaire :
y1 1 3y4 2 y1 5 4
y2 1 6y4 2 y2 5 12
e y3 1 2y4 2 y3 5 3
y1 , y2 , y3 , y4 , y1 , y2 , y3 > 0
2 3 1 000y1 1 500y2 1 1 500y3 1 750y4 4 5 z 3 max 4
Les variables d’écart y 1, y 2 et y 3 forment certes une base de matrice Br 5 2i ; mais
cette base n’est pas admissible. En effet si l’on annule les variables hors base : y1,
y2, y3, et y4, il vient : y 1 5 24, y 2 5 212, y 3 5 23, ce qui viole les contraintes de
non-négativité des variables (les contraintes dites « implicites »).
En revanche, les variables y1, y2 et y3 forment une base « évidente », c’est-à-dire de
matrice B 5 i . Après avoir exprimé z en fonction des variables hors base :
z 5 214 500 1 2 250y 4 2 1 000y 1 2 500y 2 2 1 500y 3, l’optimum s’obtient alors en
une itération (cf 8.7.4 pour le détail des calculs).
Le programme ci-dessus est en fait le « dual » du programme linéaire associé à notre
exemple de l’atelier ; il sera traité in extenso dans un paragraphe 8.7 consacré à la
notion de dualité.
Il arrive que l’on puisse se ramener au cas d’une base évidente. Aussi pour le PL
ci-dessous (issu d’un problème d’optimisation de découpes) :
3y 1 1 y2 > 36
y2 1 2y 3 > 24
d y , y2 , y3 > 0
1
les contraintes du types (P) sont de la forme : a aijx j < bi où bi est positif
p
(ou nul) ; après introduction d’une variable d’écart x i , il vient : a aij # xj 1 x i 5 bi,
j51 p
j51
les contraintes du type Q sont de la forme : a akj # x j > bk (où bk est positif ou nul) ;
p
j51
Enin les contraintes de type (R) sont celles qui, à l’origine, sont en équation :
4x 1 1 5x 2 1 3x 3 1 0x 1 1 0x 2 5 z 3 max 4
Si toutes les contraintes étaient de type (P), on serait dans le cas « favorable », traité
plus haut au 8.5.1.
Nous allons constituer une base initiale de matrice B 5 i ; on peut inclure dans
cette base les variables d’écart ajoutées dans les contraintes de type (P) ; en effet la
colonne associée à chacune de ces variables d’écart est unitaire ; ainsi dans l’exemple
1
ci-dessus la colonne associée à x 1 est : C 0 S .
0
335
Chapitre 8 • La programmation linéaire
On complète cette base en introduisant dans chaque contrainte de type (Q) ou (R),
une nouvelle variable, de coeficient égal à 1, nommée « variable artiicielle » dont
la colonne associée est unitaire.
Ainsi pour notre exemple, en notant xar et xas les deux variables artiicielles néces-
saires pour constituer une base de matrice B 5 i, il vient :
x1 1 2x2 1 x3 1 x1 5 5
2x1 1 x2 1 x3 2 x2 1 xar 5 1
d
x1 1 x2 1 xas 5 4
x1 , x2 , x3 , x1 , x2 , xar , xas > 0
Les variables artiicielles, comme les autres variables du programme linéaire sont
positives ou nulles. Cependant remarquons que :
– si xar n’est pas nulle, on a : 2x1 1 x2 1 x3 2 x 2 2 1 et que,
– si xas n’est pas nulle, on a : x 1 1 x 2 2 4.
Ainsi la positivité d’une variable artiicielle fait que la contrainte dans laquelle elle a
été introduite est violée... Indiquons maintenant comment traiter un tel cas :
336
8.5 Démarrage de l’algorithme du simplexe…
i 1 2 3 1 2 a a (0)
1 1 2 1 1 0 0 0 5
s a 2 1 1 0 1 1 0 1
↑
a 1 1 0 0 0 0 1 4
j 3 2 1 0 1 0 0 z (5)
↑
e
i 1 2 3 1 2 a a (1)
1 0 3/ 2 1/ 2 1 1/ 2 1/ 2 0 9/ 2
1 1 1/ 2 1/ 2 0 1/ 2 1/ 2 0 1/ 2
s a 0 1/ 2 1/ 2 0 1/ 2 1/ 2 1 7/ 2
↑
i 1 2 3 1 2 a a (2)
1 0 1 1 1 0 0 1 1
1 1 1 0 0 0 0 1 4
2 0 1 1 0 1 1 2 7
j 0 0 0 0 0 1 1 z 0
À l’optimum de la phase 1, nous sommes dans le premier cas : z r 5 0 (car zr 5 2zs ).
C’est-à-dire que la base associée aux variables x 1, x 1 et x 2 est admissible pour le pro-
gramme d’origine ; c’est à partir de cette base que l’on va résoudre le PL d’origine,
dont la fonction économique est : z 5 4x 1 1 5x 2 1 3x 3. Il sufit alors d’exprimer z
en fonction des variables hors-base, après avoir annulé (déinitivement) les variables
artiicielles, soit xar 5 xas 5 0 : z 5 4 # ( 4 2 x2 ) 1 5x2 1 3x3 5 16 1 x2 1 3x3.
© Dunod – Toute reproduction non autorisée est un délit.
Voici le tableau associé (où les colonnes ar et as ne igurent plus car xa' et xa" sont
déinitivement nulles) :
i 1 2 3 1 2
s 1 0 1 1 1 0 1
↑
1 1 1 0 0 0 4
2 0 1 1 0 1 7
j 0 1 3 0 0 z 16
↑
e
337
Chapitre 8 • La programmation linéaire
i 1 2 3 1 2
3 0 1 1 1 0 1
1 1 1 0 0 0 4
2 0 2 0 1 1 8
j 0 2 0 3 0 z 19
ˆz 5 4x 1 1 5x 2 1 3x 3 2 M ( 1 2 2x 1 2 x 2 2 x 3 1 x 2 ) 2 M ( 4 2 x 1 2 x 2 )
ˆz 5 25M 1 ( 3M 1 4 ) x 1 1 ( 2M 1 5 ) x 2 1 ( M 1 3 ) x 3 2 Mx 2
338
8.5 Démarrage de l’algorithme du simplexe…
D’où le tableau :
(0)
i 1 2 3 1 2 a a
1 1 2 1 1 0 0 0 5
s a 2 1 1 0 1 1 0 1
↑
a 1 1 0 0 0 0 1 4
j 0 M z 5M
3M 2M M 0 0
4 5 3
↑
e
(1)
ci i 1 2 3 1 2 a a
0 1 0 3/ 2 1/ 2 1 1/ 2 1/ 2 0 9/ 2
4 1 1 1/ 2 1/ 2 0 1/ 2 1/ 2 0 1/ 2
s M a 0 1/ 2 1/ 2 0 1/ 2 1/ 2 1 7/ 2
↑
cj 4 5 3 0 0 M M
j z 2 7/ 2M
0 M/ 2 M/ 2 0 M/ 2 3M/ 2 0
3 1 2 2
↑
e
On fait entrer x2 , plutôt que x2 , en base car, alors, la variable artiicielle x as sort de
la base :
(2)
ci i 1 2 3 1 2 a a
s 0 1 0 1 1 1 0 0 1 1
↑
4 1 1 1 0 0 0 0 1 4
0 2 0 1 1 0 1 1 2 7
M M
© Dunod – Toute reproduction non autorisée est un délit.
cj 4 5 3 0 0
M M z 16
j 0 1 3 0 0
4
↑
e
On observe qu’à ce stade les variables artiicielles sont sorties de la base : on peut
les annuler déinitivement (ce qui revient à supprimer les colonnes ar et as dans le
tableau ci-dessus) ; on remarque aussi qu’alors, ˆz et z coïncident. La dernière itéra-
tion étant alors identique à celle de la phase 2 du paragraphe précédent, n’est pas
reproduite ici.
339
Chapitre 8 • La programmation linéaire
où la sommation est étendue aux indices des variables de base ; les αij étant les
coeficients du tableau courant ; ci désigne ici le coeficient (initial) de la iième
variable de base.
Ainsi après une itération, on a :
340
8.6 Notions sur la méthode révisée du simplexe
341
Chapitre 8 • La programmation linéaire
Pour les programmes linéaires de plus grande taille, on utilise plutôt la variante
PFI (forme produit de l’inverse), où B21 est utilisée, mais implicitement.
L’avantage de la méthode révisée (par rapport à la version initiale de l’algorithme
du simplexe, par exemple implémentée par la méthode des tableaux) est double :
– Une réduction de la masse des calculs : lors de chaque itération on explicite une
seule colonne hors-base : ye, la colonne entrante, au lieu des n 2 m colonnes hors
base dans la version initiale de l’algorithme du simplexe.
– Des gains de précision sont obtenus ; en arithmétique lottante les erreurs de tron-
cature se cumulent, ce qui peut amener, au il des itérations, à des calculs imprécis,
voire même faux. Ainsi lorsque l’on connaît l’ensemble des variables de base, on
peut recalculer B21 directement à partir des données initiales (donc non entachées
d’erreurs au il des itérations). On recalcule ainsi B21 (« réinversion ») en pratique,
toutes les 15 à 20 itérations environ. L’analyse numérique nous fournit, ici aussi, des
méthodes eficaces et précises pour recalculer B21.
La méthode révisée du simplexe est celle qui est implémentée dans les logiciels uti-
lisant l’algorithme du simplexe.
Il existe d’autres méthodes pour résoudre les programmes linéaires (développées
eficacement à partir de 1985) : les méthodes dites « intérieures », dont l’exposé
sort du cadre de cet ouvrage (elles relèvent des techniques de la programmation non
linéaire). Leur complexité (dans le pire des cas) est polynomiale, ce qui n’est pas le
cas de l’algorithme du simplexe. À l’heure actuelle aucune de ces deux approches ne
surclasse en pratique l’autre ; d’ailleurs certains logiciels très performants les implé-
mentent toutes deux et, lors de la résolution d’un problème, toutes les deux sont
exécutées indépendamment, en parallèle : il s’opère ainsi une « course » (dont le
« gagnant » varie selon les instances traitées).
8.7 dualiTé
8.7.1 Définition du dual
Une des remarques les plus fructueuses que l’on peut faire à propos de la program-
mation linéaire, est qu’à chaque programme linéaire on peut associer, par la règle
donnée ci-dessous, un autre programme linéaire, nommé « programme dual ». Le
premier programme linéaire est alors appelé « programme primal ». Leurs proprié-
tés, nous le verrons, sont étroitement liées.
Reprenons l’exemple précédent :
x1 < 1 000
x2 < 500
x3 < 1 500
f
3x1 + 6x2 + 2x3 < 6 750
x1 , x2 , x3 > 0
4x1 + 12x2 + 3x3 = z [max]
342
8.7 Dualité
y1 + 3y4 > 4
y2 + 6y4 > 12
e y3 + 2y4 > 3
y1 , y2 , y3 , y4 > 0
1 000y1 + 500y2 + 1 500y3 + 6 750y4 = z r [min]
1 0 0
1 0 0 3
0 1 0
a = D T ; ar = C0 1 0 6S
m 3
n n 3
m
0 0 1
0 0 1 2
3 6 2
On constate que la matrice ar du dual est la transposée de la matrice du primal :
ar 5 aT .
Enin, on remarque que les contraintes, dans la forme standard du primal, sont des
343
Chapitre 8 • La programmation linéaire
et pour le dual :
1 0 0
0 1 0
3 y1, y2, y3, y4 4 # D T > 3 4, 12, 3 4 ,
0 0 1
3 6 2
i
3 y1, y2, y3, y4 4 > 0 ;
1 000
min z r 5 3 y 1, y 2, y 3, y 4 4 # C 500S .
1 500
6 750
En développant, on retrouve l’expression du dual donnée plus haut. ❑
À titre d’exercice, indiquons comment passer au dual pour le PL suivant :
2x 1 1 x2 2 4x 3 < 10
x1 2 5x 2 1 6x 3 > 2
e 3x 1 2 2x 2 1 7x 3 5 5
x1 , x2 , x3 > 0
3 min 4 2 2x 1 1 3x 2 1 4x 3 5 z
Il convient de ramener chaque contrainte, si nécessaire, à la forme :
ax 1 1 bx 2 1 gx 3 < d (où δ, ici, peut être négatif), de s’assurer de ce que toutes
les variables du primal sont positives ou nulles, et - enin - de ramener la fonction
économique, si nécessaire, à une maximisation. En particulier ici on remplacera la
contrainte en égalité : 3x1 – 2x2 + 7x3 = 5, par deux inéquations de sens contraires :
3x 1 2 2x 2 1 7x 3 < 5 et 3x 1 2 2x 2 1 7x 3 > 5
cette dernière inéquation (de même que : x 1 2 5x 2 1 6x 3 > 2) doit être multipliée
par –1 pour obtenir une inégalité de la forme ax 1 1 bx 2 1 gx 3 < d ; de même on
ramène la fonction économique à une maximisation en la multipliant par –1. Ainsi le
primal devient, sous forme standard de passage au dual :
344
8.7 Dualité
D’où le dual :
2y1 2 y2 1 3 ( y3 2 y4 ) > 2
y1 1 5y2 2 2 ( y3 2 y4 ) > 23
(D) e 2 4y1 2 6y2 1 7 ( y3 2 y4 ) > 24
y1 , y2 , y3 , y4 ) > 0
3 min 4 10y1 2 2y2 1 5 ( y3 2 y4 ) 5 zr
345
Chapitre 8 • La programmation linéaire
En multipliant par –1 chacune des contraintes du « dual du dual », ainsi que sa fonc-
tion économique (ce qui la ramène à une maximisation), le lecteur reconnaîtra... le
primal (au nom près des variables : nommées tj ici, au lieu de xj précédemment).
D’une manière générale, on a le théorème suivant :
Théorème 1 : le dual du dual d’un programme linéaire, coïncide avec le primal.
2) On montre aussi que :
Théorème 2 : pour deux programmes linéaires en dualité (un primal et un dual),
un et un seul des trois cas suivants se trouve réalisé :
• Cas 1. Le primal et le dual ont des solutions optimales inies, respectivement x* et
y*. Alors, à l’optimum, les valeurs des fonctions économiques du primal et du dual
{ sont égales :
z* = z9, soit c ∙ x* = y* ∙ b
Ce cas est, de loin, le plus fréquent dans les applications concrètes ; c’est le cas de
notre exemple, comme nous allons le voir plus loin.
• Cas 2. L’un des deux PL n’a pas de solution admissible (c’est-à-dire qu’il est impos-
sible), l’autre en admettant au moins une, mais son optimum est rejeté à l’inini.
(P) n’a pas de solution admissible : (1) + (2) entraîne 0 < 21 : impossible.
(D) non plus, car (1r) + (2r) entraîne 0 > 3 : impossible.
346
8.7 Dualité
On en déduit aisément (par l’absurde) que s’il existe une solution admissible ,
x du
primal et une solution admissible du dual ,
y telles que :
z(, y ) soit : c # ,
x ) 5 z r( , y # b,
x5,
alors ,
x est une solution optimale du primal et ,
y , une solution optimale du dual.
347
Chapitre 8 • La programmation linéaire
(1)
y1 y2 y3 y4 y5 y6 y7
s y1 1 0 0 3 1 0 0 4 4/ 3*
↑
y2 0 1 0 6 0 1 0 12 12/ 6
y3 0 0 1 2 0 0 1 3 3/ 2
On a atteint l’optimum :
y1 = 0 , y2 = 4 , y3 = 1/3 , y4 = 4/3 , y1 5 0, y2 5 0, y3 5 0 ; zs 5 211 500.
Puisque z s 5 211 500, on a z r 5 11 500.
Rappelons le tableau optimal du primal :
x1 x2 x3 x4
x1 x2 x3 x4 x5 x6 x7
x1 1 0 0 0 2 2/ 3 1/ 3 250
x2 0 1 0 0 1 0 0 500
x1 0 0 0 1 2 2/ 3 1/ 3 750
x3 0 0 1 0 0 1 0 1500
348
8.7 Dualité
De plus, si xj est dans la base optimale du primal (resp. hors-base), alors y j est hors-
base au dual (resp. dans la base). De même si yi est dans la base du dual (resp. hors-
base), alors x i est hors-base au primal (resp. dans la base). On le montrera au 8.7.5.
4) On peut donner aussi une correspondance entre les coeficients akl du tableau
optimal du primal et arkl, ceux du tableau optimal du dual, en se limitant aux colon-
nes hors-base (les colonnes de base sont triviales, puisque unitaires) :
ak,l 5 2 a rl ,k et ak,l
r 5 2 a l ,k .
Une manière pratique d’appliquer cette règle de correspondance est de condenser en
un tableau unique le tableau optimal et celui du dual :
On y a réordonné la base optimale du primal : x1, x2, x3, x 1 ; x 2, x 3, x 4 (en mettant en
tête les variables de base, puis les variables hors-base) et le tableau optimal du primal
en conséquence (en échangeant sa troisième et sa quatrième ligne) et l’on a fait igu-
rer la ligne de la fonction économique à l’optimum du primal (les Δj et z) au-dessus
du tableau (au lieu d’au-dessous).
On y a aussi réordonné la base optimale du dual : y 1, y 2, y 3, y1 ; y 2, y 3, y 4 (en mettant
en tête les variables hors-base, puis les variables de base) et le tableau optimal du
© Dunod – Toute reproduction non autorisée est un délit.
dual en conséquence (en plaçant en dernière ligne, sa première ligne, puis en réor-
donnant les colonnes dans l’ordre ci-dessus. Enin le vecteur des seconds membres a
été placé à gauche du tableau au lieu d’à droite. Le tableau optimal du dual est alors
placé immédiatement au-dessous de celui du primal.
On déduit alors le sous-tableau non trivial du tableau optimal du dual (c’est-à-dire
les colonnes hors-base, les seconds membres et les Dr des variables hors-base), à
partir du sous-tableau non trivial du tableau optimal du primal, en transposant ce
dernier sous-tableau, puis en multipliant par –1 tous les éléments du sous-tableau
transposé ; les deux sous-tableaux non triviaux, respectivement du primal et du dual,
sont encadrés d’un trait épais :
349
Chapitre 8 • La programmation linéaire
x1 x2 x3 x1 x2 x3 x4
0 0 0 0 4 1/ 3 4/ 3 11500 z
1 0 0 0 2 2/ 3 1/ 3 250 x1
0 1 0 0 1 0 0 500 x2
0 0 1 0 0 1 0 1500 x3 Primal
0 0 0 1 2 2/ 3 1/ 3 750 x1
↑
↑
y2 4 2 1 0 2 1 0 0
y3 1/ 3 2/ 3 0 1 2/ 3 0 1 0 Dual
y4 4/ 3 1/ 3 0 0 1/ 3 0 0 1
z 11500 250 500 1500 750 0 0 0
y1 y2 y3 y1 y2 y3 y4
Les sous-tableaux relatifs aux variables de base, respectivement du primal (x1, x2, x3
et x 1) et du dual (y2, y3 et y4), sont qualiiés de « triviaux » car constitués de colon-
nes unitaires (formant une matrice identité, de format m 3 m au primal et n 3 n au
dual), et de la partie de la ligne des coeficients de la fonction économique (resp. D et
Dr) associée à ces variables de base ; ces coeficients sont donc tous nuls.
y i # £ bi 2 a aij # ,
n
,
yi # ,
xi 5 0 soit : , x j ≥5
0 (i = 1, 2,c, m) (1)
j51
f
£ a,
m
,
y j#,
xj 5 0 soit : cj ≥ # ,
y i # aij 2 0 ( j = 1, 2,cn)
x i 5 (2)
i51
y1 ? (1 000 2x1) 5 0 ; y2 ?
(500 2 x2) 50 ; y3 ? (1 500 2 x3) 5 0;
c y4 ? (6 750 2 3x1 2 6x2 2 2x3) 5
0 (1)
(y1 1 3y4 2
4) ?x1 50 ; (y2 16y4 2 12 ) ?
x2 5 0 ; (y3 1 2y4 2 #
3) x3 5 0 (2)
350
8.7 Dualité
351
Chapitre 8 • La programmation linéaire
et plus généralement :
a1 # x 1 1 a2 # x 2 1 c 1 an # x n < b
c x1 , x2 , , xn 5 0 ou 1
c1 # x 1 1 c2 # x 2 1 c 1 cn # x n 5 z 3 max 4
nement est la suivante (la variable xj, j = 1, c, n, sera prise égale à 1 si la partie Pj
est sélectionnée et à 0 sinon).
Sur l’exemple de partitionnement ci-dessus :
353
Chapitre 8 • La programmation linéaire
On peut, ici, énumérer toutes les tournées « admissibles » Pj, c’est-à-dire respectant
la contrainte de capacité (la somme des quantités livrées aux clients d’une même
tournée doit être inférieure ou égale à 16 tonnes) ; cette énumération des 11 tour-
nées admissibles n’a été possible que parce que cet exemple est de très petite taille.
Donnons le détail du calcul du coût cj de la tournée Pj ; ainsi pour la tournée P11 qui
concerne les clients e1, e2 et e4 (puisque a1, 11 = a2, 11 = a3, 11 = 1), on cherche l’iti-
néraire de longueur (en km) minimale qui, partant de e0, permet de passer une fois
et une seule chez ces trois clients, puis de revenir à e0. Ceci revient à résoudre le
« problème du voyageur de commerce » (TSP) pour une instance de très petite taille,
puisque comportant seulement quatre points ;
on vériie que, parmi les 3 cycles hamiltoniens du graphe ci-contre, celui de la lon-
gueur minimale est :
354
8.8 Programme linéaire en nombres entiers…
x1 + x5 + x6 + x7 + x10 + x11 = 1
x2 x5 + + x8 + x9 + x10 + x11 = 1
e x3 + x6 + x8 + x10 = 1
x4 + x7 + x9 + x11 = 1
30x1 + 16x2 + 24x3 + 18x4 + 35x5 + 52x6 + 29x7 + 30x8 + 37x9 + 49x10 + 34x11 = z
La solution optimale de ce problème est : x3 = x11 = 1 ; elle a pour coût z* = 58. Elle
correspond aux deux tournées [e0, e2, e1, e4, e0] et [e0, e3, e0].
Nous passons maintenant à une méthode de résolution différente de celles évo-
quées ci-dessus, fondée uniquement sur la programmation linéaire et permettant de
traiter des PL en variables entières.
1 2 3 4
x1 1 0 1/ 12 1/ 3 5/ 4
x2 0 1 0 1/ 2 3/ 2
355
Chapitre 8 • La programmation linéaire
L’optimum du PL continu : x1 = 5/4, x2 = 3/2 n’est pas entier. En outre, si l’on arron-
dit x1 par défaut à 1 : E(5/4) = 1, et de même pour x2 : E(3/2) = 1, on obtient un point
qui n’est pas admissible Ρ : (x1 = 1, x2 = 1) (en dehors du domaine ) ; il en va de
même pour l’arrondi par excès : E*(3/4) = 2 et E*(3/2) = 2 , car le point Q : (x1 = 2,
x2 = 2) n’est pas non plus admissible.
Voici la méthode proposée par Gomory pour obtenir l’optimum d’un PLNE :
pour la base optimale du PL continu, exprimons les variables de base (ici x1 et x2) et
la fonction économique z en fonction des variables hors-base :
1 5
x1 1 a # x3 1 1x4b 5
12 3 4
1 3
fx2 1 a x4b 5
2 2
1 5 11
z 1 a x3 1 x4b 5
12 6 4
a aij
(1) xi + · xj = bi pour toute variable xi de base ; x i P@
a Dj
xj[N
d
(2) z + · xj = z*
xj[N
Sommons toutes ces relations pour x j Pn; il vient : a aij # x ij > a E ( aij ) # x j.
x jPn x jPn
Par ajout de xi à chaque membre, il vient :
On a aussi bi > E ( bi ) . Si xi doit être entier, de même que xj pour tout x j PN, on a
donc :
356
8.8 Programme linéaire en nombres entiers…
a f ij x j 2 si 5 f i
# (8.3)
x jPn
1 3 1
pour i = 2 : x 4 2 s2 5 f a b 5
2 2 2
1 1
Nous choisissons d’intégrer la seconde : x4 2 s2 5 dans notre programme
2 2
linéaire ; pour cette nouvelle contrainte, la solution courante du primal n’est pas
admissible. Mais nous pouvons l’intégrer au primal1, à condition d’ajouter dans
1. Cette contrainte est « duale-admissible » et pourrait être directement intégrée au dual. Notre
démarche, ici, est seulement didactique.
357
Chapitre 8 • La programmation linéaire
cette nouvelle contrainte une variable artiicielle, notée a2, pour compléter la base
précédente b 5 {x1, x2}; en effet, nous avons désormais 3 contraintes explicites.
1 1
Comme plus haut : La nouvelle contrainte devient : x 4 2 s2 1 a2 5 et la
fonction économique (cf 8.5.6) : 2 2
cj 1 1 0 0 0 M
0 0 1/ 12 M/ 2 M 0 z
5/ 6 11 M
4 2
↑
e
ci xi x1 x2 x3 x4 s2 a2
1 x1 1 0 1/ 12 0 2/ 3 2/ 3 11/ 12
1 x2 0 1 0 0 1 1 1
0 x4 0 0 0 1 2 2 1
cj 1 1 0 0 0 M
0 0 1/ 12 0 5/ 3 M z
23
5/ 3
12
cj 1 1 0 0 0 0 M
j 0 0 M 1
12 0 2M 5
3 M 0 z
2311M
12
↑
e
ici z s 5 z car a1 5 0.
Puisque désormais a1 = 0, on peut supprimer la colonne a1. On est alors à l’optimum
de PLNE puisque toutes les variables sont entières :
x1 = 0 , x2 = 1, x3 = 11, x4 = 1 ; z* = 1.
359
Chapitre 8 • La programmation linéaire
initial d, une partie ne contenant pas de point à coordonnées toutes entières (points
indiqués en gras sur les igures ci-après).
Figure 8.11
Pour obtenir l’équation de la droite qui tronque d(0) et ainsi obtenir d(1), il suf-
1 1
it, dans la première troncature : x 4 2 s2 5 , de ne faire igurer que les variables
2 2
principales : x1, x2, et s. Après introduction de la variable d’écart x4 dans la seconde
1 3
contrainte du PL initial, on avait : 2x2 + x4 = 3 d’où x 4 5 2 x 2, que nous repor-
3 1 2 2
tons dans la troncature : a 2 x 2 b 2 s2 5 soit x2 + s2 = 1 qui équivaut (s2 étant
2 2
une variable d’écart) à la contrainte nouvelle : x 2 < 1; la droite tronquant d(0) pour
obtenir d(1) est donc : x2 = 1. Pour la seconde troncature (passage de d(1) à d(2)),
1 2 11
il vient : x 3 1 s2 2 t1 5 ; or, d’après la première contrainte du PL initial :
12 3 12
1 1 2
12x1 – 8x2 + x3 = 3, d’où : x 3 5 2 x 1 1 x 2. De plus nous avions, au pas
12 4 3
2 2 2
précédent, x2 + s2 = 1, d’où s2 5 2 x 2. La seconde troncature s’écrit donc :
3 3 3
1 2 2 2 11
a 2 x 1 1 x 2 b 1 a 2 x 2 b 2 t1 5 , soit x1 + t1 = 0 , d’où la nouvelle
4 3 3 3 12
contrainte : x 1 < 0 ; la droite tronquant d(1) pour obtenir d(2), qui n’est autre que le
segment [O, C], est donc : x1 = 0.
Note. Le nombre de contraintes (troncatures) rajoutées au il des itérations peut être
exponentiel par rapport à la taille du programme linéaire d’origine : la méthode de
Gomory n’est pas polynomiale. Indiquons que – plus généralement – le problème
de la programmation linéaire en nombres entiers est NP-dificile (le lecteur se repor-
tera au chapitre 2, paragraphe 2.2.1, complexité des problèmes). Même dans des cas
« simples » comme le problème du sac à dos en variables entières (knapsack), c’est-
360
Exercices
EXERCICES
361
Chapitre 8 • La programmation linéaire
x1 , x2 , x3 , x4 > 0 ( 4, 5, 6 et 7 ) ( cf. 3 )) .
1. Résoudre ce programme par l’algorithme du simplexe.
2. Donner, sans calcul, l’optimum du programme dual correspondant.
3. Montrer que l’inéquation (1) du programme primal est redondante.
Tenant compte de ce fait, simpliier le programme dual puis le résoudre
graphiquement.
363
Chapitre 8 • La programmation linéaire
364
Exercices
x1 1 x2 2 x3 1 x4 5 1
3x 1 1 x2 1 3x 3 1 3x 4 1 x5 5 8
d
2x 1 1 7x 2 1 x4 1 2x 5 5 20
x1 , x2 , x3 , x4 , x5 > 0
1. Vériier que la solution x1 = 0 ; x2 = 2 ; x3 = 1 ; x4 = 0 ; x5 = 3 est une
solution de base ; on notera B la matrice formée des colonnes associées aux
variables de cette base.
2. Exprimer chacune des variables de base en fonction des variables hors
base (il sera nécessaire de calculer B–1).
365
Chapitre 8 • La programmation linéaire
x1 < 1000 5 1
a2 a 10i 2 j # xj b
i21
1 xi < 100i 2 1 ( i 5 2, 3, c, n )
j51
PLnf xj > 0 ( j 5 1, 2, c, n )
a 10
n
n2j # xj 5 z
j51
366
inTroducTion à la
Théorie des jeux
9
La recherche opérationnelle, comme nous l’avons constaté dans les chapitres pré-
cédents, est susceptible de rendre maints services dans les situations combinatoires ou
aléatoires.
Nous examinerons à présent le rôle qu’elle peut jouer dans le domaine concurren-
tiel ou « duel », mais nous nous bornerons à une introduction car le sujet, dont on verra
qu’il présente à la fois les caractéristiques du combinatoire et de l’aléatoire, est vaste :
nous présentons ci-dessous la théorie des jeux à deux personnes et à « somme nulle » :
les gains d’un joueur sont égaux au perte de l’autre, et réciproquement.
Lors de chaque coup, chaque joueur choisit indépendamment l’un des trois gestes ;
on dit que chaque joueur a trois « stratégies » à sa disposition. Si Anatole joue la
ligne 1 (c’est-à-dire qu’il a choisi de présenter les ciseaux), il n’y a ni gain ni perte si
Chapitre 9 • Introduction à la théorie des jeux
B
I II III
1 1 0 2
A 2 2 1 2
3 1 1 0
Matrice 1
À chaque coup, chacun des joueurs doit choisir, indépendamment de l’autre, une des
stratégies pures à sa disposition : Anatole peut choisir de jouer les stratégies (lignes)
1, 2 ou 3 ; Bernard les stratégies (colonnes) I, II ou III.
Si Anatole joue la ligne 1, cela signiie : qu’il gagnera un jeton si Bernard joue la
colonne I, qu’il n’aura ni gain ni perte si Bernard joue la colonne II, enin qu’il per-
dra deux jetons si Bernard joue la colonne III.
Si Anatole joue la ligne 2, il gagnera deux jetons si Bernard joue la colonne I, un
jeton si Bernard joue la colonne II et, enin, deux jetons si Bernard joue la colonne III.
Si Anatole joue la ligne 3, il perdra un jeton si Bernard joue la colonne I ou II et
il n’y aura ni gain ni perte si Bernard joue la colonne III.
La situation est évidemment tout l’inverse pour Bernard. S’il joue la colonne I,
il perdra un jeton si Anatole joue la ligne 1, deux jetons si Anatole joue la ligne 2 et,
enin, gagnera un jeton si Anatole joue la ligne 3. Etc.
Le tableau n’est autre que la matrice des gains d’Anatole (ou encore la matrice
des pertes de Bernard). Rappelons qu’un gain négatif est en fait une perte pour
Anatole et qu’une perte négative est un gain pour Bernard.
Nous avons encore ici affaire à un jeu à deux personnes à somme nulle, puisque
chaque adversaire gagne ce que l’autre perd. Ce jeu est fort simple à étudier. En effet,
368
9.2 Jeux à deux personnes et à somme nulle
Anatole n’a pas d’intérêt à jouer les lignes 1 ou 3 ; s’il joue la ligne 1, il ne peut espé-
rer gagner qu’un jeton, mais risque d’en perdre deux : s’il joue la ligne 3, il ne peut
espérer aucun gain. Au contraire, s’il joue la ligne 2, il est assuré de gagner au moins
un jeton, quelle que soit la décision de Bernard.
Dans ces conditions, Bernard, se rendant compte que son adversaire doit néces-
sairement jouer la stratégie 2, emploiera, de son côté, la stratégie II, c’est-à-dire
limitera sa perte à un jeton par coup.
La valeur du jeu (ici le gain d’Anatole – ou la perte de Bernard – à chaque coup)
est 1. L’élément situé à l’intersection de la ligne 2 et de la colonne II, égal à la
valeur du jeu, jouit dans la matrice 1 d’une propriété bien particulière. En effet,
c’est le minimum des valeurs inscrites sur la ligne 2 et le maximum des valeurs por-
tées dans la colonne II. Pour cette raison, on l’appelle « point-selle ». (ou « col ») :
g = a2,II = 1.
Examinons d’un peu plus près cette notion de point-selle. Supposons, à cet effet,
que dans la matrice 2, l’élément a32 soit un point-selle (nous le supposerons ici
unique). Imaginons à présent que les joueurs A et B ne se soient pas rendus compte
que cet élément est le plus petit sur sa ligne et le plus grand dans sa colonne.
B
q1 q2 q3 q4
I II III IV
p1 a11 a12 a13 a14
A p2 2 a21 a22 a23 a24
p3 a31 a32 a33 a34
Matrice 2
Ils auront alors tendance à jouer : le premier, A, les lignes 1, 2 et 3 avec des fré-
quences p1, p2 et p3, le second, B, les colonnes I, II, III et IV avec des fréquences q1,
q2, q3 et q4, de manière à obtenir, pour le premier, le plus grand gain possible, et pour
le second, la plus petite perte.
Supposons que A cherche à déterminer les fréquences p1, p2 et p3 de ses choix ;
© Dunod – Toute reproduction non autorisée est un délit.
369
Chapitre 9 • Introduction à la théorie des jeux
Mais, si nous posons comme hypothèse l’existence d’un point-selle a32 , nous avons,
avec β31 , β33 , β34 .
0 et β12 , β22 > 0 :
a31 = a32 + β31 ; a33 = a32 + β33 ; a34 = a32 + β34 ,
car un point-selle est le plus petit élément dans sa ligne (ici d’indice i = 3). Et :
a12 = a32 – β12 ; a22 = a32 – β22 ,
car un point selle est le plus grand élement dans sa colonne (ici d’indice j = 2).
370
9.2 Jeux à deux personnes et à somme nulle
371
Chapitre 9 • Introduction à la théorie des jeux
1. Mauvaise traduction de l’expression : mixed strategies ; il aurait sans doute beaucoup mieux
valu garder, en français, l’appellation de stratégie combinée autrefois employée par E. Borel.
372
9.3 Notion de stratégies mixtes
B
I II III
1 1 2 1
A 2 1 2 2
3 3 4 3
Matrice 3
Les minimums pour les lignes 1, 2 et 3 étant respectivement : –1, –2 et –3, le maxi-
min est –1 et correspond à la stratégie pure 1.
Les maximums pour les colonnes I, II et III étant respectivement 3, 4 et 2, le mini-
max est 2, correspondant à la stratégie pure III.
Ici, les lignes 1 et colonne III se coupent sur un élément qui n’est ni le maximin ni le
minimax : –1 = maximin , a1,III = μ , minimax = 2.
Dans ces conditions, pour un jeu à plusieurs coups, l’utilisation de la « ruse »
peut être envisagée. Ainsi, A peut se dire :« si je joue la ligne 2, au lieu de la ligne 1,
et si B joue la colonne du minimax, soit III, je gagnerai 2, au lieu de 1. Mais il est
probable que B imaginera ma ruse et, pour la contrecarrer, il pourra jouer la co-
lonne II, pour me faire perdre 2 ; il serait donc avantageux que je joue la ligne 3 pour
gagner 4 ; mais, dans cette hypothèse, peut-être B aura-t-il suivi mon raisonnement
jusque-là et, comme il jouera alors III, je perdrai 3 ; peut-être, au contraire, se sera-t-il
arrêté au stade précédent du raisonnement et me fera obtenir le gain convoité en
jouant II ; etc. ».
Ce genre de spéculations montre qu’il y a probablement intérêt, pour chacun
des adversaires, à jouer les différentes stratégies à sa disposition, selon des fré-
quences déterminées (probabilités), à condition d’être capable, à chaque coup, de
laisser ignorer à l’adversaire le choix qui va suivre. Chacun disposera donc d’une
« stratégie mixte ».
La détermination de la stratégie mixte optimale, c’est-à-dire des fréquences les
plus favorables de jeu des stratégies pour chacun des joueurs, peut être conduite
selon la méthode qui nous a servi, au paragraphe précédent, à obtenir les systèmes
I et II.
© Dunod – Toute reproduction non autorisée est un délit.
Par un raisonnement identique, on aboutit dans le cas présent aux systèmes suivants :
373
Chapitre 9 • Introduction à la théorie des jeux
Introduisons des variables d’écart pour ramener les inéquations à des équations :
–2q1 + q2 + q4 = g – 1 (1)
–q1 – 4q2 + q5 = g – 2 (2)
IIs d
6q1 + 7q2 + q6 = g + 3 (3)
q1 + q2 + q3 = 1
–q1 + 5q2 + q4 – q5 = 1
IIt c 1
7q + 11q2 – q5 + q6 = 5
q1 + q2 + q3 = 11
Si, compte tenu de ces trois égalités, on minimise la fonction –q1 – 4q2 + q5 + 2,
qui est égale à g, on obtient un programme linéaire ; en fait, nous maximiserons
l’opposé, soit q1 + 4q2 – q5 – 2, qu’on résoudra en utilisant la méthode des tableaux.
Nous prenons donc comme fonction économique z = q1 + 4q2 – q5, qui est à maximiser.
1. Cette équation signiie que le point représentatif de toute solution dans le système d'axes q1, q2,
q3 se trouve dans le plan q1 1 q2 1 q3 5 1.
374
9.3 Notion de stratégies mixtes
Note. On remarque que l’équation initiale Sqk = 1 est inalement conservée, l’une
de ses variables (ici q3) jouant le rôle d’une variable d’écart. Il serait dangereux d’éli-
miner cette équation, car on n’obtiendrait pas nécessairement un programme équiva-
lent. Mais, même en la maintenant, étant donné qu’on a éliminé arbitrairement l’une
des variables principales des autres équations, il peut se présenter des dificultés en
cas dégénérescence.
Voici la résolution par la méthode des tableaux du simplexe.
1 2 3 4 5 6 1 2 3 4 5 6
s 0 4 1 5 0 1 1 0 1 4 2 1/ 5 1 0 1/ 5 1/ 5 0 1/ 5
↑
↑
0 6 7 11 0 0 1 1 5
0 3 1 1 1 0 0 0 1 0 3 6/ 5 0 1 1/ 5 1/ 5 0 4/ 5
↑ ↑
e e
Finalement:
1 2 3 4 5 6
4 2 0 1 0 7/46 4/ 23 1/46 6/23
1 1 1 0 0 11/46 3/23 5/46 7/23
0 3 0 0 1 2/23 1/23 3/23 10/23
Pour le tableau ci-dessus, les Δj des variables hors base sont tous négatifs : l’optimum
est atteint. Les résultats sont donc :
7 6 10
q1 5 ; q2 5 ; q3 5 ; q 4 5 q 5 5 q 6 5 0.
23 23 23
31 15
Z* 5 , d’où: g 5 2 ( Z *2 2 ) 5 ,
23 23
31 15
car : g 5 2 q1 2 4q2 1 q5 1 2 5 2 125 .
© Dunod – Toute reproduction non autorisée est un délit.
23 23
Connaissant la valeur de g, la résolution du système I fournit :
17 10 9
p1 5; p2 5 ; p3 5 ,
46 23 46
valeurs qu’on peut aussi lire, au signe près, sur la ligne des Δj du tableau optimal du
système II.
15
Il faut remarquer que : g 5 , 1 ; on constate bien qu’à l’intersection de la stra-
23
tégie-ligne du maximin et de la stratégie-colonne du minimax, on trouve une valeur
375
Chapitre 9 • Introduction à la théorie des jeux
qui, dans le cas général, diffère de la valeur du jeu, contrairement à ce qui se produit
quand le jeu est à point-selle unique.
On notera :
1) que ce problème conduit à poser un type particulier de programme linéaire, ce qui
découle de son caractère combinatoire ;
2) que la connaissance des fréquences (probabilités) p1, p2, c, et q1, q2, c, à
adopter respectivement pour les stratégies 1, 2, c, et I, II, c, par les adver-
saires, se double de la mise en évidence d’une valeur du jeu, g, qui représente le
gain (resp. la perte) moyen(ne) de chacun des joueurs, ce qui restitue la notion
d’équilibre rencontrée précédemment ; cela veut dire qu’aucun des joueurs n’a
intérêt à s’écarter des fréquences calculées, de même que, dans un jeu à point-selle,
il n’a pas d’intérêt à s’écarter de la stratégie pure correspondant à ce point-selle.
3) qu’il est très important de tirer au hasard, tout en espectant les fréquences, la
succession des stratégies pures employées, de manière à laisser toujours l’adversaire
dans l’ignorance du coup suivant (le tirage doit avoir lieu comme dans les méthodes
de simulation, cf. chapitre 11).
B
3 6 5
A 5 2 6
7 8 1
Matrice 3bis
376
9.4 Autre méthode de calcul : les p.l. des deux joueurs sont en dualité
Pour B nous pouvons diviser chacune des inéquations ci-dessus par gr sans en changer
leur sens, puisque gr . 0. De même, par gs pour A, puisque gs . 0 (nous montrons
plus bas que : gr 5 gs).
On obtient, en posant x j 5 q j / g r et y i 5 p i / g s :
3x1 + 6x2 + 5x3 < 1 3y1 + 5y2 + 7y3 > 1
5x1 + 2x2 + 6x3 < 1 6y1 + 2y2 + 8y3 > 1
7x1 + 8x2 + x3 < 1 5y1 + 6y2 + y3 > 1
B f A f
x1 , x2 , x3 > 0 y1 , y2 , y3 > 0
x1 + x2 + x3 = 1 y1 + y5 + y3 = 1
[max] [min].
gr gs
et, bien entendu, B désirant minimiser gr qui est positif, il maximisera son inverse :
1
z5
5 x1 1 x2 1 x3.
gr
Par suite, les deux programmes linéaires obtenus sont en dualité : le dual du pro-
gramme de B est le programme de A et réciproquement. En particulier, à l’optimum,
on a :
1 1
5 et donc : g9 5 g 0 5 g.
gr gs
© Dunod – Toute reproduction non autorisée est un délit.
1 1 1 0 0 0 z 0
↑
e
377
Chapitre 9 • Introduction à la théorie des jeux
Nous donnons sans commentaire les tableaux successifs, en faisant remarquer sim-
plement qu’au départ il est indiqué de pivoter sur l’élément maximal de la matrice,
soit 8 (D1, D2, D3 étant égaux à 1, on a ici choisi D2 : x2 est entré en base).
1 2 3 1 2 3
s 0 1 �9/ 4 0 17/ 4 1 0 �3/ 4 1/ 4
↑
1 2 3 1 2 3
1 9 4 3 1
3 �� 0 1 � 0 �� �
17 � 17 17 17
s 107 23 13 7
�
↑
0 2 0 0 �� 1 � �
17 17 17 17
16 1 5 2
1 2 � 1 0 �� 0 � �
17 34 34 17
10 7 1 3
après 2 itérations � 0 0 �� 0 � z� �
17 37 34 17
↑
e
1 2 3 1 2 3
1 13 9 12 10
3 0 0 1 �
107 107 107 107
23 17 13 7
1 1 1 0 0 �
107 107 107 107
37 16 7 6
1 2 0 1 0 �
214 107 214 107
17 10 9 23
après 3 itérations 0 0 0 � � � z�
214 107 214 107
1 23 107 107 15
On a donc : 5 , d’où gr 5 et g 5 245 .
gr 107 23 23 23
378
9.5 Exemple d’application économique
7 107 7 6 10
D’autre part : q 1 5 x 1r # g r 5 3 5 ; de même : q2 5 ; q3 5 .
107 23 23 23 23
1 23
Enin, par dualité, on a : y 1 5 2D1 , y 2 5 2D2 , y 3 5 2D3 et 5 , soit
gs 107
107
gs 5 , (on retrouve évidemment g r 5 g s 5 g).
23
17 107 17 10 9
p1 5 2D1 # gs 5 3 5 ; et de même : p2 5 ; p3 5 .
214 23 46 23 46
Les résultats sont, naturellement, les mêmes que ceux fournis par la première méthode.
379
Chapitre 9 • Introduction à la théorie des jeux
On dit, dans ces conditions, que la première stratégie de F est dominée par sa
deuxième stratégie : une ligne est dominée par une autre ligne si les coeficients
de l’inégalité qu’exprime cette ligne sont supérieurs aux coeficients de l’inéga-
lité qu’exprime cette autre ligne. Lorsque la dominance est stricte, c’est-à-dire
lorsque les coeficients de la ligne dominante sont strictement supérieurs à ceux,
correspondants, de la ligne dominée, on peut, sans modiier ni la valeur du jeu
ni les fréquences à calculer, supprimer la ligne dominée. On dira encore que la
première stratégie de F est récessive et, l’ayant supprimée, on posera p1 = 0 et le
tableau se réduira à :
ce qui correspond, pour la irme F, à résoudre :
1 0 3 p2 –p2 – 3p3 > g p2 + p3 = 1
3 2 0 p3 c 2p3 > g avec c et
q1 q2 q3 –3p2 > g p2 , p3 > 0
On voit également que :
2 p2 2 3p3 > g entraîne : 2p3 > g ;
en effet :
2p3 = – p2 – 3p3 + (p2 + 5p3)
d’où, puisque p2 + 5p3 est positif :
2p3 . 2p2 2 3p3 > g,
soit : 2p3 . g. (9.1)
On peut donc éliminer la deuxième stratégie de C, c’est-à-dire poser : q2 = 0. Il s’agit,
cette fois, d’une dominance stricte de colonnes. Rappelons que l’on reconnaît qu’une
colonne en domine une autre si les coeficients de la première sont inférieurs à ceux,
correspondants, de la seconde.
Il ne nous reste inalement que le tableau réduit ci-dessous pour lequel : maximin = 3
et minimax = -1 (donc sans point-selle). Les programmes suivants en résultent :
–p2 – 3p3 > g p2 + p3 = 1
(I) b avec b
�1 �3 p2 –3p2 > g p2 , p3 > 0
�3 0 p3
q1 q3 – q1 – 3q3 < g q1 + q3 = 1
(II) b avec b
–3q1 < g q1 , q3 > 0
Une méthode rapide, pour résoudre l’un de ces pro grammes, est la méthode
graphique. Prenons, par exemple, le premier et remplaçons p3 par 1 – p2. Il vient :
380
9.5 Exemple d’application économique
d’où :
[max g]
2p2 – 3 >g
d –3p2 >g
p2 >0
p2 <1 0).
(car p3 = 1 – p2 >
3
; on a donc :
d’où : 5p2 = 3 et p2 5
5
Figure 9.1 9
g 5 23p2 5 2p2 2 3 5 2 et
5
3 2
p3 5 1 2 p2 5 1 2 5 . Rappelons que p1 = 0.
5 5
Dès lors, g étant connu, la résolution du second programme est immédiate. Elle donne :
3 2
q1 5 et q3 5 . Rappelons que q2 = 0.
5 5
Par conséquent, la stratégie mixte à adopter par la irme F consistera à laisser ses
prix inchangés deux périodes sur cinq et à les augmenter trois périodes sur cinq ; la
concurrence aurait comme stratégie mixte celle consistant à diminuer ses prix trois
fois sur cinq et à les augmenter deux fois sur cinq. Bien entendu, les fréquences
étant respectées, à chaque période la décision doit provenir de tirages au hasard.
© Dunod – Toute reproduction non autorisée est un délit.
381
Chapitre 9 • Introduction à la théorie des jeux
2. Si le jeu ne comporte pas de point-selle, chercher s’il existe des stratégies domi-
nées (récessives) ; si oui, les supprimer.
3. Si, après l’éventuelle élimination des stratégies dominées, la matrice du jeu ne com-
porte que soit 2 lignes, soit 2 colonnes, résoudre graphiquement (comme ci-dessus).
EXERCICES
B
1 2 3 4
1 6 3 5 4
A 2 1 2 4 7
3 2 1 0 1
Montrer qu’il comporte un pointselle (ou point d’équilibre)
Quelle stratégie doit suivre chaque joueur ?
382
Exercices
B
1 2 3
1 2 1 3
A 2 2 3 1
3 1 0 2
1. Montrer que ce jeu ne possède pas de pointselle.
2. Calculer les stratégies mixtes et la valeur du jeu graphiquement.
383
10 siMulaTion 1
10.1 inTroducTion
Une simulation consiste, dans un premier temps, à pratiquer une reconstitution sufi-
samment idèle de phénomènes du monde réel à travers la construction d’un modèle
(comportant nécessairement des approximations). Puis, dans un second temps, on
pratique, sur ce modèle, des expérimentations (le plus souvent numériques) per-
mettant d’analyser l’évolution au cours du temps du phénomène faisant l’objet de
l’étude ; le nombre d’expériences doit être sufisamment grand pour obtenir des
résultats d’un niveau de coniance acceptable (au sens statistique du terme).
Les techniques de simulation sont utilisées dans des domaines très divers :
• dans l’industrie automobile, on se sert de la simulation, notamment, pour étudier
les effets aérodynamiques et climatiques sur la carrosserie ;
• en hydraulique, des modèles réduits de canaux ou de bassins (respectant des théo-
rèmes de similitude géométriques, mécaniques,...) servent à reproduire des phéno-
mènes naturels d’écoulement pour la construction de barrages, de marées pour la
protection des côtes, etc.
• on utilise des simulateurs de vols, pour l’entraînement, à moindres frais, au pilo-
tage.
• en économie, on a pu simuler l’évolution du déséquilibre entre les retraites (par
répartition) et les cotisations ain de prendre les décisions appropriées à long et
moyen termes ;
• par exemple, une simulation a été réalisée pour localiser et hiérarchiser les niveaux
de risque des zones contaminées par la catastrophe nucléaire de Tchernobyl et pour
prendre des décisions face à ce léau ;
• Plus récemment encore, certaines études telles que la diffusion de l’épidémie du
SIDA dans une population donnée ou encore l’évolution des cellules cancérigènes
dans l’organisme humain s’appuient sur des techniques de simulation.
• etc.
Les modèles utilisés ci-dessus sont soit physiques (maquettes, modèles minia-
tures,...) soit numériques (impliquant des équations et/ou des algorithmes). En
simulation analogique, le phénomène est modélisé à l’aide d’un montage physique
(électronique en général) régi par les mêmes équations que le système étudié. Dans
la suite, on s’intéresse à la simulation numérique qui consiste à reproduire le com-
portement du système objet de l’étude, à travers un modèle sur lequel on pratique des
expérimentations numériques (à l’aide d’un algorithme que l’on implémente).
très grande taille : seule une exploration partielle de ceux-ci peut être envisagée.
Néanmoins, une exploration bien menée, « intelligente » permet d’estimer des
paramètres intéressants, caractéristiques du fonctionnement de ce système.
Prenons l’exemple d’un protocole de communication dans un réseau informa-
tique. Un client émet une requête et arme un « délai de garde » (il se ixe une durée
maximale d’attente pour la « réponse », c’est-à-dire le retour de la requête traitée).
S’il reçoit la réponse avant l’expiration de ce délai de garde, il arme un nouveau
délai de préparation d’une nouvelle requête à la in duquel il émet celle-ci. Du côté
serveur, la requête arrive, elle est exécutée par le serveur qui envoie une réponse et
385
Chapitre 10 • Simulation
10.2 définiTions
Il est donc essentiel, pour effectuer une simulation, d’engendrer des séquences d’évé-
nements, à chacun étant associé une date d’occurrence. Les événements sont ordon-
nancés (listés), suivant leur date d’occurrence, dans un « échéancier ».
386
10.3 Les « entrées » d’un modèle de simulation
tantes (la moitié si l’arbre est équilibré). La complexité de la recherche (pour insérer
un nouvel événement dans l’arbre binaire) dans ce cas est moindre : en O(log2 N).
Simulation dirigée par horloge
Dans ce cas, on déinit une unité de temps (ou : « pas ») appropriée au problème et
on dispose d’une horloge centrale qui progresse par pas. À chaque incrémentation
de l’horloge, on explore l’échéancier pour voir si un événement est prévu à cette
date ou pas. Dans cette approche, il convient de choisir soigneusement l’unité
d’incrémentation de l’horloge de façon à minimiser les recherches qui se révèlent
négatives (c’est-à-dire sur des intervalles de temps ne comportant aucun événement)
et à traiter tous les événements programmés dans l’échéancier.
387
Chapitre 10 • Simulation
Méthodes congruentielles
Elles regroupent plusieurs méthodes basées sur les relations de congruence. Ce sont
les plus utilisés, voici les principales. Rappelons que tous les nombres ci-dessous
sont des entiers positifs.
• Méthode multiplicative
Uk 5 a # Uk21 (modulo m) où U0 est la racine (seed) ; m est le diviseur (terme de
congruence) et a est le multiplicateur. On rappelle que la congruence modulo m
revient à prendre le reste de la division entière de l’entier a # Uk21 par l’entier m.
Les nombres ainsi générés sont indépendants et uniformément distribués dans
l’intervalle [0, m[. La période Τ maximale de ce générateur ne peut à l’évidence
dépasser m (le reste de la division entière par m ne peut dépasser m).
Ainsi : pour Uk 5 a k # U0 (modulo m), on a : Τ 5 min{l / al 5 1 (modulo m)}.
On dira que a est une racine primitive de m si Τ 5 m 2 1.
Exemple.
Cet exemple est choisi volontairement petit ; en pratique m est très grand.
Avec U0 5 2, a 5 3, m 5 5, il vient :
U0 5 2, U1 5 1, U2 5 3, U3 5 4, U4 5 2,c
Dans cet exemple a est bien une racine primitive de m puisque T = m – 1 = 4.
388
10.3 Les « entrées » d’un modèle de simulation
F(X )
© Dunod – Toute reproduction non autorisée est un délit.
F(Xj+1)
U
F(Xj)
X0 Xj Xj+1 X
389
Chapitre 10 • Simulation
La courbe de l’histogramme cumulé qui illustre la fonction de répartition F(X), est une
courbe en escalier, les abscisses des « marches » de cet escalier sont : X0, X1, c, Xj,
Xj 1 1, etc. Soit U un nombre pseudo-aléatoire. On détermine à quel intervalle
[F(Xj), F(Xj11)] appartient U. On associe alors à U le nombre Xj suivant la loi de pro-
babilité donnée par la courbe de sa fonction de répartition F(X).
On appelle un échantillon artiiciel de loi de probabilité F(X), la séquence de
nombres aléatoires Xj1, Xj2, Xjk obtenue en répétant l’opération avec k nombres
pseudo-aléatoires U1, U2,c, Uk.
390
10.3 Les « entrées » d’un modèle de simulation
i 51
On calcule pr0 5 0, pr1 5 p1, pr2 5 p1 1 p2, c, prn 5 prn 2 1 1 pn 5 1. On tire un
nombre aléatoire U et on choisit la voie i telle que pri 2 1 < U , pri.
Loi dont l’expression analytique de la fonction
de répartition est connue
• Génération par loi inverse
Soit F(X) une fonction de répartition que l’on sait inverser. Prenons l’exemple d’une
loi exponentielle :
F(X) 5 1 2 e2lX pour X > 0
F(X) 5 0 sinon
Si on remplace F(x) par le nombre pseudo-aléatoire U, il vient U 5 1 2 e2lX, d’où
1 2 U 5 e2lX soit : X 5 2 log(1 2 U)/l.
© Dunod – Toute reproduction non autorisée est un délit.
F(x)
1
Ui
Xi X
391
Chapitre 10 • Simulation
a ui 2 nm
n
i 51
X5 , que X suit une loi normale centrée réduite.
s # "n
Pour une loi normale de moyenne (1) m et d’écart type s, on déduit un échantillon
artiiciel : Yk (k 5 1, 2,c) par : Υk 5 Xk # s 1 m, où Xk (k 5 1, 2,c) est l’échantillon
artiiciel obtenu ci- dessus.
392
10.5 Les résultats (sorties) d’une simulation et analyse statistique
A1 5 a1 D1 5 A1 1 s1
A2 5 A1 1 a2 D2 5 max (A2, D1) 1 s2
c c
Ai 5 Ai21 1 ai Di 5 max (Ai, Di21) 1 si
où Ai et Di sont respectivement la date d’arrivée et de in de traitement de la ie requête.
La durée d’attente du client pour la réponse à la ie requête est égale à ; Ti 5 Di 2 Ai.
Le tableau 10.5 (échéancier) suivant retrace l’exécution d’une simulation dirigée par
événements.
Dans une simulation réelle ce tableau pourrait comporter plusieurs milliers de
lignes (et voire même bien davantage).
Les mesures tirées d’une simulation n’ont de sens que si l’on est capable d’éva-
luer la coniance qu’on peut leur accorder. Dans ce qui suit, on aborde l’analyse sta-
tistique des résultats recueillis en cours de simulation.
393
Chapitre 10 • Simulation
394
10.5 Les résultats (sorties) d’une simulation et analyse statistique
est segmentée en n périodes séparées par des périodes mortes où aucun prélèvement
n’est effectué.
La méthode des points de régénération résout à la fois le problème de l’auto-
corrélation et celui des conditions initiales. L’idée est d’identiier des instants
aléatoires où le processus probabiliste se régénère. Un processus X(t) possède des
points de « régénération », si partant d’un état donné à l’instant t 5 0, il peut avec
une probabilité égale à 1 revenir dans le même état à un instant t . 0. Ces instants
sont caractérisés par les mêmes conditions. On peut montrer que les moyennes
d’observations recueillies entre deux instants (points) de régénération sont indé-
pendantes. On peut alors observer le processus dans une simulation comme si elle
395
Chapitre 10 • Simulation
Exemples.
2 Dans une chaîne de Markov ergodique, en régime permanent l’entrée dans
n’importe quel état est un point de régénération.
– Dans un réseau de ile d’attente ouvert, si les arrivées suivent un processus de Pois-
son alors chaque instant (point) où une arrivée se produit et que le réseau est vide
peut être un point de régénération.
a Xi
n
n , s 5 n 2 1 a Xi 2 m
n
i 51 1
ˆ 5
m ˆ ( ˆ )2
i 51
Ces deux estimateurs sont sans biais, autrement dit :
E 3m
ˆ 4 5 m et E 3 s
ˆ4 5 s
Un meilleur estimateur de l’espérance qui tient compte des poids relatifs dans le
temps de chaque valeur mesurée X(tj) est le suivant :
396
10.5 Les résultats (sorties) d’une simulation et analyse statistique
a X( t j) ( t j 2 t j 2 1)
n
#
j 51
ˆt 5
m
tn 2 t0
ˆ 2m
m
Selon le théorème de la limite centrale, la variable suit une loi normale
ˆ
s/"n
1(0, 1) lorsque n → ∞ (en pratique il sufit de prendre n . 30).
Soit δ la probabilité (choisie) que cette variable soit comprise entre –ε et +ε, où
ε est à déterminer :
ˆ 2m
m
PB 2 e , , 1e R > d .
ˆ
s/"n
En consultant une table de la loi normale pour δ 5 0,95 on trouve ε 5 1,96.
La probabilité que le paramètre à estimer appartienne à l’intervalle ainsi déini
est égale à δ :
ˆ
es e ˆs
ˆ 2
PB m ˆ 2
,m ,m R 5 d.
"n "n
On peut noter l’analogie de la notion d’intervalle de coniance avec la notion de
“calcul d’erreur” dans les mesures physiques.
Le problème général posé dans toute simulation stochastique est celui de la
construction d’estimateurs convergents des grandeurs à mesurer, avec des intervalles
de coniance d’une précision satisfaisante. En outre, comme dans toute expérience
d’échantillonnage, ain qu’un estimateur converge avec une précision d’un niveau
acceptable, la taille de l’échantillon doit être augmentée. En effet, comme le montre
la formule ci-dessus, la précision est inversement proportionnelle à la racine car-
rée de la taille de l’échantillon d’observations, soit "n ; pour réduire la largeur de
l’intervalle de 10 (c’est-à-dire que pour gagner un facteur de 10 sur la précision des
résultats, on doit multiplier par 100 le nombre d’observations !).
Les techniques dites de « réduction de variance » sont développées pour réduire les
coûts d’échantillonnage. Leur utilisation permet de converger plus vite et d’obtenir
des résultats concluants sans pour autant augmenter la taille de l’échantillon.
L’utilisation de l’une de ces techniques, « l’échantillonnage préférentiel »
(« importance sampling »), est bien connue dans la simulation de systèmes com-
portant des événements très rares qui ne se produisent que très peu ou pratique-
ment jamais en cours de simulation. Le principe consiste à augmenter la probabi-
lité d’apparition de ces événements en cours de simulation, de façon à ce qu’ils
aient la même chance de se produire que les autres. L’estimateur construit à partir
des observations ainsi prélevées est corrigé ensuite par un coeficient qui est le rap-
397
Chapitre 10 • Simulation
398
10.7 Conclusion
10.7 conclusion
En conclusion, la simulation est une approche très intéressante dans le sens où
elle permet de s’affranchir des hypothèses parfois trop simpliicatrices et contrai-
gnantes des approches analytiques et de construire un modèle le plus proche pos-
sible du système réel objet de l’étude. Parfois même la simulation pallie l’absence
d’approche analytique. D’autre part, comme toute technique de modélisation, le
modèle construit doit avant tout être validé. Autrement dit, il faut s’assurer que celui-
ci est structurellement et fonctionnellement correct et doit comporter la propriété de
« prédiction ». Les aspects de validation et d’analyse statistique de la simulation sont
particulièrement importants pour la pertinence et la coniance des résultats obtenus.
Toutefois, il est clair, vu le caractère probabiliste des résultats, que l’approche de
simulation ne s’applique que si les approches analytiques adéquates ne peuvent pas
être appliquées. Le lecteur intéressé par un approfondissement pourra consulter les
ouvrages cités ci-dessous.
BIBLIOGRAPHIE
Ν. Bennacer, G. Florin, S. natkin, Probabilistic Validation Using Worst Event Driven and
Importance Sampling Simulation. 13th International Symposium on Reliable Distributed
Systems. Dana Point California, p. 25-27, 1994.
a. e. conway and a. Goyal, Monte Carlo simulation of computer system availability/reliability
models. Proceeding 17th symposium Fault Tolerant Computing Systems, p.230-235, 1987.
a.M. law and w.d. kelton, Simulation modeling and analysis, McGraw-Hill, 1982.
J. leroudier, La simulation à événements discrets, Hommes et Techniques, 1980.
Byron J. t. MorGan, Elements of simulation, Chapman and Hall, 1986.
399
11 MéTaheurisTiques
en oPTiMisaTion
coMbinaToire
la MéThode du recuiT
siMulé, la recherche
Tabou, les algoriThMes
généTiques eT les
algoriThMes de colonies
1
de fourMis
11.1 inTroducTion
Les ingénieurs se heurtent quotidiennement à des problèmes technologiques de com-
plexité grandissante, qui surgissent dans des secteurs techniques très divers, comme
dans la recherche opérationnelle, la conception assistée par ordinateur (C.A.O.)
de systèmes mécaniques ou électriques, le traitement des images... Le problème
à résoudre peut fréquemment être formulé sous la forme générale d’un problème
d’optimisation, dans lequel on déinit une fonction objectif (ou fonction de coût),
que l’on cherche à optimiser par rapport à tous les paramètres concernés. Nous nous
intéressons dans ce chapitre à un groupe de méthodes, comprenant notamment la
méthode du recuit simulé, la méthode de recherche tabou, les algorithmes génétiques
etc., apparues au cours des années 1980 avec une ambition commune : résoudre au
mieux les problèmes dits d’optimisation dificile.
Deux sortes de problèmes reçoivent, dans la littérature, cette appellation, non
déinie strictement (et liée, en fait, à l’état de l’art en matière d’optimisation) :
– certains problèmes d’optimisation combinatoire (donc à variables discrètes), pour les
quels on ne connaît pas d’algorithme optimal rapide (c’est le cas, en particulier, des
problèmes NPdificiles) ;
1. Chapitre rédigé par M. Patrick SIARRY, Professeur à l’Université de Paris-12 ,Val de Marne.
11.2 La tâche impartie aux métaheuristiques
h i( x ) 5 c j j 5 1, c, n
où x désigne un vecteur regroupant les « variables de décision », et f, gi et hj expriment
respectivement la fonction objectif, les contraintes en inégalité et les contraintes en
égalité. L’optimisation combinatoire concerne le cas où les variables de décision sont
discrètes, c’est-à-dire où chaque solution est un ensemble ou bien une suite d’entiers.
En pratique, le nombre N de « degrés de liberté » (i.e. les variables de décision) peut
être élevé, et la fonction f doit prendre en considération de nombreux objectifs souvent
plus ou moins contradictoires. Pour illustrer cette idée par un exemple concret, nous
nous intéressons au problème du « placement » et du « routage » des circuits électro-
niques, déini ci-dessous et traité plus loin par la méthode du recuit simulé.
401
Chapitre 11 • Métaheuristiques en optimisation combinatoire
Lorsque l’espace de toutes les conigurations possibles présente une structure aussi
tourmentée, il est dificile de repérer le minimum global c* de la fonction objectif : la
recherche de celui-ci risque fort d’être un problème NP-dificile, c’est-à-dire – sché-
matiquement – dont la résolution exacte n’est pas possible en un temps polynomial
qui serait proportionnel à N n (où n désigne un entier), plus exactement : en O (N n).
402
11.2 La tâche impartie aux métaheuristiques
Pour surmonter l’obstacle des minimums locaux, une autre idée s’est montrée très
fructueuse, au point qu’elle est à la base de toutes les métaheuristiques dites de voi-
sinage (recuit simulé, méthode tabou) : il s’agit d’autoriser, de temps en temps, des
mouvements de remontée, autrement dit d’accepter une dégradation temporaire de la
situation, lors du changement de la coniguration courante. C’est le cas si l’on passe
de cn à crn (Figure 11.1). Un mécanisme de contrôle des dégradations – spéciique à
chaque métaheuristique – permet d’éviter la non-convergence du procédé. Il devient,
dès lors, possible de s’extraire du piège que représente un minimum local, pour partir
explorer une autre « vallée » plus prometteuse… Ici, repartant de crn, on aboutirait à
c* (qui, par chance, se trouve être le minimum absolu de f(c).
403
Chapitre 11 • Métaheuristiques en optimisation combinatoire
404
11.3 La méthode du recuit simulé
Pour conduire un système physique dans un état de basse énergie, les physiciens
utilisent généralement la technique du recuit : nous allons examiner comment cette
405
Chapitre 11 • Métaheuristiques en optimisation combinatoire
méthode de traitement des matériaux (recuit réel) est mise en œuvre pour traiter un
problème d’optimisation (recuit simulé).
406
11.3 La méthode du recuit simulé
En résumé. Les inconvénients du recuit simulé résident d’une part dans les
« réglages », comme la gestion de la décroissance par paliers de la température ;
de « bons » réglages relèvent souvent du savoir-faire de l’ingénieur. D’autre
part, les temps de calcul peuvent devenir selon les cas très importants (ce qui a
conduit à des parallélisations de la méthode). Par contre, les méthodes de recuit
simulé ont l’avantage d’être souples et rapidement implémentables lorsqu’on
veut résoudre des problèmes d’optimisation combinatoire, le plus souvent de
grande taille. Elles ont donné d’excellents résultats pour nombre de problèmes,
et notamment pour le problème du voyageur de commerce (TSP), sur des
instances comportant plusieurs centaines, voire plusieurs milliers de villes.
407
Chapitre 11 • Métaheuristiques en optimisation combinatoire
TEMPERATURE INITIALE
MODIFICATION élémentaire
⇒ variation d'énergie
NON équilibre
thermodynamique
?
OUI
PROGRAMME
NON DE RECUIT
système figé
diminution
? lente de T
OUI
STOP
408
11.4 La recherche tabou
409
Chapitre 11 • Métaheuristiques en optimisation combinatoire
des mouvements interdits, et non des conigurations interdites – peut bloquer l’accès
à certaines solutions, pourtant non encore visitées. En effet, l’on ne sauvegarde
généralement dans la liste tabou que la déinition des mouvements interdits (qui ne
s’expriment pas en fonction des conigurations que l’on voudrait interdire). Nous
illustrons ci-dessous ce phénomène par un exemple simple, emprunté à De Werra.
Étant donné l’ensemble {A, B, C, D, E} des 5 premières lettres de l’alphabet,
intéressons-nous aux « conigurations » formées par les paires (non ordonnées) de
deux lettres différentes. Les « mouvements » assurant le passage d’une coniguration
à une voisine sont les changements d’une seule lettre de la coniguration. On récapi-
tule dans le tableau suivant les résultats de quelques mouvements effectués à partir
de la coniguration {A, B} :
À l’issue de trois mouvements, on voit que la coniguration {A, E} ne peut pas être
atteinte à partir de la coniguration courante {D, E}, puisque le mouvement « D rem-
placé par A » est tabou. Pourtant, cette coniguration {A, E} n’a pas encore été visitée :
ainsi la liste tabou, créée dans le seul but d’empêcher le retour à une solution visitée
récemment, peut-elle aussi interdire l’accès à une solution non encore visitée…
Pour éviter cet inconvénient, on peut employer la méthode plus complexe dite
Tabou généralisée, qui prévoit la possibilité d’annuler le statut tabou d’un mouve-
ment, lorsque le bénéice escompté est sufisant. Cette circonstance est appréciée à
l’aide de la notion de niveau d’aspiration, qu’il serait trop long d’expliciter ici.
En outre, l’algorithme décrit jusqu’ici n’exploite qu’une forme rudimentaire de
mémoire, la mémoire à court terme des solutions visitées récemment, au moyen de
la liste tabou. Deux mécanismes supplémentaires, nommés intensiication et diver-
siication, sont souvent mis en œuvre pour doter aussi l’algorithme d’une mémoire à
long terme. Ces mécanismes n’exploitent plus la proximité dans le temps d’événe-
ments particuliers, mais plutôt la fréquence de leur occurrence, sur une période plus
longue. L’intensiication consiste à approfondir l’exploration de certaines régions de
l’espace des solutions, identiiées comme particulièrement prometteuses. La diversi-
ication est, au contraire, la réorientation périodique de la recherche d’un optimum vers
des régions trop rarement visitées jusqu’alors. De nombreuses stratégies d’intensii-
cation et de diversiication ont été publiées. Enin, de multiples perfectionnements de
410
11.4 La recherche tabou
l’une ou l’autre des composantes de base de Tabou ont été proposés : par exemple,
une gestion dynamique de la taille de la liste tabou, ou de la taille du voisinage de la
solution courante. Malheureusement, la plupart des variantes publiées reposent sur
une analyse empirique spéciique au problème particulier traité : une amélioration
signiicative de l’eficacité se paye par une perte de généralité de la démarche.
Pour un exposé complet et très détaillé de la méthode, nous renvoyons le lecteur à
l’ouvrage récent de F. Glover et M. Laguna [Glov97]. Des présentations didactiques
de Tabou igurent dans les articles [Pirl92, Sori97] et dans le chapitre 3 de l’ouvrage
[Reev95].
© Dunod – Toute reproduction non autorisée est un délit.
411
Chapitre 11 • Métaheuristiques en optimisation combinatoire
412
11.5 Les algorithmes génétiques
POPULATION INITIALE
N « individus » : N points x pris au hasard
Chaque individu est codé par une chaîne de bits
REPRODUCTION
production de M « descendants » , par application des
opérateurs génétiques : « croisement » et « mutation »
SELECTION
formation de la nouvelle « génération », par
sélection des N meilleurs individus (jaugés
par f ), parmi les N+M disponibles
NON
nombre maximal de générations successives atteint ?
OUI
résultat = meilleur individu x rencontré
Figure 11.5 Organigramme de principe d’un algorithme génétique.
413
Chapitre 11 • Métaheuristiques en optimisation combinatoire
414
11.6 Les algorithmes de colonies de fourmis
En résumé. Pour des problèmes concrets très divers, relevant par exemple de
l’ingénierie (optimisation de structures mécaniques), de la médecine (image-
rie médicale) ou de la théorie des jeux, les algorithmes génétiques ont donné
d’emblée pleine satisfaction. Sur d’autres applications par contre, comme
l’optimisation de fonctions à variables continues, leur emploi s’est avéré déce-
© Dunod – Toute reproduction non autorisée est un délit.
415
Chapitre 11 • Métaheuristiques en optimisation combinatoire
les plus prospères : 10 millions de milliards d’individus, répartis partout dans la pla-
nète. Leur poids total est du même ordre de grandeur que celui des humains ! Le succès
de cette espèce soulève de nombreuses questions.
En particulier, les entomologistes ont analysé la collaboration qui s’établit entre
les fourmis pour aller chercher de la nourriture à l’extérieur de la fourmilière : il est
remarquable que les fourmis suivent toujours le même chemin, et que ce chemin est
le plus court possible. Ce comportement est le résultat d’un mode de communication
indirecte, via l’environnement : la « stigmergie ». Chaque fourmi dépose, le long
de son chemin, une substance chimique, la « phéromone » ; tous les membres de la
colonie perçoivent cette substance, et orientent préférentiellement leur marche vers
les régions les plus « odorantes ».
Une colonie est ainsi capable de choisir, sous certaines conditions, le plus court
chemin à exploiter, sans que les individus aient une vision globale du trajet. Ce phé-
nomène est illustré sur la Figure 11.7 par la sélection des branches les plus courtes.
En effet, les fourmis le plus rapidement arrivées au nid, après avoir visité la source
de nourriture, sont celles qui empruntent les deux branches les plus courtes. Ainsi, la
quantité de phéromone présente sur le plus court chemin est légèrement plus impor-
tante que celle présente sur le chemin le plus long. Or, une piste présentant une plus
grande concentration en phéromone est plus attirante pour les fourmis, elle a donc une
probabilité plus grande d’être empruntée. La piste courte va alors être davantage ren-
forcée que la longue et elle sera à terme choisie par la grande majorité des fourmis.
Nourriture Nourriture
Nid Nid
(a) (b)
Figure 11.7 Expérience de sélection des branches les plus courtes par une colonie
de fourmis : (a) au début de l’expérience, (b) à la fin de l’expérience.
416
11.7 Les méthodes hybrides
RÉFÉRENCES
© Dunod – Toute reproduction non autorisée est un délit.
417
Chapitre 11 • Métaheuristiques en optimisation combinatoire
[DeWe90] D. De Werra, “Heuristics for graph coloring”, Computing Suppl., Vol. 7, p. 191-
208, 1990.
[Dori91] A. Colorni, M. Dorigo, V. Maniezzo, “Distributed Optimization by Ant Colonies”,
Proceedings of the European Conference on Artiicial Life ECAL’91, p. 134-142. Elsevier
Publishing, 1991.
[Glov77] F. Glover, “Heuristics for integer programming using surrogate constraints”,
Decision Science, Vol. 8, p. 156-166, 1977.
[Glov86] F. Glover, “Future paths for integer programming and links to artiicial intelli-
gence”, Computers and Operations Research, Vol. 5, p. 533-549, 1986.
[Glov97] F. Glover, M. Laguna, “Tabu Search”, Kluwer Academic Publishers, 1997.
[Gold94] D.E. Goldberg, “Algorithmes génétiques. Exploration, optimisation et apprentis-
sage automatique”, Addison-Wesley France, 1994.
[Hans86] P. Hansen, “The steepest ascent mildest descent heuristic for combinatorial
programming”, Congress on Numerical Methods in Combinatorial Programming, Capri,
Italy, 1986.
[Holl75] J.H. Holland, “Adaptation in natural and artiicial systems”, Ann Arbor : The
University of Michigan Press, 1975.
[Holl92] J.H. Holland, “Les algorithmes génétiques”, Pour la Science, N° 179, p. 44-51,
septembre 1992.
[Kirk83] S. Kirkpatrick, C.D. Gelatt, M.P. Vecchi, “Optimization by simulated annealing”,
Science, Vol. 220, N° 4598, p. 671-680, 1983.
[Pirl92] M. Pirlot, “General local search heuristics in Combinatorial Optimization : a
tutorial”, Belgian Journal of Operations Research, Statistics and Computer Science,
Vol. 32, p. 8-67, 1992.
[Reev95] C.R. Reeves, ed., “Modern Heuristic Techniques for Combinatorial Problems”,
Advances topics in computer science series, Mc Graw-Hill, 1995.
[Rend96] J.M. Renders, S.P. Flasse, “Hybrid methods using genetic algorithms for global
optimization”, IEEE Trans. on Systems, Man, and Cybernetics – Part B : Cybernetics,
Vol. 26, N° 2, 1996.
[Siar89] P. Siarry, G. Dreyfus, “La méthode du recuit simulé : théorie et applications”,
Ouvrage de synthèse, Editeur : ESPCI – IDSET, 10 rue Vauquelin, 75005 Paris, 1989.
[Sori97] P. Soriano, M. Gendreau, “Fondements et applications des méthodes de recherche
avec tabous”, Recherche opérationnelle / Operations Research, Vol. 31, N° 2, p. 133-159,
1997.
[VanL87] P.J.M. Van Laarhoven, E.H.L. Aarts, “Simulated annealing : theory and applica-
tions”, D. Reidel Publishing Company, Dordrecht (The Netherlands), 1987.
418
12 ’
à l aide MulTicriTère
inTroducTion 12
(1)
à la décision
12.1 inTroducTion
Dans tous les problèmes traités jusqu’à présent, nous n’avons considéré qu’un critère
unique à optimiser (proit, coût, durée,…). Cette approche monocritère est tout à fait
légitime dès lors qu’un point de vue principal prédomine. C’est le cas, par exemple,
de nombreux problèmes opérationnels (élaboration d’un plan de production où il
s’agit de fabriquer des produits à moindre coût, constitution d’une tournée de distri-
bution où il s’agit de minimiser la distance parcourue,…). Néanmoins certains pro-
blèmes de décision nécessitent la prise en compte de plusieurs points de vue. Citons
par exemple :
– les décisions d’investissement inancier où il convient d’arbitrer entre un critère
de rentabilité et un critère de risque,
– le routage dans un réseau où il convient de déterminer un compromis entre un cri-
tère économique et un critère de qualité de service,
– le choix d’un site pour implanter une nouvelle usine où il convient de prendre
en compte des critères liés aux coûts (d’investissement et de fonctionnement), à
l’existence d’un tissu industriel dans la région (présence de main d’œuvre quali-
iée à proximité, existence de liaisons de transports adaptées,…), à l’impact sur
l’environnement,…
– la sélection d’un candidat à un poste qu’il convient de raisonner en fonction de
critères liés à l’expérience, la formation, la motivation, le coût,…
Il apparaît, notamment à travers les exemples précédents, que les critères sont :
– souvent conlictuels : si l’on cherche à améliorer la performance sur un critère
donné, cela entraîne souvent une dégradation sur d’autres critères. Il s’ensuit que
la notion d’optimum, concept central dans un contexte monocritère, perd toute
TAB. 12.1 ÉVALUATION DES PRODUITS SUR LES CRITÈRES NOTE TECHNIQUE ET PRIX
420
12.2 Cadre général
TAB. 12.2 – TABLEAU DE PERFORMANCES SUR LES CRITÈRES PRIX, TEMPS DE TRAJET ET SUPERFICIE
Définition : Un critère est une fonction g : A S R (qui associe donc à une action a
une valeur numérique g(a)) qui permet, relativement à un point de vue donné et pour
un acteur identiié, de comparer deux actions quelconques a et b :
g ( a) > g ( b ) 1 a Sb
421
Chapitre 12 • Introduction à l’aide multicritère à la décision
où S est une relation binaire, déinie sur A 3 A, signiiant « est au moins aussi bon
que ». Par déinition, g(a) est la « performance » de l'action a sur le critère g.
Nous supposons ici, sans perte de généralité, que g est un critère à maximiser.
Un critère est souvent utilisé de la façon suivante (« vrai-critère ») :
g ( a) . g ( b ) 3 aPb
b
g ( a) 5 g ( b ) 3 aIb
g ( a) > g ( b ) 1 p 3 aPb
c g ( b ) 1 q , g ( a) , g ( b ) 1 p 3 aQb
g ( b ) 2 q < g ( a) < g ( b ) 1 q 3 aI b
422
12.2 Cadre général
L’image de A dans l’espace des critères est notée ZA. À chaque action a P A corres-
pond un vecteur critère (ou point) z P Z A avec z(a) = (g1(a), … , gp(a)). On a :
Z A 5 g ( A ) 5 5 z P Z : z j 5 gj ( a) ( j 5 1, c, p ) , a P A 6
423
Chapitre 12 • Introduction à l’aide multicritère à la décision
Fig. 12.2 Représentation des actions dans l’espace des critères – Exemple 1
L’ensemble A des actions est caractérisé, dans l’espace des décisions, par les
contraintes suivantes :
x 1 1 4x 2 < 40
3x 1 1 2x 2 < 60
d x > 4
1
(x1 > 0) x2 > 0
424
12.2 Cadre général
1 2
(ce qui permet de déduire : x 1 5 z 1 1 z 2 et x 2 5 2 z 1 2 z 2 ).
3 3
Ainsi, ZA est caractérisé par :
2z 1 2 5z 2 < 120
7z 1 1 5z 2 < 180
d
z1 1 z2 > 4
z1 1 2z 2 < 0
Les représentations de l’ensemble des actions dans l’espace des décisions et dans
l’espace des critères sont proposées en igure 12.3.
Figure 12.3 Espace des décisions (a) et espace des critères (b) – Exemple 3.
(1)
où D est la relation binaire de dominance au sens large, dont la partie stricte, notée
D(1), est telle que :
aDb 3 aDb et non ( bDa )
3 gj ( a) > gj ( b ) ( j 5 1, c, p ) , avec au moins l’une des inégalités strictes.
Une action a P A est dite eficace si il n’existe pas d’action b P A qui domine
strictement a, c’est-à-dire telle que bDa.
(1) Noter l’analogie avec l’ordre large sur R : > et l’ordre strict : >.
425
Chapitre 12 • Introduction à l’aide multicritère à la décision
Exemples 1, 2 et 3 (suite)
Dans l’exemple 2, une comparaison par paire des actions permet d’établir que
,4D,6 (cf. Tableau 12.2). Ainsi, en s’appuyant sur les trois critères considérés, on
peut écarter du choix ,6 qui est dominé strictement. Tous les autres logements:
,1. c. ,5 constituent l’ensemble des actions eficaces.
Dans le cas bicritère (p 5 2), on peut utiliser la représentation graphique dans
l’espace des critères pour identiier les vecteurs critères (ou points) non dominés. En
effet, considérant un point à tester, il sufit de représenter le « cône de dominance »
associé à ce point (c’estàdire, pour des critères à maximiser, l’orthant positif ayant
pour origine ce point – cf. exemples cidessous). Il reste alors à observer si ce cône
contient ou non au moins un point correspondant à une action réalisable.
Ainsi dans l’exemple 1, la représentation graphique en igure 12.4 permet de
constater que le cône de dominance de d contient le point associé à l’action b, ce qui
signiie que bDd : b domine strictement d. En revanche, le cône de dominance associé
à chacun des trois autres points est vide, ce qui signiie que a, b et c sont eficaces.
426
12.3 La somme pondérée
12.3.1 Présentation
La façon la plus naturelle d’agréger différents critères est de recourir à une somme
pondérée. Il s’agit alors de construire un critère unique g agrégeant les p critères
g1, c, gp. L’évaluation de toute action a P A est donnée par :
j51 j51
d’importance relative des critères et un facteur de normalisation des échelles des cri-
tères. Un poids plus élevé ne correspond donc pas nécessairement à un critère plus
important, comme l’illustrent les exemples ci-dessous.
427
Chapitre 12 • Introduction à l’aide multicritère à la décision
critère (par exemple l 1 5 0,4, l 2 5 0,4 et l 3 5 0,2) ne convient pas. Cela conduirait
en effet à accorder un rôle prépondérant au critère g1 dans la somme pondérée simple-
ment parce que celui-ci est exprimé sur une échelle comportant des valeurs beaucoup
plus élevées que celles des échelles des deux autres critères. Il conviendrait donc de nor-
maliser ces poids pour prendre en compte l’hétérogénéité des échelles. Il existe néan-
moins de nombreuses façons d’effectuer cette normalisation, dont aucune ne s’impose
et qui, chacune, conduirait à un jeu de poids différent.
2. La logique d’agrégation sous-jacente est totalement compensatoire. Une très
mauvaise note sur un critère peut être compensée par une ou plusieurs bonnes notes
sur d’autres critères. On préfère souvent utiliser des mécanismes d’agrégation qui
tolèrent les compensations lorsque les écarts sont faibles et les rejettent lorsque les
écarts sont forts (logique d’agrégation partiellement compensatoire).
3. Certaines solutions eficaces peuvent ne pas apparaître comme solutions opti-
males d’une somme pondérée, quel que soit le jeu de poids choisi. Il s’agit là d’une
limite très importante, car certaines solutions qui pourraient s’avérer intéressantes
sont éliminées a priori par la démarche de la somme pondérée.
4. De très légères variations sur les valeurs des poids peuvent conduire à des solu-
tions radicalement différentes. Ainsi, dans l’exemple précédent, le jeu de poids (0,51 ;
0,49) conduit à choisir a alors que le jeu de poids (0,49 ; 0,51) conduit à choisir c.
Deux jeux de poids fort proches, et en pratique équivalents, conduisent ici à des solu-
tions radicalement opposées !
5. Il n’y a pas de correspondance intuitive entre les valeurs des poids et la solu-
tion optimale proposée par une somme pondérée. Le résultat peut même apparaître
très contre-intuitif. Dans l’exemple précédent, les jeux de poids très équilibrés
( l 1 . l 2 . 0,5 ) conduisent à choisir soit a soit c qui sont fort déséquilibrés.
En dépit des avantages de la somme pondérée, les limites précédemment citées
conduisent à envisager d’autres mécanismes d’agrégation.
428
12.4 Méthodes de surclassement (Electre)
( g1 ( a) , c, gp ( a)) et ( g1 ( b ) , c, gp ( b ))
– l’information préférentielle qui permet de relativiser le rôle joué par chaque cri
tère (poids, seuils).
Remarques :
429
Chapitre 12 • Introduction à l’aide multicritère à la décision
donc à des modèles de préférence plus ins dans la mesure où ils n’imposent pas de
comparer des actions qui seraient trop dissemblables. En revanche, ces modèles sont
plus dificiles à exploiter pour dégager une recommandation.
430
12.4 Méthodes de surclassement (Electre)
C ( a,b ) 5 a k j # cj ( a,b )
p
j51
Remarque : Les poids kj sont appliqués à des « indices » déinis sur une
échelle commune variant entre 0 et 1. Ils relètent donc uniquement l’impor-
tance relative des critères, ce qui rend leur signiication claire. On notera que
les poids l j utilisés dans la somme pondérée sont de nature différente car ils
intègrent à la fois l’importance relative des critères et un facteur de normali-
sation des échelles des critères (cf. remarque 1 de la section 12.3.3).
431
Chapitre 12 • Introduction à l’aide multicritère à la décision
Observons, par exemple, que l’on a c1 ( ,4,,1 ) 5 1, ce qui signiie que le critère g1
supporte l’assertion ,4S,1. En effet, bien que le coût du logement ,4 soit supérieur à
celui du logement ,1 (720 € contre 700 € – cf. tableau 12.2), la différence de 20 € est
jugée négligeable compte tenu du seuil d’indifférence q1 5 50.
Ain de construire l’indice de concordance globale, il convient de ixer les poids.
Rappelons que lorsque nous avons tenté de ixer des poids pour utiliser la somme
pondérée pour ce même exemple, nous avons considéré que les critères Loyer (g1 ) et
Temps de trajet (g2 ) étaient jugés d’importance semblable et que le critère Supericie
(g3 ) était considéré deux fois moins important. Nous pouvons ici ixer les poids sans
dificulté à partir de cette information préférentielle : k1 5 0,4, k2 5 0,4 et k3 5 0,2.
La matrice de concordance globale en découle immédiatement (cf. Figure 12.4).
Discordance
Parmi les critères qui ne sont pas concordants avec l’assertion aSb, certains peuvent
exprimer une forte opposition, un veto, conduisant à rejeter aSb. Un critère gj pourra
ainsi opposer son veto à l’assertion aSb lorsque gj(a) est beaucoup plus faible que
gj(b). On déinit donc pour chaque critère gj un seuil de veto vj où v j $ pj ( j 5 1, c, p ) .
Dès qu’il existe un critère gj tel que gj ( b ) $ gj ( a) 1 v j, l’assertion aSb est rejetée.
Notons que plus le seuil vj est faible, plus le pouvoir de veto de gj est grand.
432
12.4 Méthodes de surclassement (Electre)
test de surclassement
Ain d’accepter aSb on doit vériier les deux conditions suivantes :
1. une condition de concordance : C ( a,b ) > s
2. une condition de non discordance : gj ( b ) , gj ( a) 1 v j 4j P 5 1, c, p 6
où s représente le seuil de concordance. La condition de concordance s’inspirant
d’un principe de type majoritaire, il est légitime d’imposer s . 0.5. En pratique, on
prend des valeurs entre 0,6 et 0,9.
433
Chapitre 12 • Introduction à l’aide multicritère à la décision
4a P N, 4b P N, non(aSb) et non(bSa)
– pour tout sommet hors du noyau, il existe un arc depuis un sommet du noyau vers
ce sommet :
4b x N E a P N : a Sb
Un noyau est donc un sous-ensemble d’actions incomparables tel que toute action
ne faisant pas partie du noyau est surclassée par au moins une action du noyau.
Tout graphe sans circuit admet un noyau unique. Un graphe avec circuit peut
admettre aucun, un ou plusieurs noyaux.
L’algorithme suivant permet de détecter le noyau d’un graphe G sans circuit.
(0) Représenter G par son « dictionnaire des précédents » (ce dictionnaire associe à
chaque sommet la liste de ses précédents ou « prédécesseurs »)
tant que possible faire
(1) Marquer tout sommet dont la liste est vide (sans prédécesseurs)
(2) Barrer tout sommet qui contient au moins un sommet marqué dans sa liste
(3) Supprimer des listes les sommets barrés
L’ensemble des sommets marqués à l’issue de l’algorithme constitue le noyau.
Lorsque le graphe contient des circuits, on peut, par exemple, réduire les cir-
cuits (c’est-à-dire contracter en un sommet unique tous les sommets faisant par-
tie d’un même circuit et préserver les arcs avec les sommets extérieurs au circuit).
Cette opération de réduction revient à considérer que les sommets d’un même circuit
sont indifférents. On peut alors déterminer le noyau sur le graphe réduit (qui, par
construction, ne contient pas de circuit).
En pratique, il ne sufit pas d’exécuter une fois l’ensemble de ce processus et de
prendre le noyau résultant comme recommandation. Il convient de procéder à une
analyse de robustesse consistant à répéter le processus en faisant varier les paramètres
critiques du modèle (seuil de concordance, poids, seuils de veto…). La recomman-
dation sera constituée des actions apparaissant régulièrement dans le noyau.
434
12.5 Optimisation multiobjectif
1
12.5 oPTiMisaTion MulTiobjecTif
Nous nous intéressons ici au cas où l’ensemble A des actions potentielles est déini
implicitement (cf. section 12.2.1). Nous nous restreindrons au cas de la programma-
tion linéaire multiobjectif, sans considérer par exemple les problèmes d’optimisation
combinatoire multiobjectif (plus court chemin multiobjectif, affectation multi-
objectif, etc.). De plus, nous ne présenterons qu’une façon (parmi bien d’autres) de
rechercher un meilleur compromis dans ce contexte.
Soit donc le programme linéaire multiobjectif suivant, exprimé sous forme
matricielle (on note, ici, D la matrice notée A aux chapitres 8 et 9) :
Remarque : La notation « max », ici quelque peu abusive, signiie en fait que
l’on recherche un meilleur compromis en regard de p fonctions objectifs, cha-
cune étant à maximiser.
435
Chapitre 12 • Introduction à l’aide multicritère à la décision
max z 1 5 2x 1 1 3x 2 max z 2 5 2x 1 2 3x 2
sous
s.c. les contraintes: s.c.
x 1 1 4x 2 < 40 x 1 1 4x 2 < 40
( PL 1 ) f ( PL 2 ) f
3x 1 1 2x 2 < 60 3x 1 1 2x 2 < 60
x1 > 4 x1 > 4
x 1, x 2 > 0 x 1, x 2 > 0
tableau 12.7. Le point idéal z* 5 (50, –4) et le point nadir n 5 (n1,n2) 5 (8, –34) sont
représentés à la igure 12.8.
436
12.5 Optimisation multiobjectif
guère adaptée.
437
Chapitre 12 • Introduction à l’aide multicritère à la décision
il existe une ininité de jeux de poids qui permettent de les faire apparaître comme
solution optimale d’une somme pondérée. Ces solutions eficaces extrêmes sont donc
relativement faciles à faire apparaître. En revanche, l’ininité de solutions eficaces
non extrêmes qui se trouvent sur une arête (ou plus généralement à l’intérieur d’une
facette) du polyèdre peuvent certes apparaître optimales, mais chacune pour un jeu
de poids unique seulement. Ainsi, l’ensemble des vecteurs critères non dominés situés
sur le segment ]z d, z c[ apparaissent comme solutions optimales (multiples) d’un seul
7 15
jeu de poids (en l’occurrence l 1 5 , l 2 5 ). Il apparaît fort peu vraisemblable
12 12
de faire exprimer ce jeu de poids particulier à un décideur! De plus, même si l’on y
parvenait, la résolution du programme linéaire qui en résulterait ne permettrait pas
d’explorer inement l’ininité de solutions optimales ; les algorithmes de résolution
tels que l’algorithme du simplexe ne donneraient d’ailleurs comme solution opti-
male que l’un des deux sommets c ou d…
Nous constatons donc que les solutions eficaces non extrêmes sont très dificiles
à explorer à l’aide d’une somme pondérée. Pourtant ces solutions ne sont pas moins
intéressantes que les solutions eficaces extrêmes. Nous nous ixons donc comme but
de pouvoir explorer l’ensemble de toutes les solutions eficaces, et ceci sans devoir
résoudre des problèmes plus complexes que des programmes linéaires.
Il reste maintenant à déterminer la valeur des zpoids l j. Ces poids visant à nor-
maliser les écarts z j 2 z j, nous allons ixer l j 5 z *j 21 nj ( j 5 1, c, p ) . La réso-
lution du problème précédent en utilisant ce choix de valeur des poids revient,
géométriquement, à projeter z sur la frontière des points non dominés selon la direc-
tion indiquée par les points z* (zenith) et n (nadir), c’est-à-dire parallèlement à la
droite joignant z* et n.
Dans l’espace des décisions, le problème précédent s’écrit :
min max 5 l j ( z j 2 c j # x )6
X PX j51,c, p
438
12.5 Optimisation multiobjectif
Les contraintes x P X sont linéaires. Seule la fonction objectif est non linéaire.
Ce programme peut cependant être reformulé de façon équivalente par le programme
linéaire suivant :
min m
s.c.
d
m > l j ( z j 2 c j # x ) ( j 5 1, c, p )
xPX
En effet, on introduit ici une nouvelle variable µ que l’on contraint à prendre
une valeur supérieure à chacun des p arguments du max (dans la formule
maxj51,c,p 5 l j ( z j 2 c j # x )6 ) . Cette variable étant minimisée, elle représente bien le
maximum de ces arguments.
Soulignons inalement que ces méthodes fondées sur des points d’aspiration
sont utilisées le plus souvent de façon interactive. Ainsi, l’utilisateur ixe un pre-
mier point d’aspiration. Observant la réponse du modèle, il ajuste ses préférences en
ixant un second point d’aspiration. Il poursuit ainsi son exploration de l’ensemble
des solutions eficaces, appréhendant de mieux en mieux les solutions candidates
intéressantes. Ce processus interactif se termine lorsqu’il estime avoir trouvé un bon
compromis.
min m
© Dunod – Toute reproduction non autorisée est un délit.
s.c.
1
m> ( 30 2 ( 2x 1 1 3x 2 ))
42
1
i m> ( 210 2 ( 2x 1 2 3x 2 ))
30
x 1 1 4x 2 < 40
3x 1 1 2x 2 < 60
x1 > 4
x 1, x 2 > 0
439
Chapitre 12 • Introduction à l’aide multicritère à la décision
dont la solution optimale est x 1 < 12,94, x2 5 0 et m < 0,1 correspondant aux
valeurs suivantes sur les critères : z 1 < 25,88 et z 2 < 212,94. La réponse du
modèle, quand on lui fournit le point d’aspiration z 1, est donc le point non-dominé
z1 5 (25,88 ; 212,94). Comme on peut le vériier sur la igure 12.9, cela correspond
bien à projeter ce point z 1 sur la frontière des points non-dominés, selon la direction
indiquée par les points z* et n.
12.6 conclusion
Ce chapitre ne constitue qu’une introduction à l’aide multicritère à la décision. Nous
y avons présenté les concepts fondamentaux et introduit quelques méthodes multi-
critères représentatives. L’une des idées principales à retenir est que l’agrégation de
440
12.6 Conclusion
plusieurs critères par une somme pondérée, bien que fort utilisée en pratique du fait
de sa simplicité, présente de gros inconvénients comme indiqué en section 12.3.3.
Cela justiie de s’intéresser à d’autres méthodes pour prendre en compte des critères
multiples.
Parmi les domaines que nous n’avons pas abordés igure l’optimisation com-
binatoire multiobjectif. Il s’agit, par exemple, de rechercher dans un graphe repré-
sentant un réseau de communication un chemin joignant deux sommets identiiés
et réalisant le meilleur compromis entre différents critères (coût, durée). Dans ce
même contexte, on peut également souhaiter engendrer l’ensemble des chemins efi-
caces ain de permettre au décideur d’appréhender les arbitrages possibles entre les
différents critères. Cette extension multiobjectif du problème du plus court chemin
s’applique également aux autres problèmes d’optimisation combinatoire classiques
(arbre couvrant, affectation, lots,…).
Le lecteur souhaitant approfondir le domaine de l’aide multicritère à la décision
trouvera ci-après les références de quelques ouvrages généraux.
BIBLIOGRAPHIE
Bouyssou D., Marchant t., Pirlot M., tsoukiás a. et vincke Ph. – Evaluation and decision
models with multiple criteria : Stepping stones for the analyst, Springer, Berlin, 2006.
collette y. et siarry P. – Optimisation multiobjectif Eyrolles, Paris, 2002.
ehrgott M. – Multicriteria Optimization, Springer, Berlin, 2005.
PoMerol J.Ch. et BarBa-roMero S. – Choix multicritère dans l’entreprise, Hermès, Paris,
1993.
roy B. – Méthodologie Multicritère d’Aide à la Décision : Méthodes et Cas, Economica,
Paris, 1985. english translation : Multicriteria Methodology for Decision Aiding, Kluwer
Academic Publishers, 1996.
roy B. et Bouyssou D. – Aide Multicritère à la Décision : Méthodes et Cas, Economica, Paris,
1993.
steuer R.E. – Multiple criteria optimization : theory, computation, and application, Wiley,
New York, 1986.
vallin Ph. et vanDerPooten D. – Aide à la décision : une approche par les cas, Ellipses, Paris,
2000. 2e édition 2002.
vincke Ph. – L’aide multicritère à la décision, Ellipses, Paris, 1989. english translation :
Multicriteria decision-aid, Wiley, 1992.
441
soluTions
SOLUTIONS DES EXERCICES DU CHAPITRE 1
1.2 On introduit les cinq variables booléennes : D, S, T, I, C ; chacune est égale à 1 si le per-
sonnage associé dit la vérité (ainsi D = 1 si le directeur de secteur dit la vérité), ou à 0 s’il
ment (alors D = 0, soit D 5 1).
Le dialogue comporte trois déclarations (et le début d’une quatrième, interrompue par le
général), soit d1 , d2 et d3.
• d1 entraîne : S # C # D 1 S # C # D 5 1.
• d2 est plus compliqué à coder :
– soit le directeur et la sécrétaire disent la vérité ; alors selon que l’inspecteur dit la vérité ou,
au contraire, ment, il vient :
D#S#I#T 1 D#S#I#T 5 1
– soit le directeur et la secrétaire mentent tous deux :
D#S#I#T 1 D#S#I#T 5 1
mais pour que D # S # I # T, ou bien D # S # I # T, soit égal à 1, il faudrait avoir 3 des 4 variables
nulles et donc 3 menteurs ; or l’on sait qu’il y en a au plus 2 ...
On n’aura donc pas à tenir compte de cette relation.
solutions des exercices du chapitre 1
1.3 1) T 11
1
5 A1 # L1 ; T12
1 2
5 T12 3
5 T11 5 T124
5 0 ; T131
5 A1 # L1 , etc.
• À t = 2, conlit possible pour les séries 1 et 2 sur la machine 1 :
A1L1 1 A1 # L1 1 A2 # L2 < 1, or ( A1 1 A1 ) # L1 5 L1, soit : L1 1 A2 # L2 < 1 (1).
• À t = 3, conlit possible pour les séries 1 et 2 sur la machine 1 :
A1 # L1 1 A2 # L2 1 A2 # L2 < 1 soit : A1 # L1 1 L2 < 1
© Dunod – Toute reproduction non autorisée est un délit.
(2),
et pour les séries 2 et 3 sur la machine 2 :
A2 # L2 1 A2 # L2 1 A3 # B3 # L3 < 1 soit : L2 1 A3 # B3 # L3 < 1 (3) ;
ainsi que pour les séries 1 et 3 sur la machine 3 :
A1 # L1 1 A3 # B3 # L3 < 1 (4).
• À t = 4, conlit possible entre les séries 2 et 4 sur la machine 1 :
A2 # L2 1 A4 # L4 # M4 < 1 (5),
443
solutions
2) En posant A1 = A3 = B3 = L2 = L1 = 1 et A2 = 0 , il vient :
L1 5 1
e : la 1ère série est exécutée sur la machine 1 lors de t = 1 et t = 2.
A1 5 1
L2 5 1
e : la 2e série est exécutée sur la machine 1 lors de t = 3 et 4.
A2 5 1
A3 = B3 = 1 : la 3e série est exécutée au temps t = 3 sur les machines 2 ou 3 (2 solutions).
L4 5 1 M4 5 1
A4 # L4 # M4 5 0 ; soit : A4 5 0 µ L4 5 0 M4 5 1
L4 5 1 M4 5 0
L4 5 0 M4 5 1
soit : A4 5 1 •
L4 5 1 M4 5 0
444
solutions des exercices du chapitre 1
On supprime ensuite les monômes absorbés par un autre : ainsi abc est absorbé par bc ;
bcd, par bd ; abd, par bd. Les monômes restants sont les monômes premiers de F :
F 5 ab 1 bc 1 bd 1 cd.
Ensuite formons un tableau dont les lignes sont associées aux monômes premiers et les
colonnes, aux minterms. Ceci pour reconnaître quels sont les minterms couverts (absorbés)
par les monômes premiers.
445
solutions
ab
bc
bd
cd
Nous reconnaissons tout de suite les monômes premiers « essentiels » : ab, bd et cd,
car chacun d’eux couvre un minterm (au moins) qui n’est couvert par aucun autre monôme
premier (cf les points gras cerclés dans le tableau ci-dessus). En revanche, le monôme premier
bc est redondant car il est le consensus des monômes premiers essentiels : bd et cd.
La forme minimale de F est (unique ici) :
F 5 ab 1 bd 1 cd .
2) Il est absolument inutile de recommencer les calculs pour G. En effet, dans la forme
canonique de G, seul le minterm abcd (le dernier du tableau précédent) aura disparu. En
conséquence, ab ne sera plus un monôme premier. Or bc, qui reste monôme premier pour G,
continuera à être couvert par bd + cd, d’où la forme minimale (à nouveau unique) :
G 5 bd 1 cd.
1.5 1) On commence par substituer à toute variable xi ayant un coefficient négatif dans
l’une des inégalités et dans la fraction économique, 1− xi :
2 x1 + 3 x2 + x3 + x4 ≤ 5
3 x1 + 2 x2 + 2 x3 + x4 ≤ 7
x1 + x2 + x3 + x4 ≤ 3
2 x1 + 4 x2 + x3 + 3 x4 − 4 = F[MAX]
F = 4 x2 + 3 x4 + 2 x1 + x3 − 4 (d’où F # 6 5 4 1 3 1 2 1 1 2 4).
Posons : 4x 2 1 3x 4 1 2x 1 1 x 3 5 Fr
446
solutions des exercices du chapitre 1
c’est cet ordre que nous allons tenter de donner aux variables de valeur 1.
Ci-dessous nous présentons les calculs à l’aide d’une arborescence (ce qui est équivalent au
calcul en tableau de la page 33).
2 x1 + x3 + x4 ≤ 5
3 x1 + 2 x3 + x4 ≤ 5
x1 + x3 + x4 ≤ 3
et Fr :
3 x4 + 2 x1 + x = F'
On remarque que dans chaque contrainte ci-dessus, le coeficient de toute variable est
inférieur au second membre : le choix de x2 = 1 n’a pas d’implication sur les valeurs des
autres variables. (Si l’on avait : 2 x1 + 7 x3 + x4 ≤ 5 puisque 7 > 5, une implication serait
x3 = 0 ; mais ce n’est pas le cas ici.)
b. x4 ayant le second plus grand coeficient dans F : 3, on prend x4 = 1 . Les contraintes
deviennent :
2 x1 + x3 ≤ 5
3 x1 + 2 x3 ≤ 4
x1 + x3 ≤ 2
et Fr :
2 x1 + x3 + 3 = F' .
x3 ≤ 3
2 x3 ≤ 1
x3 ≤ 2
et F :
x3 + 5 = F'
447
solutions
x3 ≤ 5
2 x3 ≤ 4
x3 ≤ 3
et F′ :
x3 + 3 = F'
Manifestement F′≤ 4 (au mieux ; si x3 = 1) alors qu’on connaît une solution de valeur
F' = 5 : il n’existe pas de meilleure solution avec x1 = 0 . On va remonter alors à la mise en
cause du choix précédent.
b′. Si on prend x4 = 0 (en gardant x2 = 1 ), les contraintes deviennent :
2 x1 + x3 ≤ 4
3 x1 + 2 x3 ≤ 5
x1 + x3 ≤ 3
et F′ :
2 x1 + x3 = F′
2 x1 + x3 + x4 ≤ 1
3 x1 + 2 x3 + x4 ≤ 7
x1 + x3 + x4 ≤ 2
et F' :
2 x1 + x3 + x4 − 4 = F' .
448
solutions des exercices du chapitre 1
Manifestement désormais F'≤ 0 . La deuxième phase s’achève sans qu’on n’ait trouvé une
meilleure solution que notre « bonne » solution de la phase 1, qui s’avère ici être optimale :
F ′* = 5, x1 = x4 = 1, x2 = x4 = 0
En revenant à F = F′ – 4, on obtient la valeur optimale F* = 1.
6
x2 = 0
x2 = 1
0
6
x4 = 1 x4 = 0
3
6
x1 = 1 x1 = 0
6 4
x3 = 0
5
© Dunod – Toute reproduction non autorisée est un délit.
449
solutions
2.2 1) Le nombre d’éléments du tableau étant 9, l’algorithme commence par trier d’une part
le tableau 7 5 2 8 et le tableau 4 1 3 9 6 avant de fusionner ces deux tableaux en
utilisant l’algorithme présenté à la question précédente.
Appliquons l’algorithme de tri au tableau de gauche : 7 5 2 8 . Ce tableau comportant
plus de deux éléments, l’algorithme doit être exécuté pour les tableaux 7 5 et 2 8 avant
qu’ils soient fusionnés. L’algorithme appliqué à 7 5 commence par séparer ce tableau en
deux tableaux 7 et 5 . Ces deux tableaux étant de taille unitaire, ils constituent chacun un
tableau trié ; le résultat de leur fusion est alors 5 7 . De même, l’application de l’algorithme
de tri au tableau 2 8 donnera 2 8 et la fusion des deux tableaux 5 7 et 2 8 aura
pour résultat 2 5 7 8 .
Le tableau 4 1 3 9 6 est d’abord scindé en deux tableaux : 4 1 et 3 9 6 . Pour
le tableau 4 1 , après une nouvelle séparation et une fusion, le tableau résultat est 1 4 . Le
tableau 3 9 6 est lui séparé en 3 et 9 6 . L’algorithme de tri est appliqué à ce dernier
tableau de deux éléments et le tableau résultant est 6 9 ; sa fusion avec 3 donne 3 9 6 ,
qui lui même fusionné avec 1 4 fournit le tableau 1 3 4 6 9 .
Finalement, la fusion des deux tableaux 2 5 7 8 et 1 3 4 6 9 donne comme
résultat 1 2 3 4 5 6 7 8 9 .
2) Montrons qu’après k passages dans la boucle de l’instruction 2, les k premiers éléments
du tableau Τ ont été correctement insérés. Notons premièrement qu’à chacun des passages
un et un seul élément est inséré dans le tableau. Soit a le dernier élément inséré et supposons
qu’à cette étape T1 ( i1 ) < T 2 ( i2 ) (le raisonnement est évidemment identique dans le cas
450
solutions des exercices du chapitre 2
contraire), T1(i1) est donc inséré en position k de Τ : si a est un élément de T1, c’est-à-dire
a = T1(i1 – l), puisque T1 est trié, on a a < T1 ( i1 ) ; si a est un élément de T2 c’est-à-dire l’élé-
ment T2(i2 – l), à l’étape précédente on avait T1 ( i1 ) . T2 ( i2 2 1 ) 5 a, ainsi l’élément T1(i1)
est donc bien correctement inséré dans T. La boucle de l’instruction 2 se termine lorsque tous
les éléments de l’un des deux tableaux (mais pas des deux) ont été insérés. Supposons que ce
soit l’ensemble des éléments de T2 qui soit dans Τ avant que tous les éléments de T1 soient
insérés (ici aussi, l’autre cas est analogue). Le premier élément non encore inséré de T1 a une
valeur supérieure au dernier élément de T2, sinon il aurait été inséré avant celui-ci. Τ est donc
trié, et contient tous les éléments de T1 et T2.
L’insertion d’un élément dans Τ demande un nombre constant d’opérations élémentaires,
que se soit dans le corps dans la boucle de l’instruction 2 ou dans l’instruction de la ligne 6,
n éléments sont insérés, la complexité est donc O(n) que se soit dans le pire des cas, dans le
meilleur des cas ou dans le cas moyen.
3) Supposons dans un premier temps que n, la taille du tableau, soit de la forme
n = 2k, k étant un entier. Dans ce cas, à chaque étape, un tableau est séparé en deux tableaux
de tailles égales. Ainsi, au premier niveau, le tableau est séparé en 2 tableaux de taille 2k–1,
au deuxième niveau, il y aura 22 = 4 tableaux de taille 2k–2, et ainsi de suite jusqu’au moment
où chaque tableau est de taille 1 et n’est donc plus séparé. À ce stade nous sommes arrivés au
niveau k = log2n de séparation et il y a n tableaux.
À tout niveau b il y a donc 2b tableaux de taille 2k–b ; nous avons vu que la fusion de deux
t
tableaux de taille nécessitait O(t) opérations ; à chaque niveau, les opérations de fusion
2
nécessitent donc O(2b2k–b) = O(2k). Puisque il y a k niveaux, l’ensemble des opérations de
fusion nécessite O(k2k) = O(n log n) opérations élémentaires. Le nombre d’opérations néces-
saires à la séparation du tableau est O(n) puisque la séparation s’arrête quand chaque tableau
est de taille unitaire. Le nombre d’opérations pour l’ensemble de l’algorithme est donc
O(n log n) + O(n) = O(n log n).
Lorsque n n’est pas de la forme n = 2k, soit k l’entier tel que 2k 2 1 , n , 2k. Le nombre
d’opérations exécutées par l’algorithme est moindre que celui nécessaire pour un tableau de
taille 2k. La complexité de l’algorithme est donc O(n log n).
© Dunod – Toute reproduction non autorisée est un délit.
451
solutions
3.1 1) G ( A ) 5 5 F, C 6 ; G ( B ) 5 5 A, B, C, D 6 ; G ( A ) 5 5 B, F 6 ; G ( B ) 5 5 B 6
1 1 2 2
F C E
F E
Une troisième arborescence (particulière, car sans ramiication) est le chemin hamiltonien du 4.
3.2 On cherche un parcours (non orienté) passant par tous les points une fois et une seule.
En termes de graphes : une chaîne (ou un cycle) eulérienne.
Supposons le problème possible avec le point (sommet) de départ d différent du point
(sommet) d’arrivée a. Dans le diagramme les degrés de d et de a seraient alors impairs ; les
autres sommets étant des points de passage, leur degré serait pair. Si d et a étaient confondus,
tous les sommets du diagramme auraient un degré pair. Bref le problème est possible si ce
diagramme comporte au plus 2 sommets de degré impair. Or dans le diagramme des 7 ponts,
les 4 sommets ont un degré impair (dA = dC = dD = 3 et dB = 5) : le problème est impossible.
Avec un huitième pont ajouté entre A et D, le problème est possible en partant de B et en
inissant en C (ou l’inverse).
3.3 1) Toute arête a deux extrémités : si l’on somme tous les degrés des sommets on compte
chaque arête deux fois ; cette somme vaut donc 2m (rappel : m désigne le nombre d’arêtes
du graphe)
452
solutions des exercices du chapitre 3
2) Supposons, par l’absurde, qu’il existe un graphe comportant un seul sommet (noté x1)
de degré impair (noté d1), tandis que les degrés des autres sommets sont pairs : d2 + d3, ..., dn.
On vient de montrer que : d1 + (d2 + d3 + ... + dn) est pair car égal à 2m ; or (d2 + d3 + ... + dn)
étant une somme de nombres tous pairs est paire ; par suite, la somme d1 + (d2 + d3 + ... + dn)
est impaire, ce qui contredit le résultat du 1) : « d1 + d2 + ... + dn » est pair. Il est donc
impossible d’avoir un seul sommet de degré impair.
Plus généralement, on peut montrer que, pour tout graphe, le nombre de sommets de
degré impair, est pair.
Figure 3.7
Figure 3.8
deur du graphe, et calculons les valeurs prévisite et hauteur pour chacun des sommets de la
manière décrite dans la partie dédiée à ce problème.
Figure 3.9
453
solutions
3.5 1) Supposons que le graphe ait un cycle de longueur impaire. Nous pouvons noter
[x1, x2, c, x2n+1, x1] ce cycle. Si x 1 PX alors x 2 PY puisqu’une arête relie x1 et x2. Alors
x 3 PX , et ainsi de suite. Donc tous les sommets d’indice impair sont des élément de X. Mais
{x1, x2n+1} est une arête du cycle ayant ses deux extrémités dans l’ensemble X, donc le graphe
ne peut pas être biparti.
Supposons maintenant que tous les cycles du graphe soient de longueur paire. Effectuons
un parcours de ce graphe en colorant les sommets de la manière suivante : le sommet initia-
lisant le parcours est coloré en bleu. À chaque fois qu’un sommet est ouvert, il est coloré en
bleu si le sommet ayant permis son ouverture est coloré en rouge, et réciproquement le som-
met est coloré en rouge si le sommet ayant permis son ouverture est coloré en bleu. Ainsi à la
in du parcours chaque sommet est soit bleu soit rouge. Les arêtes du graphe correspondant à
un arc de la forêt relative au parcours ont leurs deux extrémités de couleurs différentes étant
donné la manière dont les sommets ont été colorés.
Considérons les autres arêtes [x, y] : il y a une chaîne reliant x et y dans la forêt relative
au parcours. L’ajout de l’arête [x, y] à cette chaîne correspond à un cycle, de longueur
paire par hypothèse. La chaîne reliant x et y dans la forêt a donc un nombre impair d’arêtes.
Cette chaîne appartenant à la forêt, ses sommets sont colorés alternativement en bleu et
rouge, les deux sommets extrémités de cette chaîne ont donc des couleurs différentes. Donc
pour toute arête du graphe, l’une de ses extrémités est rouge et l’autre est bleue. En par-
titionnant l’ensemble des sommets suivant leur couleur, nous vériions alors que le graphe
est biparti.
2) Nous venons de voir dans la démonstration précédente comment un parcours permet
de colorer avec deux couleurs les sommets d’un graphe biparti. Pour vériier qu’un graphe
est biparti, il sufit donc d’effectuer un parcours et de vériier que chaque arête a ses deux
extrémités de couleurs différentes.
3.6 1) Si (y, x) est un arc arrière, en ajoutant cet arc au chemin allant de x à y dans
l’arborescence du parcours nous obtenons un circuit dans le graphe donné.
Réciproquement, considérons un circuit du graphe. Soit x le premier sommet visité de ce
circuit dans l’ordre de prévisite et y le prédécesseur de x dans ce circuit. Le sommet y étant
aussi un descendant de x il y a nécessairement un chemin de x à y dans l’arborescence du
fait que le parcours s’effectue en profondeur (cette propriété a été montrée dans le cas des
graphes non orientés, il est laissé le soin au lecteur de vériier que la démonstration donnée
est encore valide pour les graphes orientés), et de ce fait (y, x) est un arc arrière.
2) Nous avons vu que la complexité d’un parcours en profondeur est O(max(m, n)). La
détection d’un arc arrière (y, x) peut se faire simultanément au parcours sans ajouter d’opéra-
tion supplémentaire. Il sufit lors de la visite du sommet y, au cours de l’examen du sommet
x (successeur de y) de vériier que x est ouvert.
454
solutions des exercices du chapitre 3
3) (E, G) et (F, A) sont des arcs-arrière : ils ferment respectivement les circuits
(E, G, C, D, E) et (F, A, B, F).
3.7 Voici le parcours en profondeur du graphe de l’application, depuis A, puis dans une
seconde phase depuis E, donné par les 2 arborescences (ou « forêt ») et aussi par les différents
états de la pile associée à ce parcours :
2 1
π(B) = 4
8 = π(E) π(A) = 5
E B A
F H
π(H) = 1
π(F) = 7
G D C
A E
B F
D C
H G
H
C C C D
B B B B B B B
A A A A A A A A A
pile vide début fin
phase 1 phase 1
© Dunod – Toute reproduction non autorisée est un délit.
G
F F F
E E E E E
début fin
phase 2 phase 2
NB Ici (G, E ) et (C, A) sont des arcs-arrières : ils ferment les circuits (G, E, F, G ) et
(C, A, B, C ).
(A, H ) est un arc-avant. (D, C), (E, B) et (G, D) sont des arcs-transverses.
455
solutions
E B A 3
G C
F H
F B D H
G D C 1 2 3
456
solutions des exercices du chapitre 4
4.1 1) Chaque phase k fait intervenir le sous-ensemble de variables x1, c, xk, la phase n fait
donc intervenir l’ensemble des variables du problème. Les valeurs zk(d ) correspondent aux
problèmes pour lesquels le second membre de l’inégalité a pour valeur d : ainsi pour d = b et
k = n, nous retrouvons le problème initial, donc z(b) = zk(b).
2) Les problèmes de la phase k = 1 sont de la forme : z1(d ) = max c1x1 avec a1x 1 < d où c1 est
positif et où d est un paramètre entier variant de 0 à b. Lorsque a1 . d, la seule valeur possible de
la variable x1 est x1 = 0 et alors z1(d ) = 0 ; inversement, lorsque a1 < d, les deux valeurs 0 ou 1 sont
possibles pour x1, donc c1x1 est maximal lorsque x1 = 1 et a pour valeur z1(d ) = c1.
variables xi étant positifs, on a bien ak < d. Nous avonc donc d’une part a ai x i < d 2 ak , et
k 21
i51 i51
d’autre part max a ci x i 5 max a a ci x i b 1 ck . La valeur de xk étant ixée, les variables sont
k k 21
i51
i51 i51
x1, c, xk – 1 , ce qui correspond à résoudre les problèmes (paramétrés par d ) :
max a ci x i 5 z k 2 1 ( d 2 ak ) ;
k 21
i51
i51 i51
max a ci x i 5 max a ci x i.
k k 21
i51 i51
Les variables étant x1, c , xk – 1, les problèmes (paramétrés par d) à résoudre sont :
i51
5) Lorsque ak . d, nécessairement xk = 0 et, ainsi que nous venons de le voir dans la question
précédente, zk(d ) = zk–1(d ) ; si ak < d, xk peut a priori prendre l’une des deux valeurs 0 ou 1 ;
si xk = 0, alors comme nous venons de le voir, zk(d ) = zk–1(d ) ; dans le cas contraire, lorsque
xk = 1, nous avons vu que : z k ( d ) 5 ck 1 z k 2 1 ( d 2 ak ) ; en comparant ces deux possibilités, il
vient : z k ( d ) 5 max ( z k 2 1 ( d ) , ck 1 z k 2 1 ( d 2 ak )) .
6) Nous devons déterminer z4(7).
commençons par effectuer la phase k = 1, c’est-à-dire calculer z1(0), z1(1), c, z1(7) ; a1 = 2,
nous obtenons alors z1(0) = z1(1) = 0 avec x1 = 0 et z1(2), c, z1(7) = 16 avec x1 = 1.
Effectuons la phase k = 2 : puisque a2 = 3, nous obtenons z2(0) = z1(0) = 0, z2(1) = z1(1) = 0,
et z2(2) = z1(2) = 16 avec x2 = 0 ; calculons z2(3), nous avons :
457
solutions
z2(3) = max (z1(3), 19 + z1(3 – 3 = 0)) = max(16, 19) = 19, ce maximum étant obtenu pour
x2 = 1 ; de la même manière, nous obtenons :
z2(4) = max (z1(4), 19 + z1(1)) = max(16, 19) = 19, avec x2 = 1 ;
z2(5) = max (z1(5), 19 + z1(2)) = max(16, 19 + 16) = 35, ce maximum étant obtenu avec
x1 = x2 = 1 ;
de même nous obtenons :
z2(6) = max (z1(6), 19 + z1(3)) = max(16, 35) = 35 et
z2(7) = max (z1(7), 19 + z1(4)) = max(16, 35) = 35, obtenu avec x1 = x2 = 1.
Effectuons maintenant la phase k = 3 :
Puisque a3 = 4, nous obtenons z3(0) = z2(0) = 0 , z3(1) = z2(1) = 0 , z3(2) = z2(2) = 16 , et
z3(3) = z2(3) = 19 avec x3 = 0 ; nous avons :
z3(4) = max (z2(4), 23 + z2(0)) = max(19, 23) = 23, obtenu avec x3 = 1 ;
z3(5) = max (z2(5), 23 + z2(1)) = max(35, 23) = 35, obtenu avec x3 = 0 ;
z3(6) = max (z2(6), 23 + z2(2)) = max(35, 23 + 16) = 39, obtenu pour x3 = 1 ;
z3(7) = max (z2(7), 23 + z2(3)) = max(35, 23 + 19) = 42, obtenu pour x3 = 1 ;
Pour inir, la phase k = 4 consistera uniquement au calcul de z4(7) = z(7), la solution du pro-
blème w nous obtenons, puisque a 4 5 5 < 7 :
z4(7) = max (z3(7), 28 + z3(2)) = max(42, 28 + 16) = 44,
et cette solution est obtenue avec x4 = 1, x3 = 0 venant du calcul de z3(2) = 16, x2 = 0 car pour
le calcul de z2(2) nous avions z2(2) = z1(2), et x1 = 1 venant du calcul z1(2) = 16.
Le tableau et le graphe de décisions suivants résument l’ensemble des calculs (on y ajoute
les z4(d) pour d < 7) :
458
solutions des exercices du chapitre 4
4.2 1) Chaque caractère d’une séquence de longueur n peut être soit conservé soit supprimé
pour former une sous-séquence. Il y a donc 2n sous-séquences possibles.
Tester si deux séquences de longueur x sont identiques peut se faire avec un algorithme
de complexité, dans le pire des cas, O(x). Ainsi un algorithme consistant à énumérer les 2n
sous-séquences de A et les 2m sous-séquences Β et à les comparer deux à deux serait de com-
plexité O(min(m,n) . 2n + m ), prohibitive : ne pas énumérer dans le combinatoire !
2) Si zk , la dernière lettre de la plus longue sous-séquence commune Z, n’était pas
ai = bj, on pourrait ajouter zi après zk dans Z et on obtiendrait une sous-séquence commune Zai
plus longue que Z, ce qui est contradictoire. Donc zk = ai = bj et z1 czk – 1 est une sous-
séquence commune à Ai – 1 et Bj – 1. Elle est de longueur maximale car s’il existait S une
sous-séquence commune à Ai – 1 et Bj – 1 de longueur supérieure, la séquence Sai serait une
sous-séquence commune à Ai et Bj de longueur supérieure à Ζ qui est de longueur maximale :
contradiction.
3) zk, la dernière lettre de Z, ne peut pas être la dernière lettre de Ai et de Bj puisque ai 2 bj.
Alors Z est une plus longue sous-séquence commune de Ai – 1 et Bj ou de Ai et Bj – 1.
4) Si i = 0 ou j = 0 l’une des séquences Ai ou Bj est la séquence vide qui est de longueur 0 ;
il est donc évident que f (i, j) = 0.
Lorsque ai = bj, nous avons vu en 2) que z1 czk–1 est une plus longue sous-séquence
commune de Ai – 1 et Bj – 1. Comme f (i – 1, j – 1) est la longueur de z1 c zk – 1, il s’en suit
que z1 czk – 1 zk est la plus longue sous-séquence commune à Ai et Bj ; elle est de longueur
f (i, j) = f (i – 1, j – 1) + 1.
Nous avons montré en 3) que lorsque ai 2 bj, la plus longue sous-séquence commune de
Ai et Bj est une plus longue sous-séquence commune de Ai – 1 et Bj de longueur f (i – 1, j), ou
de Ai et Bj – 1 de longueur f (i, j – 1). Il s’en suit donc que :
f (i, j ) = max (f (i – 1, j), f (i, j – 1)).
5) Si ai = bj, alors T(i, j ) = 1 + T(i – 1, j – 1).
Si ai 2 bj, alors T(i, j ) = max (T(i – 1, j ), T(i, j – 1)).
6) L’algorithme suivant, de complexité O(mn), permet de calculer les valeurs T(i, j ) :
Pour j ← 1 à n faire T(0, j ) ← 0
pour i ← 1 à m faire T(i, 0) ← 0
pour j ← 1 à n faire
si ai = bj alors T(i, j ) ← 1 + T(i – 1, j – 1)
sinon T(i, j ) ← max (T(i – 1, j ), T(i, j – 1))
© Dunod – Toute reproduction non autorisée est un délit.
459
solutions
A p a r i t e
B a1 a2 a3 a4 a5 a6
0 0 0 0 0 0 0
a b1 0 0 1 1 1 1 1
r b2 0 0 1 2 2 2 2
r b3 0 0 1 2 2 2 2
e b4 0 0 1 2 2 2 3
t b5 0 0 1 2 2 3 3
La plus longue sous-séquence commune est donc de longueur 3. C’est : art, comme nous le
montrons dans la question suivante.
8) En partant de l’élément T (n, m) du tableau, la détermination d’une sous-séquence com-
mune de longueur maximale se fait à rebours, depuis le dernier caractère jusqu’au premier,
de la manière suivante ; si ai = bj alors on conserve la lettre ai et on se place dans la posi-
tion (case) T (i – 1, j – 1) ; si ai 2 bj, on se place dans la position du tableau T ( i – l, j) ou
T (i, j – 1) de valeur maximale.
Ainsi dans notre exemple en partant de T (6, 5) on suit la trajectoire suivante (cette trajectoire
n’est pas unique) : on se positionne en T (5, 5) puisque a6 5 e 2 b5 5 t (on aurait aussi bien pu
se positionner en T (6, 4) car Τ (5, 5) = T (6, 4) = 3), ensuite a5 = b5 et le caractère t est conservé et
l’on se positionne en T (4, 4), puis en T (3, 4), puis en T (3, 3) où la lettre r est conservée ; ensuite
on se positionne en T (2, 2) puis en T (2, 1), le caractère a est conservé et l’on arrive en T (0, 0) et
l’algorithme s’arrête. La plus longue sous-séquence commune reconnue est donc : art.
4.3 Ce problème connu depuis l’Antiquité, jouit d’un certain regain d’actualité, car il est analogue
à celui de l’étagement des fusées. Les anciens le traitaient par des méthodes arithmétiques, voire
géométriques. Mais il peut constituer aussi une application de la programmation dynamique.
1) Nous remarquerons simplement que le nombre de voyages effectués par l’animal
décroît de deux chaque fois que la charge disponible diminue de 100 kg. Cela peut per-
mettre de décomposer le problème en « phases », selon qu’après 2n + 1 voyages il reste
n 3 100 , 1 n 2 1 2 3 100 , c , 100 kg de nourriture disponible.
• Partant du point A où 500 kg de nourriture sont disponibles, on va chercher le point B où
l’on peut apporter 400 kg : pour cela la bête parcourra (500 – 400)/0,5 = 200 km constitués
de 4 allers-retours entre A et B, suivis d’un aller AB ; soit au total 9 fois la distance AB ;
ainsi la distance de A à B vaut : 200/9 = 22,22 km.
• Partant de B, on va chercher le point C où on peut apporter 300 kg : pour cela la bête parcourra
(400 – 300)/0,5 = 200 km constitués de 3 allers-retours entre B et C, suivis d’un aller BC ; soit
au total 7 fois la distance BC ; ainsi la distance de B à C vaut : 200/7 = 28,56 km.
• Puis pour constituer un stock de 200 kg en D, la bête fera 2 allers-retours ente C et D, suivis
d’un aller CD ; ainsi CD = 200/5 = 40 km.
460
solutions des exercices du chapitre 4
• Puis pour constituer un stock de 100 kg en E, la bête fera 1 aller-retour ente C et D, suivis
d’un aller DE ; ainsi DE = 200/3 = 66,67 km.
• Finalement de E, la bête ira en un seul voyage à F, parcourant ainsi EF = 200 km. Arrivée
en F, elle aura consommé tout le stock initial de nourriture, soit 500 kg.
• La distance totale entre A et F vaut 22,22 + 28,56 + 40 + 66,67 + 200 = 357,45 km.
500 kg
400 kg
300 kg
200 kg
100 kg 0 kg
distance
0 22,22 50,78 90,78 157,45 357,45
2) Une fois cette question résolue, celle de la deuxième question en découle, en effet, la
route ABCDEF est optimale, qu’elle soit ou non tronquée avant son extrémité ; comme c’est
la route « économique », elle continuera d’être empruntée par l’animal.
À une distance de 90,78 km, il peut apporter au maximum 200 kg de nourriture, d’où 3 voyages
de 100 – 90,78 = 9,21 km et une consommation de 13,81 kg.
À une distance de 100 km, il apportera donc une réserve de 200 2 13, 81 5 186,19 kg au
plus (point T).
kg
A
500
B
400
© Dunod – Toute reproduction non autorisée est un délit.
C
300
D
200
E
100
km
22,2 50,78 90,78 100
461
solutions
4.5 1) Nous allons vériier qu’il existe N, une numérotation topologique des sommets de G :
N(x1) = 1, N(x2) = 2, N(x5) = 3, N(x3) = 4, N(x6) = 5, N(x8) = 6, N(x4) = 7, N(x7) = 8, N(x9) = 9,
N(x10) = 10, est bien une telle numérotation (le numéro de l’origine de tout arc est inférieur au
numéro de son extrémité). G est donc sans circuit. (Cf la in du paragraphe 3. 2 du cours).
2) Initialement, l ( x 1 ) 5 0 , l ( x 2 ) 5 c5 l( x 10 ) 5 2 `.
Examinons tout à tour les sommets suivant l’ordre topologique :
x 1 : l ( x 1 ) 5 0, l ( x 2 ) 5 3, l ( x 3 ) 5 5, l ( x 4 ) 5 4, l ( x 5 ) 5 c5 l ( x 10 ) 5 2 `
x 2 : l 1 x 1 2 5 0, l 1 x 2 2 5 3, l 1 x 3 2 5 6, l 1 x 4 2 5 4, l 1 x 5 2 5 11,
l 1 x 6 2 5 c5 l 1 x 10 2 5 2 `
x 5 : l ( x 1 ) 5 0, l ( x 2 ) 5 3, l ( x 3 ) 5 13, l ( x 4 ) 5 4, l ( x 5 ) 5 11, l ( x 6 ) 5 l ( x 7 ) 5 2 `
l ( x 8 ) 5 16, l ( x 9 ) 5 l ( x 10 ) 5 2 `
x 3 : l ( x 1 ) 5 0, l ( x 2 ) 5 3, l ( x 3 ) 5 13, l ( x 4 ) 5 15, l ( x 5 ) 5 11, l ( x 6 ) 5 20,
l ( x 7 ) 5 16, l ( x 8 ) 5 16, l ( x 9 ) 5 l ( x 10 ) 5 2 `
x 6 : l ( x 1 ) 5 0, l ( x 2 ) 5 3, l ( x 3 ) 5 13, l ( x 4 ) 5 15, l ( x 5 ) 5 11, l ( x 6 ) 5 20,
l ( x 7 ) 5 16, l ( x 8 ) 5 22, l ( x 9 ) 5 29, l ( x 10 ) 5 2 `
x 8 : l ( x 1 ) 5 0, l ( x 2 ) 5 3, l ( x 3 ) 5 13, l ( x 4 ) 5 15, l ( x 5 ) 5 11, l ( x 6 ) 5 20,
l ( x 7 ) 5 16, l ( x 8 ) 5 22, l ( x 9 ) 5 29, l ( x 10 ) 5 23
x 4 : l ( x 1 ) 5 0, l ( x 2 ) 5 3, l ( x 3 ) 5 13, l ( x 4 ) 5 15, l ( x 5 ) 5 11, l ( x 6 ) 5 20,
l ( x 7 ) 5 19, l ( x 8 ) 5 22, l ( x 9 ) 5 29, l ( x 10 ) 5 23
x 7 : l ( x 1 ) 5 0, l ( x 2 ) 5 3, l ( x 3 ) 5 13, l ( x 4 ) 5 15, l ( x 5 ) 5 11, l ( x 6 ) 5 20,
l ( x 7 ) 5 19, l ( x 8 ) 5 22, l ( x 9 ) 5 29, l ( x 10 ) 5 23
462
solutions des exercices du chapitre 4
x5 11 22
3 x2 8 x8
2 x10
3 2 x6
7
x1 13 9 34
x3 20
0 2
4 x9
15 x4 x7 19 29
Ci-dessus : l’arborescence des chemins de valeur maximale de x1 vers les autres sommets.
NB : Nous avons détaillé à l’extrême les calculs ; en pratique il vaut mieux les présenter en
tableau.
l A 5 0 , l B 5 2 , l C 5 10 , l D 5 5 , l E 5 6 , l F 5 9 , l G 5 10, l H 5 14
Ainsi en prenant le trajet A, B, E, F, H la livraison sera faite en 14 mn.
463
solutions
B = 2
8
9
B 9 10 = C
2 11
8
A = 0 4 4 4 C 6
4
A 4
6
7 10 = G
E G
8
8
7 4
6 8
5 3
3
3 3
4 H
D F
8
5
4
8
14 = H
8
5 = D 9 = F
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 2 3 4 5 6 7 8 9
0 5 9 4 8 7 10 12 10 16 13 17 20 15 15 18
0 3 2 5 7 5 11 8 12 15 10 10 13
0 4 1 4 19 16 10 7 19 15 9 9 12
0 7 14 16 12 15
0 4 2 9 9 12 10 14
0 3 18 15 9 6 18 14 8 8 11
0 7 9 5 8
0 5 14
3 0 8 10 13 17
10 9 6 0 9 5 1 5
11 0 2 6
12 0 9
13 4 0 3 7
14 0 4
15 4 0 3
16 0
464
solutions des exercices du chapitre 4
4.8 Pour tracer le graphe PERT, déinissons d’abord les événements du programme.
Mais nous ne pouvons admettre des arcs différents de même origine et de même extrémité,
d’où l’introduction des opérations ictives. La tâche ictive (5,6) ci-dessous n’est pas indispen-
sable ; elle a été introduite pour une meilleure lisibilité.
0 a 32 b 44 c 44 d 44 e 44 f
0 D:0 0 a : 32 32 b : 12 32 b : 12 32 b : 12 32 b : 12
44 c : 3 44 e :3 80 h : 20 44 e :3 80 h : 20 80 h : 20 100 i : 8
44 d : 4 44 f :6 80 j : 13 44 f :6 80 j : 13 80 j : 13 100 k : 38
48 g : 32 48 g : 32 100 : 42
465
solutions
4.9 On remarque que la tâche B intervient plusieurs fois en préalable à d’autres tâches (ici
3 fois ; avec D, E et F ), mais chaque fois en compagnie de tâches différentes :
ainsi B, avec A, précède D ; B seule précède E ; B, avec C, précède F.
Pour éviter toute erreur, il faut alors ne pas fusionner l’événement « in de B » avec l’événe-
ment « in de A » et l’événement « in C » ; si on le faisait, alors on introduirait une contrainte
étrangère au problème ; « E est précédée par B, mais aussi par A et C » ce qui est faux. Puis de
la in de B, on a fait partir des tâches ictives φ : une vers la in de A, l’autre vers la in de C.
De même pour E qui, avec D et F, précède G et I, mais qui, avec la première moitié de C,
précède H ; on a donc laissé « libre » la in de E (i.e. on n’a fusionné cet événement ni avec
la in de D et F ni avec la in de la première moitié de C). Puis de la in de E, on a fait partir
deux tâches ictives : une vers la in de D et de F.
Remarquons que, au contraire, puisque D et F interviennent toujours ensemble en préa-
lable à d’autres tâches (ici G et I), on n’introduit pas d’erreur en fusionnant les deux événe-
ments « in de D » et « in de F ».
D’autre part la tâche C a dû être découpée en 2 tâches C1 et C2, chacune de durée 10 : C1
désigne la première moitié de C et C2, la seconde.
Enin deux tâches différentes (comme ici G et I) ne peuvent pas être représentées par deux
arcs ayant le même sommet initial et le même sommet terminal (si on le faisait, elles devien-
draient confondues, indistinguables). Il convient alors de laisser libre soit le début de G soit
la in de G, ou encore le début de I ou la in de I. On a choisi ici arbitrairement, la in de G.
Chaque sommet du graphe PERT a été représenté par un disque comportant trois champs
(parties) : en haut, on trouve le numéro de l’événement, en bas à gauche sa date au plus tôt et
en bas à droite sa date au plus tard (qui, sur le chemin critique, égale la date au plus tôt). Enin
de même qu’il y a un sommet « début du projet », il faut créer un sommet unique « in du pro-
jet », qui est précédé par les tâches terminales : celles qui ne sont préalables à aucune autre.
2 A 8 D G 10
5 24 16 21 40 8 48 48 63 63
15
φ
φ φ φ I 0
5 0 0 10
1 B 3 E 7 F 25 12
0 0 14 14 23 18 32 46 63 63
φ φ
3 0
φ H
4 C1 5 C2 6 0 17
3 3 13 13 23 23
10 10
φ 11
32 46
0
466
solutions des exercices du chapitre 4
Le chemin critique est (1, 4, 5, 6, 9, 10, 12) ; les tâches C1 et C2 (c’est-à-dire C), F et G
sont critiques. Le projet dure au minimum 63 jours.
0 a 0 b 0 c 2 d 9 e 9 f 9 g
0 D:0 0 D:0 0 D:0 0 a :2 0 b:5 0 b:5 0 b:5
2 d :7 2 d:7 2 d:7
12 h 12 i 20 j 20 k 22 26 m 28 F
0 c:3 0 c:3 9 g:4 9 g:4 12 i :7 9 f : 5 22 : 5
9 e :3 9 e :3 12 h : 8 12 h : 8 20 k : 2 20 j : 6 26 m : 2
0 a 3 b 1 c 2 d 9 e 9 f 9 g
0 D:0 0 D:0 0 D:1 0 a :2 3 b:5 3 b:5 3 b:5
© Dunod – Toute reproduction non autorisée est un délit.
1 c:2 2 d :7 2 d :7 2 d :7
11 h 12 i 19 j 21 k 23 25 m 28 F
9 e:2 1 c:3 9 g:4 9 g:4 21 k : 2 19 j:6 25 m : 2
1 c:3 9 e:3 11 h : 8 11 h : 8 12 i :7 9 f :7 23 : 5
19 j:2
467
solutions
Elles sont aussi évidentes dans le graphe relatif à cette méthode (en pratique, on n’a pas
besoin de tracer de graphe et on utilise le tableau).
468
solutions des exercices du chapitre 4
Chaîne
améliorante
La igure en bas de cette page tient compte des modiications effectuées sur la chaîne ; la pro-
cédure de marquage n’aboutit plus à S. On a donc une solution optimale (une autre solution
optimale évidente sature toutes les destinations sauf E), de valeur 90.
On remarquera que la coupe (Γ), dont font partie tous les sommets non marqués, reçoit bien un lot
optimal : tous les arcs allant de sommets marqués vers des sommets non marqués sont saturés ; le
seul arc allant d’un sommet non marqué à un sommet marqué transporte un lot nul : c’est (B, H ).
10 +A
D Γ Sommet marqués Sommet non
-G marqués
0
© Dunod – Toute reproduction non autorisée est un délit.
A D
5 10
E A E
30 15 25
20 B
O 5 15 C F S
S
40 0 F
10 25 O B
5 0 +
G H
C 5
+O +C 15 G
20
10 FLOT COUPE
H OPTIMAL MINIMALE
5 (Γ )
+A
NB : ci-dessus, les arcs en traits épais sont des arcs saturés.
469
solutions
x1
[3]
[5] 2 3
x5
x2
[2] [1] [12] 9
x3 x5 x4
2 1
[3] 2
3 [5]
x2 Flot initial
(de valeur 9)
x1
[4], 4
1) Ce graphe est bien un « réseau de transport » : il est ini, sans boucle, comporte un
sommet-source (x3) et un sommet-puits (x4) et tout arc est valué par un entier positif (nommé :
« capacité »).
2) Les lux proposés forment bien un lot : tout lux sur un arc est supérieur ou égal à zéro
et inférieur ou égal à sa capacité : en tout sommet autre que la source et le puits, on vériie la loi
de Kirchhoff : la somme des lux entrant sur le sommet égale celle des lux sortant ; ainsi en x1
il entre 2 + 2 = 4 et repart 1 + 3 = 4, etc.
Le lot proposé est complet: tout chemin de la source au puits comporte au moins un arc
saturé (il n’est donc pas trivialement améliorable).
Appliquons la procédure de marquage de Ford-Fulkerson : on l’initialise en marquant la
source x3 du signe + ; puis x1 est marqué +x3, car l’arc (x3, x1) n’est pas saturé ; puis x2 est mar-
qué –x1 car l’arc (x2, x1) est de lux non nul ; puis x5 est marqué +x2 car l’arc (x2, x5) n’est pas
saturé ; enin x4 est marqué +x5. Puisque le puits est marqué, le lot proposé n’est pas optimal.
Voici la chaîne améliorante μ (qu’on trouve en remontant le marquage, depuis le puits).
+x3
x1
2 +x2 +x5
9
+ [5] x5 x4
[12]
x3 2 2
470
solutions des exercices du chapitre 4
Les arcs « directs » de μ sont ceux qu’on rencontre dans le sens de leur orientation lors-
qu’on parcourt la chaîne de la source jusqu’au puits ; ce sont : (x3, x1), (x2, x5), (x5, x4) (ces
arcs ont donné lieu à un marquage +). Ici il y a un seul arc « indirect » : (x2, x1) (qui a donné
lieu à un marquage 2).
Les capacités résiduelles des arcs directs sont : 522, 522, 1229 : la plus petite capacité
résiduelle est donc δ+ = 3 ; le lux de l’arc indirect (x2, x1) est : 2, donc δ2 = 2. Le lot peut être
amélioré de δ = min (δ+, δ2): sur tout arc direct, le lux est augmenté de δ, soit ici de 2 unités ;
sur tout arc indirect, le lux est diminué de δ (22 unités sur (x2, x1)).
Le lot amélioré, de valeur 9 + δ = 11 , est le suivant :
[3] 4
3 [5]
x2
[4] 4
* 4.13 Soustrayons des éléments de chaque ligne le plus petit élément de celle-ci : on obtient
le tableau 1 ; puis opérons de même pour les colonnes b et e ne contenant pas encore de zéro;
il vient le tableau 2.
a b c d e f a b c d e f
© Dunod – Toute reproduction non autorisée est un délit.
A 0 80 17 4 29 42 A 0 72 17 4 19 42
B 16 11 66 77 10 0 B 16 3 66 77 0 0
C 15 41 60 0 71 68 C 15 33 60 0 61 68
D 52 8 0 12 10 57 D 52 0 0 12 0 57
E 0 26 63 29 58 55 E 0 18 63 29 48 55
F 0 19 56 11 58 55 F 0 11 56 11 48 55
↑8 ↑10
Tableau 1 Tableau 2
471
solutions
�0 �E (ou � F)
a b c d e f E a
A 0 68 13 0 15 38
F d �A
B 20 3 66 77 0 0 �a
C 19 33 60 0 61 68 � A
0 f
D 56 0 0 12 0 57 �d S
E 0 14 59 25 44 51 C
e
F 0 7 52 7 44 51 B
b
Tableau 3 D c
472
solutions des exercices du chapitre 4
473
solutions
A -a a +D
couplage amélioré :
B b
+b
O +A S
C
c
D d
+O
L’amélioration du couplage, par la chaîne ODaAbS donne l’une des trois solutions opti-
males équivalentes : A S b ; B S c ; C S d ; D S a . Les 2 autres solutions optimales sont :
3 A b ; Ba ; Cc ; Dd 4 et 3 Ab ; Bc ; Ca ; Dd 4 .
4.14 1) Il s’agit d’un problème de transport classique. On prend comme unité la centaine de
tonnes. On rappelle que, si ;
x 11 , x 12, c, x 16 , x 21 , x 22 , c, x 26 , c, x 41, x 42 , c, x 46
sont les quantités à transporter des origines 1, 2, c, 4 aux destinations 1, 2, 3, c, 6 on a :
x 11 1 x 12 1 c 1 x 16 5 5
x 21 1 x 22 1 c 1 x 26 5 6
4 équations en ligne : cccccccccc
x 41 1 x 42 1 c 1 x 46 5 9
6 équations en colonne : x 11 1 x 21 1 x 31 1 x 41 5 4
x 12 1 x 22 1 x 32 1 x 42 5 3
cccccccccc
x 16 1 x 26 1 x 36 1 x 46 5 2
et l’on doit minimiser :
F 5 9x 11 1 12x 12 1 9x 13 1 c1 7x 21 1 c1 6x 31 1 c1 6x 41 1 c1 10x 46.
La théorie des équations linéaires nous apprend que le système de solutions comportera
au moins 24 2 ( 4 1 6 2 1 ) 5 15 valeurs nulles.
474
solutions des exercices du chapitre 4
9 12 9 6 9 10 3 3 0 0 0 0
7 3 7 7 5 5 2 2 2 4 IV 0 0
6 5 9 11 3 11 2 2 2 1 3 3 VI
6 8 11 2 2 10 0 0 4 III 2 5 V -
∆c 0 2 2 4 1 5I
0 2 2 4 II 1 -
0 2 2 - 1 -
0 - 2 - - -
1 2 3 4 5 6 ai
1 5VIII 5
2 3IV 1VII 2I 6
3 1VI 1IX 2
4 3V 2II 4III 9
bj 4 3 7 2 4 2
Coût total : 116
Tableau 1
Le détail du calcul des δij est traité dans l’exercice suivant 4.16
On obtient ici :
δ11 = 3 ; δ12 = 7 ; δ14 = 4 ; δ15 = 7 ; δ16 = 3 ; δ21 = 3 ; δ24 = 7 ; δ25 = 5 ;
δ32 = 0 ; δ34 = 9 ; δ35 = 1 ; δ36 = 4 ; δ42 = 3 ; δ43 = 2 ; δ46 = 3.
La solution obtenue est optimale car tous les δij sont positifs ou nuls, mais elle n’est pas unique,
car δ32 = 0 permet d’en obtenir une seconde solution de base (tableau 2) de même coût : 116.
1 2 3 4 5 6
I 5 5
© Dunod – Toute reproduction non autorisée est un délit.
II 2 2 2 6
III 1 1 2
IV 3 2 4 9
4 3 7 2 4 2
Tableau 2
475
solutions
mn – (n + m – 1) = 5 × 4 – (5 + 4 – 1) = 12
xij nuls (cases non affectées). 1 2 3 4 5
Cette solution sera désignée par la 1 800 96 896
dénomination : tableau 1. 2 343 50 389 782
Le calcul des coûts marginaux des
substitutions unitaires possibles à partir de 3 401 542 943
cette solution de base, fournit (voir l’arbre 4 928 928
1) les résultats suivants (nous nous bor-
nons à indiquer les δij négatifs) : 800 439 50 790 1470
Coût total : 181 721
Tableau 1
476
solutions des exercices du chapitre 4
On tombe sur le tableau 4 après avoir effectué la seconde de ces substitutions. Il ne comporte
(arbre 3) qu’une substitution intéressante: δ12 = 0 + 47 – 91 = – 44, avec ν = 85 et ρ = –3 740
1 2 3 4 5
1 439 457
2 782
3 800 50 8 85
4 928
Tableau 4
Arbre 3
Après avoir effectué cette substitution, on obtient le tableau 5, dans lequel apparaît (arbre 4)
une seule relation de coût marginal négatif : δ44 = 0 + 77 – 85 = –11, avec ν = 8 et ρ = – 88
1 2 3 4 5 1 2 3 4 5
1 354 542 1 +46
346 +106 +16
550
2 782 2 +46 +45 +17
782 +33
On obtient inalement le tableau 6, pour lequel on vériie que les coûts marginaux δij donnés
en petits chiffres sont tous strictement positifs ; il s’agit donc de l’unique solution optimale.
b) La règle de la différence maximale donne évidemment une solution de base initiale
bien meilleure que la règle du coin nord-ouest.
1 2 3 4 5 �max
1 21 11 84 49 13 896 2 8 36 IV
© Dunod – Toute reproduction non autorisée est un délit.
2 27 52 43 29 42 782 2 2 13
3 11 47 14 80 93 943 3 3 69 III 13 VII et VIII
4 52 94 76 74 54 928 2 2 2 20
800 439 50 790 1470
10 36 I 29 II 20 29 II
45 V 12
6 39 VI
477
solutions
On obtient ainsi le tableau 7, dont le coût total est seulement 101 605, c’est-à-dire à moins
de 4 % de l’optimum :
On calcule δ32 = c32 – c12 + c15 – c35 = –44
1 2 3 4 5 La substitution porte sur v = 85 unités :
1 2 3 4 5
1 439 � 457 �
1 354� 542�
I II
2 782 2
III
3 800 85� 50 8�
800 � 50 8 85 �
3
V IV VII VIII 4 �
928
�
928 Pour cette solution δ44 = –11. Le cycle de
4
VI substitution est donné ci-dessus. Cette substi-
tution, avec v = 8, fournit le tab. 6 : l’optimum.
Tableau 7
En conclusion : la méthode de la différence maximale (Bales-Hammer) est bien supérieure à la
méthode du coin Nord-Ouest (et aux méthodes «gourmandes» décrites en 4.9). Lorsqu’elle ne fournit
pas l’optimum, elle donne une solution qui en est proche.
2) Passons à l’algorithme de Kruskal. À cet effet, établissons la liste des arêtes par ordre
de valeurs croissantes : (pour simpliier : [X,Y] est noté XY)
BH : 1 : EI : 1 : BF : 2 : AB : 2
CG : 3 : EG : 3 : AH : 4 : FH : 4
DI : 5 : EF : 5 : CD : 5 : DG : 6
DE : 6 : FI : 7 : BG : 7 : CI : 8
AE : 8 : EH : 9 : CF : 9 : FG : 10
On prend successivement, dans l’ordre ci-dessus, les arêtes qui ne forment pas de cycle
avec les précédentes : BH, EI, BF, AB, CG, EG, puis on élimine AH et FH, qui forment des
cycles avec les précédentes ; enin, on retient DI et EF.
On retrouve la même solution que ci-dessus, mais on peut aussi remplacer DI par CD, de
même valeur : il existe plusieurs arbres optimaux.
478
solutions des exercices du chapitre 4
4.18
Il s’agit du problème du voyageur de commerce (en anglais : travelling salesman problem,
« TSP ») qu’on résout par l’algorithme de LITTLE et al. (historiquement une des premières
méthodes de recherche arborescente, nommée « Branch and Bound »). Plus bas on écrit :
« C.H. » pour circuit hamiltonien.
• Initialisation
Partant du tableau initial des coûts, on commence par faire apparaître un « zéro » (coût réduit
nul) dans chaque ligne en retranchant à chaque ligne son plus petit élément ; puis un « zéro »
dans chaque colonne en retranchant, à chaque colonne du tableau obtenu, son plus petit
élément. On dit alors que le tableau des coûts est « réduit ».
Ainsi on retranche 1 à tous les éléments de la ligne D, puis 1 à tous ceux de la colonne B. Le
coût de tout C.H. est au moins égal à la somme des éléments retranchés, soit 2 : la borne b0
associée à la racine s0 de l’arborescence est b0 = 2.
On obtient le tableau « réduit » suivant :
• 1ère itération
Puis on calcule le regret de chaque « zéro » (cf Tab. 0) et l’on considère l’arc de coût réduit
nul dont le regret est maximal, c’est ici (B,A) ; son regret vaut : c 0BD 1 c 0EA 5 3 1 0 5 3
On va alors séparer l’ensemble s0 de tous les C.H. en deux sous-ensembles s1 et s2. Ceux qui
n’empruntent pas l’arc (B,A) forment le sous-ensemble s1 ; la borne inférieure de leur coût b1 ,
est égale à la borne inférieure précédente b0 = 2, augmentée du regret de (B,A) : 3, soit b1 = 5.
Les C.H. qui empruntent l’arc (B,A) forment le sous-
© Dunod – Toute reproduction non autorisée est un délit.
• 2ème itération
On va séparer s2 car il a la plus faible borne parmi
les sommets pendants ; son tableau de coûts réduits Tab. 2
479
solutions
est donné ci-dessous (Tab. 2) ; on y a indiqué aussi le regret de chaque « zéro », le regret
maximal est 2, relatif à l’arc (A,C). On sépare donc s2 en deux sous-ensembles s3 et s4. s3 est
l’ensemble des C.H. passant par (B,A) mais évitant (A, C), de borne b3 = b2 + rA2 C p 4A C = 2 + 2 = 4 ;
s4 est l’ensemble des C.H. passant par (B,A) et (A,C).
On supprime alors dans le tableau de s2 (Tab. 2) la ligne A, la colonne C et on interdit
l’arc parasite (C,B) qui formerait avec les deux arcs déjà retenus, un circuit de longueur
3 : pas un C.H. (on pose donc c 4CB : 5 `) ce qui donne le nouveau tableau (Tab.4).
L’arborescence Arb. 2 illustre cette nouvelle séparation :
Tab. 6 Tab. 69
Tab. 4 Arb. 2
• 3ème itération
On va séparer le sommet qui a la plus faible borne parmi les sommets pendants, soit s4. L’arc
(D,E) a le plus fort regret (il vaut 5) : on va séparer s4 en s5 et s6 ; b5 = b4 + r 4DE = 2 + 5 = 7.
Le tableau associé à s6 (Tab. 6) est obtenu en supprimant la ligne D et la colonne E et en
interdisant l’arc parasite (E,D) ; mais, cette fois, le tableau restant (Tab. 5) n’est pas réduit (il
ne comporte pas un « zéro » dans chaque ligne et chaque colonne) : il faut retrancher 4 aux
éléments de sa ligne C (pour le réduire) ; par suite : b6 = b4 + 4 = 6 : cf Tab. 6′.
Remarquons qu’on n’a alors plus le choix ; les arcs (C,D) et (E,B) doivent être pris ; avec
ceux précédemment pris ils forment le C.H. (B,A,C,D,E,B), de coût 6. Mais il n’est pas
nécessairement optimal.
• 4ème itération
Cette fois le sommet pendant de plus faible borne (s3) n’est
pas le fils (s6) du sommet qu’on vient de séparer (s4) d’où un
SAUT vers le sommet s3 (dans le nom anglais “Branch and
Bound”, Bound a les deux sens : borne et bond/saut).
Le tableau relatif à s3 s’obtient à partir de celui de s2,
simplement en posant c 3A , C 5 `, puis en le réduisant : on
retranche 1 en ligne A et 1 en colonne C ; la somme des
éléments retranchés (1+1) est précisément le regret de l’arc
(A,C), qui a déjà été pris en compte pour évaluer la borne de
s3 (= b2 + r 3AC) qui vaut bien 2.
Tab. 3
Il serait donc faux de l’ajouter à nouveau à b3.
480
solutions des exercices du chapitre 4
Tab. 8
Arb. 3
• 5ème itération
On sépare s3, qui est le sommet pendant de plus faible borne, à l’aide de l’arc (A,D), qui a
le plus fort regret parmi les « zéros » (r 3AD 5 1, cf Tab. 3), en s7 (refus de (A,D)), avec (b7 =
b3 + r 3AD 5 4 1 1 5 5) , et en s8 (on accepte (A,D)) ; après suppression de la ligne A et de la
colonne D et l’interdiction de l’arc parasite (D,B) obtenue en faisant c 8DB 5 1 `, on obtient
le tableau Tab. 8, qui se trouve être « réduit » ; par suite b8 = b3 = 4.
• 6ème itération
On sépare le sommet pendant de plus faible borne : s8, à l’aide de (D,C) de regret 1, en s9
3
(refus de (D,C), avec b9 = b8 + rDC 5 4 + 1 = 5) et en s10 (après suppression de la ligne D et
de la colonne C dans le tableau Tab. 8, et de l’arc parasite (C,B) obtenu en posant c10CB 5 1 `,
on obtient le tableau 10 qui se trouve être réduit ; par suite b10 = b8 = 4). On constate alors le
choix forcé de (C,E) et (E,B) ; on obtient le C.H. (B,A,D,C,E,B) de coût 4 : il est optimal car
tous les sommets de l’arborescence ont une borne supérieure à 4. On arrête-là la recherche
arborescente.
© Dunod – Toute reproduction non autorisée est un délit.
Tab. 10
Arb. 4
481
solutions
5.1 1) État Ek : depuis le dernier bit transmis correctement, k bits faux ont été transmis.
Réinitialisation : arc (N, 1) ; si cet arc n’existait pas (pN = 1), on aurait affaire à un graphe
d’un problème de renouvellement.
2) a) 0 1 2 3
0 0, 95 0, 05 0 0
M 1 0, 20 0 0, 80 0
2 0, 15 0 0 0, 85
3 0, 10 0, 90 0 0
482
solutions des exercices du chapitre 5
p0 q0 0 0
p1 0 q1 0
3 p*0 ; p*1 ; p*2 ; p*3 4 # E U , d’où : p *0 # p0 1 p *1 # p1 1 p *2 # p2 1 p *3 # p3 5 p *0.
p2 0 0 q2
p3 q3 0 0
Donc p 5 p *0 5 0,7578 : cette valeur est beaucoup trop faible : un canal qui ne trans-
mettrait correctement que 3 bits sur 4 serait à réformer d’urgence ! Dans un cas réel, le cahier
des charges imposerait que p = 0,999... (en ixant le nombre de 9 après la virgule).
5.2 On montre aisément que G est fortement connexe ; en outre G comporte 4 boucles :
la chaîne est donc régulière puisque comportant une seule classe dʼétats, apériodique. On a
donc P* = P(0) # m* et P* = P* # m. Cette relation peut s’écrire P* # (m – i) = 0.
Pour obtenir P* 5 3 p *1 , p *1 , c, p *n 4 , il sufit de résoudre le système :
P* # ( m 2 i) 5 0
b
p *0 1 p *1 1 c1 p *n 5 1,
qui s’écrit ici :
p *0 1 p *1 1 p *2 1 p *3 5 1
© Dunod – Toute reproduction non autorisée est un délit.
483
solutions
1 3 0 2 4
1
1 0,3 0,7 0 0 0
3
3 0,5 0,5 0 0 0
m50H X
m5 0 0 0 0,2 0,4 0,4
2
2 0 0 0,6 0,2 0,2
4
4 0 0 0,4 0,2 0,4
On verrait, en calculant :
lim 3 m 4 n
nS`
que les sous-matrices carrées sont séparément ergodiques :
5 7
0 0 0
12 12
5 7
0 0 0
12 12
lim 3 m 4 5 11 8 10
nS ` 0 0
29 29 29
11 8 10
0 0
29 29 29
11 8 10
0 0
29 29 29
484
solutions des exercices du chapitre 5
33 0,4 0,6 0 0 0
M5
m = 1 G0,1 0,3 0,2 0,3 0,1W
c D En Dn
La matrice stochastique a a une limite a* lorsque n augmente indéiniment ; on a aussi :
lim Dn 5 0 ; comme la puissance ne d’une matrice stochastique est encore une matrice sto-
nS`
chastique, si Dn → 0 lorsque n augmente indéiniment, En est une matrice stochastique (la
somme des termes de chacune de ses lignes égale à 1).
n
0,2 0,8 1/3 2/3
lim
nS ` B R 5 B R
0,4 0,6 1/3 2/3
Dans l’exemple précédent a* 5 lim an 5 lim
nS ` n S `.
485
solutions
On montre aisément que lim Dn 5 0 (en effet, la probabilité – partant d’un état tran-
nS`
sitoire – de trouver le système dans un état transitoire après n transitions tend vers 0 quand
n → ∞).
Prenons la limite pour n → ∞ de chaque membre de : En 5 En 2 1 # a 1 Dn 2 1 # c.
Il vient, en posant E * 5 lim En il vient : E * 5 E * # a 1 0, puisque lim Dn 5 0 et que
lim En 5 lim En 2 1. nS` nS`
nS` nS`
E * est aussi une matrice stochastique ; on peut donc poser :
D’où : e*1 5 0,2e*1 1 0,4 ( 1 2 e*1 ) et e*1 5 1/3. De même, on trouve e*2 5 e*4 5 1/3.
1/3 2/3
1/3 2/3
Finalement :
0 3 1 2 4
0 1/3 2/3 0 0 0
3 1/3 2/3 0 0 0
m* 5 lim m n 5 1 G1/3 2/3 0 0 0W
nS `
2 1/3 2/3 0 0 0
4 1/3 2/3 0 0 0
Cette chaîne est “simplement ergodique” car elle comporte des états transitoires de
probabilité-limite nulle, et on a : Π(`) 5 3 1/3 2/3 0 0 0 4 .
NB. Une propriété analogue peut être montrée pour les matrices de la forme
a B
B R, qui sont aussi décomposables (ou « réductibles »).
0 D
5.5 Sur le graphe représentatif, on voit clairement que tout état
de e1 (0 ou 3) est suivi d’un état de e2 (1, 2 ou 4) ; cela veut dire
que le système oscille perpétuellement entre e1 et e2.
La matrice m peut être sous la forme :
486
solutions des exercices du chapitre 5
3 0 1 2 4
0 0 0 0,4 0,6 0
2 0,1 0,9 0 0 0
4 0,7 0,3 0 0 0
0 a
par rangement convenable des lignes et colonnes, la matrice est du type : B R où les
B 0
matrices nulles s’appuyant sur la diagonale sont carrées ; les matrices de ce type sont dites
périodiques.
On calculerait facilement :
2n
0 a ( aB)n 0
B R 5 B R
B 0 0 ( Ba )n
et
2n 1 1
0 a 0 ( aB)na
B R 5 B R
B 0 ( aB)na 0
3 0 1 2 4
1 5 3
0 0 0
6 6
1 5 0
0 0 0
6 6
lim 2n 22 35 3
et :
nS` m 5 0 0 1
© Dunod – Toute reproduction non autorisée est un délit.
60 60 60
22 35 3
0 0 2
60 60 60
22 35 3
0 0 4
60 60 60
487
solutions
3 0 1 2 4
22 35 3
0 0 3
60 60 60
22 35 3
0 0 0
60 60 60
1 5
lim m2n 1 1 5 0 0 0 1
nS ` 6 6
1 5
0 0 0 2
6 6
1 5
0 0 0 4
6 6
Il n’y a donc pas, à proprement parler, de limite de m lorsque n tend vers l’inini.
0 1 0
5.6 1) m 5 D 0 0 1 T est une matrice dite de « permutation ».
1 0 0
Par récurrence : supposons que m n ait la forme donnée dans l’énoncé ; montrons que
mn+1 a alors la forme analogue :
an an 2 1 an 1 1 0 1 0 an 1 1 an an 2 1
m n 1 1 5 mn # m 5 D an 1 1 an an 2 1 T # D 0 0 1 T 5 D an 2 1 an 1 1 an T
an 2 1 an 1 1 an 1 0 0 an an 2 1 an 1 1
2p ( n 2 1 ) 2p ( n 1 1 )
En remarquant que an 2 1 5 an 1 2 (car cos 5 cos , puisque
2p (n 1 2) 2p (n 1 1) 3 3
5 1 2p et que cos x = cos(x + 2p) ), il vient :
3 3
an 1 1 an an 1 2 am am 2 1 am 1 1
m n 1 1 5 D an 1 2 an 1 1 an T 5 D am 1 1 am am 2 1 T , où m 5 n 1 1.
an an 1 2 an 1 1 am 2 1 am 1 1 am
1 0 0 0 1 0 0 0 1
m 3k 5 D 0 1 0 T 5 i ; m 3k 1 1 5 m 5 D 0 0 1 T ; m 3k 1 2 5 D 1 0 0T.
0 0 1 1 0 0 0 1 0
488
solutions des exercices du chapitre 5
D’une manière générale, pour une chaîne de Markov comportant une classe d’états
récurrents périodiques, (de période d), dans les racines de l’équation caractéristiques
igurent les racines d ièmes de l’unité : ei.2kp/d où : k = 0, 1, c, d – 1.
En outre, si une chaîne de Markov possède p classes d’états récurrents, l = 1 est racine
d’ordre p de l’équation caractéristique (c’est-à-dire que l’on peut mettre (l – 1)p en facteur
© Dunod – Toute reproduction non autorisée est un délit.
(a t)4
5.8 1) p4 ( t ) 5 # e 2 at : car la longueur de l’intervalle [t, 2t] est t.
4!
(2 a t)4
p 4 ( 2t ) 5 # e 2 2at : car la longueur de l’intervalle [3t, 5t] est 2t.
4!
489
solutions
( Dt ) 0 #
2) p0 ( Dt ) 5 e 2 a Dt 5 1 2 a D t 1 o ( Dt ) , car le développement de e–x en série :
0!
x1 x2 x3
e2x 5 1 2 1 2 1 c fournit pour x petit le développement limité :
1! 2! 3!
e–x = 1 – x + o(x).
La probabilité d’avoir un événement entre o et o 1 Dt est :
Dt
p ( Dt ) 5 e 2 aDt 5 aDt 1 0 ( Dt )
1!
La probabilité d’avoir deux événements entre θ et θ + Δt est :
( Dt ) 2 ( Dt ) 2 ( Dt ) 2
p2 ( Dt ) 5 e 5 3 1 2 aDt 1 o ( Dt ) 4 5
2 aDt
1 o ( Dt2 ) 5 o ( Dt2 )
2! 2 2
cette probabilité, du second ordre en Δt, est négligeable.
3) n ( t ) 5 E ( Xt ) 5 a t, où Xt est la variable aléatoire « nombre d’événements sur un
intervalle de temps de longueur t. » Par déinition : s 2Xt 5 var ( Xt ) 5 E ( X2t ) 2 ( E ( Xt )) 2.
E ( X 2t ) 5 a n2 # pn ( t ) 5 a n ( n 2 1 ) # pn ( t ) 1 a n # pn ( t ) .
` ` `
Or : a 5 a
` (a t)n2 2 ` (a t)m
5 eat (en posant m = n – 2) ; on reconnaît la série qui
5 a
n52 ( n 2 2 ) ! m50 m! `
x1 x2 c xm
déinit l’exponentielle (rappelons que ex 5 1 1 1 1 ).
1! 2! m50
m!
Finalement : E ( X 2t ) 5 3 ( a t ) 2e 2 at # eat 1 E ( Xt ) 4 et :
s 2X t 5 3 ( a t ) 2 1 a t 2 ( a t ) 2 4 5 a t.
4) La durée Τ séparant deux événements consécutifs est régie par la loi exponentielle de
taux α ; elle vaut donc en “moyenne” (espérance) : 1/α.
3 u # e # du 2
`
1 2 2u
1 2! 1 1
var T 5 5 2 5 .
2 2 2 2
a 0 a a a a2
490
solutions des exercices du chapitre 5
p r ( t ) 5 2l # p1 ( t ) (1)
b
p rn ( t ) 5 ( n 2 1 ) l # pn 2 1 ( t ) 1 nl # pn ( t ) (2)
5.10 1) Supposons, pour simpliier, que de Ei on ne puisse atteindre que deux états, soit Ε1 et E2.
On note, alors, li1 = α et li2 = β. On a ici qi = α + β.
Soient les deux variables aléatoires Y1 et Y2 telles que :
P[Y1 . t] = e–αt et P[Y2 . t] = e–βt ;
par conséquent :
F1 ( t ) 5 P 3 Y1 < t 4 5 1 2 e 2 at , et
F2 ( t ) 5 P 3 Y2 < t 4 5 1 2 e 2 bt
sont les fonctions de répartition de ces deux variables
aléatoires.
© Dunod – Toute reproduction non autorisée est un délit.
pi1 5 3 P 3 t 2 dt , Y1 < t 4 # P 3 Y2 . t 4 5 3 f1 ( t ) dt # 3 1 2 F2 ( t ) 4
` `
0 0
491
solutions
pi1 5 3 a e 2 at dt # e 2 bt 5 a 3 e 2 (a 1 b )t # dt 5
` ` l i1
a
5 .
0 0 a 1b l i1 1 l i2
b l i2
De même, on calculerait pi2 5 5 .
a 1b l i1 1 l i2
j2i
2) Ce graphe étant ini et fortement connexe, le processus de Markov associé est forte-
ment ergodique.
492
solutions des exercices du chapitre 5
1
3) La durée moyenne d’une phase 1 est v (puisque cette durée est régie par une loi expo-
nentielle de taux ω).
1 20 1 3
v 5 3 600 h, d’où : ω = 180 h ; m 5 60 h , d’où μ = 20 h .
–1 –1
m # p*2 5 ( l 1 a ) # p*0
l l 1 (a)
d l # p*0 5 v # p*1 d’où: p*0 # B1 1 v 1 m R 51.
2b * 2b 2b b
p*1 5 p 5 12p*0 , p*2 5 p*1 5 72p*0 , p*3 5 p*2 5 288p*0 , p*4 5 p*3 5 432p*0 .
a 0 2a 3a 4a
© Dunod – Toute reproduction non autorisée est un délit.
493
solutions
b b b b
b) q*1 5 q*0 5 6q*0 , q*2 5 q*1 5 18q*0 , q*3 5 q*2 5 36q*0 , q*4 5 q*3 5 54q*0 ,
a 2a 3a 4a
b b 243 *
q*5 5 p*0 5 81q*0 , q*0 5 q*5 5 q0 .
4a 4a 2
2 1 12 1 36 1 72 1 108 1 162 1 243 2
q*0 # a b 5 1, d’où : q*0 5 .
2 635
243
c) r r 5 0 # ( q*0 1 c1 q*5 ) 1 1 # q*6 5 5 0,3827
635
NB r 2 r r 1 1.
810
rr 5 6q*0 1 5q*1 1 4q*2 1 3q*3 1 2q*4 1 1q*5 5 5 1,2756
635
8 1 36 1 72 1 72 188
t 5 4q*0 1 3q*1 1 2q*2 1 q*3 5 5
5 0,2961.
635 635
3) Coût journalier de P1 : 500r 1 2 000r 1 300N 5 3 088 €/j
P2 : 500 r r 1 2 000t 1 300 ( N 1 S ) 5 2 584 €/j.
La seconde politique est préférable.
5.13 Sur le graphique ci-après, les déplacements dus aux réglages sont indiqués en traits
gras, ceux qui correspondent à des transitions concernant l’évolution du système sans inter-
vention extérieure sont igurés en traits ponctués ; les probabilités de transfert et les gains sont
indiqués sur les arcs.
494
solutions des exercices du chapitre 5
Les variables de décision sont les xi , les variables de position les yi ; les espérances
mathématiques de gain seront désignés par Z. On a, en unités monétaires (u.m.) :
Z n1 E1 , E1 0,3 5 0,7 (2) 0,1 Z n2 E1 , E1 0,3 (5 1) 0,7 (2 0,1) 0,47
Z n1 E1 , E2 0,5 1 0,5(0) 0 Z n2 E1 , E2 0,5 (1 0,1) 0,5 (1 1) 0,55
Puis pour n – 3, n – 4, …, n – 10 :
max zn 2 3 ( E1 ) 5 1,095 max zn 2 3 ( E2 ) 5 2,204 max zn 2 3 ( C ) 5 1,095
E1 S E2 E2 S E3 E3 S E2 ,
représentent les décisions optimales à n – 3.
max zn 2 4 ( E1 ) 5 1,6495 max zn 2 4 ( E2 ) 5 2,7604 max zn 2 4 ( C ) 5 1,6495
E1 S E2 E2 S E3 E3 S E2
max z n 2 10 ( E1 ) 5 4,982 7 max z n 2 10 ( E2 ) 5 6,093 8 max z n 2 10 ( E3 ) 5 4,982 7
E1 S E2 E2 S E3 E3 S E2
d’où l’on tire la politique optimale :
3 2 3
01 VEn22 k 1 1
0 1 VEn22 k 1 1
22 1 VEn22 k 1 1
VEn12 k 5 VEn12 k
495
solutions
d’où l’on a :
496
solutions des exercices du chapitre 6
2) p m ( t ) 5 3 p m 2 1 ( u ) # i( t 2 u ) # du , avec p 0 ( t ) 5 v ( t ) .
t
On calcule d’abord P1 ( t ) 5 3 p o ( u )
t
# i (t 2 u) # du :
o
p 1 ( t ) 5 3 ( 1 1 au )
t
# e 2au # a 2 ( t 2 u) # e 2a ( t 2 u ) # du
0
5 e 2 at 3 a ( 1 1 au ) ( t 2 u ) du 5 e 2at 3 a 2 3 2au 2 1 u ( at 2 1 ) 1 t 4 # du
t t
2
0 0
t3 t3 t2 a 2t 2 a 3t 3
Soit p 1 ( t ) 5 e 2at # a 2 # B2a 1a 2 1 t 2R 5 B 1 R # e 2at .
3 2 2 2 6
De même on calcule :
a4t 4 a5t 5 ( at ) 4 ( at ) 5
p2 ( t ) 5 B 1 R # e2at 5 B 1 R # e2at
24 120 4! 5!
© Dunod – Toute reproduction non autorisée est un délit.
497
solutions
0
résolution de cette récurrence serait facilitée si l’on utilisait la transformée de Laplace (ou
celle de Carson-Laplace).
On trouve ici une loi d’Erlang2, obtenue en regroupant par « paquets » de deux événe-
ments consécutifs, les événements se produisant dans un processus de Poisson de taux a :
( at ) 2m
pm ( t ) 5 p2m ( t ) 1 p2m 1 1 ( t ) , où : p2m ( t ) 5 # e2at est la probabilité d’occurence de 2m
2m!
événements entre 0 et t dans ce processus de Poisson de taux a (et paramètre at).
6.2
498
solutions des exercices du chapitre 6
Pour évaluer le second terme de V(t), on supprime A ; on retrouve alors un pont simple, en
regroupant C et D qui sont en série, de même que F et G.
P3T . t 0 TA < t 4
5 3 cde 1 f g h 2 cde f g h 4( 1 2 b ) 1 3 cd 1 f g 2 cdf g 4 # 3 cd 1 f g 2 cdf g 4 #
3e 1 h 2 e h 4 # b (2)
Finalement V(t) est la somme des expressions (1) et (2). Si v ( t ) 5 v pour chacun des
8 composants, il vient V 5 v 3 ( 2 1 4v 2 10v 2 1 7v 3 1 12v 4 2 4v 5 ) .
Si v 5 1 (iabilité parfaite), on obtient V 5 1 comme attendu. Si v 5 0, évidemment on
a V 5 0.
6.3 1) iu ( t ) # dt 5 P 3 t , X < t 1 dt 0 X . u 4 . Or P 3 A 0 B 4 5 P 3 A et B 4 / P 3 B 4 .
Donc iu ( t ) # dt 5 P 3 t , X < t 1 dt 4 / P 3 X . u4 : car on sait qu’ici : t . u.
Soit : iu ( t ) # dt 5 i( t ) # dt / v ( u ) 5 2v r ( t ) # dt / v ( u ) .
ru 5 E 3 X 2 u 0 X . u 4 5 E 3 X 0 X . u 4 2 u
5 3 3 t # iu ( t ) dt 4 2 u 5 3 v ( t ) # dt / v ( u )
` `
u u
NB Si θ = 0, on retrouve r0 5 t 5 3 n ( t ) # dt
`
2) Si v ( t ) 5 e 2lt , ru 5 3
` 2lt `
# dt / e 2lu 5 B2 e
0
2lt
e R ^ e 2lu soit :
u l
u
e 2lu 1
© Dunod – Toute reproduction non autorisée est un délit.
ru 5
l ^ e 2lu 5 l .
On retrouve la propriété “sans mémoire” de la loi exponentielle : peu importe la durée de
vie écoulée, tout se passe comme si, à chaque instant, le matériel était neuf et donc l’espé-
rance de la durée de vie résiduelle est égale à l’espérance de la durée de vie depuis t = 0,
1
soit : .
l
499
solutions
6.4 1) Il est facile de compléter le tableau initial par le calcul de n(t), et celui de la mortalité
n(t 2 1) 2 n(t)
relative : p ( t ) 5 5 P 3 t 2 1 , T # t 4 ainsi que de la probabilité d’avarie :
n(0)
n(t)
pc ( t ) 5 1 2 . 5 P3 t 2 1 , T # t 0 T . t 2 1 4
n(t 2 1)
où T est la variable aléatoire “durée de vie” d’un pneu.
t 5 a t pt
t51
2) On peut déinir une chaîne de Markov homogène, de matrice m, telle que si Π(0)
représente la distribution des âges à la date 0 :
P( 1) 5 P( 0) # m
P ( 2 ) 5 P ( 1 ) # m 5 P ( 0 ) # m2
…………………
P ( n ) 5 P ( 0 ) # mn
500
solutions des exercices du chapitre 6
0,005 0,995
0,010 0 0,990
0,041 0 0 0,959
0,085 0 0 0 0,915
0,151 0 0 0 0 0,849
0,341 0 0 0 0 0 0,659
0,413 0 0 0 0 0 0 0,587 M
0,422 0 0 0 0 0 0 0 0,578
0,435 0 0 0 0 0 0 0 0 0,565
0,527 0 0 0 0 0 0 0 0 0 0,473
0,556 0 0 0 0 0 0 0 0 0 0 0,444
0,750 0 0 0 0 0 0 0 0 0 0 0 0,250
0,600 0 0 0 0 0 0 0 0 0 0 0 0 0,400
1 0 0 0 0 0 0 0 0 0 0 0 0 0
P* 5 3 0,151 0,150 0,149 0,143 0,130 0,111 0,073 0,043 0,025 0,014 0,007
0,003 0,0007 0,00034
Il ne sufit pas de prendre le taux d’approvisionnement en régime permanent, égal à :
N (0)
1 000p *0 5 151 5 .
t
501
solutions
N(12) [ 166,199 162,983 135,180 120,557 102,313 105,667 92,222 72,297 21,680 7,479 1,775 0,194 0,014 1,945 ]
N(19) [ 151,799 151,924 150,273 137,845 123,558 104,205 74,770 47,180 28,877 17,712 5,596 2,304 0,701 0,392 ]
N(20) [ 149,178 151,040 150,405 144,113 126,128 104,901 68,671 43,890 27,270 15,186 6,013 2,485 0,576 0,280 ]
Les quantités à approvisionner sont, en effet, les N0(t) des vecteurs précédents, obtenus
par récurrence (N0(t) étant la première composante du vecteur N(t)) :
3 N0 ( t ) , N1 ( t ) , c4 5 3 N0 ( t 2 1 ) , N1 ( t 2 1 ) , c4 # m.
Ainsi : 3 N0 ( 1 ) , N1 ( 1 ) , c4 5 3 1 000 , 0 , 0 c4 # m 5 3 5 995 0 c4 , etc.
que l’on pourra comparer, pour t 5 20, avec :
n* 5 3 151 150 149 143 130 111 73 43 25 14 7 3 0,7 0,3 4
Il est utile de faire une représentation graphique des taux mensuels d’approvisionnement, on
voit ainsi que c’est seulement au bout d’environ dix-huit mois que l’on peut prendre N *0 = 151
comme valeur du renouvellement mensuel. Mais, au bout d’un tel délai, le matériel risque
d’être obsolescent...
502
solutions des exercices du chapitre 6
Dv tu Dv
6.5 Calculons les quantités #
, t u, t u / v , u, v / u e t 2
1 v , étant donné
Du v Du
que le minimum de c2(t) (coût par unité de temps, en cas de remplacement) a lieu pour une
valeur t = u telle que :
tu Dv p 1P
2 # 1v 5 , (où on écrit : v au lieu de : v(θ)) .
v Du P
1, 2 2 v 1, 5 2 v
De plus, calculons les valeurs de c2, soient et , respectivement, en
tu tu
1 1
posant P 5 1. et p 5 P (resp. P ) . Elles son notées c 12 et c 22 .
5 2
On obtient le tableau suivant :
t u Dv p1P
1) Dans le premier cas, on a : 2 1v< 5 1, 2 pour u 5 3 et la valeur
v Du P
de c12 est de l’ordre de 0,188 , en effectuant l’entretien préventif, on peut espérer un gain de
© Dunod – Toute reproduction non autorisée est un délit.
l’ordre de 30 %.
v
Comme on a c11 , pour tout u, aucune erreur grossière n’est à craindre.
u
tu D v p1P
2) Dans le second cas, on a : 2 # 1v< 5 1,5 pour 3 , u , 4 ; si l’on
v Du P
choisit d’effectuer le remplacement pour u 5 4, le gain n’est plus que de l’ordre de 15 %.
v
Comme c21 , dès que u 5 2, on n’a pas, non plus, à craindre une erreur grossière.
u
503
solutions
p1P
Si l’on prenait 5 2, il faudrait remplacer à u 5 4 (cf colonne C32 du tableau) ,
P
mais le gain ne serait plus que de l’ordre de 4 %. Dans ces conditions, étant donnée l’impré-
cision des mesures et la dispersion des caractéristiques, on tomberait sur un cas sûrement non
rentable d’entretien préventif.
6.6 Calculons les coûts actualisés des deux matériels sur n années d’utilisation, ain de pou-
voir les comparer (on note α le taux d’actualisation) :
3 000 3 000 3 000 4 000 5 000 6 000
CA ( n ) 5 25000 1 1 1 1 1 1
11a ( 1 1 a) 2
( 1 1 a) 3
( 1 1 a) 4
( 1 1 a) 5
( 1 1 a) 6
1000n
1 c1
( 1 1 ~) n
5 000 5 000 5 000 5 000 6 000 7 000
CB ( n ) 5 17 000 1 1 1 1 1 1
11a ( 1 1 a) 2 ( 1 1 a) 3 ( 1 1 a) 4 ( 1 1 a) 5 ( 1 1 a) 6
1000 ( n 1 1 )
1 c1
( 1 1 ~) n
2 000 2 000 2 000 1 000 1 000
CA ( n ) 2 CB ( n ) 5 8000 2 2 2 2 2
11a ( 1 1 a) 2 ( 1 1 a) 3 ( 1 1 a) 4 ( 1 1 a) 5
1 000 1000
2 2 c2
( 1 1 a) 6 ( 1 1 ~) n
1
Posons q 5 ; rappelons que pour q ≠ 1, on a :
11a
1 2 q3 1 2 q n 23
q + q2 + q3 = q(1 + q + q2) = q # ; de même : q4 + q5 + ... + qn = q4 # .
12q 12q
1 2 q3 1 2 q n 23
Il vient : CA ( n ) 2 CB ( n ) 5 1000B8 2 2q # 2 q4 # R.
12q 12q
L’achat du matériel A sera plus avantageux si : CA ( n ) 2 CB ( n ) , 0 ,
soit : c8 ( 1 2 q ) 2 2q ( 1 2 q 3 ) 2 q 4 ( 1 2 q n 2 3 ) d ^ 3 1 2 q 4 , 0 .
504
solutions des exercices du chapitre 6
On vériie que qn–3 = (1/1,1)n–3 devient inférieur à 0,6 dès que n – 3 = 6 (sachant que n est
entier). D’où, pour n = 9 années.
Le matériel le plus cher à l’achat se révèle plus avantageux que le moins cher, si la durée
d’utilisation atteint 3 ans.
1 1 11 1 1 1 1
pas de travail ¢ 1 2 ≤ # ¢ 1 2 ≤
¢1 2 ≤ 0 0 0 0
2 3 2 3 3 3 3 3
1 1 1 1 1 1 1 1
R1 ¢1 2 ≤ # ¢1 2 ≤ ¢1 2 ≤ 0 0 0 0
2 3 2 3 3 3 3 3
(1)
I Y I Y
R2 0 0 0 1 0 5 0 1 0 1 0 5 m1
R 2(2) 0 0 0 0 1 0 0 0 0 1
1 1 1 1 1 1 1
R 2(3) ¢1 2 ≤ # ¢1 2 ≤ ¢1 2 ≤ 0 0 0 0 1
2 3 2 3 3 3 3
2)
États pas de travail R1 R 2(1) R 2(2) R 2(3)
1 1 1 11 1 1 1
pas de travail ¢ 1 2 ≤ # ¢ 1 2 ≤ ¢1 2 ≤ 0 0 0 0
2 3 2 3 2 3 2 6
1 1 1 1 1 1 1 1
R1 ¢1 2 ≤ # ¢1 2 ≤ ¢1 2 ≤ 0 0 0 0
2 3 2 3 2 3 2 6
(1)
I Y I Y
R2 0 0 0 0 1 0 5 0 0 0 1 0 5 m2
(2 )
R2 0 0 0 0 0 1 0 0 0 0 1
1 1 1 1 1 1 1 1
R 2(3) ¢1 2 ≤ # ¢1 2 ≤ ¢1 2 ≤ 0 0 0 0
© Dunod – Toute reproduction non autorisée est un délit.
2 3 2 3 3 3 2 6
Calculons les pi( ` ) , notés p *i . La matrice m1 est fortement ergodique car le graphe
associé est fini, fortement connexe (il existe une seule classe d’états, donc tous récurrents) et
comporte une boucle (cette classe est apériodique).
3 p*0 p*1 p*2 p*3 p*4 4 # m1 5 3 p*0 p*1 p*2 p*3 p*4 4
1 1 1 1 1 1 1 1 1
p*0 5 p*0 1 p*1 1 p*4 ; p*1 5 p*0 1 p*1 1 p*4 ; p*2 5 p*0 1 p*1 1 p*4 ;
3 3 3 3 3 3 3 3 3
p*3 5 p*2 ; p*4 5 p*3.
505
solutions
1 1 1 1 1
P* 5 P ( ` ) 5 3 p*0 p*1 p*2 p*3 p*4 4 5 B R.
5 5 5 5 5
Passons à la matrice m2
On trouve :
1 1 1 1 1 1 1 3 1 1 1
Pr ( ` ) 5 B R5B R.
4/3 3 2 6 6 6 4 8 8 8 8
Comparant les probabilités de chômer dans l’un et l’autre cas, on constate qu’elle est plus
élevée si l’on suit la deuxième politique et, en conséquence, on choisit la première : entreprendre
la réparation R2 plutôt que la réparation R1 si toutes deux se présentent en même temps.
NB. Le lecteur pourra vériier que Pr ( ` ) vériie : Pr ( ` ) 5 Pr ( ` ) # m2.
F I A R
F 2 ( a 1b ) b a 0
g5 I l 2l 0 0
F V
A 0 0 2v v
R 0 m 0 2m
Le graphe est ini et fortement connexe (en effet, il comporte un circuit hamiltonien :
( F, A , R , I, F ) , ce qui est une condition sufisante de forte connexité). Le processus de
Markov est donc « fortement ergodique », c’est-à-dire qu’il existe une limite P* au vecteur
des probabilités des états P ( t ) 5 3 pF ( t ) , pI( t ) , pA ( t ) , pR ( t ) 4 , positive et indépendante
506
solutions des exercices du chapitre 6
des « conditions initiales », c’est-à-dire de P(0), quand t tend vers l’inini. Cette limite P*
peut se calculer en appliquant le théorème des coupes successivement à EF, puis EI, puis EA et
enin ER (ou, ce qui est équivalent ici en écrivant que P* # g 5 0 : on a noté g le générateur
ininitésimal de ce processus de Markov). Soit :
( a 1 b ) # p*F 5 l# p*I ; l# p*I 5 b # p*F 1 m # p*R ; v # p*A 5 a # p*F ; m # p*R 5 v # p*A .
Exprimons chaque probabilité en fonction de p*F :
a1 b a * a *
p *I 5 p*F , p*F 5 pF , p*R 5 p.
l v m F
Comme p*F 1 p*I 1 p*A 1 p*R 5 1, il vient pour l’utilisation U* :
a 1b a a a1 b a a
p*F a1 1 1 1 b 5 1, soit U* 5 p*F 5 1/ a1 1 1 1 b.
l v m v m
l
b
NB : en l’absence de pannes, on a a 5 0 d’où p*F 5 1^ a1 1 b.
l
6.9 1) L’état Ek désigne l’état pour lequel k machines sont en panne ( k 5 0, 1, c, N ) . Dans
cet état k réparateurs sont actifs : le taux global de réparation est : mk 5 k # m ; de même Ν – k
machines sont en fonctionnement : le taux global de pannes est : lk 5 ( N 2 k ) # l. Voici le
graphe des transitions entre états, entre t et t 1 dt :
p*k 5
1 # 2 # 3 # c# k mk m 0
Calculons p*0
k 50
2 N
1 l l N l
p*0 B1 1 @N m 1 @N a m b 1 c1 @N a m b R 5 1.
2
N
l mN
D’où : p*0 B1 1 m R 5 1 et p*0 5 ,
( l 1 m) N
507
solutions
k k N 2k
k l mN k l m
puis p*k 5 @N a m b soit p*k 5 @N a b a b .
(l 1 m )N l 1m l 1m
n 5 a ( N 2 k ) # p*k 5 N 2 a kp*k .
N N
k 50 k 50
Or a k # p*k 5 p*0 B0 1 1 # @N m 1 @N a m b 1 c1 N @N a m b R
N 2 N
1 l 2 l N l
k 50
2 N 21
l 2 l l l
5 p*0 # m B1 # @N 1 2 @N m 1 3 @N a m b 1 c1 N @N a m b
1 2 N
R.
N 21
l l l l m
Soit : n 5 N 2 p*0 # m # BN a1 1 m b R 5 N # B1 2 m @ a1 1 m b R 5 N # .
l 1m
On peut expliquer la simplicité de ces résultats en introduisant le processus de Bernoulli
ci-dessous.
3) Puisqu’il y a autant de réparateurs disponibles que de machines, on peut modéliser le
fonctionnement de chaque machine isolément :
508
solutions des exercices du chapitre 6
Évidemment : d 1 d r 5 .
l2 2l1 l3 m
B E
E3 S E3A ou C D E
4 S E7 E3 S 1
2l 2 l1 1 l3 m
B E
E4 S E4A ou C D E
6 S E7 E4 S 1
l2 l1 1 l3 m
B E
E5 S C E
E5 S D E
E5 S
6 7 1
2l1 l3 m
E6A ou
S E7
C D E
E6 S 1
l1 1 l3 m
D E
E7 S 1
m 509
solutions
Ce graphe (simpliié) étant fortement connexe (par ex., il comporte les circuits (1, 2, 5, 6,
7, 1) et (1, 3, 4, 1), passant par tous les sommets du graphe et ayant au moins un sommet en
commun, ici E1) et ini, le processus est fortement ergodique.
3) A 5 {E1, E2 , E5} ; le théorème des coupes avec A fournit :
( l 3 1 2l1 ) # p*A 5 m # ( p*3 1 p*4 1 p*6 1 p*7 ) 5 m # ( 1 2 p *A ) .
m
D’où : p*A 5 .
m 1 l 3 1 2l 1
Soit Β 5 {E3, E4 , E6} ; ce théorème avec B fournit :
m 2l1
(m 1 l1 1 l3 ) # p*B 5 2 l1 # (p*1 1 p*2 1 p*5 ) 5 2 l1 # p*A et p*B 5 # .
m 1 l3 1 2l1 m 1 l3 1 2l1
2l1 m m 1 3 l1 1 l3
D* 5 p*A 1 p*B 5 1 2 p*7 5 p*A # a1 1 b5 # .
m 1 l1 1 l3 m 1 l3 1 2l1 m 1 l1 1 l3
510
solutions des exercices du chapitre 6
On remarque que D* ne dépend pas de l2, le système pouvant fonctionner en mode local.
On pourrait alors, pour le calcul de D*, utiliser la modélisation plus simple ci-dessous :
d ( B ) ( l1 1 l3 1 m ) # p*B 5 2 l1 # p*A
m m 2l1
On retrouve : p*A 5 et : p*B 5 # .
m 1 2 l1 1 l3 m 1 2 l1 1 l3 l1 1 l3 1 m
Application : R ( t ) 5 e 2at
3 2e 2b t 2 e 22b t 4 5 2e 2( a 1 b ) t 2 e 2( a 1 2b ) t .
Etat E0 : A, B1 et B2 fonctionnent ; état E1: un processeur (B1 ou B2) est en panne, l’autre ainsi
que A fonctionnent ; état E3 : panne paralysante.
Le graphe est ini et fortement connexe : il comporte le circuit hamiltonien (E0, E1, E2,
E0) : le processus est fortement ergodique. On peut alors appliquer le théorème des coupes
pour évaluer les probabilités des états en régime permanent :
( a 1 2b ) # p*0 5 m # p*2 ; ( a 1 b ) # p*1 5 2b # p*0 ; m # p*2 5 a # p*0 1 ( a 1 b ) # p*1 et
p*0 1 p*1 1 p*2 5 1 .
Numériquement : 3 # p*0 5 10 # p*2 ; 2 # p*1 5 2 # p*0 ,
3 10 3 20
d’où : p*0 # a1 1 1 1 b 5 1, et : p*0 5 5 p*1 , p*2 5 . D’où D* 5 p*0 1 p*1 5 .
10 23 23 23
511
solutions
3)
0 1 2
0 2 ( a 1 2b ) 2b a
g5 1 D 0 2( a 1 b ) (a 1 b) T
2 0 0 0
R ( t ) 5 e2(a1 2b)t 1 3 2e2(a1 b)t 2 2e2(a1 b)t 4 5 2e2(a1 b)t 2 e2(a1 2b)t.
512
solutions des exercices du chapitre 6
A TA F TB� B� TB �
2
Lorsque la place F est marquée, le système est en panne. Voici le graphe des marquages
accessibles (G.M.A.) depuis le marquage initial :
a a
(E2)
TA
(E0) (E1) FB2
2b a FBB′� 2b a+b
AB2 ABB′� E0 E1 E2
TB TA FA
b
G.M.A. TB′� graphe simplifié du
processus de Markov
En fusionnant les 3 marquages : FB2, FBB′ et FA en un seul état : celui de panne fatale ,
on retrouve le graphe simpliié du 3) a).
Cette démarche est générale : ainsi, si un système est modélisable par un processus de
Markov, son graphe simpliié est identique au graphe des marquages du réseau de Petri
modélisant le système. L’avantage apparaît lorsque le nombre d’états du processus de Markov
devient grand : alors, le plus souvent, le réseau de Petri associé est de taille sensiblement
inférieure ; de plus, étant donnés un réseau de Petri et son marquage initial, on sait engendrer
par algorithme son graphe des marquages accessibles depuis le marquage initial.
© Dunod – Toute reproduction non autorisée est un délit.
513
solutions
l 9 3
Il s’ensuit que : m 5 5 qui est bien strictement inférieur à 1.
12 4
On sait que :
l /m l 9
n5 5m 2 l 5 12 2 9 5 3 personnes dans le système
1 2 l /m
1 l /m n 3 1
et que : tf 5 m 5m 5 5 d’heure, soit 15 mn.
1 2 l /m 12 4
puisqu’il y a alors, en moyenne, autant de personnes qui entrent que de personnes qui sortent
du système d’attente ; ainsi :
91
v 5 l # tf 5 9 # 5 , soit 2,25 personnes en attente
4 4
2) Le lecteur se reportera au paragraphe 7 du chapitre 7, où l’on a montré que la proba-
bilité pour qu’une personne attende plus de τ est :
Pr BT f . R 5 3 f ( ) d 5 3
` `
l l
l # a1 2 m b # e( 2 m 2 l ) d 5 m # e 2 (m 2 l ) .
1
Dans le problème, on a l = 9, m = 12, 5 (une demi-heure).
2
Ainsi :
3
3 22 3 1
Pr [attente > 30 mn] 5 e 5 < 5 0,167.
4 3 6
4e2
514
solutions des exercices du chapitre 7
7.2 1) On commence par examiner le tableau des arrivées et l’on vériie que l’on ne com-
met pas une grave erreur en assimilant la loi des entrées à une loi poissonnienne de taux
l = 5,15 (par 1/4 d’heure) :
1
l5 ( 1.4 1 2.7 1 3.13 1 4.18 1 5.18 1 6.15 1 7.9 1 8.8 1 9.4 1 10.2 1 11.1 1 12.1 ) 5 5, 15
100
en pratiquant, par exemple, un test en χ2 :
(*)
N Fobs Fth 2 2 Fth
0 2 11 11, 2 0, 2 0, 04 0, 004
3 13 13, 2 0, 2 0, 04
4 18 16, 9 1, 1 1, 21 0, 07
5 18 17, 4 0, 6 0, 36 0, 02
6 15 14, 9 0, 1 0, 01
7 9 11, 0 2 4 0, 36
8 8 7, 1 0, 9 0, 81 0, 11
9 12 8 8 0 0 0, 11
NB. En regroupant les trois premières classes (nombre d’individus attendus supérieur à 5), on
a : Fobs = 11, Ftb = 11,2 ; en regroupant les dernières, à partir de 9, il vient : Fobs = 8, Fth = 8.
Comme pour 8 – 2 = 6 degrés de liberté, on a : x 20,99 5 0, 87, on accepte l’hypothèse d’une
loi poissonnienne de taux 5,15 × 4 = 20,6/heure, puisque 0,57 < 0,87.
modélisation :
l 0 # l 1 # c# l n 2 1 ln *
En régime permanent on a : p *n 5 # # c # p *0 5 p0 .
m1 m2 mn n!m n
l l2 ln
p *0 # C1 1 1 1 c1 n
1 cS 5 1 s oit p *0 # e l/m 5 1 .
1!m 2!m 2 n!m
515
solutions
En effet, le crochet est la série entière déinissant l’exponentielle el/m . Comme cette série
l
converge quelle que soit la valeur de m , on en déduit qu’il n’y a pas de condition de non-
engorgement pour cette ile d’attente (ce qui se comprend aisément : il y a, à tout moment,
autant de serveurs actifs que de clients présents).
l n 2 l/m
Ainsi p *0 5 e 2 l/m et p *n 5 e .
n!m n
20,6
On reconnaît, pour p *n, une loi de Poisson de paramètre c = l/m ; ici c 5 < 3.
6,86
On obtient :
n 0 1 2 3 4 5 6 7 8 9
n 0,05 0,15 0, 22 0,22 0,17 0,10 0,05 0,02 0,01 0
On calculera pour S = 4, 5, 6, 7, et 8 :
1 c2
p *0 5 et tf 5 # p *0
1 a
S 21
S
c c n S S! ( 1 2 c /S ) 2
S! ( 1 2 c /s ) 0
n!
S 4 5 6 7 8
0 0, 0377 0, 0466 0, 0489 0, 0496 0, 05
t f (en mn) 4, 452 1, 032 0, 289 0, 0888 ordre 103
Temps perdu par les clients
(heures) 12, 36 2, 82 0, 79 0, 24 0
Temps perdu par les stations 8 16 24 32 40
Coût total 498, 8 448, 9 415, 6 519, 2 540
516
solutions des exercices du chapitre 7
p 0 ( t 1 dt ) 5 ( 1 2 ldt ) # p 0 ( t ) 1 m 1 # p 01 ( t ) 1 m 2 # p10 ( t ) 1 o ( dt )
1
p 01 ( t 1 dt ) 5 3 1 2 ( l 1 m 1 ) dt 4 # p 01 ( t ) 1 l dt # p 0 ( t ) 1 m 2 # p 2 ( t ) 1 o ( dt )
2
1
p 10 ( t 1 dt ) 5 3 1 2 ( l 1 m 2 ) dt 4 # p 10 ( t ) 1 l dt # p0 ( t ) 1 m 1 # p 2 ( t ) 1 o ( dt )
h 2
p 2 ( t 1 dt ) 5 3 1 2 ( l 1 m 1 1 m 2 ) dt 4 # p 2 ( t ) 1 ldt # 3 p 01 ( t ) 1 p 10 ( t ) 4
1 ( m 1 1 m 2 ) # p3 ( t ) 1 o ( dt )
... ...
© Dunod – Toute reproduction non autorisée est un délit.
pn ( t 1 dt ) 5 3 1 2 ( l 1 m ) dt 4 # pn ( t ) 1 l dt # pn 2 1 ( t ) 1 m dt # pn 1 1 ( dt ) 1 o ( dt ) , où n > 3
D’où :
517
solutions
pr0 ( t ) 5 2 l # p 0 ( t ) 1 m 1 # p 01 ( t ) 1 m 2 # p 10 ( t )
l
r ( t ) 5 2 ( l 1 m 1 ) # p 01 ( t ) 1
p 01 # p 0 ( t ) 1 m2 # p 2 ( t )
2
l
ip 1r 0 ( t ) 5 2 ( l 1 m 2 ) # p 01 ( t ) 1 # p 0 ( t ) 1 m 1 # p 2 ( t )
2
p 2r ( t ) 5 2 ( l 1 m ) # p 2 ( t ) 1 l 3 p 01 ( t ) 1 p 10 ( t ) 4 1 m # p 3 ( t )
... ...
p nr ( t ) 5 2 ( l 1 m ) # p n ( t ) 1 l # p n 2 1 ( t ) 1 m # p n 1 1, où n >3
2) En régime permanent, il vient :
lp *0 5 m 1 # p *01 1 m 2 # p *10
l
( l 1 m 1 ) # p *01 5 # p *0 1 m2 # p *2
2
l
i ( l 1 m 2 ) # p *10 5 # p *0 1 m1 # p *2
2
( l 1 m ) # p *2 5 l # 3 p *01 1 p *10 4 1 m # p *3
... ...
( l 1 m ) # p *n 5 l # p *n 2 1 1 m # p *n 1 1
518
solutions des exercices du chapitre 7
l l2
p*2 # £ a 1 b 1 g 1 a1 1 m 1 2 1 cb § 5 1.
m
l l
On reconnaît dans la parenthèse la série géométrique de raison q 5 m 5 ;
m1 1 m2
l
cette série converge pour , 1 : on retrouve ainsi la condition d’existence
m1 1 m2
d’un régime permanent, alors :
1
p *2 5 1^ £ a 1 b 1 g 1 ° ¢ §.
1 2 l /m
m m l l2
5 p*2 # £ b 1 g 2 1 ° 1 1 2 # m 1 3 # 2 1 c¢ §
l l m
m
Remarquons aussi que b 1 g 5 .
l
m /l
D’où : n 5 p *2 # £ §.
( 1 2 l /m ) 2
N.B. Même si m1 5 m2 5 m /2, ce système n'est pas équivalent à la ile M/M/1.
© Dunod – Toute reproduction non autorisée est un délit.
1 1 l 2
7.4 l 5 h 2 1, m 5 h 2 1 et m 5 .
6 4 3
avec 2 mécaniciens
Soit Ek le nombre de machines en panne. Voici le graphe simpliié du processus de naissance
et de mort modélisant cet atelier :
519
solutions
Ce processus étant ini et son graphe fortement connexe, est fortement ergodique (quelles que
soient les valeurs relatives de l et m). Il vient :
6l 30l 2 * 120l 3 *
p *1 5 m p *0 ; p *2 5 p ; p *
5 p0 ;
2m 2 0 3
4m 3
Numériquement :
81 324 540 720
p *0 5 ; p *1 5 ; p *2 5 ; p *3 5 p *4 5 ;
3 025 3 025 3 025 3 025
480 160
p *5 5 ; p *6 5 .
3 025 3 025
Le nombre moyen de machines en état de marche est :
m ( 2 ) 5 6 # p *0 1 5 # p *1 1 4 # p *2 1 3 # p *3 1 2 # p *4 1 1 # p *5 5 2, 759.
avec 3 mécaniciens :
520
solutions des exercices du chapitre 7
lr
b) En résolvant m e 2 (m 2 lr)t 5 0,1, on trouve t = 68 mn. : irréaliste.
n21
l * l l
p *1
5 m p0 ; p2 5 * *
p 1 et p n 5 a b # p *1 pour n > 2.
2m 2m
En exprimant toutes les probabilités en fonction de p *1 (plutôt que de p *0), il vient :
2 3
m l l l
p*1 # £ 1 °1 1 1 ° ¢ 1 ° ¢ 1 c¢ § 5 1
l 2m 2m 2m
l 3
La série géométrique est convergente pour , 1, ce qui est vériié ici : , 1. D’où :
2m 8
m 1
p *1 5 1^ £ 1 §.
l 1 2 l /2m
Numériquement :
5
p *0 5 5 0,45 ; p *1 5 0,34 ; p *2 5 0,13 ; p *3 5 0,05
11
© Dunod – Toute reproduction non autorisée est un délit.
trf s’obtient en faisant S = 2 dans la formule donnant l’attente moyenne pour la ile M/M/S :
S
l 1
trf 5 a m b p *0.
S! S m ( 1 2 l /Sm ) 2
9
Il vient : trf 5 2,28 mn a5 hb.
220
P 3 Tf . t 4 5 P 3 Tf . 0 4 # e 2 (mS 2 l)t où :
P3 Tf . 0 4 5 a p n 5
` 1 l
n
* # a m b # p *0 5 S m # ( 1 2 l /Sm ) # tf.
S! ( 1 2 l /Sm)
n5S
521
solutions
5 25 2 3
P 3 T f . 1 4 5 P 3 T f . 0 4 # e 2 3 5 8a1 2 b # # e 5 0,024 .
8 156
l
7.6 1) a) Condition de non-engorgement : ,1
2m
(Rappelons que le taux des arrivées : l, doit être inférieur au taux maximal du service : 2m.)
b)
522
solutions des exercices du chapitre 7
k 22
l l l
2) a) On a p *1 5 m p *0 , p *2 5 m p *1 puis p *k 5 a b # p *2 pour k > 2, soit :
2m
2 k 22 k
l
p *k 5 am b #al b # p *0 5 4 # a l b # p *0
2m 2m
2
¢ 1 c¢ § , car : 1 = a p *k .
2 `
l l l l
b) On a : 1 5 p *0 # £1 1 m 1 °1 1 1 °
m2 2m 2m
k 50
1 22c
D’où : p *0 5 1^ £ 1 1 c 1 c 2 ° ¢§ 5 .
1 2 c /2 2 1 c 1 c2
3) a) d 5 0 # p *0 1 1 # ( p *1 1 p *2 ) 1 2 # ( p *3 1 p *4 1 p *5 1 c)
5 ( p *1 1 p *2 ) 1 2 3 1 2 ( p *0 1 p *1 1 p *2 ) 4 5 2 2 2p *0 2 p *1 2 p *2
2 ( 2 1 c 1 c 2 ) 2 ( 2 1 c 1 c 2 )( 2 2 c ) 2c 1 c 2 1 c 3
d5 5 5c:
2 1 c 1 c2 2 1 c 1 c2
résultat simple, bien connu pour la ile M/M/S : cf son interprétation en 3) b).
b) En régime permanent, le taux des arrivées des voitures à la douane (soit l) est égal au taux
de départ des voitures contrôlées ; celui-ci est égal au nombre moyen de douaniers actifs ( d ) ,
multiplié par le taux de contrôle de chaque douanier (m) :
l 5 d # m , soit c 5 d .
7.7 1) Etat Ek : k jobs présents (un en traitement, k – 1 en attente si k > 1 ). Ici une nais-
sance est l’arrivée d’un job et une mort, la in de traitement d’un job.
Il s’agit d’une ile M/M/1/5. Le processus est fortement ergodique car il a un nombre ini
© Dunod – Toute reproduction non autorisée est un délit.
523
solutions
6
l l 1
et p 5 ° 1 2 m ¢ ^ £ 1 2 ° m ¢ § ( si l 5 m , on aurait p *0 5 . )
*
0
6
l
3) A.N. l = 24 arrivées/mn ; m = 30 traitements/mn ; m 5 0,8 .
l 5#
12a 12a
m C1 2 a 6
S 012 .
12a 1 2 a6
k21
l m
p*k 5 ° ¢ # p *1 et p*0 5 # p*1.
2m l
524
solutions des exercices du chapitre 7
2 5
a p k 5 1 entraîne : p1 £ l 1 ° 1 1 2m 1 ° 2m ¢ 1
6
* * # m l l c1 ° l ¢ ¢ § 5 1.
k 50
2m
1 2 ( l /2m ) 6
Soit p *1 # £m 1 § 5 1 , d’où :
l 1 2 l /2m
m 1 2 ( l /2m ) 10 m
À nouveau : p *1 5 1^ £ l 1 § et p *0 5 # p *1 .
1 2 ( l /2m ) l
m 1 m * 12 15
p*1 5 1^ £ l 1 § e t p *0 5 p . Soit : p *1 5 e t p *0 5 . D’où :
1 2 ( l /2m ) l 1 35 35
© Dunod – Toute reproduction non autorisée est un délit.
28
Ut 5 5 0,8.
35
En régime permanent le taux des entrées dans le système (ici égal aux taux l des arrivées,
car il n’y a plus de déchet) est égal au taux des sorties du système ; celui-ci est égal au nombre
moyen de processeurs actifs, soit Ut, multiplié par le taux de service de chaque processeur,
soit m. D’où :
l
l 5 Ut # m et Ut 5 m 5 0,8.
525
solutions
8.1 1) On note x1 (resp. x2) le nombre de tonneaux de bière blonde (resp. brune) fabriqués
par le brasseur :
2,5x 1 1 7,5x 2 < 240 x1 1 3x 2 < 96 (1)
x1 , x2 > 0 x1 , x2 > 0
65x 1 1 115x 2 5 z r 3 max 4
Z 13x 1 1 23x 2 5 z r 3 max 4
Z'
NB. Stricto sensu, les variables x1 et x2 doivent être entières ; mais nous constaterons en in
de résolution, qu’à l’optimum du programme linéaire continu, les variables se trouvent être
entières…
Ci-dessus, on a multiplié la première contrainte par 0,4 ; la deuxième par 8, et la troisième
par 0,4. De même la fonction économique a été multipliée par 0,2 : Zr 5 0,2Z. Ceci ain
d’avoir des coeficients plus simples.
On résout alors le programme linéaire équivalent ci-dessus. Puisqu’il ne comporte que
deux variables, on peut le résoudre aisément graphiquement.
526
solutions des exercices du chapitre 8
Après introduction des variables d’écart : x3, x4 et x5, on peut poser le premier tableau de
la résolution par l’algorithme du simplexe : la base initiale est composée des m 5 3 variables
d’écart, elle est associée au sommet O.
i 1 2 3 4 5 �i
(0)
�i
(0)
�(0)
ie
s �3
3 1 3 1 0 0 96 96/ 3 � 32 (*)
4 1 1 0 1 0 40 40/ 1 � 40
5 7 4 0 0 1 238 238/ 4 � 59,5
�(0)
j 13 23
↑
0 0 0 �
Z �0
e�2
i 1 2 3 4 5 �i
(1) (1)
�i �(1)
ie
2 1/ 3 1 1/ 3 0 0 32 96
s� 4
4 2/ 3 0 �1/ 3 1 0 8 12 (*)
5 17/ 3 0 �4/ 3 0 1 110 19, 4
�(1)
j 16/3 0 �23/ 3 0 0 �
Z �736
↑
e� 1
(2)
i 1 2 3 4 5 �i
2 0 1 1/ 2 �1/2 0 28
1 1 0 �1/2 3/ 2 0 12
5 0 0 3/ 2 �17/2 1 42
�(2)
j 0 0 �5 �8 0 �
Z �800
© Dunod – Toute reproduction non autorisée est un délit.
Fin : les Dj des variables hors base sont négatifs : l’optimum est atteint.
( )
Les variables de base, à l’optimum, sont égales aux seconds membres (ici, bi 2 ). On a
donc :
x*2 5 28 , x*1 5 12 , x*5 5 42 , zr* 5 800 (soit Z * 5 5 # Zr* 5 4 000) .
Les variables hors base sont nulles : x*3 5 x*4 5 0.
Le brasseur maximisera son bénéice en produisant 12 tonneaux de bière blonde, 28 de
bière brune, son bénéice sera alors de 4 000 €.
À l’optimum, x3 5 x4 5 0 : ceci signiie qu’il épuisera ses stocks de maïs et de houblon ;
par contre x5 5 42 : il aura un stock résiduel de 42 kg de malt.
527
solutions
x2 1 x5 5 500
x3 1 x6 5 300
�
528
�
↑ �
↑ solutions des exercices du chapitre 8
�
(1)
ci i 1 2 3 4 5 6 7 8 �i
0 4 1 0 0 1 0 0 0 0 200
s
0 5 0 1 0 0 1 0 0 0 500
(1) 6 3 0 0 1 0 0 �1 0 0 300
0 7 45 40 0 0 0 �36 1 0 25 200
0 8 9 10 0 0 0 �11 0 1 5 700
� �
Sommet A 4 ↑
5 0 0 0 �6 0 0 Z �1800
↑
e
(2)
ci i 1 2 3 4 5 6 7 8 �i
0 1 0 1 0 0 0 � 200
4 0 0
5 2 0 1 0 0 1 0 0 0 500
(2) 6 3 0 0 1 0 0 1 0 0 300
0 7 45 0 0 0 �40 �36 1 0 5 200
s
0 8 9 0 0 0 �10 � 11 0 1 700
� �
Sommet B 4 0 0 0 �5 �6 0 0 Z � 4300
↑ � � �
e
↑
En motant désormais x 1, x 2, x 3, x 4 et x5 les variables dʼécart :
� � � � � �i
(3)
ci i 1 2 3 1 2 3 4 5
10 11 1 1 100
0 4 0 0 0 1 0 �
9 9 9 9
5 2 0 1 0 0 1 0 0 0 500
(3) 6 3 0 0 1 0 0 1 0 0 300
0 7 0 0 0 0 10 19 1 �5 1 700
© Dunod – Toute reproduction non autorisée est un délit.
10 11 1 700
4 1 1 0 0 0 � � 0
9 9 9 9
5 10 4 41500
Sommet C 0 0 0 0 � � 0 � Z *�
9 9 9 9
700
L’optimum est : x1 =
*
= 77, 78 , x*2 = 500, x*3 = 500 et Z* = 41 500 = 461,11 unités
9 9
monétaires : au sommet C.
529
solutions
1 2 3 4 5 6 7 8
10 11
0 4 0 0 0 1
9
0 �1 1 100 � 122,22
9 9 9
5 2 0 1 0 0 1 0 0 0 500
6 3 0 0 1 0 0 1 0 0 300 sommet C
0 7 0 0 0 0 10 19 1 �5 1 700 du polyèdre
10 11 1 700
4(1��) 1 1 0 0 0 �9 � 9 0 9 9 � 77,78
cj 4(1��) 5 6 0 0 0 0 0
� 59 � 10 4
9 �9
�j Z � 41 500�2800 �
9 9
0 0 0 0 � 40 � �44 � 0 4
� �
9 9 9
La ligne des Dj se trouve modiiée et, comme ils dépendent désormais de l, il faut exami-
ner leurs signes respectifs.
530
solutions des exercices du chapitre 8
1 5 5
1 0
8 22 4
5 40
5 0
9 9
10 44
6 0
9 9
4 4
8 0
9 9
5
(*) En effet D6 . D5 pour l . .
4
5
1
• 1ercas <l< .
:
8 4
En faisant entrer la variable x5 dans la base et sortir la variable x4, on obtient :
ci i j 1 2 3 4 5 6 7 8
0 5 0 0 0 9 11 0 1
10
1
10 10 110
5 2 0 1 0 9
10 0 11 0 1
10 390 sommet D
10
6 3 0 0 1 0 0 1 0 0 300 du polyèdre
0 7 0 0 0 9 0 8 1 0 600
4(1) 1 1 0 0 1 0 0 0 0 200
cj 4(1) 5 6 0 0 0 0 0
5 1 1
j 0 0 0 10 4 0
2
0
2 Z4 250800
© Dunod – Toute reproduction non autorisée est un délit.
5 1
L’optimum est atteint, puisque tous les Dj sont négatifs ¢ 2 4 l < 0 pour l > ≤.
10 8
On est alors au sommet D du polyèdre des contraintes.
531
solutions
5
• 2ecas l> . :
4
L’entrée de la variable x6 dans la base donne les résultats suivants :
ci i j 1 2 3 4 5 6 7 8
1 80 0 11 4 2 200
0 4 0 0 0
171 171 49 171
5 2 0 1 0 0 1 0 0 0 500
1 5 4 000
6 3 0 0 1 0 10
19 0 19 19 19
sommet E
0 6 0 0 0 0 10 1 1 5
19 1 700 du polyèdre
19 19 19
4(1) 1 80 11 4 32 000
1 0 0 0 171 0 171 19 171
cj 4(1) 5 6
5
171
10
171 14
19
j 0 0 0 0 0 Z 4 511, 64748,52
320 44 16
171 171 19
d
e
et une étude des Dj permet de constater que la variable x5 doit maintenant entrer dans la base
à la place de la variable x4.
Ayant réalisé cet échange, on obtient :
ci i j 1 2 3 4 5 6 7 8
17 11 9 55
0 5 0 0 0 1 0 2
80 80 20
171 11 9 945
5 2 0 1 0 0 0 20 2
80 80
9 1 1 4 275 sommet F
6 3 0 0 1
8
0 0 8 2 19
0 6 0 0 0 89 0 1 1 2
1 1 425 du polyèdre
8 19
4(1) 1 1 0 0 1 0 0 0 0 200
j 1 4
16 1 43
0 0 0 0 0 16 Z4 512, 5800
d
e
4 275 945
ici : x 3 5 5 225; x 2 5 5 472,5; x 1 5 200.
19 2
1
D7 5 signiie que, la variable x7 devant entrer dans la base et la variable x6 en sortant, on
16
est ramené à la base {x5, x2, x3, x7, x1}, c’est-à-dire au 1er cas.
1
De cette discussion, il résulte que si l > , le point D du polyèdre est solution optimale
avec les valeurs suivantes : 8
x1 5 200, x2 5 390, x3 5 300, x5 5 110, x7 5 600,
avec :
Z 5 4 250 1 800l.
3) Pour poursuivre le problème, il faut d’abord donner le tableau optimal du dual ; on
sait que l’on peut obtenir directement à partir de celui du primal, mais, à titre d’exercice, on
pourra le reconstituer.
532
solutions des exercices du chapitre 8
4 5 6
1 2 3 4 5 1 2 3
s �200 1 1 0 0 45 9 �1 0 0 4
�500 2 0 1 0 40 10 0 �1 0 5
�300 3 0 0 1 36 11 0 0 �1 6
�200 �500 �300 �36 000 �9 000 0 0 0
� � 533
� � � �
� � � �
� �
� �
� � � � �
� � � � � � � ��
solutions ↑
1 2 3 4 5 1 2 3
1 1 4
�9 000 5 0 0 5 1 � 0 0
9 9 9
10 10 5
�500 2 � 1 0 �10 0 �1 0
9 9 9
11 11 10
�300 3 � 0 1 �19 0 0 �1
9 9 9
�200 �500 �300(1��) �36 000 �9 000 0 0 0
y *1 5 y *4 5 y *5 5 0, y *2 5 5/9, y *3 5 10/9, y 1* 5 y 2* 5 y *3 5 0
L’optimum du dual est atteint : le lecteur pourra vériier ce tableau à l’aide de la règle de
correspondance (donnée dans ce chapitre) entre le tableau optimal d’un primal et celui de
son dual.
On sait alors paramétrer l’un des coeficients de la fonction économique. Faisons-le pour
le troisième tableau.
1 2 3 4 5 1 2 3
1 1 4
9 000 5 0 0 5 1 0 0
9 9 9
10 10 5
500 2 1 0 10 0 1 0
9 9 9
11 11 10
300(1) 3 0 1 19 0 0 1
9 9 9
200 500 300(1) 36 000 9 000 0 0 0
700
j
9
1 100
0 0
1 700
0
9
300
41 500
Z 9
500
3 300
9 5 700
3 300
9 300 3 000
9
534
solutions des exercices du chapitre 8
3 300 300
entrée variable y4 car : solution entrée
1 100 3 300
1 7005 700
9 9 y
71
courante variable 1
pour
240
4 19 4 14
300 300 3 0 1 0 0 1
5 5 5 5
760
340 1 040
9 300
j 9
0 0 0 500
240 1 140 240 300
535
solutions
300300µ 3 0 0 1 36 11 0 0 1 6
19
qui devient déinitif (optimal), puisque m < 2 . Dr4
54
On a donc par dualité :
x1 5 200 , x2 5 500 , x3 5 300 1 300m , z 5 5 100 1 1 800m.
7
Examinons le second cas : où m > , ce qui conduit à l’entrée de la variable y 1 dans la
base : 33
1 2 3 4 5 1 2 3
1 1 1
9 000 5 0 0 4 1 0 0
10 10 2
9 9 1
0 1 1 0 9 0 1 0
10 10 2
11 11 1
300300µ 3 0 1 8 0 0 1
10 10 2
536
solutions des exercices du chapitre 8
On constate, d’après les valeurs des Dj, que la variable y 2 doit entrer dans la base si
57
m > . En effet :
33
7 57
33 33
2 570 330 0
5 700
11 9 000
72 000
j 200 500 0 0 0
11 11
300
Tous les Dj sont alors négatifs et, par conséquent il vient par dualité :
9 000 54 000
x1 5 0 , x2 5 0 , x3 5 , z5 .
11 11
© Dunod – Toute reproduction non autorisée est un délit.
537
solutions
7 57
1 19
54 ( 31 ) 17
57
(0)
33 33
e3 0 194,4 210,5 300 363,7 818,2
5 10 4
0 0 0 0 0
9 9 9
538
solutions des exercices du chapitre 8
13 45v 14 30v 4
j 0 0 0 0 0
9(1 v) 5(1 v) 45(1 v)
1 040
ce qui modiie la valeur de x1 : x1 5 .
9(1 1 n )
On peut suivre graphiquement l’évolution des solutions, lorsque l, m et ν varient.
x3
N( 57 )
33
v
35 7
1
C (1 18 )
L( = 7 ) 1 )
8
A (300) 33
( 18 ) ( 17
v 35
C ( = 0)
17 D E
H E ( = )
D F 57
G I (500)
O F
19 )116,6 P
( = x2
54
K J ( = 1)
x1
8.3 Dans ce corrigé, on présente une forme vectorielle de l’algorithme du simplexe, au lieu
d’utiliser la méthode des tableaux : en première lecture, passer directement à la in du corrigé
de la question 1.
1) Sous la forme matricielle, les contraintes s’écrivent, compte tenu de l’addition des
variables d’écart x5, x6 et x7 :
539
solutions
x1
x2
(1) (2) (3) (4) (5) (6) (7)
x3 12
1 1 1 1 1 0 0
# Ix4Y 5 D 5 T , soit a # x 5 b .
D 3 2 3 1 0 1 0 T
x5 7
2 1 1 4 0 0 1
x6
x7
Les colonnes 5, 6 et 7 de la matrice constituent une matrice unité i (d’ordre 3). En prenant
comme base les vecteurs unitaires 5, 6 et 7, on peut écrire :
a j 5 a aij # ai ( j 5 1, 2, 3, 4 ) ,
i 55,6,7
a1 5 a 51 # a5 1 a 61 # a6 1 a 71 # a7 , où a1 5 D 3 T
2
1
a2 5 a 52 # a5 1 a 62 # a6 1 a 72 # a7 , où a2 5 D 2 T
1
1
a3 5 a 53 # a5 1 a 63 # a6 1 a 73 # a7 , où a3 5 D 3 T
1
1
a4 5 a 54 # a5 1 a 64 # a6 1 a 74 # a7 , où a4 5 D 1 T,
4
soit :
1 1 1 1 1 0 0 a 51 a 52 a 53 a 54
D3 2 3 1T 5 D0 1 0T # D a 61 a 62 a 63 a 64 T
2 1 1 4 0 0 1 a 71 a 72 a 73 a 74
n 5 B # a
(
m3 n2m ) m3m (
m 3 n 2 m)
540
solutions des exercices du chapitre 8
où α est la matrice des colonnes hors-base, pour la base courante : la base initiale étant asso-
ciée au sommet Ο (admissible pour ce PL), on a : B 5 i, sinon pour connaître [α], il faut
résoudre le système ci-dessus (si l’on connaît B21, la solution en est : α 5 B 2 1 # n).
Soit la fonction économique Z 5 c # x 5 cB # xB 1 cN # xN ; rappelons que son expression en
fonction des variables hors base s’obtient en substituant aux variables de base (soit xB) leur
expression en fonction des variables hors base (soit xN) : a # x 5 b s’écrit B # xB 1 n # xB 5 b
d’où : xB 5 B 2 1 # b 1 B 2 1 # n # xN . Ainsi :
Z 5 cB # ( B 2 1 # n # xN ) 1 cN # xN 5 cB # B 2 1 # n 1 ( cN 2 cB # B 2 1 # n ) xN
le vecteur des Δj (pour xj hors base) n’est autre que :
DN 5 cN 2 cB # B 2 1 # n 5 cN 2 cB # α et Dj 5 cj 2 a ci # a ij ,
i
où la sommation est étendue à toutes les variables xi de la base.
Revenons à notre exemple ; les variables d’écart constituent la base initiale ; puisque le
bi b5 12 b6 5 b7 7
Calculons alors les rapports a ; on a : a 5 5 12 ; a 5 ; a 5 ;
i1 51 1 61 3 71 2
le plus petit positif d’entre eux est le second, ce qui, d’après le deuxième critère de Dantzig,
indique que la colonne A6 (cf la variable x6) doit sortir de la base.
Calculons les nouvelles coordonnées du vecteur b , on a :
5 5
br1 5 u0 5 ; br5 5 b5 2 u0 # a51 5 12 2 # 1 5 31 .
3 3 3
5
br7 5 b 7 2 u0 # a 71 5 7 2 # 2 5 11 .
3 3
On vériie bien que :
© Dunod – Toute reproduction non autorisée est un délit.
5/3
1 1 1 1 1 0 0 0
12
0
D 3 2 3 1 0 1 0 T
# F 0 V 5 D 5 T.
2 1 1 4 0 0 1 31/3
0 7
(1) (2) (3) (4) (5) (6) (7)
11/3
541
solutions
D 2 3 1 1 T D 0 3 0 T D a 12 a 13 a 14 a 16 T
5
1 1 4 0 0 2 1 a 72 a 73 a 74 a 76
1 1 0 1 2 1/3 0
La matrice inverse de D 0 3 0 T, n’est autre que D 0 1/3 0 T. Le lecteur montrera,
0 2 1 0 2 2/3 1
à titre de vériication, que B # B 2 1 5 i. Rappelons que l’inverse d’une matrice s’obtient par :
1
B21 5 # B matrice transposée R.
dét B des cofacteurs
3 0 0
0 0 3
3 21 0
1 2 1
0 2
a 52 a 53 a 54 a 56 1 2 1/3 0 1 1 1 0 3 3 3
2 1 1
a 5 D a 12 a 13 a 14 a 16 T 5 D 0 1/3 0 T # D2 3 1 1T 5 F 1 V
3 3 3
a 72 a 73 a 74 a 76 0 2/3 1 1 1 4 0 1 10 2
2 1 2
3 3 3
542
solutions des exercices du chapitre 8
1 1 1 0 1 1 0 a 21 a 23 a 24 a 26
D 3 3 1 1 T5D 2 0 0 T # D a 51 a 53 a 54 a 56 T
2 1 4 0 1 0 1 a 71 a 73 a 74 a 76
1 3 3 1 1
0 0
a 21 a 23 a 24 a 26 2 1 1 1 0 2 2 2 2
1 1 1 1 1
a 5 D a 51 a 53 a 54 a 56 T 5 F1 2 0V # D 3 3 1 1 T 5 F2 2 2 V
2 2 2 2 2
a 71 a 73 a 74 a 76 1 2 1 4 0 1 1 7 1
0 2 1 2 2
2 2 2 2 2
Dans ces conditions :
© Dunod – Toute reproduction non autorisée est un délit.
3 z 1 z2 z4 z6 4 5 3 z 2 z5 z7 4 # a 5 3 4 0 0 4 # a 5 36 6 2 2 4
et :
D1 5 c1 2 z1 5 21 ; D3 5 c3 2 z3 5 23 ; D4 5 c4 2 z4 5 21 ; D6 5 c6 2 z6 5 22.
On voit que l’on ne peut plus faire entrer aucun vecteur dans la base sans diminuer la
valeur de la fonction économique.
nB. Connaissant B21, on peut vériier le vecteur b, par b 5 B 2 1 # b où b est le vecteur
initial des seconds membres.
543
solutions
On a donc la solution :
5 19 9
x *1 5 0 ; x *2 5 ; x *3 5 0 ; x *4 5 0 ; x *5 5 ; x *6 5 0 ; x *7 5 ; z * 5 10.
2 2 2
2) En considérant le tableau initial des contraintes, on obtient immédiatement le pro-
gramme dual :
x1 x2 x3 x4
y1 1 1 1 1 12
y2 3 2 3 1 5
y3 2 1 1 4 7
5 4 3 1
x1 1 x2 1 x3 1 x4 < 12 ( 1 )
3x 1 1 2x 2 1 3x 3 1 x4 < 5 (2)
PRIMAL I µ
2x 1 1 x 2 1 x 3 1 4x 4 < 7 (3)
x1 , x2 , x3 , x4 > 0
3 max 4 z 5 5x 1 + 4x 2 + 3x 3 + x4
y1 1 3y 2 1 2y 3 > 5 (1)
y1 1 2y 2 1 y3 > 4 (2)
DUAL II µ y 1 1 3y 2 1 y3 > 3 (3)
y1 1 y2 1 4y 3 > 1 (4)
y1 , y2 , y3 > 0
3 min 4 z r 5 12y 1 + 5y 2 + 7y 3
et l’on sait que l’on peut passer des solutions du primal à celles du dual : (on a posé
y 4 5 y 1, y 5 5 y 2, y 6 5 y 3, y 7 5 y 4 et x 5 5 x 1, x 6 5 x 2, x 7 5 x 3).
3) Il est évident que l’équation (1) est redondante dans le système I (primal) car (2)
implique (1) ; dans ces conditions, on pourrait résoudre le primal en ne tenant compte que des
inéquations (2) et (3). En effet : x1 1 x2 1 x3 1 x4 < 3x1 1 2x2 1 3x3 1 x4 < 5 , 12.
544
solutions des exercices du chapitre 8
Le dual se présenterait alors sous la forme suivante (on supprime la contrainte (1) du
primal, ou bien 2 ce qui est équivalent 2 on pose y1 5 0 dans le dual ci-dessus) :
3y 2 1 2y 3 > 5 ( 1 )
2y 2 1 y 3 > 4 (2)
3y 2 1 y 3 > 3 (3)
y 2 1 4y 3 > 1 (4)
y2 , y3 > 0
5y 2 1 7y 3 5 zZ'r 3 min 4
NB ce dual comportant seulement 2 variables, on peut le résoudre graphiquement
De plus, l’inéquation la plus contraignante du dual est la contrainte (2) ; on a en effet :
5 3 (2) 1 3 10y2 1 5y3 > 20 4 ( 2 r ) 1 3 12y2 1 8y3 > 20 4 ( 1r )
où ( 1r ) 5 4 3 ( 1 ) ; on a donc ( 2 ) 1 ( 1 ) puisque 12y2 1 8y3 > 10y2 1 5y3 > 20.
3 3y 2 1 y 3 > 3 4 ( 3 ) 1 3 3y 2 1 12y 3 > 3 4 ( 4r ) , où ( 4r ) 5 3 3 ( 4 ) .
Donc ( 3 ) 1 ( 4 )
3 3 (2) 1 3 6y2 1 3y3 > 13 4 ( 2 r ) 1 3 12y2 1 4y3 > 12 4 ( 3 r ) ;
où ( 3 r ) 5 4 3 ( 3 ) . Donc ( 2 ) 1 ( 3 )
On a donc : ( 2 ) 1 ( 1 ) et, par transitivité, ( 2 ) 1 ( 3 ) et ( 2 ) 1 ( 4 ). Ainsi les contraintes (1),
(3) et (4) sont redondantes.
La solution ( y1 5 0 ; y2 5 2 ; y3 5 0 ) , pour minimiser : Zr 5 12y1 1 5y2 1 7y3 est alors
évidente au sommet A, où Z' = 10.
y3
4 B
�dual
2,5 Z� � 28
© Dunod – Toute reproduction non autorisée est un délit.
2
Z� � 21
(2)
1
(1)
(3) Z� � 14
1/4 (4) y2
A
0
1 5/3 2
Z� � 10
545
solutions
On remarque que les contraintes dominées : (1), (3) et (4) sont représentées par des
segments de droite situés au dessous de BA qui est associé à la contrainte (2) plus contraignante
que les trois autres.
x1 1 x2 1 x3 5 250 (1)
7x1 1 5x2 1 2x3
< 3 1 14x1 1 10x2 1 4x3 < 1 500 (2)
250
x1 1 2x2 1 6x3 < 650 ( 3 r )
x1 1 2x2 1 6x3 e
2,2 < < 2,6 1 x1 1 2x2 1 6x3 > 550 ( 3s )
250
x3
< 0,28 1 x3 < 70 (4)
250
x1 , x2 , x3 > 0
les x1, x2 et x3 représentant les volumes des trois gaz en milliers de m3.
Pour résoudre on peut simpliier en utilisant la première équation, pour ne plus laisser
subsister que les variables x2 et x3, par exemple : on substituera à x1, la quantité
250 2 (x2 + x3) ; mais il faut alors rendre explicite la contrainte x1 > 0, c’est-à-dire rajouter
au PL la contrainte x2 1 x3 < 250.
On obtient facilement (et l’on peut contrôler graphiquement) :
x2 5 1200/11
et x3 5 640/11.
Par suite : x1 5 250 2 ( x2 1 x3 ) 5 910/11.
Mais on peut aussi aborder directement le problème, en transformant la première équation
en deux inéquations : x1 1 x2 1 x3 > 250 et x1 1 x2 1 x3 < 250. Soit après introduction
des variables d’écart* respectives : x 1 et x 2 :
x1 1 x2 1 x3 2 x 1 5 250 ( 1r )
x1 1 x2 1 x3 1 x2 5 250 ( 1s )
Il faut ensuite utiliser deux variables artiicielles : une dans ( 1r ) , l’autre dans ( 3s ) .
On obtient alors la matrice optimale, après un long calcul (comportant l’élimination des
deux variables artiicielles).
* la variable d’écart associée à (2) est alors notée x 3 ; celles associées à ( 3r ) et ( 3s ) , resp. x 4 et
x 5, celle associée à (4), x 6.
546
solutions des exercices du chapitre 8
1 2 3 1 2 3 4 5 6
2 4 3 910
12 1 1 0 0 0 0 0
55 55 55 11
16 1 2 1 200
36 2 0 1 0 0 0 0
11 11 11 11
27 1 13 640
10 3 0 0 1 0 0 0
55 55 55 11
0 2 0 0 0 1 1 0 0 0 0 0
0 5 0 0 0 0 0 0 1 1 0 100
27 1 13 130
0 6 0 0 0 0 0 1
55 55 55 11
12 36 10 0 0 0 0 0 0
2 634 122 266 60 520
j 0 0 0 0 0 0
55 55 55 11
14 x1 1 x2 1 4x3 < 6v ( 2 )
g x1 1 2x2 1 6x3 < 2,6v ( 3 )
x1 1 2x2 1 6x3 > 2,2v ( 4 )
x3 < l (5)
Si l’on fait une igure, on constate que tout se passe comme si l’on n’avait à choisir
qu’entre quatre points (C, D, E, F ), compte tenu de la cinquième égalité.
Dès lors, étant donné la fonction économique, le point solution se trouve :
1) en C lorsque l excède la cote de C ;
2) entre C et D lorsque l est compris entre la cote de C et la cote de D ;
3) n’existe pas si l est inférieur à la cote de D.
x3
© Dunod – Toute reproduction non autorisée est un délit.
E
F x2
C
D
B
x1
547
solutions
Ce que l’on retrouve par la considération du problème dual, dont la matrice optimale tirée
du calcul de la question 1, s’écrit :
1 2 3 4 5 6 1 2 3
27 2 16 27 2 634
v 1 1 1 0 0 0
55 55 11 55 55
1 4 1 1 122
6v 3 0 0 1 0 0
55 55 11 55 55
13 13 3 2 13 266
v 4 0 0 0 1 1
5 55 55 11 55 55
13 11
v v 6v v v 0 0 0
5 5
2 91 120 64
0 0 0 0 v v v
5 275 275 275
64
v
275
64 64
En effet, ce tableau n’est optimal que si l 2 v , 0, c’est-à-dire : l , v . La
solution du primal, obtenue par dualité est alors 275 275
91 120 64 1 210,4
x1 5 v ; x2 5 v ; x3 5 v ; z5 v . 22,007v.
275 275 275 44
C’est le point C de la igure précédente.
64
Bien entendu si l . v, la variable x6 entre dans la base.
275
On obtient :
1 2 3 4 5 6 1 2 3
27 27 1 14 492
v 1 1 1 0 0 0
13 13 13 13 13
1 1 1 1 24
6v 3 0 0 1 0 0
13 13 13 13 13
55 55 3 10 266
6 0 0 0 1 1
13 13 13 13 13
13 11
v v 6v v v 0 0 0
5 5
64 38 5 8
0 0 0 v v 0 v v
65 65 13 13
55 55 2 10
12 13 13 13
548
solutions des exercices du chapitre 8
5 2 8 10
d’où : x 1 5 v2 l ; x2 5 v2 l ; x3 5 l
13 13 13 13
348 266
et : z5 v2 l.
13 13
38 64
Cette solution n’est optimale d’après D4r et D5r que si : v. v,l ,
275 275
Si l’on fait entrer en base variable y5, la solution obtenue n’est optimale que si :
38
l 5 v.
475
On a alors le point D de la igure.
8.5 On écrira :
2x2
2x1 x3 x4
x7 2
4x2
3x1
x5 3
x2 3x3
x6 5
variables variables variable
principales d’écart artificielle
x1, x2, x3, x4, x5, x6, x7, > 10
[max] Ζ 5 5x1 2 2x2 1 3x3 1 0x4 1 0x5 1 0x6 2 Mx7.
D’où le tableau initial :
ci i j 1 2 3 4 5 6 7 i i ie
M
s 7 2 2 1
1
0 0 1 2 2/2 *
0 5 3 4
0 0 1 0 0 3 3/3
0 6 0 1 3 0 0 1 0 5
cj 5 2
3 0 0 0 M
5 2M
j 2M 2 3
M M 0 0 0
Z 2M
© Dunod – Toute reproduction non autorisée est un délit.
↑↑
e
Partant de ce tableau, on fera entrer la variable x1 dans la base et sortir la variable x7,
puisqu’il importe de se débarrasser de la variable artiicielle x7. Cette itération fournit un
nouveau tableau dans lequel x5 5 0 bien que x5 soit dans la base.
On est conduit à remplacer le 0 de la colonne b par ε, ain de pouvoir poursuivre le cal-
cul (dégénérescence). On pourrait supprimer déinitivement la colonne 7 car, désormais, la
variable artiicielle x7 est nulle et ne pourra jamais entrer en base.
549
solutions
ci i j 1 2 3 4 5 6 7 i i ie
1 1 1
5 1 1 1 0 0 1 0
2 2 2
3 3 3 2
s 0 5 0 7 1 0 0
↑
2 *
2 2 3
0 6 5
0 1 3 0 0 1 0 5
3
cj 5 2 3 0 0 0 M
11 5 5
j 0 7 0 0 M Z 5
12 2 2
↑
e
N.B. e est un nombre très petit, positif.
Dans la suite on a effectivement éliminé la colonne 7.
Notons que nous n’appliquons pas, ici, pour le choix de la variable entrante, le premier
critère de Dantzig ; nous nous contentons de faire entrer en base une variable hors base (x3)
dont le Dj (D3) est positif ; ceci ain de faire sortir de la base la variable x5 (nulle à cause de
la dégénerescence).
En faisant entrer dans la base la variable x3, on obtient :
ci i j 1 2 3 4 5 6 i i / ie
4 1
5 1 1 0 0 0 1 <0
3 3
14 3 2 <0
3 3 0 1 1 0
3 2 3
s 0 6 0 15 0 3 2 1 5 5/15
56 11
j 0 0 3 0 Z 5 2
3 3
↑
e
Le calcul demande alors deux itérations de plus ; dès la première on peut éliminer la
valeur ε introduite plus haut :
550
solutions des exercices du chapitre 8
ci i j 1 2 3 4 5 6 i
4 7 4 13
5 1 1 0 0
15 45 45 9
1 2 14 14
3 3 0 0 1
15 45 45 9
1 2 1 1
2 2 0 1 0
5 15 15 3
cj 5 2 3 0 0 0
11 53 56 101
j 0 0 0 Z
15 45 45 9
↑
e
La seconde itération fournit :
ci i j 1 2 3 4 5 6 i
1 4 23
5 1 1 0 4 0
3 3 3
2 14 70
0 4 0 0 15 1
3 3 3
2 2 0 1 3 0 0 1 5
cj 5 2 3 0 0 0
5 14 85
j 0 0 11 0 Z
3 3 3
Les Dj des variables hors base (x3, x5 et x6) étant négatifs, l’optimum est atteint ; les
variables de base sont égales au second membre, soit xi 5 bi . Ainsi :
x *1 5 23/3 ; x *4 5 70/3 ; x *2 5 5 ; x *3 5 x *5 5 x *6 5 0.
En outre : Z * 5 85/3.
5
nB. Lors de la deuxième itération, si l’on avait fait entrer en base x4 aD4 5 b plutôt que
2
© Dunod – Toute reproduction non autorisée est un délit.
11
x3 aD3 5 b, respectant ainsi le premier critère de Dantzig, on aurait économisé une itéra-
2
tion ; en effet, l’optimum aurait été obtenu en trois itérations au lieu de quatre.
551
solutions
ce qui fournit :
13 7
x2 1 x3 < 7 ( 1s )
5 12
5 89
x2 1 x3 < 7 ( 2s )
4 60
h
3 23
x2 1 x3 < 3 ( 3s )
2 15
5 17
x2 2 x 3 < 23 ( 4s ) .
6 3
552
solutions des exercices du chapitre 8
3 5 23 89
On constate sans peine que ( 3s ) entraîne ( 2s ) ; car . et
en multipliant .
2
15 60 4
21 39 161 21
( 1s ) par 3 et ( 3s ) par 7, on voit que ( 3s ) entraîne aussi ( 1s ) car . et . .
2 5 15 12
3) Il reste donc :
3 23 45 45
x2 1 x3 < 3 x3 < 2 x2
2 15 23 46
d D’où : d
5 17 9 5
x2 2 x3 < 23 x3 > 1 x 2.
6 3 17 34
L'élimination de x3 conduit à :
9 5 45 45
1 x2 < 2 x2 ,
17 34 23 23
279
d’où : 0 < x2 <
.
220
4) Comme on veut minimiser F = x1 + x2 + x3, il faudra faire x2 5 0, ce qui entraîne :
9 45
< x3 < .
17 23
5) Mais l’on a un certain nombre d’inéquations qui ne contiennent donc plus x2 :
3 4 3 1
x 1 > 23 2 x 3 ; x 1 < 4 2 x 3 , x 1 > 23 1 x 3 ; x 1 > 1 1 x 3 ; x 1 > 7 2 x 3 .
4 3 20 5
La première est toujours vériiée, ainsi que la troisième, puisque l’on connaît des bornes
45 9
de x3 : x3 ≤ et x 3 > .
23 17
De la deuxième et l’avant-dernière, on tire :
94 56
< x1 < .
85 17
Mais, de plus, on a :
1 1 1
x3 > 1 2 x1 et x1 > 1 1 a1 2 x1 b ,
© Dunod – Toute reproduction non autorisée est un délit.
7 5 7
7
d’où : . x1 >
6
Comme on doit minimiser x1, on prendra la plus petite borne possible dans l’intervalle
7 56 7 5
B , R, soit , puis x3 5 , qui est également la plus petite valeur possible, compte tenu
6 17 6 6
de la valeur imposée à x1 :
553
solutions
1 5
x3 > 1 2 x1 5 .
7 6
7 5
Finalement : x *1 5 ; x *2 5 0 ; x *3 5 et min F 5 x*1 1 x*2 1 x*3 5 2 .
6 6
8.7 Dans 215 cm, on peut disposer :
2 deux fois la largeur A, avec une chute : 215 2 2 × 95 5 25 cm ;
2 une fois A et une fois B, avec une chute : 215 2 (95 1 84) 5 36 cm ;
2 une fois A et deux fois C, avec une chute : 215 2 (95 1 2 × 60) 5 0 : pas de chute ;
2 il n’est donc pas intéressant de considérer seulement une fois A et une fois C ;
2 deux fois B, ce qui donne une chute de 215 2 2 × 84 5 47 cm ;
2 deux fois B et deux fois C, ce qui donne une chute de 215 2 (84 1 2 × 60) 5 11 cm ;
2 trois fois C, ce qui donne une chute de 215 2 (3 × 60) 5 35 cm.
En résumé :
554
solutions des exercices du chapitre 8
Ce raisonnement reste valable si, au lieu de prendre x3 5 180, on prend x3 > 180 : cela
vient du fait que les longueurs découpées en excédent de la commande, ne sont pas considé-
rées comme des chutes (mais utilisées pour des commandes ultérieures...).
La solution générale est donc :
x3 5 180 1 u z 5 990
b
x5 5 90 u >0
B # xB 1 n # xN 5 b
x1
x2
1 0 0 x3 2 1 0 0 21 0 180
x4
£0 1 0§ # £ x5 § 1 £0 1 2 0 0 21 § # F V 5 £ 90 § .
x6
2 2 21 x3 0 0 0 3 0 0 90
x1
x2
21 0 0 1 0 0
1
dét B 5 21, B 21
5 ° 0 21 0 ¢ 5 ° 0 1 0¢.
dét B
22 22 1 2 2 21
Remarque. Ici on a B 2 1 5 B, mais c’est une coïncidence ! (B est une matrice
« involutive »).
Multiplions à gauche par B21 ; il vient : xB 1 B 2 1 # n # xN 5 B 2 1 # b :
x1
x2
x3 2 1 0 0 21 0 180
x4
C x5 S 1 C 0 1 2 0 0 21 S # F V 5 C 90 S .
x6
x3 4 4 4 23 22 22 450
x1
x2
Passons à la fonction économique :
Z r 5 cB # xB 1 cN # xN , or xB 5 B 2 1 # b 2 B 2 1 # n # xN
Z r 5 ( cB # B 2 1 ) # b 1 ( cN 2 cB # B 2 1 # n ) xN 5 Z 1 DN # xN .
© Dunod – Toute reproduction non autorisée est un délit.
3 5 5 1 2 4 6 1 2
Ici : cB 5 ( 0, 211, 0 ) et cN 5 ( 225, 236, 247, 235, 0, 0 ) . D’où :
180
Zr 5 3 0, 211, 0 4 # C 90 S 1 (voir en page suivante)
450
555
solutions
x1
x2
2 1 0 0 21 0
x
° 3 225, 236, 247, 2350, 0, 0 4 2 3 0, 211, 0 4 # C0 1 2 0 0 21 S ¢ # F 4V
x 6
4 4 4 23 22 22 x1
x2
Puisque D1 5 0 (et x 1 hors base), en faisant entrer x 1 dans la base on obtiendrait une solu-
tion équivalente ; mais les coeficients de la colonne 1 sont tous négatifs ou nuls : la solution
est alors rejetée à l’inini : ceci est dû à la chute nulle pour le plan de coupe 3 : ACC.
L’énoncé du problème est critiquable ; on pourrait le compléter en exigeant de ne pas décou-
per plus de 20 % en excédent de chaque commande.
L’introduction de x 1 en base conduit à poser x 1 5 u > 0 ; il vient :
x3 5 180 1 u
c x5 5 90 (avec u > 0) et Z 5 2Zr 5 990.
x3 5 270 1 2u
On retrouve ainsi la forme générale des solutions, obtenue par un raisonnement direct,
plus haut.
8.8 1) On vériie d’abord que la solution proposée est “admissible” : elle vériie bien les
contraintes. La solution proposée comporte m 5 3 variables positives : x2, x3 et x5. Vériions
que la matrice B associée est régulière (B est formée des colonnes 2, 3 et 5), donc que son
déterminant est non nul :
1 21 0
dét B 5 † 1 3 1† 5 1
7 0 2
1
2) Rappelons que B 2 1 5 # B matrice transposée R.
dét B des cofacteurs
556
solutions des exercices du chapitre 8
6 2 21
On trouve : B 21
5 £ 5 2 21 § .
221 27 4
L’expression des variables de base en fonction des variables hors-base s’écrit
matriciellement :
1 4
1 1
xB 5 B 2 1 # b 2 B 2 1 # n # xN , où n 5 C 3 3 S ; d’où :
2 1
xB 5 B 21 # b 2 B 21 # N # xN
x2 2 10 11 6 2 21 1 1
x1
C x3 S 5 C 1 S 2 C 9 10 S # B R car B 2 1 # n 5 C 5 2 21 S # C 3 3 S
x4
x5 3 234 238 221 27 4 2 1
x2 5 2 2 10x1 2 11x4
Soit : c x3 5 1 2 9x1 2 10x4
x5 5 3 1 34x1 1 38x4
3) En remplaçant dans Ζ les variables hors base par leur expression ci-dessus, il vient :
© Dunod – Toute reproduction non autorisée est un délit.
Ζ 5 23 1 62x1 1 70x4.
Puisque D1 5 62 et D4 5 70 sont positifs, la solution de base courante n’est pas optimale.
4) Voici le tableau correspondant à cette solution de base :
557
solutions
x1 x2 x3 x4 x5 i / ie
x2 10 1 0 11 0 2 2/11
s
d x3 9 0 1 10 0 1 1/10 *
x5 34 0 0 38 1 3 0
62 0 0 70 0 Z 23
c
e
En faisant entrer x4 en base (d’après le 1er critère de Dantzig), x3 sort de la base. La nou-
velle base ainsi obtenue est optimale :
x1 x2 x3 x4 x5
x2 0,1 1 1,1 0 0 0,9
x4 0,9 0 0,1 1 0 0,1
x5 0,2 0 3,8 0 1 6,8
1 0 7 0 0 Z 30
8.9 1) La solution optimale de PL2 est x *2 5 100 , x *1 5 0 , Z *2 5 100. Elle est obtenue
après 3 itérations (si l’on applique le premier critère de Dantzig pour déterminer la variable
entrante). Celle de PL3 est x *3 5 1002 , x *1 5 x *2 5 0 et Z*3 5 10 000 , obtenue après 7 itéra-
tions.
2) La solution optimale de PLn est x *n 5 100n 2 1 ; x *1 5 x *2 5 c5 x *n 2 1 5 0 , obtenue après
2n21 itérations, avec Z*n 5 100n 2 1.
3) En faisant entrer en base initialement xn , c’est-à-dire la variable qui a le coeficient Dj
le plus PETIT positif (contrairement au 1er critère de Dantzig qui fait choisir le Dj le plus
GRAND positif), on obtient l’optimum... en une seule itération !
En effet la base optimale est formée des variables x , x , c, x 1
et de xn.
2 n21
L’expression de xn en fonction des variables hors base est :
a2 # a 10n 2 j # x j b
n21
n21
x n 5 100 2 2 xn
j51
Exprimons alors Z 5 a 10n 2 j # xj 1 xn , en fonction des variables hors base : x1, x2, c,
n21
xn 2 1 et x n . j51
j51
558
solutions des exercices du chapitre 9
B
maximin
q1 q2
Il sufira donc de résoudre le jeu réduit ci contre : p1 2 21 21
Or maximin 5 21 , minimax = 2 : ce jeu est sans
A p2 22 3 22
point-selle.
2) Le programme, pour B, est : p3 21 0 21
min g 2 3
2q1 2 q2 < g
minimax
© Dunod – Toute reproduction non autorisée est un délit.
559
solutions
3q1 2 1 5 g
25q1 1 3 5 g
2q1 5 g
dans le plan (q1, g) et pour 0 < q1 < 1.
On en déduit immédiatement le minimum de g :
en prenant le point le plus bas de d :
1 1 1
q1 5 , g 5 et q2 5 .
2 2 2
1
2) On peut alors revenir au programme qui, pour A, s’écrit connaissant g 5 :
2
1
2p1 2 2p2 2 p3 >
2
1
2p1 1 3p2 >
f 2
p1 1 p2 1 p3 5 1
p1 , p2 , p3 > 0.
3
3p1 2 p2 >
2
En remplaçant p3 par 1 – p1 – p2, on obtient : d 2p1 1 3p2 1
> ,
2
p1 , p2 , ( 1 2 p1 2 p2 ) > 0
d’où, par addition des deux premières inégalités (de même sens) :
2p1 1 2p2 > 2
ou : p1 1 p2 > 1 (a).
Mais : p1 + p2 + p3 = 1 et p1, p2, p3 > 0 montrent que :
p1 1 p2 < 1 (b).
En comparant les inégalités (a) et (b), il vient :
p1 + p2 = 1.
Il s’ensuit que p3 = 0.
On a alors, en remplaçant p2 par 1 – p1 :
3 5
3p1 2 ( 1 2 p1 ) > 4p1 >
2 2
c 1 c
1 5
2p1 2 3 ( 1 2 p1 ) > 24p1 > 2
2 2
560
solutions des exercices du chapitre 9
5 5
d’où : p1 > et p< ,
8 8
5
soit : p1 5 ,
8
3
On a alors : p2 5 .
8
5 3
Ainsi : ; p2 5 ; p3 5 0 .
p1 5
8 8
Le fait que p3 = 0 ne signiie pas, ici, qu’il y a une dominance en ligne : on ne peut pas
dire que la ligne 1 ou bien la ligne 2 domine la ligne 3. Cependant si l’on fait la combinaison
1 1
linéaire : 3 ligne 1 1 3 ligne 2 , après suppression de la colonne 3 (qui est une stratégie
2 2
récessive), on trouve : 0 1 . Cette nouvelle ligne domine la ligne 3 restante, soit : 21, 0 .
q1 1 q2 1 q3 < 1 ( 3 q4 5 1 2 q1 2 q2 2 q3 > 0 )
3q1 1 4q2 2 q3 2 1 < g
e q1 1 7q2 1 6q3 2 2 < g
2q1 2 8q2 2 3q3 1 3 < g
q1 , q2 , q3 > 0
© Dunod – Toute reproduction non autorisée est un délit.
561
solutions
1 2 3
ci i j 1 2 3 5 6 7
0 5 4 12 2 1 0 1 4 4/12 1/3 *
"
s 0 6 2 15 9 0 1 1 5 5/15 1/3 *
cj 1 8 3 0 0 1
j 1 8 3 0 0 1 Z 0
c
e
Noter l’égalité des deux rapports 4/12 et 5/15 : une dégénérescence de deuxième espèce
(cf 8.3.2) va apparaître.
1 2 3
ci i j 1 2 3 5 6 7
36 78 12 3
0 5 0 1 0
15 15 15 15
2 9 1 1 1
8 2 1 0
15 15 15 15 3
cj 1 8 3 0 0 1
1 27 8 7 8
*j 0 0 Z
15 15 15 15 3
1 2
d’où q2 5 et q1 = q3 = (q5 = q6 = q7) = 0 ; on voit donc que : q4 5 (qui est bien positif !)
3 3
1
et que g 5 car Z 5 2 ( g 2 3 ) , c-à-d g 5 3 2 Z.
3
nB. On observe qu’à l’optimum, la variable de base q5 est nulle : il s’agit d’une dégéné-
rescence (de deuxième espèce).
562
solutions des exercices du chapitre 9
On peut aussi, plus simplement, utiliser les propriétés de la dualité. En revenant au tableau
8 7
optimal, on voit que : p1 5 2D1* 5 0 ; p2 5 2D2* 5 ; p3 5 2D*3 5 .
15 15
9 10 31
Mais ce n’est qu’une solution de base. L’autre ap1 5 ; p2 5 b serait four-
; p3 5
26 39 78
nie en faisant sortir de la base la variable 5 au lieu de la variable 6 lors de la 1ère itération
ci-dessus. Tous les points de l’arête joignant les deux sommets associés à ces deux solutions
de base sont des solutions optimales.
Voici d’ailleurs le détail des deux itérations (le premier tableau de la page précédente est
inchangé : il suffit d’y cercler 12, le pivot cette fois, au lieu de 15) :
© Dunod – Toute reproduction non autorisée est un délit.
ci i j 1 2 3 5 6 7
8 2 1/3 1 1/6 1/12 0 1/12 1/3
s 0 6 3 0 13/2 5/4 1 1/4 0
cj 1 8 3 0 0 1
8
j 5/3 0 5/3 2/3 0 1/3 Z3
↑
e
563
solutions
↑
ci i j 1 2 3 5 6 7
8 2 16/39 1 0 3/26 1/39 7/78 1/3
3 3 6/13 0 1 5/26 2/13 1/26 0
cj 1 8 3 0 0 1
8
j 35/39 0 0 9/26 10/39 31/78 Z 3
564
solutions des exercices du chapitre 9
1 2 3 4 5 6 7
0 5 7 8 3 4 1 0 0 1
s 0 6 4 10 9 3 0 1 0 1
0 7 7 0 5 8 0 0 1 1
1 1 1 1 0 0 0 Z 0
↑
e
© Dunod – Toute reproduction non autorisée est un délit.
1 2 3 4 5 6 7
0 5 19/5 0 21/5 8/5 1 4/5 0 1/5 (1/5) / (8/5) = 1/8 *
1 2 2/5 1 9/10 3/10 0 1/10 0 1/10 (1/10) / (3/10) = 1/3
s 0 7 7 0 5 8 0 0 1 1 1 / 8 = 1/8 *
565
solutions
puis en faisant entrer la variable 4r en base, on a le choix de faire sortir 5r ou bien 7r. En
choisissant 7r il vient l’optimum :
1 2 3 4 5 6 7
0 5 12/5 0 26/5 0 1 4/5 1/5 0
1 2 11/80 1 57/80 0 0 1/10 3/80 1/16
1 4 7/8 0 5/8 1 0 0 1/8 1/8
1 2 3 4 5 6 7
1 4 19/8 0 21/8 1 5/8 1/2 0 1/8
1 2 5/16 1 27/16 0 3/16 1/4 0 1/16
s 0 7 12 0 26 0 5 4 1 0
3
17/16 0 31/16 0 7/16 1/4 0 Z
16
↑
e
et après une itération où l’on fait entrer en base 3 r et sortir 7r, il vient l’autre optimum :
1 2 3 4 5 6 7
121 25 5 21 1
1 4 0 0 1
104 208 52 208 8
97 57 1 27 1
1 2 1 0 0
208 416 104 416 16
6 5 2 1
1 3 0 1 0 0
13 26 13 26
35
208
0 0 0
27
5
31
416 104 416
Z
3
16
16
g
3
566
solutions des exercices du chapitre 9
On retombe évidemment sur les deux solutions de base optimales (déjà obtenues par la
1re méthode) :
16
1 q2 5 # 1 5 1 ; q4 5 16 # 1 5 2 ; q1 5 q3 5 0 ; (car qj 5 gr # qrj ).
3 16 3 3 8 3
16
p1 5 0 ; p2 5 # 1 5 8 ; p3 5 16 # 7 5 7 : comme déjà vu plus haut.
3 10 15 3 80 15
1 16 15 1 .
g5 255 2 5
Zr 3 3 3
16
2 q2 5 # 1 5 1 ; q4 5 16 # 1 5 2 ; q1 5 q3 5 0 .
3 16 3 3 8 3
p1 5
16
# 27 5 9 ; p2 5 16 # 5 5 10 ; p3 5 16 # 31 5 31 ;
3 416 26 3 104 39 3 416 78
16 1
On retrouve : g 5 gr 2 5 5 255 .
3 3
567
bibliograPhie générale
Nous fournissons ici, outre les références bibliographiques citées tout au long de ce précis
de recherche opérationnelle, une liste d’ouvrages dans lesquels le lecteur pourra approfondir les
notions élémentaires de recherche opérationnelle que les auteurs se sont essayés de transmettre
dans les différentes parties constituant ce document.
Les références bibliographiques relatives aux chapitres 10, 11 et 12 sont situées à la in de
chacun de ces chapitres.
R.K. ahuja, T.L. Magnanti et J.B. orlin, D.S. hochBauM, Approximation algorithms
Networks Flows, Prentice Hall, 1993. for NP-hards, Problems, PWS Publishing
A. alj et R. Faure, Guide de la recherche Compagny, 1997.
opérationnelle, tome 1 : les fondements, R. jain, The art of computer systems
1986, tome 2 : les applications, Masson, performance analysis, Wiley, 1991.
1997. L. kleinrock, Queueing systems, volume 1 :
C. Berge, Graphes, Dunod, 1983. theory, volume 2 : computers applications,
V. chvatal, Linear programming, Freeman, Wiley, 1976.
1983. M. Minoux, Programmation mathématique,
E. cinlar, Introduction to stochastic process, théorie et algorithmes, 2 tomes, Tec et
Prentice Hall, 1975. Doc, 2008.
T. corMen, C. leiserson, R. rivest et A. Pagès et M. gonDran, Fiabilité des
C. stein, Introduction à l’algorithmique, systèmes, Eyrolles, 1980.
Dunod, 2002. roseaux, Exercices et problèmes résolus de
M.R. garey and D.S. johnson, Computers recherche opérationnelle, tome 1 : graphes,
and intractability, a guide to the theory of leurs usages, leurs algorithmes, 3e édition,
NP-completeness, Freeman, 1979. 2005 ; tome 2 : phénomènes aléatoires
en recherche opérationnelle, 2e édition,
M. gonDran et M. Minoux, Graphes et 2004 ; tome 3 : programmation linéaire
algorithmes, Tec et Doc, 2009. et extensions, problèmes classiques, 3e
Groupe gotha, Modèles et Algorithmes en édition, 2009, Dunod.
Ordonnancement, Ellipses, 2004.
Index
570
Index
571
Index
572