Precis de Recherche Operationnelle - Robert Faure

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 594

Précis

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.

Illustration de couverture ©Kentoh-Fotolia.com

© Dunod, Paris, 2014


ISBN 978-2-10-071060-7
Table des MaTières
avanT-ProPos ......................................................................................... vii
inTroducTion À la recherche oPeraTionnelle ................................... ix

1 sTrucTures ordonnées aPPlicaTions des Treillis


eT de l’algèbre de boole en recherche
oPéraTionnelle ................................................................................. 1
1.1 NOTIONS SUR LES STRUCTURES ORDONNÉES ............................................. 1
1.2 REPRÉSENTATION ENSEMBLISTE DES ALGÈBRES DE BOOLE.
APPLICATION À LA LOGIQUE ÉLÉMENTAIRE ................................................. 11
1.3 L’ALGÈBRE DE BOOLE BINAIRE ............................................................... 19
1.4 APPLICATIONS ÉLÉMENTAIRES ................................................................. 27

2 noTions de coMPlexiTé .................................................................. 42


2.1 COMPLEXITÉ DES ALGORITHMES ............................................................. 42
2.2 COMPLEXITÉ DES PROBLÈMES ................................................................. 47

3 éléMenTs de la Théorie des graPhes : définiTion, concePTs


essenTiels ; Parcours des graPhes .................................................. 59
3.1 ÉLÉMENTS DE LA THÉORIE DES GRAPHES .................................................. 59
3.2 PARCOURS DES GRAPHES ........................................................................ 70

4 aPPlicaTions des graPhes à la recherche


oPéraTionnelle ................................................................................ 99
4.1 NOTIONS DE PROGRAMMATION DYNAMIQUE (PRD) .................................. 99
4.2 APPLICATIONS AUX CHEMINS OPTIMAUX ................................................... 104
4.3 PROBLÈMES D’ORDONNANCEMENT EN GESTION DE PROJETS ........................ 114
4.4 PROBLÈME DU FLOT DE VALEUR MAXIMALE .............................................. 128
4.5 FLOT DE VALEUR MAXIMALE À COÛT MINIMAL.......................................... 134
4.6 PROBLÈMES D’AFFECTATION ................................................................... 139
4.7 NOTIONS D’ARBRE ET D’ARBORESCENCE .................................................. 144
4.8 APPLICATIONS AUX ARBRES OPTIMAUX..................................................... 146
4.9 LES PROGRAMMES DE TRANSPORT............................................................ 149
4.10 RECHERCHES ARBORESCENTES .............................................................. 163

iii
Table des Matières

5 Processus sTochasTiques eT PrograMMaTion


dynaMique sTochasTique ............................................................... 186
5.1 INTRODUCTION AUX PROBLÈMES STOCHASTIQUES ...................................... 186
5.2 DÉFINITION D’UN PROCESSUS STOCHASTIQUE ............................................ 188
5.3 CHAÎNES DE MARKOV À ESPACE D’ÉTATS DISCRET.................................... 188
5.4 CLASSIFICATION DES ÉTATS D’UNE CHAÎNE DE MARKOV
FINIE À L’AIDE DU GRAPHE DES TRANSITIONS ............................................ 191
5.5 PROCESSUS DE MARKOV À ESPACE D’ÉTATS DISCRET ................................ 197
5.6 PROBABILITÉS DES ÉTATS ....................................................................... 200
5.7 ERGODICITÉ .......................................................................................... 202
5.8 CALCUL DES PROBABILITÉS DES ÉTATS EN RÉGIME
PERMANENT–THÉORÈME DES COUPES........................................................ 204
5.9 PROCESSUS DE MARKOV PARTICULIERS.................................................... 208
5.10 NOTION DE PROGRAMMATION DYNAMIQUE
STOCHASTIQUE .................................................................................... 216

6 fiabiliTé des coMPosanTs, sûreTé de foncTionneMenT


des sysTèMes .................................................................................... 228
6.1 DONNÉES DISCRÈTES. COURBES DE SURVIE EXPÉRIMENTALE ....................... 228
6.2 LOI DE SURVIE : FORME ANALYTIQUE ....................................................... 233
6.3 PROBABILITÉ DE CONSOMMATION. APPROVISIONNEMENTS .......................... 237
6.4 CALCUL DES APPROVISIONNEMENTS ......................................................... 239
6.5 UN AUTRE COMPROMIS : L’ENTRETIEN PRÉVENTIF ..................................... 244
6.6 FIABILITÉ DES SYSTÈMES NON RÉPARABLES .............................................. 250
6.7 SÛRETÉ DE FONCTIONNEMENT DES SYSTÈMES RÉPARABLES......................... 254
6.8 STRATÉGIE DE REMPLACEMENT ............................................................... 259

7 les PhénoMènes d’aTTenTe ............................................................. 270


7.1 GÉNÉRALITÉS SUR LES PHÉNOMÈNES D’ATTENTE ....................................... 270
7.2 LOI DES ARRIVÉES. LOI DES SERVICES...................................................... 271
7.3 FILE À UNE STATION. SYSTÈME OUVERT : FILE M/M/1 ............................. 272
7.4 FILE À S STATIONS, SYSTÈME OUVERT : FILE M/M/S ................................ 278
7.5 APPLICATION NUMÉRIQUE ....................................................................... 280
7.6 FILE À S STATIONS, CAS DU SYSTÈME FERMÉ :
FILE M/M/S/N ..................................................................................... 286

iv
Table des Matières

7.7 PROBABILITÉ DE DÉPASSER UNE CERTAINE ATTENTE :


CAS DE LA FILE M/M/1 ......................................................................... 289

8 la PrograMMaTion linéaire........................................................... 297


8.1 EXEMPLE DE PROGRAMME LINÉAIRE (PL) – ASPECT GÉOMÉTRIQUE................ 298
8.2 ALGORITHME DU SIMPLEXE : MÉTHODE ALGÉBRIQUE,
MÉTHODE DES TABLEAUX ........................................................................ 307
8.3 DÉGÉNÉRESCENCES POSSIBLES ................................................................ 321
8.4 ASPECT MATRICIEL................................................................................. 324
8.5 DÉMARRAGE DE L’ALGORITHME DU SIMPLEXE : PROBLÈME
DE LA BASE INITIALE ............................................................................. 330
8.6 NOTIONS SUR LA MÉTHODE RÉVISÉE DU SIMPLEXE..................................... 340
8.7 DUALITÉ ............................................................................................... 342
8.8 PROGRAMME LINÉAIRE EN NOMBRES ENTIERS ; MÉTHODE
DES TRONCATURES DE GOMORY .............................................................. 352

9 inTroducTion à la Théorie des jeux............................................. 367


9.1 UN JEU D’ENFANT .................................................................................. 367
9.2 JEUX À DEUX PERSONNES ET À SOMME NULLE ........................................... 368
9.3 NOTION DE STRATÉGIES MIXTES ; CALCUL DES FREQUENCES OPTIMALES ...... 372
9.4 AUTRE MÉTHODE DE CALCUL : LES PL DES JOUEURS SONT
EN DUALITÉ ........................................................................................... 376
9.5 EXEMPLE D’APPLICATION ÉCONOMIQUE ; DOMINANCE D’UNE
STRATÉGIE, RÉDUCTION D’UN JEU ............................................................ 379
9.6 MÉTHODOLOGIE D’ÉTUDE DES JEUX À DEUX JOUEURS
ET SOMME NULLE .................................................................................. 382

10 siMulaTion ...................................................................................... 384


10.1 INTRODUCTION .................................................................................... 384
© Dunod – Toute reproduction non autorisée est un délit.

10.2 DÉFINITIONS........................................................................................ 386


10.3 LES « ENTRÉES » D’UN MODÈLE DE SIMULATION ..................................... 387
10.4 UN EXEMPLE DE SIMULATION ................................................................ 392
10.5 LES RÉSULTATS (SORTIES) D’UNE SIMULATION ET
ANALYSE STATISTIQUE .......................................................................... 393

v
Table des Matières

10.6 LANGAGES DE SIMULATION................................................................... 398


10.7 CONCLUSION ....................................................................................... 399

11 MéTaheurisTiques en oPTiMisaTion coMbinaToire ....................... 400


11.1 INTRODUCTION ................................................................................... 400
11.2 LA TÂCHE IMPARTIE AUX MÉTAHEURISTIQUES........................................ 401
11.3 LA MÉTHODE DU RECUIT SIMULÉ .......................................................... 404
11.4 LA RECHERCHE TABOU ........................................................................ 408
11.5 LES ALGORITHMES GÉNÉTIQUES ........................................................... 412
11.6 LES ALGORITHMES DE COLONIES DE FOURMIS ........................................ 415
11.7 LES MÉTHODES HYBRIDES .................................................................... 417

12 inTroducTion à l’aide MulTicriTère à la décision ................................. 419


12.1 INTRODUCTION .................................................................................... 419
12.2 CADRE GÉNÉRAL.................................................................................. 421
12.3 LA SOMME PONDÉRÉE........................................................................... 427
12.4 MÉTHODES DE SURCLASSEMENT (ELECTRE) ........................................... 429
12.5 OPTIMISATION MULTIOBJECTIF............................................................... 435
12.6 CONCLUSION ....................................................................................... 440

soluTions des exercices ...................................................................................... 442


SOLUTIONS DES EXERCICES DU CHAPITRE 1 ............................................................. 442
SOLUTIONS DES EXERCICES DU CHAPITRE 2 ............................................................. 450
SOLUTIONS DES EXERCICES DU CHAPITRE 3 ............................................................. 452
SOLUTIONS DES EXERCICES DU CHAPITRE 4 ............................................................. 457
SOLUTIONS DES EXERCICES DU CHAPITRE 5 ............................................................. 482
SOLUTIONS DES EXERCICES DU CHAPITRE 6 ............................................................. 497
SOLUTIONS DES EXERCICES DU CHAPITRE 7 ............................................................. 514
SOLUTIONS DES EXERCICES DU CHAPITRE 8 ............................................................. 526
SOLUTIONS DES EXERCICES DU CHAPITRE 9 ............................................................. 559

bibliograPhie générale .......................................................................... 568


index ..................................................................................................... 569

vi
avanT-ProPos

Le « Précis de recherche opérationnelle » a été publié pour la première fois en 1968,


puis a fait l’objet de cinq autres éditions, puis d’une sixième édition en 2009 refon-
due et complétée. En voici une 7e édition révisée.
Cet ouvrage se distingue principalement par son caractère pédagogique très mar-
qué, par son souci de replacer l’exposé des principales méthodes de la recherche
opérationnelle dans un contexte appliqué. Il a connu, depuis sa première version, une
très large diffusion qui en a fait un vecteur privilégié d’initiation et de formation à la
recherche opérationnelle pour des générations d’étudiants, d’ingénieurs, de cadres.
Aussi nous a-t-il semblé important de l’actualiser pour lui permettre de continuer
d’assurer cette mission.
Ce livre peut être abordé par un large public : il privilégie un langage d’explica-
tion naturelle, en évitant, sous prétexte de rigueur académique, un exposé par trop
abstrait s’appuyant sur un formalisme mathématique ou un jargon qui ne le rendrait
que beaucoup plus dificilement accessible.
Il comporte plusieurs niveaux de lecture, les paragraphes les plus « pointus »
ayant été placés en in de chapitre. Ainsi convient-il tout à fait à une découverte de
la R.O., comme on la pratique en deuxième ou troisième année de l’enseignement
supérieur. Il est accessible à des lecteurs dont la formation de base est variée, pas
nécessairement spécialisés en mathématiques et/ou en informatique.
Certes la diffusion, désormais large, de logiciels intégrant les méthodes ici décri-
tes, facilite et accélère l’application de la R.O. par l’ingénieur dans l’entreprise, mais
encore faut-il pour mieux les utiliser connaître les méthodes qui les sous-tendent : nous
exposons ici les principales. Il convient aussi d’apprendre à formuler, modéliser les
problèmes concrets que peut rencontrer l’ingénieur.
Le souci des auteurs, pour la présente édition, a été de moderniser et de complé-
ter le contenu de ce manuel, tout en conservant le caractère pédagogique. Depuis les
premières éditions, l’algorithmique a connu et continue de connaître de nombreux
progrès. Ainsi dans le domaine de la complexité des algorithmes et des problèmes
(qu’ils soient polynomiaux ou bien « NP-complets »), avec l’approximabilité des
problèmes dificiles, avec la démonstration du caractère polynomial de la program-
mation linéaire (même si les algorithmes polynomiaux de résolution des programmes
linéaires, les « méthodes intérieures », sortent du cadre de cet ouvrage) ; les avancées
dans les structures de données et les algorithmes de « parcours des graphes » ont
permis de construire des algorithmes de faible complexité résolvant des problèmes
classiques tant de théorie des graphes non valués (connexité, forte connexité, etc.)
que d’optimisation dans les graphes valués. Dans le domaine stochastique (aléa-
toire), on a assisté notamment au développement de la sûreté de fonctionnement des
systèmes et de l’évaluation de leurs performances.
Nous avons eu le souci de présenter des méthodes spéciiques qui sont éprouvées,
opérationnelles. En in d’ouvrage le lecteur trouvera trois chapitres traitant de mé-
thodes générales de résolution de problèmes : d’une part un chapitre sur les techniques
de simulation, d’autre part un chapitre sur les méta-heuristiques (recuit simulé, tabou,
algorithmes génétiques, colonies de fourmis, etc.) qui permettent à l’ingénieur
d’obtenir rapidement une première solution (généralement sous-optimale) au pro-
blème de R.O. qu’il doit traiter (souvent en un temps bien limité !), enin un chapitre
consacré à l’aide à la prise de décision face à plusieurs critères (analyse multicri-
tère).
Nous nous sommes gardés du souci d’exhaustivité qui aurait conduit à un ouvrage
pléthorique, pour nous limiter aux bases de la discipline et à ses problèmes centraux.
Aussi des domaines, tels que : les SIAD (systèmes interactifs d’aide à la décision),
les réseaux de Petri, les bases de la programmation non linéaire, la programmation
convexe, les méthodes polyédrales, ne sont pas abordés ici ; toutefois leurs prérequis
y sont développés. Dans le domaine des graphes nous ne traitons pas directement
certains problèmes avancés (emplois du temps, tournées de véhicules, affectations
de ressources et de fréquences en télécommunications, etc.), même si les modèles et
algorithmes présentés ici peuvent contribuer à leur résolution.
Nous serons tout à fait satisfaits si ce livre est jugé, par ses lecteurs, comme
approprié à son but, qui est de transmettre des connaissances et de fournir une ouver-
ture d’esprit sur la modélisation et l’optimisation appliquées. Nous espérons aussi
qu’il les incitera à un approfondissement !

Pr B. LEMAIRE Pr C. PICOULEAU
[email protected] [email protected]

viii
inTroducTion
à la recherche
oPéraTionnelle

À première vue, la recherche opérationnelle est un ensemble de techniques récentes,


datant tout au plus de la Seconde Guerre mondiale. Et, en fait, c’est bien à son appli-
cation aux opérations militaires qu’elle doit son nom.
En réalité, elle est bien plus ancienne, car, dès le xvii e siècle, Blaise Pascal et
Pierre de Fermat, inventeurs de la notion d’espérance mathématique (1654), cher-
chaient, suivis de peu par Jacques Bernoulli puis Waldegrave, à résoudre des pro-
blèmes de décision dans l’incertain. Avant la in de l’ancien régime, Gaspard Monge
s’était proposé et avait résolu analytiquement un problème économique de nature
combinatoire : celui des déblais et remblais (1776). Sous la monarchie de Juillet,
Augustin Cournot s’était attaqué à la théorie mathématique des richesses (1838),
devenant ainsi le précurseur de l’économétrie. Au début du xx e siècle, Emile Borel
introduisait la théorie mathématique des jeux, sous sa forme moderne, à l’Académie
des Sciences (1921-1925), tandis qu’Erlang fondait celle des iles d’attente, qu’il uti-
lisait à la conception des réseaux téléphoniques (1917). Enin, à la veille de la guerre
1939-1945, Leonid Kantorovitch concevait et appliquait la programmation linéaire
à la planiication, peu après que Dénes König eut systématisé les graphes (1936).
On peut donc dire que, lorsque le physicien anglais Patrick Blackett fut, en 1940,
appelé à diriger la première équipe de chercheurs opérationnels, d’illustres devan-
ciers l’avaient précédé. Cependant, Blackett eut l’immense mérite de trouver, notam-
ment, l’organisation lui permettant de traiter rapidement et avec succès les dificiles
questions telles que l’implantation optimale des radars de surveillance des côtes bri-
tanniques ou encore de la protection des convois de navires marchands reliant la
Grande Bretagne et les États-Unis, qui devaient jouer un rôle déterminant dans la
bataille d’Angleterre. L’eficacité de son entreprise était due aux trois faits suivants :
l’équipe qu’il avait rassemblée était très hétérogène (autrement dit elle rassemblait
des compétences variées, complémentaires ; ainsi, les points de vue qu’elle exprimait
étaient plus pertinents) ; aucune information (même secrète) ne fut jugée trop noble
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

une définiTion de la r.o.


Plutôt qu’un simple arsenal de méthodes mathématico-informatiques destiné à
l’optimisation des processus de production et de diffusion des produits ou à celle
d’organisations dans le secteur tertiaire, la recherche opérationnelle peut se déinir
comme l’ensemble des méthodes et techniques rationnelles d’analyse et de synthèse
des phénomènes d’organisation utilisables pour élaborer de meilleures décisions.
Chaque fois que des hommes, des machines, des produits se trouvent en relations
actives, on dira que l’on a affaire à un phénomène d’organisation. Les problèmes
relatifs à ces phénomènes d’organisation se signalent tout d’abord, généralement,
par leur caractère hautement combinatoire. Pour peu que le hasard y soit mêlé et que
la concurrence s’y manifeste, les situations deviennent encore plus compliquées.
Il a été longtemps de mode de penser que les décisions, à propos des phénomènes
d’organisation qui existent dans l’entreprise, la région, voire la nation, étaient du res-
sort du seul bon sens. C’est particulièrement vrai en France, où la formation des diri-
geants et des entrepreneurs est fortement teintée de cartésianisme et où l’on confond
volontiers la puissance de l’esprit humain avec les ressources du sens commun.
Aussi, la recherche opérationnelle n’est pas le moyen d’échapper aux jugements
de bon sens. Bien au contraire, elle constitue la méthode adéquate pour ramener
l’attention de l’homme aux domaines où sa raison individuelle peut s’exercer efi-
cacement, c’est-à-dire au niveau des choix – une fois résolus et explorés, par des
techniques adéquates, les problèmes combinatoires, aléatoires ou concurrentiels qui
dépassent l’esprit humain même le mieux constitué.

les doMaines d’aPPlicaTion


L’idée à retenir est que la R.O. ne s’occupe pas des problèmes dans lesquels une
solution de bon sens intervient tout naturellement. Son domaine réservé est celui des
situations dans lesquelles, pour une raison quelconque, le sens commun se révèle
faible ou impuissant.
Tels sont :
1) Les problèmes combinatoires ;
© Dunod – Toute reproduction non autorisée est un délit.

2) Les domaines de l’aléatoire ;


3) Les situations de concurrence.
1) Il est bien connu que l’homme envisage dificilement la multiplicité des combi-
naisons qui se présentent, dans les moindres faits de la vie, lorsque plusieurs varia-
bles peuvent prendre, chacune, des états différents.
Ainsi, si l’on pose à l’homme de la rue cette question : combien faut-il de temps à
une famille de huit personnes, prenant en commun deux repas journaliers, pour épui-
ser les diverses possibilités de se grouper autour de la table familiale ?, on recevra
des réponses variées, dont les moins optimistes ixeront un délai de quelques mois
pour la réalisation de ce modeste objectif. On sait qu’en réalité, à raison de deux

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.

– problèmes concurrentiels ; exemples : déinition de politiques d’approvisionne-


ment, de vente, etc.

difficulTés eT dangers de l’oPTiMisaTion


a) Un entrepreneur pourrait avoir le sentiment qu’en minimisant ses investissements,
optimisant ses fabrications (productivité maximale, coût minimal), déterminant le
prix de vente le plus convenable, etc., il fera le proit maximal.
Mais le mathématicien est souvent désemparé face à un problème dans lequel
existent simultanément plusieurs fonctions à optimiser. L’aide multicritère à la

xiii
Introduction à la recherche opérationnelle

décision vise à traiter de tels problèmes (à laquelle est consacré un chapitre en in de


cet ouvrage).
C’est pourquoi, dans la majorité des cas, l’entrepreneur doit se borner à indiquer
les limites de ses investissements, des dépenses en études et recherches, en service
commercial, les capacités de fabrication et de stockage, etc., pour permettre au cher-
cheur opérationnel d’optimiser une seule et unique fonction, par exemple maximiser
une fonction de revenu.
Les limites indiquées fournissent les contraintes du problème. Par exemple, si
des produits P1, P2 et P3, fabriqués en quantités respectives x1, x2 et x3, occupent res-
pectivement un volume de 1, 2, et 2 m3 par unité fabriquée, et si l’on dispose d’une
capacité totale de stockage de 4 000 m3, on écrira :
x1 1 2x2 1 2x3 < 4 000 ;
c’est la contrainte de capacité de stockage.
Si ces produits laissent des proits nets respectifs de 4, 12 et 3 unités monétaires
et si l’on désire maximiser le revenu, on posera :
[max] z 5 4x1 1 12x2 1 3x3 ;
C’est la fonction économique ou critère d’optimisation du problème.
Les différentes contraintes limitent, dans un espace à n dimensions (s’il y a n
variables), un volume à l’intérieur ou à la périphérie duquel se trouvent les points
dont les coordonnées constituent une solution possible du problème. Il reste alors
à trouver et à utiliser des techniques permettant de choisir, parmi cette ininité
de points, celui (ou ceux) qui donne(nt) à la fonction économique sa valeur opti-
male.
Fréquemment il y aura unicité de la fonction (ou critère) à optimiser. Remarquons
que cette idée n’est pas en opposition avec la démarche de l’analyse multicritère
introduite en in de cet ouvrage.
b) On se rend compte qu’il est bien dificile d’imaginer – et, a fortiori, en général
impossible de bâtir – un modèle complet du fonctionnement d’une entreprise.
En conséquence, l’entrepreneur propose, souvent, au chercheur opérationnel, de
se borner à un aspect de ses préoccupations (ixation des niveaux d’activité, optimi-
sation de la gestion des stocks, par exemple). Dans ces conditions, il ne s’agit que
d’une sous-optimisation, qui risque de provoquer des perturbations sérieuses dans
des domaines connexes de l’entreprise (ou de son environnement).
Une sous-optimisation comporte donc des dangers ; avant de l’appliquer, il faut
prendre garde à ses conséquences sur les éléments qui ne igurent pas dans le modèle.
Ainsi une optimisation des stocks chez B, qui a comme fournisseur A, et C comme
client, peut entraîner des dificultés inattendues chez ce fournisseur et ce client !
c) Un critère d’optimisation peut se dégrader, voire même être périmé lorsque un
certain temps a passé. Cela est dû, avant tout, à la grande variabilité du monde éco-
nomique, aux progrès de la technique, à l’obsolescence des produits, aux luctuations

xiv
La R.O. : une pratique à caractère scientifique

des réglementations, aux renversements de la mode, etc. et parfois, tout simplement,


à la succession des saisons.
Ce qui est bon pour l’année n peut devenir mauvais pour l’année n 1 1 ; ce qui
est à conseiller en été peut être à rejeter en hiver...
Bref, en recherche opérationnelle, l’évolution est de règle, même pour le critère
de choix.

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.

la r.o. : une PraTique à caracTère scienTifique


Les méthodes et le but de la recherche opérationnelle en font bien plus une pratique
à caractère scientiique qu’une science. En effet, elle ne cherche pas tant à expliquer
les phénomènes qu’elle prendrait en compte en découvrant des lois, qu’à permettre
d’agir sur l’évolution de ces phénomènes.
Un modèle (ou, plus modestement, un schéma d’intervention) est utile voire indis-
pensable à un agent économique déterminé pour obtenir – de son point de vue – les
meilleurs résultats possibles dans des circonstances déterminées.

xv
Introduction à la recherche opérationnelle

En tout cas, la recherche opérationnelle apparaît comme une discipline-carrefour,


associant étroitement les méthodes et les résultas de l’économie d’entreprise, la mathéma-
tique et l’informatique. L’élaboration du schéma d’intervention (ou modèle) utilise les
ressources conjuguées de l’analyse économique et de la théorie des systèmes ; elle a
besoin aussi de données à collecter puis à saisir, justiciables de méthodes statistiques. Le
traitement algorithmique du modèle, après que la mathématique ait permis de choisir une
voie (le plus souvent un algorithme) pour atteindre une bonne solution (voire l’optimum,
s’il est bien déini et accessible), entraîne un recours à l’informatique. Enin la critique
des résultats exige, une fois de plus, la réunion des différents acteurs.

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.

buT eT Plan de l’ouvrage


Le présent ouvrage reproduit en grande partie des conférences, puis des cours, professés
depuis plus de cinquante ans, principalement au CNAM, où ils ont bénéicié du meilleur
accueil. Sans doute faut-il rechercher la raison de ce bon accueil dans le fait que les
élèves du Conservatoire National des Arts et Métiers étant déjà pour la plupart des pra-
ticiens, ont, plus que d’autres élèves-ingénieurs souvent plus jeunes, le sens des réalités
économiques, la connaissance de l’entreprise, et la notion des dificultés à vaincre dans
ces domaines.
Dans l’entreprise ou l’administration classiques, dans les groupements écono-
miques horizontaux ou verticaux, privés ou publics, les méthodes de gestion scien-
tiique et, en particulier, la recherche opérationnelle ont gagné bien du terrain. Et
encore davantage en période de crise...
Ces méthodes sont désormais indispensables : la société tout entière étant
confrontée à l’automatisation et à l’informatisation. Car ces mots, dans le domaine
industriel, n’évoquent plus seulement la création, pour les productions de masse, de
chaînes où les manipulations des éléments en cours de fabrication sont effectuées
mécaniquement. Il s’agit, bien davantage, de l’association des ordinateurs à la pro-
duction et au contrôle :

xviii
But et plan de l’ouvrage

a) commande et contrôle numérique des machines-outils ou des robots en vue de


l’usinage des pièces complexes, de grandes dimensions, à tolérances serrées ;
b) conduite et régulation des processus dans les industries de transformation phy-
sique, chimique ou physico-chimique ;
c) commande et contrôle en temps réel d’un ensemble de processus industriels et
administratifs.
Il en va de même dans le secteur tertiaire (notamment en transport et logistique).
Les solutions implémentées informatiquement doivent être capables à tout
moment :
1) d’élaborer des instructions ayant pour but de corriger une action en cours ou de
la modiier;
2) de rendre compte sur-le-champ de leur activité aux intéressés immédiats ;
3) d’informer succinctement, au fur et à mesure, les dirigeants.
Il est donc naturel que les ingénieurs des diverses spécialités, au CNAM comme
ailleurs, et au premier rang, ceux qui s’occuperont justement du traitement des données
et de l’optimisation, soient intéressés par les méthodes et les techniques de la recherche
opérationnelle.
Cet ouvrage didactique, pédagogique est destiné à leur venir en aide.
L’exposé a été divisé en quatre grandes parties.
• La R.O., fil d’Ariane dans les problèmes combinatoires discrets
Après avoir donné quelques éléments d’algèbre de Boole binaire, de théorie des
graphes, des parcours des graphes et programmation dynamique en univers certain,
on examine leurs principales applications en recherche opérationnelle.
Pour l’algèbre de Boole : codage et énumération implicite. Recherches arborescentes.
Pour les graphes :
– problèmes de chemins de valeur optimale ;
– problèmes d’ordonnancement ;
– problèmes de lot maximal ;
– problèmes d’affectation ;
© Dunod – Toute reproduction non autorisée est un délit.

– 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

Puis on en envisage les importantes applications :


– iabilité des équipements et sûreté de fonctionnement des systèmes ;
– phénomènes d’attente.
Enin, un chapitre particulier, en in d’ouvrage, est consacré aux méthodes de
simulation.
• La R.O. dans les problèmes combinatoires continus
Cette partie est entièrement dévolue à la programmation mathématique. En fait, vu le niveau
auquel on se place ici, on se bornera à la programmation linéaire, selon le plan suivant :
– présentation des programmes linéaires ; leur aspect géométrique ;
– algorithme du simplexe ;
– notion de dualité ;
– paramétrisation : paramétrages de la fonction économique et du second membre.
En dépit du titre de cette troisième partie, on apportera quelques indications sur
les troncatures réalisables en programmation « discrète », avec les programmes li-
néaires en nombres entiers.
• La R.O. et les situations concurrentielles
On se borne, dans cette partie, à présenter la théorie des jeux et ses liens avec la pro-
grammation linéaire (dualité).

la r.o. dans sa PraTique


Ce précis n’est qu’un ouvrage didactique, aussi n’abordons-nous que brièvement les
conditions dans lesquelles la R.O. intervient dans la pratique.
Hâtons-nous de préciser d’abord, que, dans la vie, on ne rencontre que rarement
des situations assez simples pour être justiciables directement d’un des algorithmes
élémentaires. Bien souvent, un problème concret nécessite la mise en œuvre d’un
ensemble de méthodes, les unes s’inspirant des procédés classiques, les autres résul-
tant de recherches originales. Parfois, pris par le temps, l’analyste se contente d’adap-
ter une méta-heuristique (auxquelles nous avons réservé un chapitre en in d’ouvrage)
à son problème et n’obtient qu’une solution approchée. Pour certaines « heuristiques »
(algorithmes approchés), il existe des « garanties de performance ».
Répétons aussi que l’on peut avoir avantage, dans la pratique, à substituer à
la notion d’optimum (mathématique), utilisée dans les schémas les plus simples,
le concept de solution « très satisfaisante », ou même seulement « bonne ». C’est
notamment le cas lorsqu’un critère unique et précis n’a pu être déini.
Insistons enin sur les relations entre chercheurs opérationnels et « utilisateurs ».
Toute équipe de R.O. doit, sous peine d’échec, travailler en parfait accord avec les
utilisateurs, et préparer, en collaboration avec eux et leur organisateur, les amélio-
rations et changements qu’elle préconise et dont il lui faut établir clairement l’efi-
cacité. Tout ceci est valable, qu’il s’agisse d’une décision exceptionnelle prise au
niveau le plus élevé, ou qu’il soit tout simplement question d’améliorer des pro-
cédures décisionnelles répétitives. Dans ce dernier cas, il y a intérêt à instituer une
collaboration, généralement acceptée, entre l’homme et la machine.

xx
ordonnées
sTrucTures 1
aPPlicaTions
des Treillis
eT de l’algèbre
de boole
en recherche
oPéraTionnelle

1.1 noTions sur les sTrucTures ordonnées1

1.1.1 Relations. Relations binaires. Propriétés


On nomme relation tout sous-ensemble du « produit cartésien » de deux ou plusieurs
ensembles.
Ainsi, R 5 5 ( a, b ) ; 1 c, a 2 ; 1 c, d 2 6 est par définition un sous-ensemble de :
5( a, a ) ; ( a, b ) ; ( a, g ) ; ( a, d ) ; ( b, a ) ; ( b, b ) ; ( b, g ) ; ( b, d ) ; ( c, a ) ; ( c, b ) ; ( c, g ) ; ( c, d )6 ,
qui n’est autre que le produit cartésien, noté A 3 B de A 5 5 a, b, c 6
par B 5 5 a, b, g, d 6 .
En particulier, une relation binaire sur un ensemble de Ε (ainsi que l’on dit par
abus de langage) est un sous-ensemble du produit E 3 E. Prenons par exemple
E 5 5 x, y, z 6 . Nous représentons le produit cartésien sous forme d’un tableau :

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

On nomme tout naturellement relation diagonale : D 5 5 1 x, x 2 ; 1 y, y 2 ; 1 z, z 2 6 .


Une relation est, par déinition, rélexive si elle contient la diagonale. La relation
R1, est symétrique, mais elle n’est pas rélexive. Pour qu’une relation soit symé-
trique, il faut, quels que soient a et b, qu’elle contienne le couple (b, a) si le couple
(a, b) lui appartient. La relation R2 est antisymétrique, mais elle n’est pas rélexive.
Pour qu’une relation soit antisymétrique, il faut, quels que soient a et b, qu’elle ne
contienne pas le couple (b, a) si le couple (a, b) lui appartient, sauf si a 5 b, c’est-
à-dire s’il s’agit d’un élément de la diagonale.

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.

1.1.2 Préordre. Équivalence. Ordre


a) une relation rélexive et transitive est une relation de préordre.
Exemple. Le Criterium des champions a donné les résultats suivants (tableau 1.1) :

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

Classons-les d’après la relation R « avoir obtenu un rang meilleur ou aussi bon


que ». Dans le tableau 1.2, le couple (A, B) signiie qu’Anatole a obtenu un rang
meilleur ou aussi bon que Bernard : A s B. La relation est évidemment rélexive,
puisqu’elle contient la diagonale ; elle est aussi transitive puisque si X a obtenu un
rang meilleur ou aussi bon que Y et Y un rang meilleur ou aussi bon que Z, X a évi-
demment un rang meilleur ou aussi bon que Z : 3 X s Y et Y s Z 4 entraîne 3 X s Z 4 .
Mais elle n’est pas symétrique, bien que A s D et D a A ; par exemple, A s E,
mais E O A ; elle n’est pas non plus antisymétrique, puisque 3 A s D et D s A]
n’entraîne pas 3 A ; D 4 (Anatole ne peut pas être confondu avec Désiré).
b) une relation rélexive, transitive et symétrique est une relation d’équivalence.
Par exemple, envisageons deux groupes de droites parallèles : d’une part A || C ;
d’autre part B || D || E. Le tableau 1.3 ci-dessous correspond à la relation || : « être
parallèle à ou confondu avec ». Le tableau 1.4, résulte de la partition des droites en
© Dunod – Toute reproduction non autorisée est un délit.

classes d’équivalence. Il y a deux classes {A, C} et {B, D, E}.


À titre d’exemple, reprenons maintenant le classement du Criterium des champions
dans l’ordre d’arrivée (A et D étant indifférents). L’existence d’une relation l’équivalence
(donc rélexive, symétrique et transitive), « avoir le même rang que », est manifeste pour
A et D. Si l’on fait le quotient du préordre par cette relation d’équivalence, on trouve en
réalité quatre classes ; {C}, {A, D}, {E}, {B} et, désormais : C s 5 A, D 6 s 5 E 6 s 5 B 6 ,
la relation stricte S ayant le sens : « avoir un meilleur rang que ».
Posons 5 C 6 5 a, 5 A, D 6 5 b, 5 E 6 5 g et 5 B 6 5 d ; si l’on représente par le
tableau 1.6 la relation sur l’ensemble {a, b, g, d}, on constate qu’elle est irrélexive,
asymétrique ; en revanche, elle est transitive.

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)    
.............
 .
......

......

A (A, A) (A, D) (A, E) (A, B) ,  ,  , 


D .(D,
. . .A). . . .(D,
. . .D). . (D, E) (D, B)  . . ,  , 
E (E, E) (E,B)  . . . , 
B (B,B)  . . . .
TABLEAU 1.5 TABLEAU 1.6: RELATION S
c) Une relation rélexive, antisymétrique, transitive est, par déinition, une relation
d’ordre ( large par déinition).

Exemple. Considérons N* l’ensemble des entiers naturels privé du zéro, et la rela-


tion x | y (x divise exactement y, sans reste), étant entendu que x divise x, quel que
soit x N*. En raison de cette dernière hypothèse, la relation est rélexive (ce que
l’on traduit en disant que l’ordre est large). Elle est évidemment transitive, car si
x | y et y | z, alors x | z. De plus, elle est antisymétrique : en effet si x | y et y | x,
c’est que x 5 y.
Soit X 5 {1, 2, 3, 5, 10, 20, 30} une partie de N. Le tableau 1.7 représente la rela-
tion x | y sur cet ensemble.

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

On vériie aisément sur le tableau la rélexivité et l’antisymétrie. On vériie (moins


facilement) la transitivité sur ce tableau par les “rectangles” dont un des sommets est
sur la diagonale :

(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)

Ainsi le rectangle en haut à gauche se lit : 1/2 et 2/2 et


2/10 entraîne 1/10.
Contrairement à ce qui se passe pour le
tableau 1.5, la partie supérieure du tableau
(au-dessus de la diagonale) ne fait pas appa-
raître tous les couples. C’est qu’au sens de la
relation tous les éléments ne sont pas deux
à deux comparables. Ainsi, par exemple, on
n’a pas 2 | 3 ni 2 | 5 (et pas davantage 3 | 2
Figure 1.1 ou 5 | 2). Figure 1.2
On exprime ce fait en disant que l’ordre
est partiel. Dans le cas contraire, l’ordre est total. La relation < sur N, Z, Q ou R
(ou tout sous-ensemble de ceux-ci) est une relation d’ordre total. On peut donner une
représentation « sagittale » de la relation (igure 1.1) :
Deux éléments a et b, représentés chacun par un point, sont réunis par
un arc si et seulement si a | b. Il y a autant d’arcs que de couples dans le
© Dunod – Toute reproduction non autorisée est un délit.

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

Pour obtenir la représentation de la relation d’ordre strict correspondant à | (divise),


c’est-à-dire la relation (divise et n’est pas égal), il sufit de supprimer la diagonale du
tableau 1.7 et les boucles (arcs fermés sur eux-mêmes) de la ig. 1.1. Ici, l’ordre strict
n’est que partiel (tout comme l’ordre large d’où il provient).
À toute relation d’ordre a (ou a ) correspond une relation converse s (ou s) .
Le diagramme de Hasse (ig 1.2) s’obtient en supprimant dans la ig. 1.1, les
boucles et les arcs de transitivité : ainsi 1 divise 2 et 2 divise 10 entraîne 1 divise 10 :
l’arc (1,10) est un arc de transitivité.

1.1.3 Éléments particuliers d’un ensemble ordonné


Un ensemble sur lequel est déinie une relation d’ordre (partiel ou total) est nommé
ensemble ordonné (partiellement ou totalement).
Certains éléments particuliers des ensembles partiellement ordonnés jouent un
grand rôle en recherche opérationnelle.
Considérons un ensemble X, partiellement ordonné par la relation a (être inférieur
ou égal à) et une partie P de cet ensemble. S’il existe (bien noter cette restriction) :
a) Un élément m de X qui est inférieur ou égal à tout élément x de P, m est un
minorant de P.
Un élément M de X qui est supérieur ou égal à tout élement x de P, est un majo-
rant de P.
b) Un élément M de P, tel qu’il n’existe pas d’éléments de Ρ supérieur à M, est un
élément maximal de P.1
Un élément m de P, tel qu’il n’existe pas d’éléments de Ρ inférieur à M, est un
élément minimal de P.
De même les éléments déinis ci-dessous peuvent exister ou ne pas exister :
c) Le plus grand élément E (ou encore : le maximum) de P est l’élément de P, tel
que, pour tout xPP, on a : E s x.
Le plus petit élément e (ou encore : le minimum) de P est l’élément de P, tel que,
pour tout xPP, on a : e a x.
d) La borne supérieure (b.s.) B de P (ou supremum de P, notée aussi sup P) est le
plus petit élément de l’ensemble des majorants de P.
La borne inférieure (b.i.) b de P (ou inimum de P, notée aussi inf P) est le plus
grand élément de l’ensemble des minorants de P.
e) L’élément universel de X est le plus grand élément de X.
L’élément nul de X est le plus petit élément de X.

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.

alors T constitue un ensemble ordonné par la relation a telle que :


5. 3 x a y 4 équivaut à 3 x ` y 4 5 x et équivaut à 3 x ~ y 4 5 y.
On appelle alors T un treillis. On peut aisément démontrer l’équivalence de ces deux
déinitions.
Exemple. Considérons, par exemple, les diviseurs de 30 : 1, 2, 3, 5, 6, 10, 15, 30
(ils sont au nombre de 8 car 1 1 1 1 2 # 1 1 1 1 2 # 1 1 1 1 2 5 8 et 30 5 21 # 31 # 51 2 ,
ordonnés par la relation x | y (x divise y). Rappelons que si, n 5฀pa # qb # rg cest la
décomposition en produit de facteurs premiers de l’entier n 1 n > 2 2 , alors n admet
1 a 1 1 2 1 b 1 1 2 1 g 1 1 2 c diviseurs (y compris 1 et n).

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.

L’élément universel de ce treillis est 30, l’élément nul, 1.


D’une manière générale N* 5 N 2 5 0 6 , ordonné par la rela-
tion x | y (x divise y), présente une structure de treillis inini.
L’élément nul est toujours 1 ; il n’y a pas d’élément universel.
On montre que tout treillis T ayant un nombre ini d’éléments
comporte un élément nul et un élément universel.
Figure 1.4 b) Un treillis, comportant un élément nul et un universel, que
nous désignerons, respectivement par n et U, est complémenté
si, à tout élément x de T, on peut associer au moins un élément de T, noté x tel que :
6. x ~ x 5 U et 6r. x ` x 5 n.
Le treillis de la igure 1.4 est complémenté. En effet : 1 ~ 30 5 30, 1 ` 30 5 1 ;
2 ~ 15 5 30, 2 ` 15 5 1 ; 3 ~ 10 5 30, 3 ` 10 5 1 ; 5 ~ 6 5 30, 5 ` 6 5 1. Ainsi
n = 1 est le complément de U = 30 et réciproquement ; de même 3 et 10 sont le com-
plément l’un de l’autre, tout comme 5 et 6.

Propriété. On a, d’après 4 : x ` 1 x ~ x 2 5 x. Or, x ` 1 x ~ x 2 5 x ` U 5 x. D’où :


x ` U 5 x.
De même : x ~ n 5 x.
N.B. Le système d’axiomes (1 à 4), (1r à 4r) n’est pas minimal; mais il est pratique
pour le calcul. On peut, en effet, montrer que l’absorption entraîne l’idempotence.
c) Un treillis est distributif lorsqu’aux axiomes 1 à 4 et 1r à 4r, s’ajoute le suivant :
7. x ` 1 y ~ z 2 5 1 x ` y 2 ~ 1 x ` z 2 , quels que soient x, y et zPT.
Cet axiome entraîne (cf. Execrcice 1 ci-dessous) :
7r. x ~ 1 y ` z 2 5 1 x ~ y 2 ` 1 x ~ z 2 .
Inversement, 7r entraîne 7.
Exercices.
1. Soit à démontrer, à partir des axiomes 1 à 4, 1r à 4r et 7, que :
7r. x ~ 1 y ` z 2 5 1 x ~ y 2 ` 1 x ~ z 2 .
Grâce à 4, on peut écrire le premier membre de 7r sous la forme :
3 x ~ 1 x ` y 2 4 ~ 1 y ` z 2 , en remplaçant x par x ~ 1 x ` y 2 .
Grâce à 2, cette expression est égale à :
x ~ 3 1 x ` y 2 ~ 1 y ` z 2 4 (par associativité de ~ ).
et, en vertu de 1r, elle est aussi égale à :
x ~ 3 ( y ` x ) ~ ( y ` z ) 4 (par commutativité de ` ).

8
1.1 Notions sur les structures ordonnées

De ce fait, grâce à 7, le crochet est égal à y ` 1 x ~ z 2 et cette expression


devient :
x ~ 3 (y ` (x ~ z) 4
Remplaçons x par sa valeur d’après 4r ; l’expression devient :
3x ` 1 x ~ z 4 ~ 3 1 y ` 1 x ~ z 2 4 ;
il vient alors, en appliquant 7 :
1 x ~ y 2 ` 1 x ~ z 2 (par distributivité).
et c’est précisément le deuxième membre de 7r, qu’il fallait obtenir par un
calcul fondé sur les seuls axiomes 1 à 7 et 1r à 6r.
2. Dans un treillis distributif, la complémentation est unique.
Raisonnons par l’absurde et supposons que l’élément x ait deux compléments
différents, x et x* ; on aurait :
x ~ x 5 x ~ x* 5 U
et
x ` x 5 x ` x* 5 n, avec x 2 x*
On peut écrire :
x 5 x ` U 5 x ` 1 x ~ x* 2 5 1 x ` x 2 ~ 1 x ` x* 2
5 n ~ 1 x ` x* 2 5 x ` x*,
De même :
x* 5 x* ` U 5 x* ` ( x ~ x ) 5 ( x* ` x ) ~ ( x* ` x )
5 n ~ ( x* ` x ) 5 x* ` x 5 x ` x*

Finalement x 5 x*, contrairement à l’hypothèse et ainsi la complémentation


est unique.

d) Un treillis à la fois distributif et complémenté est appelé treillis de Boole. Il est


isomorphe à une algèbre de Boole.
Une algèbre de Boole B est donc un ensemble partielle-
ment ordonné, doté d’un élément nul et d’un élément univer-
© Dunod – Toute reproduction non autorisée est un délit.

sel, dont les éléments vériient les axiomes 1 à 4; 1r à 4r ; 6,


6r et 7 (et donc aussi 7r).
La relation d’ordre est déinie par l’une des quatre rela-
tions équivalentes suivantes :
5*. x a y équivaut à x ` y 5 x ou x ~ y 5 y ou
x ` y 5 0 ou x ~ y 5 1
0 et 1 désignant, respectivement, n et U.
Une algèbre de Boole comportant un seul générateur a,
Figure 1.5 différent de 0 et de 1, comporte quatre éléments (ig. 1.5).

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

Noter que : D 5 1 a ` b ~ 1 a ` b 2 5 1 a ~ b 2 ` 1 a ~ b 2 désigne la somme dis-


jonctive (ou « différence symétrique ») de a et b : D 5 a { b ;
D 5 ( a ~ b ) ` 1 a ~ b 2 5 1 a ` b 2 ~ 1 a ~ b 2 est le complément de D.
Comme toute algèbre de Boole inie, l’algèbre à deux générateurs est atomique.
Ses atomes, ou éléments qui couvrent 0 (c’est-à-dire sont immédiatement supérieurs
à 0) sont a ` b, a ` b, a ` b et a ` b.
Le théorème de Stone, dont la démonstration n’est pas immédiate1 énonce que tout
algèbre de Boole est isomorphe à un « corps d’ensembles » (cf. NB ci-dessous).
Ainsi, à l’algèbre de Boole de la igure 1.6, on peut faire correspondre le schéma
de la igure 1.7. On suppose que a 2 b et a ` b 2 0.
Alors apparaissent clairement sur la igure, dont le carré
représente l’univers U, les « régions » A d B, A d B, A d B et
A d B, correspondant aux atomes a ` b, a ` b, a ` b et a ` b.
NB : On appelle « corps d’ensembles » une famille de parties
d’un ensemble, munie des opérations ensemblistes classiques
(réunion, interjection, complémentation) ; dans le cas d’un en-
semble ini E, la famille de ses parties p(E) constitue le corps
U d’ensembles. Notons que l’algèbre de Boole de la igure 1.5
Figure 1.7 est isomorphe au treillis des diviseurs de tout entier de la forme

1. Voir : R. FAURE et E. HEURGON, Structures ordonnées et algèbre de Boole, Gauthier-Villars,


1971.

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.

1.2 rePrésenTaTion enseMblisTe des algèbres de


boole. aPPlicaTion à la logique éléMenTaire
1.2.1 Principes de la logique aristotélicienne
Soit un ensemble fondamental R, appelé référentiel, dont les éléments sont suscep-
tibles de présenter certaines propriétés. Étant donnée une propriété p déterminée, les
éléments qui la vériient forment le sous-ensemble A(p) de R, que nous désignerons
plus brièvement par A. On connaît aussi le sous-ensemble A des éléments de R qui
vériient la propriété non-p (ou, de manière équivalente, n’ont pas la propriété P).
C’est le complémentaire du sous-ensemble A. Un diagramme d’Euler-Venn illustre
ces déinitions (igure 1.8). En logique classique, le principe de non contradiction
enseigne qu’aucun élément ne peut, à la fois, vériier et ne pas vériier une pro-
priété, c’est-à-dire présenter, en même temps, la propriété p et la propriété non-p. Ce
principe se traduit, en mathématique, par le fait que A et A sont disjoints. Un autre
principe de la logique aristotélicienne, le principe du tiers exclu, indique que l’on ne
trouvera jamais plus de deux classes en triant un ensemble d’éléments par rapport à
une propriété p : les uns, qui vériient la propriété p, constituent le sous-ensemble A
du référentiel; les autres, qui ont la propriété non-p (ou de manière équivalente, ne
vériient pas la propriété p), forment le complémentaire A de A. Si l’une de ces deux
classes est vide, l’autre se confond avec le référentiel.

Remarque. Si l’on prend le complément de l’ensemble A, soit


A, on retombe évidemment sur l’ensemble A.
La complémentation est dite, pour cette raison, involutive.
© Dunod – Toute reproduction non autorisée est un délit.

Figure 1.8

1.2.2 Expression du principe de non-contradiction


Considérons maintenant une propriété p, à laquelle correspond le
sous-ensemble A du référentiel R, et une propriété q, à laquelle
correspond le sous-ensemble B de R. Si les deux propriétés ne
sont pas contradictoires, il y aura des éléments vériiant à la fois
les deux propriétés. On aura donc, dans R (ig. 1.9) :
Figure 1.9

11
Chapitre 1 • Structures ordonnées Applications des treillis

– des éléments vériiant la propriété p seule (région 2) ;


– des éléments vériiant la propriété q seule (région 1) ;
– des éléments vériiant les propriétés p et q (région 3) ;
– des éléments ne vériiant ni la propriété p, ni la propriété q (région 0).
Par déinition, les éléments possédant les propriétés p et q sont dits constituer
l’intersection des sous-ensembles A et B (région 3) et l’on désigne ce sous-ensemble
par la notation A d B, où le symbole d indique que l’on a appliqué l’opération
d’intersection aux sous-ensembles A et B.
On voit que :
– les éléments de la région 2 forment un sous-ensemble de R qui peut être noté
A d B;
– les éléments de la région 1 forment le sous-ensemble A d B ;
– les éléments de la région 0 constituent le sous-ensemble A d B.
De plus, le principe de contradiction peut maintenant s’exprimer par :
A d A 5 [, (1.1)
le symbole [ désignant le sous-ensemble vide (le plus souvent nommé ensemble vide).

1.2.3 Formules de de Morgan. Principe du tiers exclu


Revenons aux sous-ensembles A et B précédents et préoccupons-nous de savoir si
nous pouvons trouver un sous-ensemble de R dont les éléments vériient les pro-
priétés p ou q.
Hâtons-nous de dire que cette formulation est ambigüe. Les latins, par exemple,
avaient deux mots pour exprimer la conjonction de coordination ou : vel et aut. Nous
traduisons aut par : ou bien et vel simplement par : ou ; c’est dire que, dans le premier
cas, il s’agit du ou exclusif (c’est-à-dire : soit l’un, soit l’autre), tandis que, dans le
second, il s’agit du ou non-exclusif (ou inclusif), le ou habituel du français.
Aussi quand nous voulons rechercher les éléments qui vériient les propriétés p
ou q, nous entendons retenir :
– les éléments qui vériient la propriété p seule ;
– les éléments qui vériient la propriété q seule ;
– les éléments qui vériient les propriétés p et q, à la fois.
Ces éléments sont tous ceux qui, compris dans les
régions 1, 2 et 3 de la igure 1.10 constituent ce que l’on
appelle la réunion des sous-ensembles A et B, que l’on
note : A c B.
On constate, sur le diagramme, que le complément de
A c B est formé par les éléments de la région 0, c’est-à-dire
le sous-ensemble A d B. On a donc :
Figure 1.10

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;

mais, d’après l’involution A c B 5 A c B ; on a donc :


A d B5AcB (1.3)
Les expressions (1.2) et (1.3) sont dites formules de de Morgan.
En revenant à la igure 1.8 on voit que le principe du tiers exclu s’exprime par :
A c A 5 R. (1.4)

1.2.4 Commutativité. Idempotence. Éléments neutres


Les opérations d et c sont évidemment commutatives :
A d B 5 B d A; (1.5)
A c B 5 B c A. (1.5bis)
On montre, étant donné le contexte logique sous-jacent, qu’elles sont aussi associa-
tives :
A d 1B d C2 5 1A d B2 d C; (1.6)
A c 1B c C2 5 1A c B2 c C. (1.6bis)
Il n’est pas dificile de voir que :
AdA5A (1.7)
et que :
A c A 5 A; (1.7bis)
on dit alors que les deux opérations d et c sont idempotentes (cette propriété se tra-
© Dunod – Toute reproduction non autorisée est un délit.

duit par l’inutilité d’exposants et de coeficients en algèbre de Boole).


Revenons à l’ensemble vide, [ ; il ne comprend aucun élément ; en conséquence,
on a :
A c [ 5 A. (1.8)
Prenons maintenant l’intersection de A et du référentiel R ; elle est évidemment iden-
tique à A :
A d R 5 A. (1.9)
Les éléments [ et R sont, respectivement, les éléments neutres (ou unités), res-
pectivement, des opérations c et d.

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.

Figure 1.11 A c 1 B d C 2 Figure 1.12 1 A c B 2 d 1A c C2

Le lecteur est invité à vériier lui-mème la formule (1.10), au moyen d’une


construction analogue.

Remarque. Il ne s’agit ici que de vériication ; elle ne se hausserait au rang


d’une démonstration que si l’on prenait soin de considérer les seize cas de
igure. On peut donner une démonstration, et pas seulement une vériication
de (1.10), étant donné (1.10bis), considéré comme un axiome, et à condition
d’ajouter les axiomes d’absorption :
A d 1 A c B 2 5 A c 1 A d B 2 5 A,
le lecteur pourra s’inspirer du paragraphe consacré aux treillis distributifs.

1.2.6 Vers une axiomatique


On a l’habitude, en algèbre de Boole, de désigner l’ensemble vide par 0 et le référen-
tiel par 1 (plutot que n et U).
On montre qu’un ensemble dans lequel existent deux opérations binaires, d et c,
et une opération unaire, , telles que les axiomes suivants soient vériiés :

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.

1.2.7 Implication. Inclusion


On remarque que l’opé ra tion d’intersection corres pond à la conjonc tion logique
« et », l’opé ra tion de réunion à la conjonction logique « ou » (inclusif) et la
complémentation à la négation.
On utilise aussi en logique l’implication : la propriété p implique la propriété q,
et l’on écrit : p 1 q, si et seulement si tous les éléments qui vériient la propriété p
vériient aussi la propriété q. Dans ces conditions, le sous-ensemble A(p) est inclus
dans le sous-ensemble B(q) et l’on écrit :
A ( B.

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é.

1.2.8 Formes canoniques


Au lieu de parler de sous-ensembles A1, A2,cd’un référentiel, nous pourrons,
grâce au paragraphe 1.2.6, parler maintenant de variables A1, A2,c.
Soient n variables booléennes (n, nombre ini) : A1, A2, A3,c, Ai,c, An.
Désignons par Xi la variable Ai sous l’un de ses deux aspects : Ai (afirmatif) ou Ai
(négatif). On appelle minterme de l’algèbre de Boole à n variables toute expression :
X1 d X2 d X3 d cd Xi d cd Xn ,
où chaque variable igure sous un et un seul de ses aspects.
Dualement, on appelle maxterme toute expression de la forme :
X1 c X2 c X3 c cc Xi c cc Xn ,

16
1.2 Représentation ensembliste des algèbres de Boole

où chaque variable igure sous un et un seul de ses aspects.


Il est facile de voir que le nombre des mintermes de n variables est 2n ; de même
le nombre des maxtermes.
La notion de minterme (ou atome) est très importante ; en effet, d’une part, les
mintermes de n variables sont deux à deux disjoints (ils diffèrent, en effet, l’un de
l’autre au moins par l’aspect d’une variable: afirmée ou niée ; d’autre part, la réu-
nion des 2n mintermes de n variables est égale au référentiel (en effet, 2n 2 1 mintermes
s’écrivent A d 1 X2 d X3 d cd Xn 2 et les 2n 2 1 autres A d 1 X2 d X3 d cd Xn 2 ;
ainsi, leur réunion est X2 d X3 d cd Xn et, en diminuant à chaque fois d’une
variable, on init par tomber sur Xn c Xn 5 1). Par conséquent, les mintermes consti-
tuent une partition du référentiel.
Tout minterme peut être désigné par m i , i étant la valeur décimale du nombre binaire
obtenu en faisant correspondre 1 à toute variable afirmée et 0 à toute variable niée.

Exemple. Pour quatre variables A, B, C et D, n 5 4, on a 24 mintermes, soit 16. On


écrira, par exemple :

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 :

e # m 5 a ei # m i, noté plus bas : d ( e d m) ,


2n 2 1
© Dunod – Toute reproduction non autorisée est un délit.

i50

m étant le vecteur colonne :


m0
m1
(
m5F V
mi
(
m 2n 2 1
à condition d’interpréter le produit de deux composantes comme une intersection et
la somme des produits comme une réunion.
17
Chapitre 1 • Structures ordonnées Applications des treillis

Exemple. Soit la fonction booléenne  , à trois variables A, B et C :

 5 5 3 1A d B2 c C4 d 1A d B2 6 c 3 1B d C2 d 1A c C2 4

Appliquons d’abord la formule généralisée de de Morgan :


 5 5 3 1A c B2 d C4 d 1A d B2 6 c 3 1B d C2 d 1A c C2 4
Développons ensuite en utilisant la distributivité de l’opération d par rapport à l’opé-
ration c :
 5 5 3 1A d C2 c 1B d C2 4 d 1A d B2 6 c 5 3 1B d C2 d A4 c 3 1B d C2 d C 46
 5 3 1A d C2 d 1A d B2 4 c 3 1B d C2 d 1A d B2 4 c 3 1A d B d C2 c 1B d C d C4
 5 (A d A d B d C) c (A d B d B d C) c (A d B d C) c (B d C d C)
Éliminons ensuite les termes tels que X d X 5 0 et remplaçons X d X par X :
 5 0 c 1A d B d C2 c 1A d B d C2 c 0
5 1A d B d C2 c 1A d B d C2.

Le minterme A d B d C se code 100 ; A d B d C se code 010 .


On a donc :
 5 m4 c m2 .
On peut obtenir  de deux façons :
– ou bien, sous la forme d’une réunion de mintermes, en ne prenant que ceux qui
n’appartiennent pas à  :
 5 m7 c m6 c m5 c m3 c m1 c m0
– ou bien, sous la forme d’une intersection de maxtermes, en prenant le complé-
mentaire de l’expression de  sous la forme d’une réunion de mintermes :

 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

1.3 l’algèbre de boole binaire


1.3.1 Fonction caractéristique. Opérations binaires
Appelons fonction caractéristique fA 1 x 2 d’un élément x,
par rapport à un sous-ensemble A du référentiel, une fonc-
tion qui prend la valeur 1 si et seulement si x H A et, sinon,
la valeur 0.
On voit clairement (igure 1.14) que fA 1 x 2 5 1, alors
f A 1 x 2 5 0 et inversement. C’est la complémentation ou
négation logique.
Figure 1.14
Considérons maintenant deux sous-ensembles A et B d’un
référentiel R (igure 1.15) et étudions la valeur de fA d B 1 x 2 par rapport aux valeurs de
fA(x) et fB(x) pour toutes les positions possibles de x.

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

On constate que l’on a dans tous les cas possibles : f A d B ( x ) 5 f A ( x ) ? f B ( x )


avec les règles habituelles du produit, que nous appellerons néanmoins, ici produit
logique, car il n’est pas dificile de découvrir qu’il s’agit bien de l’opération et, envi-
© Dunod – Toute reproduction non autorisée est un délit.

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

Cette fois, on remarque que l’on a :


#
fA c B 1 x 2 5 f A 1 x 2 1 fB 1 x 2
#
avec une règle spéciale qui veut que : 1 1 1 5 1 (propriété d’idempotence).
Nous appellerons cette opération la somme logique ; elle correspond à l’opération
ou, envisagée précédemment.
En résumé, sur l’ensemble {0, 1}, nous avons une opération unaire et deux opé-
rations binaires, dont les tables sont données ci-dessous :

Négation logique Produit logique Somme logique



 0 1
 0 1  0 1
1 0 0 0 0 0 0 1
1 0 1 1 1 1

Nous utiliserons en particulier ces opérations en théorie des graphes, lors de la


détermination de la « fermeture transitive » d’un graphe.

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

Du fait que A ! B représente la zone hachurée sur la igure 1.17, on voit


que :

0 1
0 0 1
1 1 0

Figure 1.17

La somme disjonctive confère à l’ensemble {0,1} une structure de groupe


abélien, car elle est associative, commutative, admet un élément neutre (0), et
chaque élément a un symétrique : lui même.
Or, le produit logique est associatif, commutatif et distributif par rapport à la
somme disjonctive ; ces propriétés entraînent que la somme disjonctive et le
produit logique munissent l’ensemble {0,1} d’une structure d’anneau abé-
lien, qui, en outre, est unitaire ; 1 est l’unité (ou élément neutre du produit
logique).
Il est alors à remarquer que, 1 admettant un symétrique pour l’opération pro-
duit logique, l’anneau abélien unitaire déini ci-dessus est un corps.

1.3.2 Tables de vérité


Soit une fonction booléenne des variables a, b, c (valant 0 ou 1) :
# # #
 5 1a # b 1 c2 # a # b 1 b # c # 1a 1 c2.

On la ramène par la formule de de Morgan à la forme :


# #
 5 3 (a 1 b) # c 4 # a # b 1 a # b # c
# #
5 a # b # c 1 a # b # c 5 m 4 1 m 2.
© Dunod – Toute reproduction non autorisée est un délit.

Montrons que l’on aurait pu obtenir directement sa décomposition canonique en


utilisant un tableau de valeurs, où les variables a, b, c prennent toutes les valeurs
possibles.
Dans la colonne 15, on a fait la somme logique des valeurs contenues dans les
colonnes 11 et 14, un calcul direct ayant été pratiqué à partir de la forme initiale de .
#
On retrouve bien :  5 m4 1 m2 ; ce sont les deux seuls mintermes à apparaître
dans la décomposition.

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

1.3.3 Minimisation d’une fonction booléenne


Considérons deux fonctions des variables binaires 1 x1, x2, c, xn 2 . On dit que la fonc-
tion f implique la fonction g et l’on écrit : f 1 g , si f 5 1 entraîne g 5 1, c’est-
à-dire si f est une partie de g : les mintermes de f igurent aussi dans ceux de g.
Soit alors la fonction :
# #
F 5 x1 # x2 1 x2 # x1 1 x1 # x3.
Si l’on choisit des valeurs telles que l’un des produits x1 # x2 ou bien x 2 # x 1 ou bien
#
x1 x3, soit égal à 1, on a évidemment F 5 1. La fonction F est impliquée par l’un
quelconque de ces produits.
Considérons alors la fonction  1 x1, x2 2 5 x1 # x2 ; si l’on y fait x1 5 1 ou bien
x2 5 1, on obtient :
 1 1, x2 2 5 x2 ;  1 x1, 1 2 5 x1 ;
la fonction  n’est impliquée ni par x1, ni par x2 ; en effet :
1 x1 5 1 1  5 1 ; 1 x2 5 1 2 1  5 1.
Comme  implique F et  n’est impliqué ni par x1, ni par x2, on dit que  est un
constituant premier (ou encore monôme premier) de F.
Au contraire, si l’on fait x3 5 1 dans F, on obtient :
# #
F 1 x3 5 1 2 5 x1 # x2 1 x2 1 x1
et, si l’on construit le tableau des valeurs (voir tableau ci-dessous),

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

On n’écrirait, évidemment pas, le constituant supplémentaire s’il était déjà contenu


dans F , en raison de l’idempotence ; on ne l’écrirait pas non plus s’il était contenu dans
un des constituants déjà connus ou s’il était identique à l’un de ces constituants.
Après l’achèvement du tableau I on applique la règle 1), mais ici elle ne fournit
pas de simpliication ; on a alors :
# # #
F 5 x1 # x2 1 x2 # x3 1 x1 # x3 1 x2 # x3.
Avec les constituants de cette liste, on forme le tableau II ; on trouve, à deux
reprises, grâce à l’application de la règle 2), le constituant nouveau x3, que l’on
n’écrit qu’une fois. La règle de simpliication 1) s’applique maintenant : en effet,
x2 # x3 , x1 # x3 , x1 # x3 et x2 # x3 sont contenus dans x3 et il reste donc :
#
F 5 x1 # x2 1 x3.
On pourrait constituer un tableau III pour examiner ces deux constituants, mais c’est
inutile, car, la fonction n’étant pas de la forme 2, la règle 2) ne peut plus s’appliquer.
C’est à ce moment que l’on a la liste de tous les constituants premiers de F.
Remarque. Une autre manière commode, dite « méthode de double duale »,
d’obtenir la liste des constituants premiers consiste à :
1) prendre le complément F de F ;
2) développer ; supprimer les termes nuls ou redondants (c-à-d absorbés) .
3) prendre alors le complément F de F et supprimer les termes nuls ou
redondants.
On peut prouver que l’expression obtenue après développement, puis réduc-
tion, constitue la liste des constituants premiers de F.

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).

Remarque. La manipulation des formules de l’algèbre de Boole exige parfois des


calculs très longs. En effet, les problèmes rencontrés sont le plus souvent NP-com-
plets (le lecteur se reportera au chapitre 2). Nous verrons, plus loin dans cet ouvrage,
dans la partie déinissant ces problèmes, qu’ils ne peuvent pas être résolus sans
avoir recours à des méthodes énumératives très lourdes en temps de calcul.

26
1.4 Applications élémentaires

Cependant, pour des exemples particuliers de petite taille, un raisonnement spéci-


ique au problème considéré permet de s’affranchir d’une grande part de l’énumé-
ration. Voici un exemple où le raisonnement permet d’éviter des longueurs.
# # # # # #
Soit : F 5 ( a 1 b ) # ( c 1 d ) # ( a # b ) 1 ( a 1 b 1 c ) # ( c 1 d ) 1 c # ( a 1 b ) .
On obtient :
# # # # #
F 5 a # b # c # d 1 a # b # c puis F 5 F 5 b 1 a # c 1 a # d 1 c # d 1 a # c.
On voit facilement que F ne contient que trois mintermes : a # b # c # d, a # b # c # d
et a # b # c # d (soit m9, m3 et m2); d’où F en comporte treize. Il serait donc très
fastidieux d’avoir recours à un tableau tel que celui de la page 26 pour cher-
cher les constituants essentiels et la forme minimale. Mais la simple ins-
pection de la liste des constituants premiers permet d’éviter ici tout calcul :
b est évidemment un constituant essentiel ; a # c également, puisque a # b # c # d
n’est couvert par aucun autre constituant ; de même a # c, à cause de a # b # c # d.
Restent les constituants premiers a # d et c # d ; un développement ne faisant
apparaître que des mintermes non couverts par b ne peut admettre b comme
facteur ; d’où : a # b # d et b # cd.
Mais alors, tout développement du premier (resp. second) constituant, non couvert
par a # c (resp. a # c), ne peut admettre c (resp. a) comme facteur. L’un ou l’autre, ne
pouvant plus servir à couvrir que le minterme a # b # c # d, peut être choisi pour être
adjoint aux constituants essentiels. Ainsi y a-t-il deux formes minimales :
# # # # # #
F1 5 b 1 a # c 1 a # c 1 a # d 5 b 1 a # 1 c 1 d 2 1 a # c,
# # # # # #
F2 5 b 1 a # c 1 a # c 1 c # d 5 b 1 a # c 1 c 1 a 1 d 2 .

1.4 aPPlicaTions éléMenTaires


L’algèbre de Boole se prête à l’analyse et à la synthèse des circuits logiques, s’applique
en électricité, en électronique et en automatique, à l’étude de certaines questions de
logique, etc. Nous allons voir quelques-unes de ses applications élémentaires en
recherche opérationnelle, notamment à des problèmes combinatoires.
NB. Nous voulons simplement montrer, au travers des exemples suivants, com-
© Dunod – Toute reproduction non autorisée est un délit.

ment l’algèbre de Boole permet de résoudre certains problèmes de la recherche opé-


rationnelle. Les méthodes présentées ne sont pas nécessairement celles utilisées en
pratique pour la résolution de ces problèmes. Nous verrons en effet, au long de cet
ouvrage, qu’il peut exister des méthodes plus eficaces que celles présentées ici.

1.4.1 Étude d’un itinéraire


Une personne veut, partant de la ville A et y revenant, choisir parmi les moyens de
transport ceux qui lui permettront de se rendre dans les villes B, C et D, de manière
à ce que son absence totale soit de durée minimale.

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

Nous indiquerons ces changements de date par une barre verticale :

sens ABCDBA sens ABDCBA


parcours ABC : ab ; a k b parcours ABD : ac ; ac ; ac ; a c
BCD : bd BDC : c k d ; c k d
CDB : d k g ; d k g DCB : d k b
DBA : ga ; g a ; ga ; ga ; CBA : ba ; ba
Dans la deuxième colonne (sens ABDCBA), nous remarquons qu’il y a toujours
deux changements de date. Dans la première colonne, il n’y en a qu’un si nous
empruntons la suite ab. Il reste inalement à examiner les suites :
abdga ; abdg a ; abd g a ; abd g a.
En utilisant les moyens indiqués, le voyageur pourra partir un jour quelconque et
de retour le lendemain. Il n’est pas dificile de voir que les suites :
abd ga et abd g a
sont équivalentes, comme faisant partir le voyageur le jour J, à 09h00 et le faisant,
toutes deux, rentrer le jour J 1 1, à 20h00.

J J ฀1
Ville A B C D D B A
Solution d a d a d a d a d a฀
avion

abd฀฀09h00 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.

1.4.2 Choix d’investissements


Un atelier reçoit trois commandes C1, C2, C3, qui peuvent être exécutées au moyen
d’au plus cinq machines M1, M2, M3, M4 et M5. On désigne par ci (i 5 1, 2, 3) la
variable booléenne égale à 1 si la commande Ci est exécutée (et à 0 sinon) ; de même
la variable booléenne xj 1 j 5 1, 2, c, 5 2 est égale à 1 si la machine Mj est utilisée
(et à 0 sinon).

29
Chapitre 1 • Structures ordonnées Applications des treillis

Pour exécuter C1, on peut avoir recours aux machines M1 et M3 ou à la machine


M4, ce qui peut s’écrire :
#
c1 5 x1 # x3 1 x4.
On a, de même, pour C2 et C3 :
#
c2 5 x2 # x4 1 x1 # x5,
#
c3 5 x2 # x5 1 x3.
D’autre part, une contrainte technique t1 exige que l’on utilise x2 ou que l’on
n’utilise pas x4 :
#
t1 5 x2 1 x4 5 x2 # x4 ;
une autre contrainte technique peut s’écrire :
# #
t2 5 x1 # x2 1 x4 # x5 1 x2 # x3.
Pour que les commandes soient honorées, il faut et il sufit que l’on ait :
c1 5 c2 5 c3 5 1 ;
pour que les contraintes soient observées, il faut et il sufit que :
t1 5 t2 5 1.
Tous les ensembles de cinq valeurs binaires (x1, x2, x3, x4, x5) tels que :
F 5 c 1 # c 2 # c 3 # t1 # t2 5 1
sont solutions du problème.
Imaginons maintenant que l’achat et l’installation des machines entraîne les
dépenses suivantes (en milliers d’unités monétaires) :

M1 M2 M3 M4 M5
A1 7 5 3 6 2

On désire minimiser la dépense totale I, c’est-à-dire :

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

On a volontairement omis le troisième de ces constituants premiers : il conduirait


à acquérir les machines M1, M2, M3 et M5 alors qu’avec le quatrième constituant,
il sufit d’acquérir M1 et M3 et M5 (il y igure x4 , ce qui signiie qu’on n’a pas à
acheter M4).
La dernière solution est la moins coûteuse : son coût est I = 12 (au lieu de 13 et
14 pour les deux autres).
On vériie bien que, pour : x1 5 x3 5 x5 5 1, x2 5 x4 5 0, on a :
#
c1 5 x1 # x3 1 x4 5 1
#
c2 5 x2 # x4 1 x1 # x5 5 1
#
c3 5 x2 # x5 1 x3 5 1
#
t1 5 x2 1 x4 5 1
# # # # #
© Dunod – Toute reproduction non autorisée est un délit.

t2 5 x1 x2 1 x4 x5 1 x2 x3 5 1

1.4.3 Fonction à variables binaires à optimiser sous


contraintes
Le chapitre 8 consacré à la programmation linéaire, déinira le cadre d’application
et la terminologie utilisée pour toute une famille de problèmes appelés programmes
linéaires. Les méthodes permettant de résoudre l’exemple suivant (programme
linéaire en variables booléennes) seront reprises aux chapitres 4 et 9.
Nous exposons ci-dessous la méthode booléenne de Faure et Malgrange. Il s’agit
d’une des toutes premières méthodes de recherche arborescente (1962). Elle utilise

31
Chapitre 1 • Structures ordonnées Applications des treillis

une stratégie « gourmande » dans une exploration « en profondeur d’abord » : ces


termes seront précisés aux chapitres 3 et 4.
Variables booléennes (binaires)
Soit à maximiser la fonction économique : F 5 3x1 + 5x2 – x3 + 2x4, où x1, x2, x3, et
x4 sont des variables ne pouvant prendre que les valeurs 0 ou 1, sachant qu’elles sont
soumises aux inégalités suivantes :
3x1 1 4x2 2 2x3 1 x4 < 5
2x1 2 x2 1 3x3 2 x4 < 4
4x1 2 x2 2 x3 1 2x4 < 5,
exprimant les contraintes du problème.
1. Nous allons transformer toute variable xi ayant un coeficient négatif dans l’une
des inégalités ou dans la fonction économique, de manière à n’avoir que des coefi-
cients positifs, comme suit : xi 1 xi 5 1, donc : 2 xi 5 xi 2 1.
Le problème s’écrit alors :
3 MAX 4 F 5 3x1 1 5x2 1 x3 1 2x4 2 1
sous les contraintes :
3x1 1 4x2 1 2x3 1 x4 < 7
2x1 1 x2 1 3x3 1 x4 < 6
4x1 1 x2 1 x3 1 2x4 < 7
2. Rangeons les coeficients de la fonction économique dans l’ordre décroissant de
leur contribution à la valeur F :
F 5 5x2 1 3x1 1 2x4 1 x3 2 1,
car c’est dans cet ordre que nous tenterons, ultérieurement, de donner aux variables
la valeur 1.
3. Remarquons que F ne peut pas dépasser la valeur 10. On peut ainsi écrire :
10 2 F 5 10 2 5x2 2 3x1 2 2x4 2 x3 1 1
5 5x2 1 3x1 1 2x4 1 x3,
d’où :
F 5 10 2 1 5x2 1 3x1 1 2x4 1 x3 2 .
4. Dressons un tableau où les variables x1 et xi igurent dans l’ordre : x2, x2 ; x1, x1 ;
x4, x4 ; x3, x3 et où nous inscrivons les valeurs des coeficients des inégalités dans les
colonnes et sur les lignes appropriées. La valeur du second membre de chaque inéga-
lité prend place dans la colonne 0, à droite du tableau.
Notons, sur la dernière ligne du tableau, immédiatement au-dessous de la valeur du
second membre de la dernière inégalité, la valeur que ne peut pas dépasser la fonction
économique F. Chaque fois que nous ne pourrons pas prendre xi 5 1 (i = 1, 2 ou 4),

32
1.4 Applications élémentaires

nous serons contraints d’adopter xi 5 1 et ainsi F sera diminuée de la valeur du coef-


icient de xi dans F 5 10 2 1 5x2 1 3x1 1 2x4 1 x3 2 ; c’est évidemment le contraire
pour x3.
Dans ces conditions, nous écrirons les coeficients de 10 2 F 5 5x2 1 3x1 1
2x4 1 x3, sur la dernière ligne du tableau, dans les colonnes voulues.
5. Nous disposons alors des instruments nécessaires pour résoudre le problème par
énumération implicite, c’est-à-dire en n’énumérant qu’un petit nombre de solutions
admissibles (ce qui veut dire qu’elles vériient les contraintes, sans être nécessaire-
ment optimales), parmi les meilleures du problème, jusqu’à ce que l’on ait trouvé
la solution optimale et montré qu’elle est unique ou, au contraire, exhibé toutes les
solutions équivalentes.
Coeficients des contraintes Seconds membres
et de la fonctionnelle

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.

Mais nous ne savons pas si cette solution est optimale.


• Deuxième phase : recherche de la solution optimale (ou des solutions
équivalentes à la précédente, si elle se révèle optimale)
S’il existe une meilleure solution que la précédente, c’est que nos choix n’ont pas été
heureux. C’est pourquoi nous allons les remettre en question, systématiquement, en
remontant de proche en proche.
1. Lorsque nous avons effectué le choix 2*, nous aurions aussi bien pu prendre
x1 5 1 (en effet, notre choix était libre) et c’est ce que nous ferons maintenant. Ce
choix entraîne un nouveau second membre numéroté 2, à droite du double trait, et
l’on remarque déjà que l’on ne pourra pas ainsi trouver une solution meilleure que la
précédente , puisque ce choix implique F < 7. Continuons, dans l’espoir de décou-
vrir une solution équivalente.
Nos choix sont libres : autrement dit, le nouveau choix 2* n’implique aucune
affectation. Il faut néanmoins, pour notre choix 3*, prendre x4 5 1, car, sans cela, F
serait inférieure ou égale à 5. Dans ces conditions, nous écrirons, non pas 3*, mais
2r, d’où un nouveau second membre, 2a.
Notre choix est encore libre, en apparence. Mais si nous prenions x3 5 1, il en
résulterait F < 6. C’est pourquoi nous choisissons x3 5 1 et nous obtenons le second
membre 2b.
Une nouvelle fois, nous sommes arrivés au bord droit du tableau des coeficients. La
nouvelle solution obtenue est équivalente à la précédente : x1 5 0, x2 5 1 ; x3 5 0 ;
x4 5 1 ; F 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.

Conclusion. Les deux solutions équivalentes déterminées précédemment sont opti-


males.
L’exploration réalisée peut être schématisée par l’arborescence ci-après.
Nous verrons ultérieurement, au chapitre consacré à la théorie des graphes, qu’il
s’agit d’une procédure de recherche arborescente avec la stratégie « en profondeur
d’abord » (appelée aussi procédure d’évaluation et séparation séquentielle). Les
traits doubles indiquent des implications du choix immédiatement réalisé ; ainsi, si
après avoir choisi x2 5 1 (qui n’a pas d’implication directe), on choisit x1 5 1, on a
alors les implications (conséquences) : x4 5 0 et x3 5 1. De même si l’on fait x2 = 1
puis x1 = 0, on a les implications x4 = 1 et x3 = 0 .
© Dunod – Toute reproduction non autorisée est un délit.

Figure 1.19

Variables positives entières quelconques


L’exemple présenté ci-dessous est l’exemple résolu aussi dans le chapitre 4 dédié
aux méthodes de résolution par séparation et évaluation.

35
Chapitre 1 • Structures ordonnées Applications des treillis

Soit à résoudre le problème suivant :


[MAX] F 5 3x1 + 8x2
sous les contraintes :
x1 1 4x2 < 20 1 1 2
x1 1 2x2 < 11 1 2 2
3x1 1 2x2 < 19 1 3 2
4x1 2 x2 < 22 1 4 2 ,
les variables x1 et x2 étant astreintes à être entières, positives ou nulles.
1. Obtention de bornes supérieures des variables
La première inégalité entraîne : x 2 < 5. Une combinaison linéaire positive des
deux dernières : 1 3 1 3 2 1 2 3 1 4 2 fourni 11x1 < 63, d’où x1 < 5 puisque x1 est
entier.
2. Remplacement des variables entières par des variables booléennes
On peut écrire : x1 5 4X 11 1 2X 21 1 X 31, les variables X 11, X 21 et X 31 étant binai-
res ; cela revient en somme, tenant compte de sa borne supérieure, à décomposer x1
en ses poids binaires.
De même : x2 5 4X 12 1 2X 22 1 X 32. Si X 12 5 X 22 5 X 32 5 1, alors x2 5 7, ce qui
viole (1) et (2) : ces trois variables ne pourront donc pas être simultanément égales
à 1.
3. Transformation des expressions pour faire disparaître les coeficients négatifs
On a, par exemple : x2 1 x2 5 7 (attention : ici x 2 est le complément de x2 à 7 et
non pas à 1), en posant :
x2 5 4X 12 1 2X 22 1 X 32 ; en effet : X 12 1 X 12 5 X 22 1 X 22 5 X 32 1 X 32 5 1.
Par conséquent : 2x2 5 x2 2 7 et la quatrième inégalité s’écrira :
4x1 1 x2 < 29.
Remplaçons les variables par leur développement binaire dans toutes les relations
et ordonnons par rapport aux coeficients décroissants des variables binaires dans F.
On obtient :

3 MAX 4 F 5 32X 12 1 16X 22 1 12X 11 1 8X 32 1 6X 21 1 3X 31


sous les contraintes :

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

Ainsi les coeficients de F et des contraintes sont désormais tous positifs.


Le tableau correspondant s’écrit :

Coeficients des contraintes et de F Seconds membres

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.

Remarque. Le problème se prête à une interprétation dans le plan, car il ne


comporte que deux variables, x1 et x2. La igure 1.20 fait apparaître le domaine
admissible, avec ses 28 solutions entières (cf les 28 points gras).
© Dunod – Toute reproduction non autorisée est un délit.

Figure 1.20

En nombres rationnels fractionnaires, la solution optimale est :


9
x1 5 2, x2 5 avec F 5 42 (point M) ;
2
mais x1 et x2 doivent avoir, ici, des valeurs entières.

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

**1.1 Un problème de logique (?) résolu par l’algèbre de Boole


Un enfant gâté et capricieux a exprimé ses vœux au père Noël par une lettre inter-
ceptée par ses parents.
1. Entre le jeu électronique et la poupée (qui parle), je veux recevoir au
moins l’un des deux.
2. Je ne veux pas à la fois une boîte de LEGO et le coffret de personnages
de PLAYMOBIL, mais je veux l’un des deux.
3. Si je reçois un train électrique, alors il me faut une boîte de LEGO.
4. Je veux avoir en même temps le jeu électronique et le coffret de PLAY-
MOBIL ou bien aucun des deux.
5. Si vous m’offrez la poupée, alors il me faut le train électrique et le jeu
électronique.
Pouvez-vous aider ces parents faibles(!!) et perplexes à démêler l’écheveau des
conditions de leur joyeux bambin. Algèbre de Boole oblige !
On notera A, B, C, etc. les jeux, dans leur ordre d’apparition dans ce texte.

**1.2 Résolution booléenne d’une situation difficile...


Un secret militaire a fait l’objet d’une fuite et le ministre demande une enquête. Le
général qui en est chargé décèle rapidement cinq suspects : un directeur de secteur,
une secrétaire, un technicien, un inspecteur et un honorable « correspondant ».
Il décide de les soumettre à un interrogatoire plus approfondi puis se rend chez le
ministre ... Nous assistons alors à leur dialogue :
– « Monsieur le ministre, j’ai établi un résumé des déclarations des suspects les
plus intéressantes et vais vous les communiquer » :
– la secrétaire dit que le correspondant ment et que le directeur ne ment pas ;
© Dunod – Toute reproduction non autorisée est un délit.

– le directeur dit que la secrétaire a entendu l’inspecteur dire que le technicien


ment ;
– l’inspecteur dit que la secrétaire ment ;
– le technicien...
Le ministre interrompt alors le général : tout ceci est très bien, mais quelles
conclusions en avez-vous tirées ?
Eh bien, réplique le général, c’est-à-dire que l’affaire est extrêmement complexe ;
j’ai cependant la certitude qu’il ne peut pas s’agir d’un complot de très grande enver-
gure, et il est sûr que deux personnes au plus sont coupables! Mais si vous le voulez
bien, je vais poursuivre ma lecture des déclarations.

39
Chapitre 1 • Structures ordonnées Applications des treillis

Le ministre, occupé à griffonner sur un papier, l’interrompt : « non! je pense que


c’est inutile, vous en avez dit assez, je peux démasquer les coupables »...
Le général, quelque peu ébahi, regarde le ministre et, sentant que celui-ci ne plai-
santait pas, prend congé, perplexe!
Sachant que les coupables mentent systématiquement (et les innocents jamais),
et que chaque suspect connaît l’attitude des autres, reconstituer le raisonnement du
ministre logicien ... (On pourra coder D la proposition « le directeur dit la vérité » et
D, « il ment » ; etc.)

**1.3 Programmation d’une production sur différentes machines


On dispose de trois machines sur lesquelles Machine
on a à fabriquer quatre séries de pièces. 1 2 3
L’occupation d’une machine par une Série
série de pièces est codée au moyen d’une 1 L1 L1
variable ou d’un produit booléens, comme 2 L2 L2
l’indique le tableau ci-contre ; ils signiient,
par exemple : la série 1 peut être exécutée 3 L3 L3
sur la machine 1 ou la machine 3 ; si l’on 4 L4 M4 L4 M4 L4 M4
choisit la machine 1, alors L1 5 1 ; si l’on
choisit la machine 3, alors L1 5 1 ; etc. ; la série 4 peut être exécutée sur l’une quel-
conque des machines ; si l’on choisit la machine 1, alors L4 M4 5 1 ; etc.
D’autre part, les séries doivent être exécutées dans les fenêtres de temps données par
le tableau ci-dessous, qui signiie, par exemple : la série 1 peut être exécutée pendant
les temps 1 et 2 et alors A1 5 1, ou
Série Codage 1 2 3 4 5
pendant les temps 2 et 3, et alors
A1 — — A1 5 1 ; etc.
1 A1 — — On appelle T kij la variable booléenne
A2 — — qui vaut 1 si la série i est exécutée
sur la machine j pendant le temps
2 A2 — — k et 0 au contraire. Par exemple,
A3 B3 — T 111 5 A1 L1, et A1 L1 5 1 3 la
3 — série 1 est usinée sur la machine 1
A3 B3
pendant le temps 1. On aura alors
A3 B3 — nécessairement T 211 5 1 car l’usi-
A4 — nage de la série 1 sur la machine
1 commence au temps 1 et devra
4 A4 — s’y poursuivre au temps 2.
Mais une machine ne peut être employée à usiner deux séries différentes en même
temps. Par exemple : T 211 5 A 1 L 1 1 A 1 l1 5 L 1 et T 221 5 A2 L2 ; donc, nécessaire-
ment, la somme arithmétique T 211 1 T 221 est inférieure ou égale à 1 :

T 211 1 T 221 5 L1 1 A2 L2 < 1.

40
Exercices

1. Exprimer les neuf inéquations relatives aux machines 1, 2 et 3.


2. Montrer que le système se réduit à A4 L4 M4 5 0 si A1 5 A3 5 B3 5
L2 5 L1 5 1 et A2 5 0. Combien y a-t-il alors de solutions ?
3. Combien de solutions, parmi celles énumérées en 2), permettent d’em-
ployer toutes les machines à la production ?
4. On se propose enin, parmi les solutions du 3), de choisir parmi celles
qui affectent la série 3 à la machine 3 et réduisent le temps total de produc-
tion à 4 périodes successives. Combien en reste-t-il ? Lesquelles ?

*1.4 Forme minimale d’une fonction booléenne


Soit la fonction :
# # #
F 5 abc 1 bcd 1 cd 1 ab.
1. Donner les 9 minterms de F, puis déterminer ses constituants premiers.
2. La mettre sous forme minimale.
3. On remplace F par G :
# # #
G 5 abc 1 bcd 1 cd 1 abc.
En utilisant les résultats précédents et en réduisant les calculs au mini-
mum, donner la forme minimale de G.

**1.5 Programme linéaire en variables booléennes (0-1)


1. Résoudre, par la méthode arborescente de Faure et Malgrange, le programme
suivant :
3 MAX 4 F 5 2x1 2 4x2 1 x3 1 3x4
sous les contraintes :
2x1 1 3x2 1 x3 2 x4 < 4
3x1 2 2x2 1 2x3 1 x4 < 5
x1 1 x2 1 x3 1 x4 < 3.
les variables x1, x2, x3 et x4 ne pouvant prendre que les valeurs 0 ou 1.

41
2 noTions de
coMPlexiTé

2.1 coMPlexiTé des algoriThMes


Un même problème peut être, le plus souvent, résolu par plusieurs algorithmes, c’est
pourquoi il est très important, dans le cadre de la recherche opérationnelle, de pou-
voir comparer l’eficacité des différents algorithmes pouvant être mis en œuvre pour
résoudre ce problème. Deux critères principaux sont généralement considérés quand
le chercheur opérationnel étudie l’eficacité d’un algorithme : le premier est le temps
de calcul, le second est l’espace mémoire nécessaire à l’exécution de l’algorithme.
Si l’espace mémoire reste un critère important de l’évaluation de l’eficacité d’un
algorithme, en pratique, dans la grande majorité des problèmes que le chercheur opé-
rationnel doit résoudre, le temps de calcul devient le paramètre principal mesurant
l’eficacité d’un algorithme. En effet, que le problème soit à traiter en temps réel ou
que le chercheur opérationnel dispose de quelques heures, la quantité de temps dont
il dispose pour obtenir une réponse au problème posé est toujours limitée.
Dans ce chapitre, nous nous intéresserons d’abord à la complexité en temps d’un
algorithme que, par abus de langage, nous appellerons simplement « complexité d’un
algorithme ». Après avoir donné les outils mathématiques nécessaires, nous déini-
rons les différentes notions de complexité utilisées et fournirons quelques exemples
du calcul de la complexité d’algorithmes classiques.

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

Figure 2.1 g une fonction appartenant à O 1 f 2 .


À partir de n0, la courbe g 1 n 2 est comprise entre les courbes f 1 n 2 et c # f 1 n 2 .

Le comportement asymptotique des fonctions considérées étant étudié à une


constante multiplicative positive près, de nombreuses classes de fonctions sont équi-
valentes. Ainsi on pourra vériier, par exemple, que O 1 10 000n2 2 5 O 1 0,001n2 2 5
O 1 n2 2 et O ( en ) 5 O ( en 1 173 ) car en1173 5 en # e173 et e173 est une constante et, plus
généralement, O 1 c # f 2 5 O 1 f 2 pour toute constante positive c.
Nous allons donner, pour les fonctions les plus couramment utilisées, quel-
ques exemples d’utilisation de cette notation. Le lecteur est encouragé à vériier
ces exemples à partir de la déinition précédente. Pour tout polynôme P 1 n 2 5
apnp 1 ap 2 1np 2 1 1 c1 a1n 1 a0, on a P H O 1 np 2 .
Ainsi 12n5 2 4n3 1 2n2 1 n 2 1 H O 1 n5 2 .
Nous donnons maintenant des relations d’inclusion pour les classes de fonctions les
plus usuelles : O 1 1 2 ( O 1 log log n 2 ( O 1 log n 2 ( O 1 !n 2 ( O 1 n 2 ( O 1 n log n 2 (
© Dunod – Toute reproduction non autorisée est un délit.

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.

(1) n ! x O ( nn 1 2 ) car 1 1/e 2 n n’est pas une constante.


1

43
Chapitre 2 • Notions de complexité

n 5 10 n 5 100 n 5 1 000 n 5 106 n 5 109


f 1 n 2 5 log n 1029 s 2 # 1029 s 3 # 1029 s 6 # 1029 s 9 # 1029 s
f 1n2 5 n 1028 s 1027 s 1026 s 1023 s 1s
f 1 n 2 5 n log n 1028 s 2 # 1027 s 3 # 1026 s 6 # 1023 s 9s
f 1n2 5 n 2
1027
s 10 25
s 10 23
s 1 000 s 32 ans
f 1 n 2 5 n3 1026 s 1023 s 1s 32 ans 32 # 109 ans
f 1 n 2 5 n5 1024 s 10 s 11 jours 3 # 1013 ans 3 # 1034 ans
f 1 n 2 5 2n 1026 s 3 # 1014 ans 10281 siècles 103 # 10 siècles 103 # 10 siècles
5 8

Nous avons renoncé à ajouter une ligne f 1 n 2 5 n! à ce tableau, tant la croissance de


la factorielle est rapide.

2.1.2 Le codage des données


Avant la résolution proprement dite d’un problème, une première étape consiste à
stocker en mémoire les données du problème à traiter, ain de pouvoir les lire au
cours du traitement. La comparaison de deux algorithmes résolvant un même pro-
blème se fera par l’intermédiaire d’un même paramètre que nous appellerons “taille”
de la donnée d’entrée qui correspond, à une constante multiplicative près, aux nom-
bres de bits nécessaires à l’écriture de cette donnée (en pratique, l’espace mémoire
pour stocker cette donnée). Un même objet mathématique pouvant être représenté
sous différentes formes (voir, par exemple, le chapitre consacré à la représentation
en machine d’un graphe), nous prendrons garde à ce que le codage de cette donnée
soit fait de manière raisonnable, ainsi un entier n pourra être représenté en binaire ou
en hexadécimal, mais en aucun cas en unaire (par n bâtons, comme le faisaient nos
lointains ancêtres).
Comme exemple considérons un algorithme effectuant la multiplication de deux
matrices de format carré n 3 n. Le nombre d’éléments de chaque matrice est donc
n2. En supposant que chaque élément de la matrice soit un entier de valeur bornée
par une constante K (ceci à in d’éviter le cas de nombres très grands demandant
éventuellement quelques milliards de caractères pour être écrits), une matrice pourra
être codée en utilisant n2 3 log2K 4 caractères binaires ; donc la donnée d’entrée du
problème sera de taille 2n2 3 log2K 4 soit O 1 n2 2 .
([x] désigne la partie entière supérieure de x, par exemple : 3 7, 34 4 5 8 ) .

2.1.3 Le temps de calcul


Nous allons, à travers un exemple simple, estimer le temps nécessaire à l’exécution
d’un algorithme. Dans ce but, nous compterons le nombre d’opérations élémentaires
effectuées à chaque étape de l’algorithme. Considérons l’algorithme suivant calcu-
lant C, la matrice résultat de la multiplication de deux matrices carrées A et B de
taille n si K 5 2p , 3 log2k 4 5 p, mais il faut p+1 bits pour le coder.

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).

Considérons, pour débuter l’étude de complexité, la ligne 5 de l’algorithme. Lors


d’une exécution de cette instruction, il doit être effectué la lecture des trois valeurs
C(i, j), A(i, k), B(k, j), une multiplication et une addition, et l’écriture de la nouvelle
valeur de C(i, j). Ainsi, six opérations élémentaires sont nécessaires pour l’exécu-
tion de cette instruction. Notre objectif étant de déterminer le temps de calcul de
l’algorithme à une constante multiplicative près, nous estimerons à O(1) le nombre
constant d’opérations de l’instruction 5. Cette ligne 5 est exécutée n fois consécuti-
vement au cours de l’exécution de la ligne 4, donc une exécution de la ligne 4 suivie
de la ligne 5 correspondra à O(n) opérations élémentaires. De façon analogue, la
ligne 2 sera exécutée n fois au cours de chaque exécution de la boucle de la ligne 1,
la ligne 3 exécutant O(1) opération, pour chacune des exécutions de la boucle 1, il y
a n 1 O 1 1 2 1 O 1 n 2 2 5 O 1 n2 2 opérations effectuées. L’instruction 1 étant, elle-même,
exécutée n fois, la complexité de l’algorithme est O 1 n3 2 .
Remarque. Un autre algorithme, dû à Strassen, de complexité O 1 n2.81 2 a été
conçu pour effectuer la multiplication de matrices. Le lecteur intéressé par cet
algorithme plus sophistiqué et son calcul de complexité pourra consulter les
ouvrages d’algorithmique référencés en bibliographie ; 2,81 . log27.

2.1.4 Les différentes mesures de complexité


Contrairement à l’exemple présenté plus haut qui, pour une valeur n donnée, exé-
cute toujours le même nombre d’opérations élémentaires, un algorithme peut avoir des
comportements fort différents pour des données différentes de taille identique. Consi-
dérons comme exemple l’algorithme suivant qui détermine quelle est la position de la
valeur v dans un tableau T contenant n valeurs, sachant que v apparaît une et une seule
fois dans T.
© Dunod – Toute reproduction non autorisée est un délit.

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é

opérationnel, quand elles peuvent être déterminées, de juger pratiquement de l’efi-


cacité en temps d’un algorithme.
Considérons un algorithme A et D la donnée d’un problème résolu par A. Nous
notons par n la taille de D et déinissons TA 1 D, n 2 , le nombre d’opérations élémen-
taires exécutées par A lors de son exécution pour D.

La complexité dans le pire des cas


La complexité dans le pire des cas pour un algorithme A est le maximum sur toutes
les données D de même taille n des valeurs TA 1 D, n 2 , soit maxDHDn 5 TA 1 D, n 2 6 , où
Dn est l’ensemble des données de taille n.
Pour l’exemple ci-dessus, le pire des cas intervient lorsque la valeur v se trouve
dans la dernière position de T. La complexité dans le pire des cas de l’algorithme est
donc O(n).

La complexité dans le meilleur des cas


La complexité dans le meilleur des cas de A est le minimum sur toutes les données
D de taille n des valeurs TA 1 D, n 2 , soit min 5 TA 1 D, n 2 6 , où Dn est l’ensemble des
DPDn
données de taille n.
Ainsi dans notre exemple, le meilleur des cas intervient lorsque la valeur v se
trouve dans la première position de T. La complexité dans le meilleur des cas de
l’algorithme est donc O(1).

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

La complexité en moyenne d’un algorithme est généralement très dificile à éva-


luer. Des hypothèses probabilistes doivent être faites sur la distribution des données.
Ainsi pour notre exemple, nous supposerons que toutes les positions de l’élément v
dans T sont équiprobables. Même ces hypothèses faites, à ce jour rares sont les algo-
rithmes pour lesquels la complexité en moyenne a pu être déterminée.
Pour notre exemple, nous allons pouvoir calculer la complexité en moyenne en consi-
dérant que les positions de l’élément v dans T sont équiprobables. Supposons que v soit
en position k dans T alors k 3 O 1 1 2 opérations sont exécutées pendant le déroulement
de l’algorithme. En sommant sur les n positions possibles de v dans T et en divisant par
ce nombre de positions nous obtenons la complexité en moyenne suivante :

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.

2.2 coMPlexiTé des ProblèMes


© Dunod – Toute reproduction non autorisée est un délit.

Très souvent, plusieurs algorithmes sont susceptibles de résoudre un même pro-


blème donné. Le chapitre dédié à la complexité des algorithmes fournit les élé-
ments permettant de comparer les eficacités d’algorithmes résolvant un même
problème. Après s’être informé de l’eficacité d’un algorithme particulier, le cher-
cheur opérationnel doit se poser la question suivante : l’algorithme proposé est-il le
« meilleur possible » pour résoudre le problème à traiter. Par « meilleur possible »
nous entendons, de complexité moindre que celle de tout autre algorithme suscep-
tible de résoudre le problème considéré. La théorie de la complexité des problèmes
a pour objectif de répondre à ce point. La problématique de cette théorie est la sui-
vante : étant donné un problème, déterminer, si possible, la complexité minimale

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

(1) G comporte n (5 card X) sommets et m (5 card U) arcs.

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.

certiicat, la division de n par a pouvant s’effectuer avec un algorithme polynomial,


nous en concluons que ce problème est dans la classe NP. Considérons maintenant
le problème complémentaire, le problème de la primalité dans lequel la donnée est n
un nombre entier et la question : « n est-il premier ? » Ici la détermination d’un cer-
tiicat permettant la vériication en temps polynomial de la primalité de n est moins
aisée. Le lecteur intéressé pourra consulter la démonstration de l’appartenance à NP
du problème de la primalité dans des ouvrages spécialisés consacrés à la théorie de
la complexité.

1. Nous verrons dans les exemples suivants le sens que l’on donne ici au terme « certiicat ».

49
Chapitre 2 • Notions de complexité

NB : le lecteur se convaincra facilement que P ( NP.


S. Cook a conjecturé que cette inclusion est stricte : P 2 NP.
En dépit de nombreux effort, cette conjecture – à ce jour – n’a pas pu être démon-
trée : elle fait partie des “7 problèmes du millénaire” proposés en 2000 par le Clay
Mathematics Institute, chacun doté d’un million de dollars...

2.2.2 Les problèmes NP-complets


Au début des années 70, S. Cook a montré que parmi les problèmes de décision de la
classe NP, certains étaient plus dificiles à résoudre que d’autres. Il est conjecturé que
seuls des algorithmes énumératifs, de complexité de l’ordre de O 1 2n 2 , permettent la
résolution de ces problèmes appelés NP-complets. Le lecteur pourra consulter les
ouvrages que nous citons en bibliographie pour s’informer des preuves mathématiques
de NP-complétude. Avant de donner quelques exemples de problèmes NP-complets,
nous allons, de manière informelle, décrire les conséquences pratiques de ces résul-
tats théoriques dans le quotidien du chercheur opérationnel. Contrairement à un pro-
blème polynomial, il est généralement vain d’essayer de résoudre optimalement des
problèmes NP-complets de grande taille. Seuls des problèmes de taille souvent très
inférieure aux tailles rencontrées dans le monde de l’entreprise peuvent être résolus
en temps raisonnable. En étant moins exigeant sur les contraintes des problèmes
ou sur la qualité des solutions demandées, le chercheur opérationnel, comme nous
le verrons plus loin, pourra toutefois envisager d’obtenir une solution acceptable
(approchée) au problème qui lui est posé.
Nous allons maintenant donner quelques exemples de problèmes NP-complets. Le
premier problème à avoir été montré NP-complet, est le problème de satisiabilité,
déini de la manière suivante. Les données sont d’une part un ensemble de n variables
bimaires x1, c, xn, et, d’autre part, un ensemble de m « clauses » : une clause est un
sous-ensemble des 2n littéraux x1, c, xn , x1, c, xn, où xi désigne la variable complé-
mentaire de xi ; ainsi 5 x1, x4, x10 6 est une clause. La question posée est : « Existe-t-il une
affectation de la valeur vrai ou faux à chacune des variables xi de sorte que pour cha-
cune des m clauses, au moins l’un des littéraux la constituant ait la valeur vrai ? » Par
exemple, pour l’instance (jeu de données) construite sur l’ensemble des trois variables
x1 , x2 , x3 et constituée des deux clauses 5 x1, x2, x3 6 et 5 x1, x3 6 en affectant les valeurs
vrai à x2 et faux à x1 et x3, les deux clauses sont satisfaites.

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.

2.2.3 Les problèmes d’optimisation NP-difficiles


Les problèmes d’optimisation sont déinis de la manière suivante. Pour une don-
née (instance) du problème, l’algorithme doit déterminer une structure particulière
répondant à un critère d’optimisation. Ainsi, dans la version optimisation du pro-
blème du plus court chemin (tout arc de A étant valué), la donnée est :
G 5 1 S, A 2 un graphe, a et b deux sommets de G, v la fonction de valuation des arcs
et il est demandé de trouver un chemin d’origine a et d’extrémité b de valeur minimale.
Dans la version optimisation du problème du plus long chemin élémentaire, c’est un
chemin élémentaire reliant a et b de valeur maximale qui doit être trouvé. Pour le
problème de l’arbre couvrant de poids (ou coût) minimal, étudié plus loin dans cet
ouvrage, la structure à déterminer est un arbre couvrant, et le critère à optimiser est
le poids (coût) de cet arbre. Le plus souvent, en recherche opérationnelle, le critère
d’optimisation consistera à minimiser un coût ou à maximiser un gain.
Nous venons de voir au paragraphe précédent que le problème de décision du
plus long chemin élémentaire est NP-complet, donc de résolution dificile. La ver-
sion optimisation de ce problème est donc au moins aussi dificile à résoudre. De
manière plus générale, à tout problème d’optimisation on peut associer un problème
de décision1 ; lorsque ce problème de décision est NP-complet, le problème d’opti-
misation sera qualiié de problème NP­dificile. La résolution exacte de problèmes
NP­dificiles ne pourra se faire qu’avec des procédures énumératives de type sépa-
ration et évaluation (recherches arborescentes) ou pour une certaine sous-classe de
problèmes en utilisant la programmation dynamique (deux paragraphes de ce précis
sont dédiée à ces techniques de résolution). Cette résolution menée jusqu’à obtention
de l’optimum ne pourra être effectuée en pratique que pour des problèmes de petite
taille.
Citons maintenant quelques types de problèmes classiques d’optimisation NP-
dificiles rencontrés en recherche opérationnelle (le lecteur retrouvera les exemples
© Dunod – Toute reproduction non autorisée est un délit.

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 »).

2.2.4 Approximation et approximabilité des problèmes


NP-difficiles
La résolution exacte des problèmes d’optimisation NP-dificiles n’étant pas envi-
sageable pour des problèmes de taille industrielle, une résolution approchée peut
souvent être satisfaisante pour l’utilisateur. Deux critères sont alors importants à
considérer. Premièrement, l’algorithme fournissant la solution approchée doit être
de faible complexité, donc polynomial. Deuxièmement, une garantie sur la qualité
des solutions obtenues, c’est-à-dire une borne de leur écart par rapport à une solution
optimale, doit être fournie. Nous allons voir dans les deux paragraphes suivants des
solutions ayant pour objectif la satisfaction de ces deux critères.

Les algorithmes polynomiaux avec garantie relative


de performance
Nous allons déinir ici la notion d’algorithme approché polynomial avec garantie
relative de performance. Nous donnerons cette déinition pour les problèmes de
minimisation. Une déinition similaire pourra aisément être établie pour les problè-
mes de maximisation. Nous notons Ĉ le coût de la solution approchée fournie par
l’algorithme approché et C*,(1) le coût minimal des solutions de l’instance traitée.
L’algorithme d’approximation est un algorithme polynomial avec garantie relative
de performance si et seulement si il s’exécute en temps polynomial et si il existe une

constante r > 1 telle que pour toute instance du problème on ait : < r (ou bien :
C* C*
< r pour un problème de maximisation). Il est d’autant meilleur que r est proche

de 1 ; pour un algorithme optimal on a : r = 1.
Avec ces algorithmes, nous serons assurés que, dans le pire des cas, la solution
proposée sera éloignée au plus d’un facteur r de la solution optimale. Ces algorithmes
répondent donc parfaitement à la problématique posée puisqu’ils sont de faible com-
plexité et que l’erreur commise sur le coût de la solution obtenue est toujours bornée
par une constante. Cependant une telle garantie n’est pas toujours aisée à obtenir ;
il est même montré, qu’elle ne peut pas exister pour certains problèmes. Le lecteur
pourra consulter le livre de Hochbaum cité dans la bibliographie pour les résultats
concernant l’approximabilité des problèmes NP-dificiles. Dans le chapitre consacré
au problème du voyageur de commerce et aux méthodes arborescentes, un algo-
rithme approché polynomial avec garantie relative de performance est présenté. De
nombreux autres exemples d’algorithmes approchés, polynomiaux, avec garantie
relative de performance peuvent être trouvés dans la « littérature ».

(1) en pratique dificile, voire impossible à obtenir…

52
2.2 Complexité des Problèmes

Exemple d’un algorithme polynomial avec garantie


de performance pour le problème du voyageur
de commerce euclidien
Nous allons ici donner l’exemple d’un algorithme polynomial ayant une garantie
relative de performance pour le problème du voyageur de commerce dans le cas où
les distances vériient les inégalités triangulaires (cf. ci-dessous). Le problème du
voyageur de commerce ainsi qu’un algorithme (non polynomial) fournissant une
solution optimale sont présentés dans la section 4.10.1.
Nous considérons G 5 ( X, A ) un graphe non orienté complet de n sommets où
chaque arête [i, j] est valuée par un entier naturel cij, appelé coût de l’arête [i, j]. On
suppose que les coûts satisfont l’inégalité triangulaire : pour tout triplet de sommets
{i, j, k} on a : cij # cik 1 ckj. Le problème du voyageur de commerce consiste à dé-
terminer un cycle hamiltonien de longueur minimale.
L’instance suivante, comportant six sommets {a, b, c, d, e, f }, servira d’illustration
pour le déroulement de l’algorithme. Voici le tableau des coûts qui est symétrique :

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

L’algorithme est constitué de trois étapes, cf. Fig 2.2 ci-dessous :


La première consiste en la détermination d’un arbre couvrant de coût minimal qui
s’effectue en temps polynomial (le lecteur pourra se référer à la section 4.8). L’en-
semble d’arêtes F 5 5 3 a, b 4 , 3 a, c 4 , 3 a, e 4 , 3 e, f 4 , 3 e, d 46 forme un arbre H 5 ( X, F )
couvrant G de coût 7, minimal, pour l’exemple traité.

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

Figure 2.2 La construction d’un cycle hamiltonien c

La seconde étape consiste à construire le graphe orienté symétrique Hr qui est


déduit de H en remplaçant chacune des ses arêtes [x, y] par les deux arcs (x, y) et
(y, x). Puis on construit dans H r un circuit eulérien E (c-à-d empruntant tous les arcs
de Hr une fois et une seule). Dans notre exemple :
E 5 ( a, b, a, c, a, e, d, e, f, e, a) , qui a pour coût 14.

53
Chapitre 2 • Notions de complexité

Dans la dernière étape on construit un cycle hamiltonien à partir du circuit E. Ce


cycle est obtenu en considérant uniquement la première occurrence de chaque som-
met dans E puis en ajoutant en dernière position le sommet initial (ici : a). Le cycle
C 5 ( a, b, c, e, d, f, a ) est la solution approchée, son coût est : Ĉ 5 11. Le coût de
l’optimum (inconnu ici) est noté C*.
Nous allons montrer que pour toute instance du problème du voyageur de com-
merce euclidien l’algorithme précédant construit une solution de coût Ĉ vériiant

# 2 : notons c(H) le coût d’un arbre couvrant de coût minimal. Le coût du
C*
circuit eulérien E est : l ( E ) 5 2 c ( H ) . Puisque que tous les coûts vériient l’iné-
galité triangulaire, nous avons : l ( E ) $ C; ˆ
en effet : l ( E ) 5 cab 1 ( cba 1 cac ) 1
ˆ
( cca 1 cae ) 1 ced 1 ( cde 1 cef ) 1 ( cfe 1 cea ) $ cab 1 cbc 1 cce 1 ced 1 cdf 1 cfa 5 C.
D’autre part tout cycle hamiltonien est la réunion d’une chaîne élémentaire P couvrant
les sommets de G et de l’arête [k, l] joignant les deux extrémités k et l de cette chaîne.
Toute chaîne qui couvre les sommets de G est aussi un arbre couvrant ; ainsi en notant
l(P) le coût de la chaîne P, nous avons : c ( H ) # l ( P ) puisque H est un arbre cou-
vrant de coût minimal. Comme les valuations (coûts) des arêtes sont positives, tout
cycle hamiltonien C a un coût l ( C ) 5 l ( P ) 1 ckl qui vériie : l ( C ) $ l ( P ) $ c ( H ) .
En particulier un cycle hamiltonien de longueur minimale est tel que C* $ c ( H ) .
En regroupant les inégalités nous obtenons : Cˆ # l ( E ) 5 2 c ( H ) # 2 C* et ainsi
Cˆ Ĉ 11
# 2. En fait, ici, C* 5 9 avec ( a, b, f, e, d, c, a) et = = 1, 22.
C* C* 9
On peut montrer que l’algorithme permettant d’obtenir cette solution approchée
est polynomial ; nous avons donc un algorithme polynomial avec une garantie rela-
tive de performance de rapport 2 pour le problème du voyageur de commerce eucli-
dien (ce problème étant prouvé NP-dificile, il n’exite pas d’algorithme polynomial
fournissant une solution optimale, sauf si P 5 NP : ce qui est très improbable !).
Autre exemple : un algorithme polynomial avec garantie de
performance pour le problème du bin packing
Considérons n objets de même forme linéaire, dont les tailles a1, c, an véri-
ient : 0 , ai , A. On cherche à placer ces objets dans des boîtes de taille A de
façon à utiliser un nombre minimal de boîtes. Par exemple ces objets peuvent être
des livres ; la ‘taille’ de chacun est son épaisseur ; on désir les ranger dans des éta-
gères, chacune de longueur A ; on veut minimiser le nombre d’étagères à acheter. Ce
problème connu sous le nom de bin packing (mise en boîte) est NP-dificile. L’algo-
rithme suivant permet d’obtenir une solution approchée : les objets sont placés un
à un dans les boîtes suivant l’ordre arbitraire 1, c, n. L’étape i ( i 5 1, c, n ) de
l’algorithme consiste à placer l’objet i dans une des boîtes déjà partiellement remplie
(sauf pour l’objet 1 rangé dans une boîte vide), si cela est possible (la somme des
tailles des objets placés dans chacune des boîtes ne doit pas dépasser la capacité A).
Si ce n’est pas possible, l’objet i est placé dans une nouvelle boîte.

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.

samment génériques pour s’adapter facilement à de nombreux problèmes. Si ces


heuristiques fournissent généralement assez rapidement des solutions approchées,
elles ne fournissent cependant aucune garantie sur l’écart entre le coût de la solu-
tion fournie et le coût d’une solution optimale. Des études statistiques faites sur les
métaheuristiques telles que le recuit simulé et la recherche “tabou” ont montré, pour
certains types de problèmes, la bonne qualité des solutions obtenues. Le recuit simulé
et la recherche tabou sont deux méthodes de voisinage : c’est-à-dire des méthodes
dans lesquelles, à chaque itération, à partir d’une solution courante S, un voisinage
V(S) de cette solution est déterminé. Ensuite, une nouvelle solution S’ appartenant à
ce voisinage V(S) est choisie, suivant un critère probabiliste. Contrairement aux clas-
siques méthodes dites “de descente”, la nouvelle solution courante S’ peut être de

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

*2.1 Le tri par transpositions et sa complexité


On veut trier, par ordre croissant, n nombres rangés dans un tableau (à une seule
ligne, ou « vecteur »), par transpositions successives. Par exemple pour trier :
1 2 3 4

5 4 9 1 , on opère comme suit :

5 4 9 1 4 5 9 1

5 . 4 : on les transpose 5 , 9 : on ne les transpose pas

4 5 9 1 4 5 1 9

9 . 1 : on les transpose in de la 1ère phase

En in de la 1ère phase, le nombre le plus grand (ici 9) est à sa place déinitive : la


case n. Puis on entreprend une seconde phase avec les n 2 1 nombres des cases 1 à
n 2 1 (ici n 2 1 5 3) :

4 5 1 4 5 1 4 1 5

4 , 5 : on ne transpose pas 5 . 1 : on les transpose

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.

Ce tableau trié par ordre croissant est donc : 1 4 5 9

1) Évaluer le nombre de comparaisons entre deux nombres effectuées dans


l’exemple. Puis donner la complexité de ce tri, avec n nombres.
2) Écrire une procédure générale pour le tri par transpositions de n nombres.

57
Chapitre 2 • Notions de complexité

**2.2 Complexité du tri par fusion


Considérons 2 tableaux T1 et T 2 comportant n1 et n2 éléments, respectivement. Les
éléments des deux tableaux sont déjà triés, suivant un ordre croissant par exemple.
L’objectif est de fusionner ces deux tableaux en un tableau T unique contenant les
n 5 n1 1 n2 éléments de T1 et T 2, T devant être lui aussi trié suivant le même ordre
croissant.
Considérons l’algorithme suivant effectuant la fusion de T1 et T 2 (par la suite,
nous noterons T 5 T1 { T 2 le résultat de cette opération) :
1. i1 d 1 ; i2 d 1 ; i d 1 ;
2. Tant que i1 < n1 et i2 < n2
3. si T1 1 i1 2 < T 2 1 i2 2 alors : T ( i ) d T1 ( i1 ) ; i1 d i1 1 1
4. sinon : T ( i ) d T 2 ( i2 ) ; i2 d i2 1 1
5. i d i 1 1
6. si i1 < n1 alors tant que i1 < n1 : T ( i ) d T1 ( i1 ) ; i1 d i11 1 ; i d i 1 1
7. sinon tant que i2 < n2 : T ( i ) d T 2 ( i2 ) ; i2 d i2 1 1 ; i d i 1 1
1) Appliquer cet algorithme aux tableaux suivants :
7 5 2 8 4 1 3 9 6
T1 T2
2) Après avoir montré que l’algorithme effectue correctement la fusion de deux
tableaux triés en un seul, montrer que la complexité dans le pire des cas de cet algo-
rithme est O(n). Quelles sont les complexités dans le meilleur des cas et dans le cas
moyen ?
Considérons maintenant un tableau T contenant n éléments. L’objectif est de trier
les éléments de T suivant un ordre croissant par exemple.
n n
Si n > 2, nous notons m 5 j k (l’arrondi par défaut de ).
2 2
Nous désignons par Tgauche la première moitié de T (c’est-à-dire le tableau consti-
tué des éléments T 1 1 2 , c, T 1 m 2 2 , et par Tdroite la seconde moitié de T (le tableau
constitué des éléments T 1 m 1 1 2 , c, T 1 n 2 ).
Considérons l’algorithme Tri(T) suivant :
1. Tri(T)
2. si n > 2 alors T d Tri 1 Tgauche 2 { Tri 1 Tdroite 2
3. sinon Tri 1 T 2 d T
3) Montrer que la complexité de l’algorithme est O 1 n log n 2 .

58
éléMenTs
de
la Théorie des
3
graPhes

3.1 éléMenTs de la Théorie des graPhes

3.1.1 Qu’est-ce qu’un graphe ?


Un des plus anciens problèmes combinatoires, est la détermination d’un itinéraire
à travers la ville de Königsberg (aujourd’hui Kaliningrad) en n’utilisant qu’une
fois et une seule chacun des sept ponts qui enjambaient les bras de la rivière ou
conduisaient à deux îles, dont Euler montra en 1735 l’impossibilité en utilisant un
argument simple, de parité, semble constituer le premier témoignage de l’emploi
des graphes :

B C

Figure 3.1

La preuve de l’impossiblité est donnée dans l’exercice 3.2.


Plus tard, J. Petersen, avec ses graphes réguliers (1891), André Sainte-Laguë,
ancien professeur du CNAM, avec la première thèse sur les réseaux (ou graphes),
en 1926, et surtout Dénes König, publiant sa Theorie der endlichen und unendli-
chen Graphen (1936), développèrent ce concept. C’est en 1958 que Claude Berge
it paraître sa Théorie des graphes et applications, considérablement ampliiée dans
Chapitre 3 • Éléments de la théorie des graphes

Graphes et hypergraphes (1971), d’où un renouvellement, un essor des recherches,


notamment en France, en Hongrie, aux États-Unis, en Union Soviétique (aujourd’hui
Russie) et au Japon.
La théorie des graphes est devenue l’un des instruments les plus eficaces pour
représenter (modéliser), puis résoudre de nombreux problèmes discrets que pose la
recherche opérationnelle. Claude Berge a reconnu que la R.O. contribue aux progrès
de la théorie des graphes, en suscitant de nouvelles recherches (voir, par exemple,
l’avant-propos de Graphes et hypergraphes).

3.1.2 Vocabulaire de la théorie des graphes ;


connexité, arbres
Considérons les « points » A, B, C, D et E et un certain nombre de « lèches » joi-
gnant entre eux plusieurs couples de ces points (igure 3.2). Désormais ces points
seront nommés sommets et ces lèches, arcs.

B
E
A
D
C

Figure 3.2

À chaque sommet de l’ensemble X 5 5 A, B, C, D, E 6 correspond par l’applica-


tion G 1 (nommée application successeurs), un sous-ensemble de X ; ainsi en suivant
les arcs (lèches), on voit que :

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.

Considérons maintenant le graphe de


la igure 3.3 comme non orienté. C’est
le graphe G 5 1 X, V 2 , où V est l’ensem-
ble des arêtes. On appelle chaîne une suite
d’arêtes, dont chacune a une extrémité
commune avec l’arête précédente (sauf la
première) et l’autre commune avec l’arête
suivante (sauf la dernière). Ainsi
[A, D, E, C] est une chaîne.
Figure 3.3

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.

Tout graphe peut être déini par sa matrice


d’adjacence M qui est booléenne. L’existence
d’un arc de X vers Y se traduit par la présence
d’un 1 à l’intersection de la ligne X et de la
colonne Y de la matrice M ; l’absence d’arc,
par la présence d’un 0. La matrice d’adjacence
relative au graphe de la igure 3.3 est donnée
ci-contre. En excluant les boucles : la somme
des termes de la ligne X est : d +x, de la colonne
Figure 3.4 Matrice booléenne associée Y : d –y.
À une matrice associée symétrique (voir le chap. 1 sur les relations) corres-
pond un graphe symétrique : si (x, y)PU alors (y, x)PU une matrice associée
antisymétrique, un graphe antisymétrique : si (x, y)PU alors (y, x) x U.
Un graphe est complet si, pour tout arc (x, y), on a :
[(x, y) x U] entraîne [(y, x)PU]

62
3.1 Éléments de la théorie des graphes

Le graphe complet symétrique de n sommet est noté Kn (ou clique de n sommets),


en honneur au mathématicien polonais Kuratowski.
Une autre manière de décrire un graphe est d’utiliser sa matrice d’incidence
sommets/arcs : chaque ligne de cette matrice est associée à un sommet, et chaque
colonne est associée à un arc du graphe.
Dans la colonne correspondant à un arc (i, j) autre qu’une boucle, igurent la
valeur 11 sur la ligne correspondant au sommet i, la valeur 21 sur la ligne corres-
pondant au sommet j et la valeur 0 sur toutes les autres lignes.
Dans une colonne correspondant à une boucle (i, i) igurent la valeur 11 sur la
ligne correspondant au sommet i et la valeur 0 sur toutes les autres lignes. La igure 3.5
donne cette matrice pour le graphe de notre exemple (les valeurs 0 ont été omises).

Figure 3.5 Matrice d'incidence

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

Figure 3.5 bis Listes de successeurs

1. Rappelons que l’ensemble des successeurs d’un sommet x se note : G 1 ( x ) , ou bien G ( x ) .

63
Chapitre 3 • Éléments de la théorie des graphes

3.1.3 Chemins de longueur k. Fermeture transitive


Considérons la matrice M du graphe de la igure 3.3. On peut se proposer de l’élever
au carré, au cube, etc. On obtient ainsi M 2, M 3, M 4, c où l’élément (i, j) de M k est
le nombre de chemins de longueur k allant du sommet i au sommet j (ce que l’on peut
prouver par récurrence sur k).
Rappelons que le produit d’une matrice A, de format p 3 q, par une matrice B, de
format q 3 r, est la matrice C 5 A # B de format p 3 r, telle que
cij 5 ai1 # b1j 1ai2 # b2j 1 c1 aiq # bqj.

Dans un graphe de n sommets, un plus long chemin élémentaire comporte, évidem-


ment, s’il existe, n – 1 arcs. Il passe alors une fois et une seule par tous les sommets du
graphe : on l’appelle chemin hamiltonien. Un chemin hamiltonien qui se referme sur
lui-même est un circuit hamiltonien. Dans le graphe de la igure 3.3 on n’a qu’un circuit
hamiltonien : (A, B, C, D, E, A), alors qu’on avait plusieurs chemins hamiltoniens.
On peut également calculer les « puissances » successives de M en utilisant comme
loi « multiplicative » le produit logique et, comme loi « additive » la somme logique dont
nous rappelons les tables ci-dessous. Ainsi, M [k] sera encore une matrice booléenne :

Dans ces conditions, la présence d’un 1 à l’intersection de la ligne x et de la colonne


y de M [k] signiie : « il existe au moins un chemin de longueur k entre x et y ». Dans
l’exemple choisi, on a les résultats suivants :

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

Si l’on fait la somme booléenne :


# # # # # #
M 1 M 324 1 M 334 1 M 344 et, plus généralement, M 1 M 324 1 c1 M 3k 2 14,
on trouve une matrice (qui, dans le cas particulier de l’exemple est entièrement for-
mée de 1) dans laquelle la présence d’un 1 à l’intersection de la ligne x et de la
colonne y signiie : « il existe dans le graphe au moins un chemin de longueur infé-
rieure ou égale à k 2 1 de x vers y ».
On appelle fermeture transitive d’un sommet x, d’un graphe G 5 1 X, G 2 ,
l’expression :
ˆ 1 x 2 5 5 x 6 x G 1 x 2 x G2 1 x 2 x฀c฀x Gn 2 1 1 x 2 ,
G
où, pour simpliier, on a noté G 1 1 x 2 5 G 1 x 2 et Gk 1 x 2 5 G 1 Gk 2 1 1 x 2 2 .
Gˆ 1 x 2 désigne l’ensemble des descendants de x, c’est-à-dire des sommets acces-
sibles depuis x par des chemins ( y compris x lui-même).
Il est facile de montrer que l’on obtient la fermeture transitive de l’ensemble X
#
des sommets du graphe en calculant la matrice ( I 1 M ) 3n 2 14 (car la longueur maxi-
male des chemins élémentaires de G est : n21).
ˆ 5 I 1# M 1# M 324 1# c1# M 3n 2 14 5 1 I 1# M 2 3n 2 14
M
où I est la matrice booléenne unité (qui ne comporte que des 1 dans la diagonale et
des 0 partout ailleurs).
En effet, en calcul booléen, la formule du binôme de Newton est plus simple :
# # # # #
1 A 1 B 2 3n 2 14 5 A3n 2 14 1 A3n 2 24 # B 1 A3n 2 34 # B324 1 c1 B3n 2 14.
#
(À cause de l’idempotence de la somme booléenne : 1 1 1 5 1, le triangle de
Pascal (des C pn) a tous ses éléments égaux à 1 en calcul booléen !)

Considérons, par exemple, le graphe de la


igure 3.6. On a d’abord# écrit M, puis en portant des
1 dans la diagonale, I 1 M.
# # #
Calculons 1 I 1 M 2 324, 1 I 1 M 2 334, puis 1 I 1 M 2 354.
Nous obtenons :
© Dunod – Toute reproduction non autorisée est un délit.

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

où à chaque itération, on calcule le carré de la matrice de l’itération précédente.


Ce schéma ne nécessite que 8 produits de matrices (au lieu de 238...) et dans le cas
général : E* [log2(n – 1)] produits de matrices, où E*[x] désigne la partie entière de
x par excès : ici n 2 1 5 239 ; puisque 27 , 239 , 28, on a : 7 , log2 239 , 8 et
E* 3 log2 239 4 5 8. La complexité de la méthode matricielle avec ce schéma amé-
lioré n’est plus que de O(n3 log2 n), qui est effectivement moindre que O(n4).
Nous allons maintenant donner l’algorithme de Roy-Warshall, de complexité
moindre : O(n3) qui, lui aussi, détermine la fermeture transitive d’un graphe (cet
algorithme a été aussi trouvé indépendamment par le Pr Louis Nolin).
1. A d M
2. pour i฀5฀ 1 à n faire
3. A(i, i) d 1
4. pour k฀5฀ 1 à n faire
5. pour j฀5฀ 1 à n faire
6. pour i฀5฀ 1 à n faire
#
7. A 1 i, j 2 d A 1 i, j 2 1 A 1 i, k 2 3 A 1 k, j 2
La igure 3.7 illustre sur l’exemple précédent le déroulement de cet algorithme ;
lors de chaque itération k on a encadré certains 1 : ils correspondent aux arcs ajou-
tés, lors de cette itération, au graphe courant. Les sommets sont considérés dans
l’ordre A, B, C, D, E, F et les relations de rélexivité (boucles) ne sont pas prises en
compte. Ci-dessous ces sommets sont notés a, b, c, d, e et f (pour éviter la confusion
entre la matrice A et le sommet A).

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.

Initialisation k = 1 (cf a) k = 2 (cf b) k = 3 (cf c)

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

k = 4 (cf d) k = 5 (cf e) k = 6 (cf f )

67
Chapitre 3 • Éléments de la théorie des graphes

(3)
(2) B C
(4)
4
A (4) D

E F
(3)
(3)

Figure 3.7 : Un exemple d’exécution de l’algorithme de Roy-Warshall

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.

3.1.4 Forte connexité


Cette notion, contrairement à celle de la connexité, fait appel à l’orientation du
graphe. Soit la relation binaire déinie sur l’ensemble des sommets X : « il existe
au moins un chemin de x à y et au moins un chemin de y à x » ; elle est rélexive
(de tout sommet x vers lui-même existe un chemin de longueur 0), symétrique,
(par déinition), et transitive : s’il existe un chemin de x à y et un chemin de y à z,
la mise bout à bout ou « concaténation » de ces deux chemins fournit un chemin
de x à z ; de même avec un chemin de y à x et un chemin de z à y.
C’est donc une relation d’équivalence. Les classes de cette relation d’équivalence
se nomment les composantes fortement connexes du graphe1.
Un graphe est fortement connexe s’il comporte une seule composante fortement
connexe. Si l’on ajoute l’arc (d, a) au graphe de la Figure 3.6 (ou 3.7), il devient
fortement connexe.
Considérons, à titre d’exemple, le graphe de la igure 3.8 pour lequel k X k 5 n 5 7.
Si l’on observe la matrice M ˆ 5 ( I 1# M ) 364, on constate qu’un nouvel arrangement
des colonnes et des lignes permet de faire apparaître des matrices carrées, unique-
ment formées de 1, s’appuyant sur la diagonale principale.

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

À chacune de ces matrices carrées correspond une composante fortement connexe


du graphe. c1 5 5 A, B, F 6 et c2 5 5 C, D, E, G 6 sont les ensembles de sommets des
deux composantes fortement connexes du graphe de la igure 3.8.

Remarques. 1) Lorsqu’un graphe comporte un circuit hamiltonien, il est


#
fortement connexe et la matrice 1 I 1 M 2 3n 2 14 ne contient que des 1. Mais le
#
fait que la matrice 1 I 1 M 2 3n 2 14 soit uniquement formée de 1 n’implique pas
l’existence d’un circuit hamiltonien : cela veut simplement dire que le graphe
est fortement connexe. Par exemple G 5 1 X, U 2 où :
X฀5฀({A, B, C, D} ; U฀5฀{(A, B) ; (B, C) ; (C, A) ; (C, D) ; (D, B)}
2) Tous les sommets appartenant à un même circuit, appartiennent nécessaire-
ment à la même composante fortement connexe.
Un algorithme très eficace, dû à Tarjan, permet de déterminer les composantes for-
tement connexes d’un graphe. Cet algorithme effectue un seul parcours en profondeur
du graphe (cf. 3.2.d) et est de complexité O(m), où m est le nombre d’arcs (supposé ici
supérieur ou égal à n). Le lecteur pourra consulter la référence [8] pour la description et la
preuve de cet algorithme. Nous conseillons au lecteur l’exercice corrigé en in de ce cha-
pitre donnant l’algorithme plus simple mais eficace, dû à Kosaraju et Sharis, également
en O(m), aboutissant au même résultat, mais en effectuant deux parcours en profondeur.

3.1.5 Utilité du concept de graphe en recherche


© Dunod – Toute reproduction non autorisée est un délit.

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

Mais un graphe n’est pas toujours un réseau représentant des cir-


culations quelconques.
Souvent, une lèche (arc) entre deux points implique seulement
une relation de succession : par exemple, le graphe (igure 3.10)
Figure 3.9 peut vouloir dire seulement que A précède B, qui, lui-même, pré-
cède C. Une propriété évidente, dans ce cas, est la transitivité. Si A
précède B et B précède C, alors A précède C ; mais on n’a pas besoin
de l’indiquer par une lèche supplémentaire entre A et C.
Figure 3.10 Si dans cette interprétation, on aboutit à une igure (igure 3.11)
comportant un circuit, le problème n’est pas cohérent, car on ne sau-
rait avoir à la fois : A précède C (par transitivité) et C précède A. Les
graphes des problèmes d’ordonnancement présentés plus loin ne sau-
raient comporter de circuit.
Figure 3.11
On dit qu’un graphe est valué si, à tout arc qui le constitue, cor-
respond une valeur numérique, qu’on écrit seulement, sur la igure, à
proximité de cet arc. Ces valeurs peuvent être des quantités transportées, des débits,
des coûts, des durées, etc.
Signalons que les graphes permettent de représenter aisément les « systèmes » pou-
vant se trouver dans des « états », les changements d’états étant des « transitions ». Tout
état est alors représenté par un sommet, toute transition par un arc. Nous rencontrerons
plus loin des exemples de systèmes états/transitions : il s’agira des chaînes de Markov,
puis des processus de Markov. Un autre exemple en est donné par les réseaux de Petri.

3.2 Parcours des graPhes


Nous présentons ici une méthode générale appelée parcours d’un graphe qui, appli-
quée à un graphe orienté ou non orienté, permet la conception de toute une famille
d’algorithmes particulièrement eficaces. Ces algorithmes, appliqués à un graphe
donné, en déterminent des propriétés spéciiques (par exemple si le graphe est connexe,
ou encore s’il est fortement connexe) ou bien calculent des quantités caractéristiques
de ce graphe (nombre de composantes connexes ; longueurs de chemins ; etc.). Le
lecteur pourra constater tout l’intérêt de cette méthode au travers des exemples
classiques présentés dans ce sous-chapitre.
Le principe de la méthode est de parcourir un graphe, c’est-à-dire l’ensemble de
ses sommets et de ses arcs (ou arêtes). Le parcours du graphe doit se faire en respec-
tant quelques règles simples assurant, d’une part, que tout sommet et toute arête (ou
arc) ont bien été visités et, d’autre part, une complexité minimale de la procédure en
évitant toute redondance.
Informellement, la procédure de parcours d’un graphe peut s’énoncer de la ma-
nière qui suit : on choisit un sommet initial que l’on commence à visiter, la visite
d’un sommet étant terminée lorsque l’on est allé visiter tous ses successeurs si le
graphe est orienté (ou tous les sommets qui lui sont adjacents, si le graphe est non
orienté). Ensuite, à chaque étape, on choisit un sommet en cours de visite et on

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฀ 1฀m).
En R.O. on a souvent affaire à des graphes denses : m W n ; alors celle-ci est O(m).

3.2.1 Parcours d’un graphe non orienté


© Dunod – Toute reproduction non autorisée est un délit.

Dans ce paragraphe, nous donnons un algorithme générique effectuant le parcours


d’un graphe non orienté. Nous allons voir ensuite, par l’intermédiaire d’un exem-
ple, comment un tel parcours permet de déterminer eficacement les composantes
connexes d’un graphe. L’algorithme est le suivant :
1. Initialement tous les sommets sont non marqués ;
2. tant qu’il existe s un sommet non marqué, ouvrir s ;
3. tant que cela est possible exécuter l’une des instructions 4 ou 5 ;
4. ouvrir un sommet y non marqué s’il est adjacent à un sommet x ouvert ;
5. fermer un sommet x si tous ses sommets adjacents sont ouverts ou fermés.

71
Chapitre 3 • Éléments de la théorie des graphes

Les igures 3.13 à 3.17 illustrent un déroulement possible de l’algorithme pour le


graphe représenté dans la igure 3.12 ; remarquons que ce graphe n’est pas connexe
et comporte p฀ 5฀ 3 composantes connexes. Dans ces igures, les sommets grisés sont
les sommets ouverts et les sommets cerclés d’un trait épais et non grisés sont les
sommets fermés. Tout arc (x, y) représenté par une lèche épaisse indique le sommet
x à partir duquel s’effectue l’ouverture du sommet y.

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

Pour le parcours effectué dans l’exemple fourni précédemment, la forêt obtenue


est représentée par l’ensemble des arcs épais igurant au bas de la igure 3.17.
L’ordre de prévisite, c’est-à-dire l’ordre dans lequel les sommets du graphe sont
ouverts, correspond à la liste :
PRÉVISITE฀5฀ (A, B, I, E, H, L, F, C, J, K, D, G, M, N, O)
L’ordre de postvisite, c’est-à-dire l’ordre dans lequel les sommets du graphe sont
fermés, correspond à la liste :
POSTVISITE฀5฀(E, I, H, A, B, F, L, J, C, K, G, D, N, M, O)
Suite de la première passe

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.

fin de la seconde passe


Début de la troisième passe

ici on a ouvert
N puis O, puis
fermé O, N, et M.

Fin de la troisième passe


Figure 3.17 En traits gras : on a obtenu, en fin du parcours, une forêt couvrante.

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.

Connexité d’un graphe


Le problème de la connexité consiste à déterminer si le graphe donné est connexe et
sinon à déterminer p, le nombre de composantes connexes du graphe. Si le graphe n’est
pas connexe (c’est-à-dire, p > 2), il est demandé de déterminer, pour chaque sommet
© Dunod – Toute reproduction non autorisée est un délit.

du graphe, la composante connexe à laquelle il appartient. Ce problème peut se formuler


pour les graphes non orientés ou orientés : dans ce dernier cas, un arc est assimilé à une
arête et deux arcs symétriques (x, y) et (y, x) sont fusionnés en une seule arête [x, y].
Nous montrons qu’une simple adaptation de l’algorithme de parcours donné plus
haut résout ce problème. On note c(x) le numéro de la composante connexe à la-
quelle appartient le sommet x.
Considérons l’algorithme suivant (le lecteur constatera qu’il est similaire à celui
présenté plus haut) :
1. initialement tous les sommets sont non marqués ; p d 0 ;
2. tant qu’il existe s un sommet non marqué, ouvrir s ; p d p 1 1 ;

77
Chapitre 3 • Éléments de la théorie des graphes

3. tant que cela est possible exécuter l’une des instructions 4 ou 5 ;


4. ouvrir un sommet y non marqué s’il est adjacent à un sommet x ouvert ;
5. fermer un sommet x si tous ses sommets adjacents sont ouverts ou fermés ;
c(x) d p.
La igure 3.18 fournit le résultat de l’application de cet algorithme au graphe
donné par la igure 3.12. La valeur inscrite à côté de chaque sommet x, soit c(x),
indique le numéro de la composante connexe à laquelle appartient le sommet x.

Figure 3.18 La forêt couvrante importe p 5 3 arborescences : G a 3 composantes connexes.

La justiication de la validité de cet algorithme se fait de la manière suivante :


soit x le sommet le premier ouvert d’une composante connexe (donc dans l’ordre
de prévisite). Dans la forêt couvrante (c’est-à-dire à l’ensemble des arborescences)
relative au parcours effectué, x n’a pas de prédécesseur (sinon x ne pourrait pas être
le premier sommet prévisité de sa composante connexe), x est donc une racine. Si
un sommet y appartient à la même composante que x, il existe une chaîne du graphe
reliant x et y. Il est aisé de vériier que, dans ce cas, il y a un chemin de x à y dans la
forêt couvrante. Réciproquement, si un sommet y n’appartient pas à la composante
connexe de x, il n’existe pas de chaîne reliant x et y dans le graphe et, a fortiori, il n’y
a pas de chemin de x à y dans la forêt couvrante relative au parcours effectué. Donc
chaque arborescence de la forêt correspond à une composante connexe du graphe et
réciproquement. Il est aisé de vériier que les sommets ouverts lors des exécutions de
l’instruction 2 sont les racines de la forêt couvrante : A, C et M dans la igure 3.18.
Ceci termine notre démonstration.
Nous pouvons facilement remarquer que la complexité de cet algorithme est iden-
tique à celle du parcours, soit O(m฀1฀ n).

3.2.2 Parcours d’un graphe orienté


Nous présentons dans ce paragraphe un algorithme générique effectuant le parcours
d’un graphe orienté. La similitude avec l’algorithme présenté plus haut pour les gra-
phes non orientés étant importante, le lecteur est invité à se reporter au paragraphe pré-
cédent pour tout ce qui concerne la terminologie utilisée. L’algorithme est le suivant.

78
3.2 Parcours des graphes

1. Initialement tous les sommets sont non marqués ;


2. tant qu’il existe s un sommet non marqué, ouvrir s ;
3. tant que cela est possible, exécuter l’une des instructions 4 ou 5 ;
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.
Les igures 3.20 et 3.21 illustrent un déroulement possible de l’algorithme pour le
le graphe représenté sur la igure 3.19.

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ÉVISITE฀5฀(A, B, G, F, D, C, E)
et l’ordre de postvisite correspond à la liste
POSTVISITE฀5฀ (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

Début de la première passe


1 2

on ouvre A puis on ouvre B

3 4

puis on ouvre G puis on ouvre F

5 6

puis on ferme A puis on ferme B


et on ouvre D
Figure 3.20

80
3.2 Parcours des graphes

puis on ferme G puis on ouvre C


7 8

Fin de la première passe

début de la seconde passe


9 10

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 s฀5฀A, 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

chemin de s à x existe dans l’arborescence relative au parcours seulement si ce même


chemin existe dans le graphe auquel l’algorithme est appliqué ; d’autre part, s étant le
premier sommet ouvert, il est aisé de vériier que quelle que soit la manière dont le
parcours est réalisé, tout sommet descendant de s dans le graphe parcouru est néces-
sairement un sommet de l’arborescence ayant le sommet s pour racine.
Dans ce chapitre, nous avons donné différents algorithmes permettant de cal-
culer la fermeture transitive d’un graphe. L’algorithme le plus eficace que nous
avions présenté jusqu’alors était celui dû à Roy et Warshall de complexité O(n3).
L’algorithme que nous venons de présenter nous permet aussi d’obtenir la fermeture
transitive d’un graphe. Il sufit pour cela d’appliquer n fois cet algorithme à partir
de chacun des n sommets du graphe. Comme nous le verrons juste en dessous, il est
possible d’effectuer le parcours d’un graphe avec une complexité O(n฀ 1฀
m). Lorsque
le graphe considéré comporte de nombreux arcs, c’est-à-dire m฀5฀O(n2), la com-
plexité de ces parcours est O(n2), donc en effectuant n parcours (un depuis chacun
des sommets) nous obtenons la fermeture transitive d’un graphe avec la complexité
O(n3), ce qui est identique à la complexité de l’algorithme de Roy-Warshall. En
revanche, si le graphe considéré comporte peu d’arcs, c’est-à-dire m฀5฀O(n), ce qui
est le cas des graphes planaires fréquemment rencontrés en recherche opérationnelle,
la complexité d’un parcours est alors O(m)฀5฀O(n). En effectuant n parcours, nous
obtenons la fermeture transitive d’un graphe avec une complexité O(n2). Pour ce
type de graphes, l’algorithme effectuant n parcours est alors plus eficace que ceux
présentés au début de ce chapitre.
Tarjan a donné un algorithme permettant de résoudre le problème de l’accessibi-
lité, de complexité O ( m 1 n ) , utilisant un seul parcours du graphe.

3.2.3 Parcours en largeur


Nous déinissons dans cette section une stratégie particulière de parcours de graphe
appelée parcours en largeur. Ce type de parcours est déini dans ce paragraphe pour
les graphes orientés, l’adaptation immédiate des algorithmes, proposés ici, aux gra-
phes non orientés est laissée au lecteur. Nous verrons comment en utilisant une ile
comme structure de données, la complexité d’un algorithme de parcours en largeur
est O 1 n 1 m 2 (nous rappelons plus bas en quoi consiste une ile). Nous illustrerons
ensuite l’eficacité des parcours en largeur en montrant comment déterminer les plus
courts chemins d’un graphe depuis un sommet s donné.
La stratégie pour effectuer un parcours en largeur obéit aux deux règles sui-
vantes : tous les successeurs non marqués du sommet en cours de visite sont
ouverts successivement et leurs numéros d’ordre de prévisite seront donc consécu-
tifs ; le sommet visité à toute étape est, parmi les sommets ouverts, celui qui a été
ouvert le premier.
Comme nous l’avons montré un peu plus haut, si les opérations permettant de mettre
en œuvre une stratégie particulière de parcours peuvent s’effectuer en temps constant,
la complexité globale des opérations nécessaires à un parcours est O 1 n 1 m 2 . Nous
allons voir comment, en utilisant une ile, il est possible de réaliser cet objectif.

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

L’algorithme générique effectuant le parcours en largeur d’un graphe orienté


s’énonce de la manière suivante :
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 dans la ile ;
3. tant que la ile n’est pas vide faire ;
4. supprimer le sommet x en tête de la ile ;
5. ouvrir et insérer successivement en queue la ile tous les sommets y non mar-
qués, successeurs de x ;
6. fermer le sommet x.
La igure 3.22 en page suivante illustre le parcours en largeur d’un graphe orienté
commençant par le sommet B. Pour chacune des étapes de l’algorithme, le contenu
de la ile est représenté sous le graphe correspondant (la tête de ile étant à gauche).
Plus courts chemins
Nous montrons comment déterminer les plus courts chemins depuis le sommet s et
les autres sommets d’un graphe. Nous rappelons que la longueur d’un chemin est
le nombre d’arcs de ce chemin ; il convient de la distinguer de la valeur d’un che-
min pour un graphe dont les arcs sont valués. Considérons l’algorithme suivant (le
lecteur pourra constater sa similitude avec l’algorithme présenté plus haut), où d(x)
représente la longueur du chemin le plus court de s à x.
1. Initialement tous les sommets sont non marqués ;
2. ouvrir s et insérer s dans la ile ; d(s) d 0 ;
3. tant que la ile n’est pas vide faire ;
© Dunod – Toute reproduction non autorisée est un délit.

4. supprimer le sommet x en tête de la ile ;


5. ouvrir et insérer successivement dans la ile tous les sommets y non marqués
successeurs de x ;
d(y) d d(x)฀1฀ 1;
6. fermer le sommet x.
La igure 3.23 (deux pages plus bas) illustre le déroulement de l’algorithme à partir du
sommet s฀ 5฀ A. Les valeurs inscrites à côté des sommets sont les longueurs des plus courts
chemins issus du sommet A : ainsi les plus courts chemins de A à E comportent 3 arcs.
La justiication de la validité de l’algorithme se fait de la manière suivante. Nous
allons montrer que pour tout sommet x du graphe, le chemin de s à x dans l’arborescence

83
Chapitre 3 • Éléments de la théorie des graphes

ExEmPlE DE Parcours En largEur


Début de la première passe : le sommet initial est B.

on ouvre B on ferme B, on ouvre F puis E

on ferme F, on ouvre C on ferme C


Fin de la première passe :

on ouvre G on ferme G;
file vide
Début de la seconde passe

on ouvre A on ferme A, on ouvre D


Fin de la seconde passe : on ferme D

file vide : FIN


Figure 3.22
84
3.2 Parcours des graphes

Parcours En largEur : Plus courts chEmins DEPuis a


Début de la première passe : le sommet initial est A.

Fin de la première passe


© Dunod – Toute reproduction non autorisée est un délit.

file vide : FIN


N B : ici, le parcours comprend une seule passe.
Figure 3.23

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

Fin de la première passe

on ferme E on ferme A

pile vide :
Fin de la 1ère passe.

Figure 3.25

88
3.2 Parcours des graphes

Début de la seconde passe

on ouvre H on ouvre G

on ouvre F on ferme F

Fin de la seconde passe


© Dunod – Toute reproduction non autorisée est un délit.

on ferme G
puis H

:
FIN
Figure 3.26

89
Chapitre 3 • Éléments de la théorie des graphes

Nous allons donner quelques propriétés caractéristiques des parcours en pro­


fondeur (nommés aussi “Parcours en Profondeur D’Abord”, notés “P.P.D.A”.).
• Première propriété : lorsqu’un sommet est ouvert il est placé dans la pile et lorsqu’il
est fermé il est supprimé de la pile. L’ordre de prévisite est donc celui dans lequel
les sommets sont insérés dans la pile et l’ordre de postvisite, celui dans lequel, ils en
sont extraits. Il s’en suit qu’à chaque étape, les sommets ouverts sont les sommets
présents dans la pile.
• Deuxième propriété : à chaque étape où la pile est vide, le parcours d’une compo-
sante connexe du graphe est terminé. Ainsi juste avant qu’un sommet correspondant
à la racine d’une arborescence soit ouvert, la pile est vide, et lorsqu’il vient d’être
fermé, la pile est vide à nouveau. La racine d’une arborescence est donc toujours au
fond de la pile.
• Troisième propriété (utilisée pour la conception de nombreux algorithmes) : à cha-
que étape, les sommets présents dans la pile, considérés dans le même ordre que dans
celle-ci, forment un chemin de l’arborescence relative au parcours. Cette propriété
est trivialement vraie lorsque, seule, la racine est dans la pile. Supposons-la satisfaite
lorsque h – 1 sommets sont dans la pile. Soit alors x le sommet au sommet de la pile.
Lorsqu’un sommet y est inséré (h sommets sont alors dans la pile) un arc (x, y) est
ajouté à l’arborescence et, puisque par hypothèse, il existe un chemin de la racine
au sommet x, dans l’arborescence il existe aussi un chemin de la racine au sommet y
ayant (x, y) comme dernier arc.
À l’issue du parcours en profondeur d’un graphe non orienté, ses arêtes sont de
deux types : une arête de liaison est une arête [x, y] telle que (x, y) est un arc de(s)
arborescence(s) relative(s) au parcours ; les autres arêtes du graphe sont appelées
arêtes de retour. Ainsi pour le parcours effectué dans notre exemple, [C, B] est une
arête de liaison et [C, A] est une arête de retour.
Nous montrons maintenant une propriété caractéristique des arêtes de retour.
Dans un parcours en profondeur, pour toute arête de retour [x, y] avec y ayant un
rang supérieur à celui de x dans l’ordre de prévisite, le sommet x est sur le chemin
unique allant, dans l’arborescence, de la racine à y. La preuve est la suivante : x a été
ouvert avant y et donc inséré dans la pile avant y ; si x n’est pas sur le chemin de la
racine à y, d’après la propriété précèdente, au moment où y est empilé, x n’est plus
dans la pile ; x est donc fermé, mais cela est impossible car l’arête [x, y] appartenant
au graphe, x ne peut pas être fermé avant que y soit ouvert.
Remarquons que toute arête de retour [x, y] ferme, avec le chemin de x à y de
l’arborescence, un cycle. De même pour le parcours d’un graphe orienté : tout arc
de retour (y, x) ferme, avec le chemin de x à y de l’arborescence, un circuit. ainsi on
peut déterminer, par un simple parcours en profondeur, si un graphe comporte
des circuits ou non.
De nombreux algorithmes, comme celui présenté ci-après, utilisent ces différentes
propriétés.

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

Nous laissons le soin au lecteur de démontrer, à titre d’exercice, la propriété :


un sommet x d’un graphe est un sommet d’articulation si et seulement si il existe
deux sommets u et v différents de x, tels que toute chaîne reliant u à v passe par
x. Ainsi dans notre exemple, toute chaîne de I à B passe par x฀5฀A (et aussi par
xr 5 E) : A et E, nous l’avons déjà vu, sont des sommets d’articulation. Ces pro-
priétés sont utilisées plus loin lors de la justiication de la validité de l’algorithme
que nous proposons.
Nous donnons ci-après un algorithme déterminant les sommets d’articulation
d’un graphe supposé connexe. Cet algorithme effectue un parcours en profondeur à
partir d’un sommet initial s (choisi arbitrairement). L’ensemble d’arcs A, déterminé
au cours de l’algorithme, correspond en in d’application de l’algorithme aux arcs de
l’arborescence relative au parcours effectué. Pour chaque sommet x du graphe, deux
valeurs sont calculées : prévisite(x) est le rang de x dans l’ordre de prévisite et hau-
teur(x) (qui est déinie plus bas dans l’algorithme) ; nous verrons plus loin comment
© Dunod – Toute reproduction non autorisée est un délit.

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évisite฀1฀ 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évisite฀1฀ 1;
8. hauteur(y) d prévisite(y) ;

91
Chapitre 3 • Éléments de la théorie des graphes

9. sinon fermer le sommet x et supprimer x de la pile ;


10. pour tout sommet z successeur de x tel que 1 z, x 2 x A faire ;
11. hauteur(x) d min (hauteur(x), hauteur(z)) ;
12. si s a, au moins, deux successeurs dans A alors s est un sommet d’articulation ;
13. pour x 2 s, s’il existe y successeur de x dans A tel que hauteur(y) > prévisite(x)
alors x est un sommet d’articulation
Les igures 3.28 et 3.29 illustrent l’application de l’algorithme à partir du som-
met initial A. Les valeurs prévisite (x) et hauteur (x) sont inscrites respectivement
à gauche et à droite dans le rectangle situé à côté de chaque sommet x. Le choix
du sommet initial ainsi que certaines phases de l’algorithme étant arbitraires, nous
allons effectuer une autre exécution de l’algorithme sur le même graphe. La igure
3.30 illustre le résultat d’une autre application de l’algorithme à partir, cette fois-ci,
du sommet initial B.

on ouvre A. on ouvre B.

on ouvre C. ici (z, x) = (C, A)


on ferme C.

on ferme B. on ouvre E.

Figure 3.28

92
3.2 Parcours des graphes

on ouvre I. on ouvre D.

ici (z, x) = (D, E) ici (z, x) = (D, I)


on ferme D. on ferme I

on ferme E. on ferme A :
FIN

Figure 3.29
© Dunod – Toute reproduction non autorisée est un délit.

En in d’application, la racine A de l’arborescence a deux successeurs : A est


un sommet d’articulation. I, successeur de E dans l’arborescence, a pour hauteur
h 1 I 2 5 4 ; E a pour numéro d’ordre de prévisite : prévisite 1 E 2 5 4 ;
puisque h(I) > prévisite (E), E est un sommet d’articulation.
Voici brièvement une autre application, mais avec B comme sommet initial :
En in d’application (ig. 3.30), la racine B de l’arborescence a un seul successeur :
B n’est pas un sommet d’articulation ; hauteur 1 E 2 5 4 > prévisite (A)฀5฀3, donc A
est un sommet d’articulation ; puis h 1 I 2 5 4 > prévisite 1 E 2 5 4 : E en est un aussi.

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.

1. le lecteur pourra sauter cette preuve, en première lecture.

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)฀5฀4. 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)฀5฀4 > 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.

NUMEROTATION “TOPOLOGIQUE” DES SOMMETS :


Si un graphe ne comporte pas de circuit, on peut numéroter ses sommets de manière
« topologique », c’est-à-dire que pour tout arc (xi, xj), on ait : i < j.
On a vu plus haut que par un parcours en profondeur on peut déterminer si un
graphe comporte des circuits ou non.
Pour un graphe sans circuit, on peut trouver une numérotation topologique en
associant à tout sommet xk le numéro :
( n 1 1 ) 2 ( numéro de fermeture de xk ) 5 N ( x k )
Exemple : en gras, on a iguré l’arborescence d’un parcours en profondeur.

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.

pour H,..., 10 pour A.


10 7C E I
6 1 Une numérotation
H topologique est alors :
2
D´ F
3 Figure 3.31
4

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.

**3.2 Problème des 7 ponts de Königsberg (CF. 3.1.1.)


On peut associer le diagramme ci-dessous, à ce problème :
A

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 ?

*3.3 Degrés des sommets d’un graphe non orienté


1. Montrer que la somme des degrés de tous les sommets de G est un
nombre pair
2. Montrer qu’il n’existe pas de graphe ayant un seul sommet de degré impair

96
Exercices

**3.4 Connexité d’un graphe


Considérons le graphe ayant la matrice A B C D E F G H I
d’adjacence symétrique suivante : A 0 1 0 0 0 1 0 0 1
1. Utiliser un parcours de B 1 0 0 0 0 1 1 0 1
ce graphe pour déterminer
son nombre de compo- C 0 0 1 0 0 0 0 1 0
santes connexes. D 0 0 0 0 1 0 1 0 0
2. Déterminer les sommets E 0 0 0 1 1 0 1 0 0
d’articulation de ce graphe
à l’aide d’un parcours en F 1 1 0 0 0 1 0 0 0
profondeur. G 0 1 0 1 1 0 0 0 0
H 0 0 1 0 0 0 0 0 0
I 1 1 0 0 0 0 0 0 1

**3.5 Reconnaissance d’un graphe biparti


Nous rappellons qu’un graphe est biparti, s’il est possible de partitionner l’ensemble de
ses sommets en deux sous-ensembles X et Y tels que chaque arête a du graphe ait une
extrémité x H X et l’autre extrémité y H Y. Autrement dit : il n y a pas d’arête entre deux
sommets de X (ou de Y ).
1. Montrer qu’un graphe est biparti si et seulement si il n’admet pas de
cycle de longueur impaire.
2. Montrer qu’un parcours d’un graphe permet de déterminer si celui-ci
est ou non biparti.

*3.6 Détection de circuits par un parcours en profondeur


Lors d’un parcours d’un graphe orienté, un arc arrière est un arc (y, x) du graphe tel
qu’il existe un chemin du sommet x au sommet y dans une des arborescences de la
forêt relative au parcours effectué.
1. Montrer qu’un graphe contient un circuit si et seulement il existe un arc
© Dunod – Toute reproduction non autorisée est un délit.

arrière dans tout parcours en profondeur de ce graphe.


2. En déduire un algorithme de complexité O(max(n, m)) qui permet de déter-
miner si un graphe est sans circuit.
3. Pour le graphe de la Figure 3.8, déterminer ses circuits : les arcs notés d’un
trait double donnent l’arbo-
B G C rescence d’un parcours en
profondeur, de sommet ini-
tial A.
A

F E D

97
Chapitre 3 • Éléments de la théorie des graphes

**3.7 Détermination des composantes fortement connexes d’un


graphe : Algorithme de Kosaraju et Sharis
Données : un graphe g฀5฀ (X, U) où x฀5฀ {x1, x2,…, xn}
1. Effectuer un parcours en profondeur sur le graphe g, à partir du sommet
x1 : on obtient ainsi une arborescence de racine x1 ; si des sommets n’ont
pas été visités (ils n’appartiennent donc pas à cette arborescence), recom-
mencer à partir du sommet de plus faible indice non encore visité.
Et ainsi de suite jusqu’à ce que tous les sommets aient été visités. Le
« rang » π (xi) du sommet xi est par déinition, le numéro d’ordre de in
d’exploration de xi (c-à-d de « postvisite », ou « fermeture »).
2. Construire le graphe « miroir » gt฀5฀(X, Ut) obtenu à partir de g en
inversant tout arc de U ; g et gt ont le même ensemble de sommets ;
3. Effectuer un parcours en profondeur sur gt, à partir du sommet de plus
fort rang ; noter l’arborescence associée ; si tous les sommets n’ont pas
été visités, recommencer à partir du sommet de plus fort rang non encore
visité. Et ainsi de suite jusqu’à ce que tous les sommets aient été visités.
On peut démontrer qu’à chacune des arborescences obtenues dans le par-
cours en profondeur de gt correspond une composante fortement connexe
de g et une seule.
➤ APPLI CATION : Appli quer l’algorithme de KOSARAJU et SHARIS au
graphe g ci-dessous :
(par commodité, on a noté A pour x1, B pour x2, etc., H pour x8).

E B A

F H

G D C

N.B : dans le parcours en profondeur de g, si vous avez le choix entre plusieurs


successeurs ouvrables (non marqués), ouvrir celui d’indice le plus petit

98
aPPlicaTions
des graPhes
4
à la recherche
oPéraTionnelle

4.1 noTions de PrograMMaTion dynaMique (Prd)


La programmation dynamique, implicitement contenue dans l’œuvre de P. de Fermat
(1601-1665), auteur du principe fondamental de l’optique, a été utilisée en recherche
opérationnelle en France par P. Massé (1944), puis aux États-Unis R. Bellman (1952).
Fondée sur le principe d’optimalité, sur lequel nous reviendrons, elle s’est beaucoup
développée, au cours de ces dernières années.
Sous des conditions, peu restrictives dans la pratique, quant à la forme du cri-
tère d’optimisation et à la manière dont le graphe est valué1, toute partie (sous--
chemin) d’un chemin optimal est, elle-même, optimale. En effet, s’il n’en était pas
ainsi, on pourrait lui substituer une partie « meilleure », ce qui améliorerait la valeur
de l’ensemble du chemin, préalablement supposé optimal, d’où une contradiction.
Cette idée fondamentale (qui est un théorème lorsque les conditions ci-dessus sont
remplies) a été généralisée sous forme d’un principe : toute sous-politique d’une
politique optimale est elle-même, optimale, qui est utile mais bien trop général pour
être accepté sans démonstration dans chaque cas d’espèce. Mais nos applications de
PRD se ramènent toutes à la détermination des chemins optimaux dans les graphes.
Le cas discret est particulièrement simple et nous en donnerons un exemple avant
de formuler les équations générales de récurrence qui en facilitent l’application.

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

Notons 1 x 0, x 1, x 2, x 3, x 4 2 1 où x 0 5 A et x 4 5 K 2 une politique de construction.


Son coût est F 1 x 0, x 1, x 2, x 3, x 4 2 5 v 1 x 0, x 1 2 1 v 1 x 1, x 2 2 1 v 1 x 2, x 3 2 1 v 1 x 3, x 4 2 ,
avec :
x0 5 5 A 6 , x1 P 5 B, C, D 6 , x2 P 5 E, D, G, H 6 , x3 P 5 I, J 6 , x4 5 5 K 6 .
Les vraies inconnues du problème sont donc x 1, x 2 et x 3. La meilleure politique est
alors celle qui minimise ce coût F.

Figure 4.1

On peut, par exemple, déterminer, pour la variable attachée à chaque phase de la


progression sur le terrain, le chemin optimal depuis l’origine ; cela revient à déter-
miner d’abord, pour les deux premières phases, le sous-chemin optimal entre A et
chacun des sommets de l’ensemble X2 5 5 E, F, G, H 6 ; puis, en ne retenant que
les sous-chemins optimaux de l’étape précédente, à calculer les sous-chemins opti-
maux entre A et chacun des sommets de l’ensemble X3 5 5 I, J 6 , etc. D’où les quatre
tableaux ci-dessous.

x2 chemins possibles chemin opt. coût


x1 chemin opt coût E ABE, ACE, ADE ACE 10
B AB 8 F ACF ACF 9
C AC 5 G ABG, ACG, ADG ADG 9
D AD 7 H ACH, ADH ACH 9

x3 chemins chemin opt. coût x4 5 K chemins chemin opt. coût


possibles possibles
I ACEI, ACFI, ADGI 12 ADGIK, ADGIK 17
ADGI ADGJK
J ACEJ, ACFJ, ADGJ 11
ADGJ, ACHJ

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)

4.1.1 Équations de récurrence


Appelons f k* 1 x k 2 la valeur optimale des chemins entre A et chacun des sommets xk de
l’ensemble Xk ; soit vk 1 1 1 xk, xk 1 1 2 la valeur de l’arc (xk, xk 1 1 2 pour tout xk 1 1 PXk 1 1.
On a la formule d’optimisation séquentielle (récurrence) :
fk*1 1 ( xk 1 1 ) 5 OPT 3 fk* ( xk ) 1 vk 1 1 ( xk, xk 1 1 ) 4 .
xkPXk
Revenant à l’exemple, pour la première phase, aucun calcul n’est nécessaire pour
obtenir f 1* 1 x 1 2 . En effet :
f 1* 1 B 2 5 8 ; f 1* 1 c 2 5 5 ; f 1* 1 D 2 5 7.
Cherchons maintenant, pour chaque x2 P 5 E, F, G, H 6 , les valeurs optimales
f 2* 1 x 2 2 . Il vient :
f 2* 1 E 2 5 OPT 3 f 1* 1 x 1 2 1 v 2 1 x 1, E 2 4
x 1PX 1

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.

quatre, 7 sous-chemins de trois arcs, dont on ne conserve que deux, 2 sous-chemins


de quatre arcs, dont on ne conserve qu’un. On n’a fait que 18 additions de deux
nombres, au lieu de 192.
Dans ce type de problème, dit faiblement ordonné, le calcul aurait aussi bien
pu commencer à partir du point K en remontant vers A, ou encore être relatif à des
groupes de phases contiguës, pris séparément.
La présente méthode s’étend au cas d’autres fonctions que les fonctions additives ; il
n’est pas nécessaire que les ensembles dans lesquels s’opèrent les choix soient discrets,
ils peuvent être continus, pourvu qu’ils soient bornés. En programmation dynamique, on
n’a pas toujours affaire à un problème non ordonné ; souvent, la décomposition et l’opti-

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

Ri 5 1 1 a Rj ; si i n’appartient pas à un stable de Gi, ces successeurs j peuvent


stable de Gi, alors aucun de ses successeurs j ne peut appartenir à ce stable ; donc

ou non appartenir à ce stable, donc Ri 5 a a 1 Gj 2 . La formule récursive suivante,


jPG1 i 2

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).

• sinon : Ri 5 1 1 a Rj ; Ri 5 a a ( Gj ) ; a( Gi ) 5 max ( Ri, Ri ) .


jPG(i) jPG(i)

La igure 4.2 illustre l’application de la formule précédente. Les premières


valeurs sont calculées à partir des feuilles de l’arbre puis remontées de proche en
proche jusqu’à la racine. Pour tout sommet i sont notées les deux valeurs 1 Ri, Ri 2 , on
en déduit aisément a 1 Gi 2 5 max 1 Ri, Ri 2 . Les sommets cerclés sont les 10 sommets
formant un ensemble stable de cardinal maximal. Notons que l’ensemble stable opti-
mal obtenu n’est pas unique, la igure 4.3 montre une deuxième solution équivalente.
L’optimum n’est pas unique ici ; mais la valeur a(G) est toujours unique.
© Dunod – Toute reproduction non autorisée est un délit.

Figure 4.2 Calcul du nombre de stabilité d’un arbre A : ici a(G) = 10 = RA

S * 5 5 A, F, H, I, K, L, N, O, P, Q 6 : on a cerclé en gras ses sommets


L’ensemble stable représenté dans la igure 4.2 a été obtenu de la manière sui-
vante : puisque RA 5 RA 5 10, le sommet A peut soit appartenir soit ne pas appar-
tenir à un ensemble stable de 10 éléments : choisissons la solution qui contient A
(remarquons que celle représentée par la igure 4.3 ne contient pas A). Les som-
mets B, C, D, successeurs de A dans l’arborescence n’appartiennent donc pas au
stable ; pour le sous-graphe correspondant à l’arborescence de racine B, un ensemble
stable maximal ne contenant pas B est de taille RB 5 3 et consiste en la réunion

103
Chapitre 4 • Applications des graphes à la recherche opérationnelle

des ensembles stables maximaux correspondant aux sous-arborescences issues de


B (de racines Ε et F). La même procédure que celle utilisée pour le sommet A peut
alors s’effectuer pour les sous-graphes correspondant aux arborescences de racines
Ε et F ; les arborescences de racines C puis D sont traitées de manière analogue à
l’arborescence de racine B. Il est laissé, pour exercice au lecteur, le soin d’adapter
l’algorithme présenté plus haut ain qu’il fournisse un ensemble stable maximal au
sens de l’inclusion.

_
Figure 4.3 Un deuxième ensemble stable de cardinalité maximale : a(G) = 10 = RA

5 B, H, I, K, L, M, N, O, P, Q 6 : on a cerclé en gras ses sommets.


Le lecteur pourra aisément vériier que la complexité de l’algorithme est O(n).
L’utilisation de la programmation dynamique pour ce problème se montre donc
particulièrement eficace. Le lecteur est invité à se demander pourquoi ce même
schéma de programmation dynamique ne convient pas lorsque le graphe G n’est
plus un arbre…

4.2 aPPlicaTions aux cheMins oPTiMaux

4.2.1 Problèmes de chemins de valeur optimale


Les problèmes de chemins de valeur minimale (ou, respectivement, maximale) se
rencontrent très fréquemment en recherche opérationnelle. Nous considérons ici des
graphes inis, connexes dont les arcs sont valués par des nombres réels.
On doit alors vériier l’absence de circuit de valeur négative (resp. positive),
appelé « circuit absorbant ». En effet, s’il existait un tel circuit, la valeur minimale
des chemins de tout sommet x vers tout sommet de ce circuit (ou tout descendant
d’un sommet de ce circuit) serait rejetée à 2 ` 1 resp. 1 ` 2 . Notons que si les arcs
du graphe sont valués par des nombres tous positifs, il ne saurait exister de circuit
absorbant dans la recherche de chemin de valeur minimale.

104
4.2 Applications aux chemins optimaux

Exemple. (chemins de valeur minimale).


Soit un croquis géographique, représentant les routes qui existent entre deux points
A et F : les valeurs indiquées sur chaque route sont des distances kilométriques ; de
plus, comme il s’agit d’un pays de montagne à routes étroites, la circulation y a lieu à
sens unique : d’où les lèches portées sur le dessin (igure 4.4). Il existe évidemment
un certain nombre de chemins conduisant de A en F, mais on voudrait en trouver un
de longueur minimale, sans les énumérer.

Figure 4.4 Figure 4.5

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

1. On rappelle que le mot algorithme résulte de la corruption du nom du grand mathématicien


arabe Al Khwarizmi qui vivait au ixe siècle, et qui signiie simplement : procédé permettant de
résoudre un problème en un nombre ini d’opérations.

105
Chapitre 4 • Applications des graphes à la recherche opérationnelle

le chemin 1 A, B, D, C, E 2 5 8 qui est plus court que 1 A, B, E 2 5 9. On utilise ainsi


le principe d’optimalité de la programmation dynamique.
Le mathématicien Ford a donné, parmi les nombreux algorithmes qui peuvent
être employés pour faire ce calcul d’une manière systématique, un algorithme très
simple pour la recherche d’un chemin de valeur minimale et qui consiste à :
1) numéroter les sommets du graphe dans un ordre quelconque, en observant
toutefois que le sommet de départ doit être marqué X0 et celui d’arrivée Xn 2 1, si
n est le nombre total de sommets du graphe ;
2) affecter provisoirement à tout sommet Xi ( i 2 0 ) une valeur ou « marque » :
l i 5 1 ` et poser : l 0 5 0 ; en cours d’exécution de l’algorithme, li est la valeur
du meilleur chemin déjà rencontré, de X0 à Xi ;
3) pour tout sommet Xj , tel que l j 2 l i . v 1 Xi, Xj 2 , où v(Xi, Xj) représente la
valuation de l’arc (Xi, Xj), remplacer l j par l i 1 v 1 Xi, Xj 2 ;
4) reprendre l’étape 3) jusqu’à ce qu’aucun l i ne puisse être modiié : alors FIN.
On montrera plus bas, qu’en in d’application de l’algorithme, les li sont
optimaux.
En fait, l’algorithme de Ford en résolvant le cas 1 résout aussi le cas 2 : celui de la
recherche des chemins optimaux de X0 vers tous les autres sommets (qui évidemment
englobe le cas 1 : de X0 seulement vers Xn-1).
Les igures 4.6, 4.7 et 4.8 illustrent le déroulement de l’algorithme de Ford, le sommet
A étant celui à partir duquel les chemins de valeur minimale (qu’on appellera plus bas,
par abus de langage, plus courts chemins) seront calculés. Les valeurs li sont indiquées
à côté de chacun des sommets. Dans la igure 4.6 sont calculées les valeurs li après les
étapes consistant à considérer les modiications dues aux arcs1 (A, E), (E, D), (D, C), (D,
B), (A, B), (C, F) successivement. À cette étape, l’arc (B, C) vériie : l C 2 l B . 23, une
meilleure valeur l C 5 l B 1 v ( B, C) 5 1 est donc déterminée. Dans la igure 4.7 sont
reportées les valeurs li à l’issue de l’étape suivante : en gras sont représentés les arcs per-
mettant d’effectuer de nouvelles modiications aux valeurs li. Enin l’arc (F, D) (cf Fig
4.8) entraîne : l D :5 l F 1 v ( F, D ) 5 21 1 1 5 0. À ce stade, pour tout arc (Xi, Xj)
on a : l j < l i 1 v ( Xi, Xj ) : c’est le critère d’arrêt. La situation à la in de l’exécution de
l’algorithme de Ford est représentée à la igure 4.8. Les valeurs li sont alors les longueurs
des plus courts chemins issus du sommet A. Les arcs représentés en traits épais sont ceux
utilisés lors de la dernière modiication de la valeur li associée à chacun des sommets.
Il est à noter qu’ils forment une arborescence de racine A appelée arborescence des plus
courts chemins. Pour tout sommet i du graphe, le chemin de la racine à ce sommet i dans
cette arborescence est un plus court chemin dans le graphe ; pour tout arc (xi, xj) de l’arbo-
rescence on a : l j 5 l i 1 v ( Xi, Xj ) .
Le lecteur vériiera aisément sur l’exemple donné par la igure 4.9, graphe com-
portant un circuit absorbant de valeur 22, que l’algorithme de Ford ne se termine
pas. Un cyclage apparaît et les valeurs l B, l C, l D peuvent être rendues arbitraire-
ment petites, donc jusqu’à la valeur 2 `.

1. Ford n’a pas préconisé un ordre pour le balayage des arcs.

106
4.2 Applications aux chemins optimaux

Figure 4.6 lC 2 lB . 23 1 lC :5 lB 2 3 5 1 : cf ci dessous.

Figure 4.7 La situation après la modification précédente puis la modification lE entraînée


par l’utilisation de l’arc (B, E) et celle de lF entraînée par (C, F).
© Dunod – Toute reproduction non autorisée est un délit.

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

Figure 4.9 Un graphe comportant un circuit absorbant

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

les li obtenus en in d'application de l'algorithme :


l k, 2 0 < v ( X0, Xk, )
l k, 1 2 l k, < v ( Xk,, Xk, 1 )
2 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

la valeur du chemin m est supérieure ou égale à celle du chemin m * déterminé par


l’algorithme de Ford qui est ln 2 1 ; m étant un chemin quelconque de X0 à Xn 2 1, on en
déduit que m * est un chemin de valeur minimale de X0 à Xn 2 1.
La complexité de l’algorithme de Ford est O 1 2n 2 . Cet algorithme n’est donc pas poly-
nomial ; cependant en ordonnant la manière dont les arcs sont traités, des algorithmes
polynomiaux peuvent en être directement dérivés. Le lecteur pourra obtenir les preuves

108
4.2 Applications aux chemins optimaux

concernant les aspects de complexité de cet algorithme en consultant les nombreux


ouvrages traitant d’algorithmique dans les graphes, en particulier la référence [8].
Rappelons enin que l’algorithme de Ford peut-être transposé à la recherche
de chemins de valeur maximale. Dans ce cas, un circuit est absorbant si sa
valeur est strictement positive. Il sufit de modiier l’initialisation comme suit :
li 5 2 ` ( i 2 0 ) et l0 5 0 ; puis au 3), remplacer « > » par « < ».

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 :

vrij1k 2 12 5 vik1k 2 12 1 vkj1k 2 12,

puis : vij1k2 5 min b vrij1k 2 12 ; vij1k 2 12 r ,

d’où : Dk 5 min b D kr 2 1, Dk 2 1 r , où Dk 5 cvij(k)d฀, matrice n 3 n.

Arrêter dès que : Dk 5 Dk 2 1.


Si le graphe comporte un circuit absorbant, alors à une certaine étape p, on aura
1p2
vii , 0 : il convient alors d’arrêter.
Appliquons cet algorithme à l’exemple ci-dessous :
© Dunod – Toute reproduction non autorisée est un délit.

On a successivement (en notant 1 ` par un tiret) :

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 
 
 
 
 
฀฀฀

En effet, D0 5 D1, car aucun chemin n’a X0 comme sommet intermédiaire, X0


étant une entrée.
11 2 11 2 11 2 11 2 11 2 11 2
D’autre part : vr14 5 v12 1 v24 5 5, et vr15 5 v12 1 v25 5 9,
122 122
d’où : v14 5 min 5 5, 6 6 5 5 ; v15 5 min 5 9, 1 ` 6 5 9.

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   ฀3฀฀฀7 4 
 
 2   ฀3฀฀฀7 4 
 
 2  3฀฀฀5
5 
 
 
 
 
฀฀฀2 5 
 
 
 
 
฀฀฀2 5 
 
 
 
 
฀฀฀2
6 
 
 
 
 
฀฀฀
 6 
 
 
 
 
฀฀฀
 6 
 
 
 
 
฀฀฀

Les calculs les plus longs ont lieu pour k 5 4 :

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

Ici l’arborescence des plus courts chemins se résume au seul chemin :


(X1, X2, X4, X3, X5, X6).
La procédure de la igure 4.10, très simple, résume l’algorithme :
pour k 5 1 à n faire
pour i 5 1 à n faire
pour j 5 1 à n faire
vij d min 3 1 vik 1 vkj 2 , vij 4 .
Figure 4.10

Tel quel, l’algorithme n’exige qu’un seul balayage de la matrice.


L’avantage de cet algorithme est de donner le chemin de valeur minimale entre
tout couple de sommets, c’est le “cas 3”. L’algorithme est évidemment ini ; de plus, il
procède par extension optimale de sous-chemins minimaux ; il atteint donc le chemin
de valeur minimale (ce qui résulte de la programmation dynamique).
Le lecteur remarquera l’analogie entre cet algorithme et celui de Roy-Warshall
(pour déterminer la fermeture transitive d’un graphe) donné au chapitre 2.

4.2.2 Cas des valuations positives : algorithme de Dijkstra


L’ordre dans lequel les arcs sont examinés dans l’algorithme de Ford calculant les
plus courts chemins issus d’un sommet donné s, est arbitraire. Il s’en suit que, pour
certains exemples, le nombre d’itérations effectuées au cours de l’algorithme peut
être très élevé. Dans le cas où les valuations des arcs sont positives1, nous allons
donner un algorithme dû à Dijkstra qui évite cet inconvénient. Ce dernier reprend
le même principe que l’algorithme de Ford, en ajoutant une règle établissant l’ordre
dans lequel les arcs du graphe sont examinés. On part du sommet s pour aboutir au
sommet t : c’est le cas 1 (mais, en fait, on va résoudre le cas 2 qui englobe le cas 1).
Dans cet algorithme, le traitement d’un sommet i consistera à examiner successi-
vement tous les arcs d’origine i. Tous les sommets du graphe seront traités une fois et
une seule, suivant un ordre déterminé dynamiquement au cours de l’algorithme.
1. initialement l i d 1 `, pour i 2 s ; l s d 0 ; tout sommet est « non traité » ;
2. tant que tout les sommets ne sont pas traités faire
© Dunod – Toute reproduction non autorisée est un délit.

3. soit i un sommet non traité, de valeur li minimale (parmi les sommets


non traités)
4. pour tout arc (i, j) faire
5. si l i 1 v 1 i, j 2 , l j alors l j d l i 1 v 1 i, j 2
6. le sommet i est « traité »
La igure 4.11 illustre sur un exemple le déroulement de l’algorithme. Le graphe
traité est représenté en haut à gauche après la phase d’initialisation. Les plus courts
chemins à déterminer ont pour origine le sommet A. Les sommets traités sont grisés

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.

Figure 4.11 Exemple d’exécution de l’algorithme de Dijkstra

112
4.2 Applications aux chemins optimaux

En utilisant des structures de données appropriées, la complexité de l’algorithme de


Dijkstra est O(m log n). Le lecteur pourra consulter [3] ou [8] pour la démonstration
de la validité et le calcul de la complexité de cet algorithme. Enin indiquons que cet
algorithme ne peut pas être adapté à la recherche de chemins de valeur maximale.
4.2.3 Cas des graphes sans circuit : algorithme de Bellman
Nous allons considérer ici le cas le plus simple : celui des graphes sans circuit (donc
a fortiori sans circuit absorbant). Nous donnons un algorithme dû à Bellman calcu-
lant les plus courts chemins à partir d’une origine s. Reprenant le principe de l’algo-
rithme de Ford, en ajoutant une règle supplémentaire déterminant un ordre d’examen
des arcs du graphe, cet algorithme a une complexité plus faible O(m).
Avant de donner l’algorithme de Bellman, nous allons déinir la notion d’ordre
topologique dans un graphe. Un ordre topologique est une numérotation des sommets
d’un graphe sans circuit satisfaisant les contraintes suivantes : si n(i) est le numéro affecté
à un sommet i, n(i) est compris entre 1 et n ; en outre deux sommets différents reçoivent
un numéro différent ; et, pour tout arc (i, j) du graphe, on a : n 1 i 2 , n 1 j 2 . Il est aisé de
démontrer qu’un graphe est sans circuit si et seulement si il admet un ordre topologique
(cf. in du §3.2). D’autre part, des algorithmes de complexité O(m) peuvent aisément être
mis en œuvre pour déterminer une numérotation topologique ou prouver qu’elle n’existe
pas. Dans la suite de cette partie, nous confondrons le nom et le numéro attribué à un
sommet dans la numérotation topologique. De plus nous supposerons que les plus courts
chemins à déterminer ont pour origine le sommet 1 et que le sommet n est une sortie.
Comme dans l’algorithme de Dijkstra, le traitement d’un sommet i consistera à exa-
miner successivement tous les arcs d’origine i. Tous les sommets du graphe seront traités
une fois et une seule, suivant une numérotation topologique des sommets déterminée
préalablement. L’algorithme de Bellman s’écrit de la manière suivante :
1. initialement l i d 1 `, i 2 1 ; l 1 d 0
2. pour i 5 1 à n 2 1 faire
3. pour tout arc (i, j) faire
4. si l i 1 v 1 i, j 2 , l j alors l j d l i 1 v 1 i, j 2
Le lecteur vériiera ci-après qu’on a bien la numérotation topologique des som-
mets : pour tout arc (i, j), on a : i , j (cf. ig 4.12 0 ).
La igure 4.12 illustre sur un exemple le déroulement de l’algorithme. Le graphe
© Dunod – Toute reproduction non autorisée est un délit.

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

Il est facile de transformer certains algorithmes valables pour le premier cas


en algorithmes utilisables pour le second, tel l’algorithme de Ford. Les cir-
cuits absorbants sont alors de valeur strictement positive et les tests de type :
« l i 1 v 1 i, j 2 , l j » sont remplacés par : « l i 1 v 1 i, j 2 . l j ». (Attention :
l’algorithme de Dijkstra ne s’adapte pas au cas d’une maximisation.)

Figure 4.12 Une exécution de l’algorithme de Bellman

4.3 ProblèMes d’ordonnanceMenT


en gesTion de ProjeTs
Il s’agit d’une application directe des méthodes de recherche des chemins optimaux
dans un graphe. Nous verrons, plus précisément, que pour résoudre les problèmes
d’ordonnancement ci-dessous, l’on détermine des chemins de valeur maximale.
On dit que l’on a affaire à un problème d’ordonnancement lorsque, en vue de la
réalisation d’un objectif quelconque, il faut accomplir un ensemble de tâches (ou
114
4.3 Problèmes d’ordonnancement en gestion de projets

« opérations »), elles-mêmes soumises à un ensemble de contraintes. La durée de


chaque tâche est suppossér connue : di pour la tâche i.
Les contraintes auxquelles sont soumises les diverses tâches qui concourent à la
réalisation de l’objectif sont de divers types. On distingue :
– les contraintes du type potentiel, qui sont des contraintes de localisation tem-
porelle (la tâche i ne peut pas commencer avant telle date ou, au contraire, doit
être achevée pour telle date), ou les contraintes de succession (la tâche j ne peut
pas commencer avant que la tâche i ne soit terminée, ou simplement, parvenue à
un certain degré d’achèvement) ; Si i commence à la date ti (et j à tj) et dure di, il
vient : ti 1 di < tj soit di < tj 2 ti. Dans cette inégalité, les inconnues ti et tj n’inter­
viennent que par leur différence ; par analogie avec les différences de potentiel en
électricité, les inconnues ti, tj sont nommées “potentiels”.
– les contraintes du type disjonctif, imposant la disjonction de deux intervalles
de temps, relatifs, par exemple, à l’exécution de deux tâches i et j, qui ne peu­
vent être réalisées simultanément (par exemple si elles utilisent une même
ressource). Si les tâches i et j sont en disjonction (exclusion mutuelle), on a :
3 ti, ti 1 di 4 d 3 tj, tj 1 dj 4 5 [
– les contraintes du type cumulatif, concernant l’évolution dans le temps du volume
total des moyens humains et matériels consacrés à l’exécution des tâches. Il est
plus délicat de tenir compte de telles contraintes : on se contente, le plus souvent,
de solutions approchées, obtenues par des heuristiques.
Quand le processus de réalisation d’un objectif est décomposé en tâches,1 ces tâches
étant soumises à des contraintes diverses, il importe de déterminer un calendrier d’exé-
cution des tâches, compatible avec les contraintes. Trouver un tel calendrier, c’est obte-
nir une solution du problème d’ordonnancement. Toutefois, parmi les diverses solu-
tions, il en est de meilleures et de moins bonnes relativement à un critère donné.
Ainsi, il existera probablement une solution moins coûteuse, une autre plus rapide,
une troisième plus équilibrée que les autres. Au sens de la recherche opérationnelle,
résoudre un problème d’ordonnancement c’est choisir, parmi toutes les solutions, une
solution optimale (ou, du moins, proche de l’optimum si une heuristique doit être
employée), par rapport à un critère ixé à l’avance. Dans la plupart des cas, ce critère
consiste à réaliser l’objectif le plus tôt possible. C’est celui adopté ci-dessous.
© Dunod – Toute reproduction non autorisée est un délit.

Jusqu’à 1958, les praticiens de l’ordonnancement ne disposaient guère que du


planning à barres, dit encore graphique de Gantt, pour aborder ce genre de pro-
blèmes (de manière approchée, non systématique). De plus, les chercheurs opéra-
tionnels connaissaient les algorithmes de Johnson, applicables dans quelques cas
bien particuliers (tâches à exécuter sur deux ou trois machines successivement, sou-
mises donc seulement à des contraintes disjonctives).
C’est donc avec un grand intérêt qu’on a vu apparaître à cette époque simul-
tanément et indépendamment, deux méthodes nouvelles, fondées sur la théorie

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.

Exemple. Un éditeur veut passer commande d’un ouvrage technique à un auteur


scientiique. Les étapes à suivre sont indiquées dans le tableau ci-après, avec leur
durée et la mention des opérations qui doivent précéder chacune d’entre elles.

116
4.3 Problèmes d’ordonnancement en gestion de projets

Opérations Durée Opérations


(en quinzaines) antérieures
a approbation du plan de l’ouvrage 1 néant
b signature du contrat 1 a
c remises du manuscrit 12 b
d approbation du comité de lecture 2 c
e composition du texte 3 d
f correction par les correcteurs de l’imprimerie 1 e
g clichage et tirage des hors-texte 3 d
h exécution des dessins, des igures 4 d
i révision des dessins par l’auteur 1 h
j correction de dessins ; clichage des igures 2 i
k première correction des épreuves par l’auteur 2 f
l exécution des premières corrections à 1 k
l’imprimerie
m seconde correction des épreuves par l’auteur ; 2 g, j, l
indication de l’emplacement des clichés ;
approbation des hors-texte
n exécution des secondes corrections à 1 m
l’imprimerie ; mise en page
o tirage du livre 2 n
p établissement de la prière d’insérer, 1 m
des listes d’exemplaires presse et d’hommage
q pliage 1 o
r brochage 1 q
s reliure de certains exemplaires 2 q
t impression de la prière d’insérer 1/2 p
u envoi des exemplaires de presse 1/4 r et t
© Dunod – Toute reproduction non autorisée est un délit.

v envoi des hommages 1/8 s et t


w envoi des contingents aux libraires 1/2 r et s

4.3.1 Méthode PERT


Pour établir le graphe de la méthode PERT, il convient de déinir les événements,
inconnus au départ, qui en formeront les sommets et d’introduire des tâches ictives
ain de traduire idèlement les contraintes, (ces tâches sont inconnues au départ).
Cette détermination, ici aisée, est souvent délicate : c’est un point faible de la
méthode PERT.

117
Chapitre 4 • Applications des graphes à la recherche opérationnelle

Liste des événements :


0. début des opérations ;
1. plan approuvé ;
2. contrat signé ;
3. manuscrit remis ;
4. manuscrit approuvé ;
5. texte composé ;
6. texte corrigé par l’imprimerie ;
7. premières épreuves corrigées par l’auteur ;
8. dessins exécutés ;
9. dessins revus par l’auteur ;
10. premières corrections exécutées par l’imprimerie, secondes épreuves tirées ; cli-
chage terminé pour les igures ; impression achevée pour les hors-texte ; envoi
à l’auteur des secondes épreuves, après exécution des premières corrections, de
spécimens des hors-texte et des épreuves des clichés des dessins ;
11. retour des secondes épreuves ;
12. secondes corrections exécutées ;
13. tirage exécuté ;
14. pliage exécuté ;
15. brochage exécuté ;
16. reliure exécutée ;
17. prière d’insérer, liste des services de presse et des hommages remises ;
18. prière d’insérer imprimée ;
19. début de l’envoi des contingents aux libraires ;
20. début de l’envoi des hommages ;
21. début de l’envoi des exemplaires de presse ;
22. achèvement des opérations.
Le graphe obtenu, sans boucle, est aussi sans circuit ; il représente donc un ordonnan-
cement dans lequel les contraintes de succession ne sont pas contradictoires (ig. 4.13).

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,

1. Le lecteur remarquera que pour déterminer un ordonnancement de durée minimale, on cherche


dans le graphe un chemin de durée maximale !

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

Nous laissons au lecteur le soin de vériier le calcul du chemin critique (unique,


ici) : (0, 3, 4, 5, 8, 9, 11) de durée 63 jours qui est la durée minimale pour ce projet ;
les tâches critiques étant C (éclatée ici en C1 et C2), F et G ; le chemin critique com-
porte aussi deux tâches ictives, ce qui n’a pas d’interprétation concrète.

4.3.2 Méthode des potentiels (MPM)


Contrairement à la précédente, cette méthode ne nécessite aucune déinition préa-
lable d’événements ni de tâches ictives. Conceptuellement elle repose sur un graphe
G 5 (X, U) dans lequel les sommets représentent les tâches (opérations) du projet
(ainsi qu’une tâche « début » : D, et une tâche « in » : F), et les arcs représentent les
contraintes. La notion de tâche ictive n’existe pas ici et on n’a pas non plus à créer
des événements. Voici, pour notre premier exemple, le graphe MPM (ig 4.16).
Par exemple, l’opération d précède e, g et h, et, comme elle est de durée 2, on
a créé les arcs (d, e), (d, g) et (d, h), chacun valué par 2. Le (ou les) chemin(s) de
valeur maximale entre le sommet D et le sommet F représente(nt) le (ou les) che-
min(s) critique(s). Ici il y en a deux : (D, a, b, c, d, e, f, k, ,, m, n, o, p, s, w, F) et (D,
a, b, c, d, h, i, j, m, n, o, q, s, w, F) de durée 31,5. Le lecteur tracera sans dificulté le
graphe MPM de notre second exemple et retrouvera le chemin critique (D, c, f, g, F)
de durée 63 jours.

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

(elle peut commencer dès le démarrage du projet), on inscrit D en colonne ,, et l’on


indique à droite de D sa durée, c’est-à-dire 0. Ce tableau des prédécesseurs est donc
créé directement à partir du tableau des données (répétons le : sans tracé du graphe).

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.

Remarque. Dans le cas où le graphe aurait un circuit (c’est-à-dire comporterait


la contradiction signalée plus haut), l’algorithme s’arrêterait de lui-même, car
on ne trouverait plus de colonne complète, à un stade déterminé de son appli-
cation (voir l’exemple ci-dessous, tableau et graphe 4.17 ; ici k précède l qui
précède m ... qui précède k : k devrait être ini pour pouvoir commencer !).

k  m n
12 j : 5 k:2 :3 m:4
m:4
Figure 4.17

4.3.3 Intervention de modifications : souplesse de la


méthode MPM
Supposons maintenant que des modiications interviennent dans notre exemple :
– le tirage o peut commencer lorsque la mise en pages n a été effectuée seulement à
moitié ;
– le pliage q peut commencer avec un décalage d’une quinzaine seulement sur le
début du tirage o, mais alors la durée de q est augmentée de moitié et passe donc
à 112 quinzaines. Cependant q est toujours précédée par n.
– on ne désire demander à l’auteur le prière d’insérer et les listes d’envoi des exem­
plaires de presse et des hommages que lorsque le pliage est achevé : q précède
alors p.
– le brochage r et la reliure s sont toujours précédés par o.
Si l’on entreprend de modiier le graphe PERT,, on va devoir effacer des arcs, en
créer de nouveaux et, en outre, introduire de nouveaux événements. Nous ne repren-
drons ici le graphe qu’à partir de l’événement 11 (igure 4.18).

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

On modiie le graphe MPM par des additions d’arcs et des remplacements de


nombres (igure 4.19). Noter que, lorsque l’on remplace une opération par une opé-
ration partielle, diminuant ainsi la valuation d’un arc, il faut veiller à ce que les opé-
rations qui suivent l’achèvement total de cette opération ne commencent pas avant
cet achèvement. Par exemple q ne peut commencer que si n (durée totale 1) est ter-
minée ; r et s que si ο est achevée.
Les facilités évidentes de la méthode des potentiels la font préférer par les
chercheurs opérationnels, même si les résultats sont parfois “PERT-isés” pour
complaire à certains utilisateurs...
Le calcul fait apparaître une notion très intéressante ; certes on ne peut pas retar-
der l’exécution des tâches critiques, sous peine de faire prendre un retard correspon-
dant à l’achèvement de l’ouvrage, mais il est bien clair qu’une opération non critique
peut au contraire soit débuter après sa date au plus tôt, soit être ralentie : nous allons
quantiier cette notion (« marge ») au paragraphe ci-dessous.

4.3.4 Calculs pratiques. Marges


Un des algorithmes les plus employés pour la recherche du chemin critique dans la
méthode PERT, comme dans la méthode MPM, est l’algorithme de Bellmann : dans
l’un et l’autre cas, avec les contraintes potentielles utilisées jusqu’ici, le graphe asso-
cié ne comporte pas de circuit.1
Dans la méthode PErt, ui désigne la date attendue (ou date au plus tôt) pour
l’événement i (c’est une inconnue), et dij la durée de l’opération (i, j) (c’est une don-
née). Le calcul de ces dates, même directement sur le graphe pour notre exemple,
revient à appliquer la formule :
u j 5 max 3 u i 1 dij 4 .
iPG 2 (j)

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)

la marge totale mi vaut par déinition : mi 5 c min ( t*j 2 ti 2 vij ) d ; on montre


jPG 1 (i)

aisément qu’elle vaut simplement : Mi 5 t*i 2 ti.


Dans l’exemple, pour la tâche p, on a obtenu tp 5 25.
Puisque p n’a qu’un seul successeur : t, la marge libre de p vaut :
mp 5 tt 2 1 dp 1 tp 2 5 26 2 1 25 1 1 2 5 0.

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.

4.4 ProblèMe du floT de valeur MaxiMale


4.4.1 Flot dans un réseau de transport
On appelle réseau de transport un graphe ini, de p sommets, sans boucle comportant
une entrée x1 et une sortie xp telles que : depuis x1 il existe un chemin vers tout autre
sommet xk et de tout sommet xk il existe un chemin vers xp (on dit alors que x1 est une
« source » et xp, un « puits »). Tout arc u est valué par un entier positif c(u), nommé
« capacité » de l’arc u, qui représente une capacité de transport associée à la liaison
igurée par cet arc : ces capacités de transport peuvent représenter des tonnages dispo-
nibles sur des bateaux, des camions, des wagons, ou encore des débits dans des cana-
lisations, oléoducs, voies de transmission, etc.
Le problème à résoudre, étant donné un réseau de transport, consiste à acheminer
une quantité maximale de x1 à xp, en tenant compte des capacités de transport. La
quantité w(u) transportée sur chaque arc u est nommée « lux sur l’arc u » ; elle vériie
donc : 0 < w 1 u 2 < c 1 u 2 .
En tout sommet x, différent de la source x1 et du puits xp, on a une loi de conserva-
tion (analogue à la loi des nœuds en électricité, ou « loi de Kirchhoff ») : la somme des
lux arrivant sur le sommet x est égale à la somme des lux partant du sommet x :
a w ( y, x ) 5 a w ( x, y ) , où x 2 x1, xp.
yPG2(x) yPG1(x)
Un lot f est déterminé par la donnée du lux pour tous les arcs du réseau de tran-
sport ; la « valeur d’un lot », notée V(f), est par déinition la somme des lux partant
de la source x1 (on montre aisément que V(f) est aussi égale à la somme des lux des
arcs arrivant sur le puits xp).
Voici un exemple.
Soient trois châteaux d’eau, A, B et C, gérés par un syndicat intercommunal, ali-
mentant quatre villages D, E, F et G. Le château d’eau A bénéicie d’une alimentation
et d’une réserve capables de débiter 45 l/s ; le château d’eau B peut seulement débi-
ter 25 1/s et le château d’eau C, 20 1/s. Plusieurs canalisations existent et leur débit
maximal, en 1/s, est mentionné, pour chacune, sur la igure (igure 4.20). Le village D
aurait besoin d’un débit de 30 1/s, le village E, 10 1/s, le village F, 20 1/s et, enin, le
village G, 30 1/s. On demande d’établir la meilleure alimentation possible et de déter-
miner, s’il y a lieu, entre quels points il conviendrait de construire des canalisations
supplémentaires.
Constatons tout d’abord que, si nous ajoutons au graphe représentant les canali-
sations avec leur débit, une source Ο et un puits P, toutes deux ictives, on obtient un
réseau de transport. On value les arcs (O, A), (O, B) et (O, C) en leur attribuant comme
capacité les disponibilités respectives en A, B et C. De même, on value les arcs (D, P),
(E, P), (F, P) et (G, P) par les besoins respectifs en D, E, F et G.

128
4.4 Problème du flot de valeur maximale

Figure 4.20 Construction d’un réseau de transport

Le problème se ramène alors à faire passer un lot de valeur maximale de Ο vers Ρ


(ou, si l’on veut, sur un arc imaginaire, dit « de retour », qui reviendrait de Ρ vers O).
Voici un lot  sur ce réseau de transport :
© Dunod – Toute reproduction non autorisée est un délit.

Figure 4.21 Exemple de flot

Sur chaque arc u 5 1 x, y 2 , on a rappelé [entre crochets] la capacité de l’arc, puis


indiqué le lux w(u) de cet arc. Le lecteur vériiera aisément la loi de Kirchhoff en
tout sommet autre que Ο et P. La valeur V ( ) de ce lot initial est 80 (1/s).

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

Inversement, il est aisé de démontrer, en se reportant à la déinition d’une chaîne


améliorante, qu’une chaîne améliorante existe si et seulement si le sommet Ρ est mar-
qué. Une telle chaîne est obtenue, à l’issue de l’application de la procédure de mar-
quage, en remont aut le marguage récursivement depuis P jusqu’au sommet O.
Appliquons l’algorithme à notre exemple ; il est facile d’obtenir un lot initial ; nous
reprenons celui de la igure précédente, en indiquant les arcs saturés par un trait gras.

Figure 4.22 Marquage des sommets

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.

Figure 4.23 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.

Figure 4.24 Flot de valeur maximale et coupe de valeur minimale.

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

4.4.2 Théorème de Ford-Fulkerson


Nous allons donner le théorème, dû à Ford et Fulkerson, justiiant l’algorithme pré-
senté plus haut. Rappelons les déinitions et notations utilisées.
Nous noterons, ici, s le sommet source 1 G2 1 s 2 5 [ 2 et p le sommet puits
1 G 1 p 2 5 [ 2 du réseau de transport. Pour tout arc (i, j) du réseau, cij est la capa-
1

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)

Par déinition la valeur d’un lot F 5 ( w1, c, wm ) , notée V ( F ) , est la quantité


suivante : V ( F ) 5 a wsi. (Par abus de notation, dans cette partie, nous écrivons
a wsi pour a wsi.) ; on a désigné par wk le lux sur l’arc uk (k 5 1,
c, m).
iPG11 s2
Considérons S un sous-ensemble de sommets du réseau de transport contenant
la source mais ne contenant pas le puits : s H S, p x S. Cet ensemble et son complé-
mentaire S 5 X 2 S forment une « coupe » et C(S), la « capacité » de cette coupe,
est par déinition :
C ( S ) 5 a cij
iPS, jPS

Montrons la propriété suivante : pour toute coupe 1 S, S 2 et tout lot , on a :


V ( F ) 5 a wij 2 a wji.
i HS, jxS i HS, jxS

La valeur du lot, v ( F ) , égale la somme des lux sortants de S, diminuée de la


somme des lux entrants dans S.
En utilisant la loi de Kirchhoff pour chaque sommet i 2 s, appartenant à
l’ensemble S, et la déinition de la valeur du lot  nous obtenons :

V ( F ) 5 a wsi 1 a a wij 2 a wji b


a (''')'''*
© Dunod – Toute reproduction non autorisée est un délit.

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

en décomposant chacune de ces deux sommes, suivant que j appartient ou non à


l’ensemble S nous avons :

V ( F ) 5 a wij 2 a wji 1 a wij 2 a wji


i HS, jHS i HS, jHS i HS, jxS i HS, jxS

133
Chapitre 4 • Applications des graphes à la recherche opérationnelle

les deux premières sommes étant identiques (chaque arc ( i, j ) , i H S, j x S, apparaît


une fois dans chacune), nous obtenons :
V ( f) 5 a wij 2 a wji
i HS, jxS i HS, jxS
Cette propriété montre que pour tout ensemble de sommets S contenant la source
et ne contenant pas le puits, la somme des lux sortant diminuée de la somme des lux
entrant est égale à la valeur du lot.
Nous allons montrer une seconde propriété reliant la valeur d’une coupe à celle
d’un lot. L’énoncé de cette propriété est le suivant :
Pour toute coupe C (de capacité C(S)) et tout lot  (de valeur V()), on a : C ( S ) > V ( F ) .
En effet, pour tout arc (i, j) nous avons : 0 < wij < cij, d’où nous obtenons :
C ( S ) 5 a cij > a wij > a wij 2 a wji 5 V ( F ) .
i HS, jxS i HS, jxS i HS, jxS i HS, jxS

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é

C ( S ) 5 a cij 5 a wij 2 a wij 5 V ( F ) .


marqué. Nous obtenons alors :

i HS, jxS i HS, jxS i HS, jxS


En utilisant la propriété précédente nous arrivons au résultat annoncé. Celui-ci
justiie l’algorithme puisque l’algorithme se termine lorsqu’il n’y a plus de chaîne
améliorante et permet d’exhiber une coupe et un lot de même valeur. Le lot consi-
déré à cette étape est donc optimal (de valeur maximale).

4.5 floT de valeur MaxiMale à coûT MiniMal


Dans de nombreux problèmes, outre les capacités limitées de transport, le coût
d’acheminement d’une marchandise (ou d’une certaine quantité de produit) doit être
pris en compte. Le problème de la recherche d’un lot maximal(1) à coût minimal per-
met de prendre en compte ce second objectif dans le cadre d’un réseau de transport.
D’autant que, si la valeur maximale V * d’un lot est évidemment unique, il existe
134
4.5 Flot de valeur maximale à coût minimal

fréquemment de nombreux lots différents de même valeur V * ; parmi ceux-ci, il est


intéressant d’en trouver un de moindre coût. Ce problème se formalise de la manière
suivante : R est un réseau de transport où s et p désignent respectivement la source et
le puits. À chaque arc (i, j) sont associées deux valeurs positives : 3 cij, pij 4 où cij est la
capacité et pij est le coût unitaire associés à l’arc. Le coût d’un lot F s’obtient de la
façon suivante : wij # pij est le coût du lux wij circulant le long de l’arc (i, j) ; le coût de
 est alors la somme de ces coûts sur tous les arcs du réseau : a wij # pij.
1 i, j2
La partie gauche de la igure 4.25 montre un réseau de transport dans lequel un
lot de valeur 5 et de coût 20 est déterminé.
Avant de donner un algorithme de résolution pour ce problème, nous allons revenir
au problème du lot maximal1. Pour tout réseau de transport R nous déinissons GeF, le
graphe d’écart associé au lot  (nous supposerons R antisymétrique : il ne comporte
pas de couple d’arcs (i, j) et (j, i) ; (si tel n’était pas le cas, nous pourrions y remédier en
scindant l’arc (i, j) en deux arcs (i, k) et (k, j), tous deux de capacité cij et de coût 12 pij 2 .
Le graphe d’écart GFe et le réseau de transport R ont les mêmes sommets. Pour
tout arc (i, j) de R, les arcs du graphe d’écart et leur valuation sont obtenus de la
façon suivante :
1. si 0 , wij , cij, alors GFe comporte un arc (i, j) de valuation rij 5 cij 2 wij et un
arc (j, i) de valuation rji 5 wij
2. si wij 5 0, GFe comporte un arc (i, j) de valuation rij 5 cij, mais pas d’arc (j, i)
3. si wij 5 cij, GFe comporte un arc (j, i) de valuation rji 5 wij, mais pas d’arc (i, j).
Nous pouvons remarquer que pour le lot nul : F 5 ( 0, c, 0 ) , le graphe d’écart
et le réseau de transport coïncident.
© Dunod – Toute reproduction non autorisée est un délit.

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.)

Figure 4.26 Un flot maximal de coût minimal

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

La détermination d’un chemin de coût minimal peut se faire en utilisant l’algo-


rithme de Ford présenté plus haut. Le lecteur remarquera que le calcul des nouveaux
lux sur le chemin C se fait de manière analogue à celle présentée dans le paragraphe
précédent consacré aux lots de valeur maximale.
La igure 4.27 illustre sur l’exemple précédent le déroulement de l’algorithme.
Les lèches épaisses correspondent, ici à chaque étape, au chemin de coût minimal
de S vers P. (et non pas à des arcs saturés, comme plus haut).

Figure 4.27 Une exécution de l’algorithme de Roy-Busacker-Gowen

Remarquons enin, en revenant au problème de lot de valeur maximale, que l’on peut
aisément reformuler l’algorithme de Ford­Fulkerson 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.

4. choisir un tel chemin, soit : m


poser e 5 min v ( u ) ;
uPm
5. pour tout arc u 5 (x, y) du chemin m faire
v 1 x, y 2 d v 1 x, y 2 2 e ; si v 1 x, y 2 5 0, supprimer l’arc u dans Ge 1  2 ;
v ( y, x ) d v ( y, x ) 1 e ; si v ( y, x ) était nul, ajouter u dans Ge 1  2

Voici un exemple du problème de lot de valeur maximale, ci-dessous, avec un


lot initial (arbitraire) (0), traité par l’algorithme de Ford-Fulkerson reformulé en
termes de graphe d’écart :

137
Chapitre 4 • Applications des graphes à la recherche opérationnelle

Figure 4.28 Réseau de transport et flot (0) de valeur 30

Figure 4.29 Graphe d’écart Ge 1  102 2 .

Ge 1 102 2 comporte un (seul) chemin m de s vers p : m 5 1 s, A, C, B, D, p 2 ; on a :


e 5 min 1 10, 5, 10, 10 2 5 5. La valeur du lot va donc être augmentée de 5 unités.
Voici le nouveau graphe d’écart Ge 1 112 2 , il ne comporte pas de chemin de s à p :
le lot associé (1) est donc optimal, il est valeur v* 5 35.
On nomme désormais S l’ensemble des sommets qu’on peut atteindre depuis s
par des chemins ; ici S 5 5 s, A, C 6 ; S est aussi l'ensemble des sommets marqués
quand on applique la procédure de marquage de Ford-Fulkerson au lot (1).

Figure 4.30 Graphe d’écart Ge 1  112 2 .


avec le cocircuit ( S, S ) en pointillé

138
4.6 Problèmes d’affectation

Voici, sur le réseau de transport, le lot optimal (1) :

Figure 4.31 Flot optimal (1) avec la coupe minimale ( S, S )

Notes. • L’arc (B, D) ne traverse pas en fait la coupe minimale puisque B et D H S.


• À la coupe minimale du réseau de transport R correspond un « co-circuit »
dans Ge 1 * 2 . L’ensemble des arcs du graphe d’écart allant des sommets de S
vers ceux de S est vide : U1S 5 [. Tout arc ayant une extrémité et une seule dans
S est orienté dans le sens de S vers S. Ici S 5 5 s, A, C 6 et S 5 5 B, D, p 6 .

4.6 ProblèMes d’affecTaTion


Nous les présentons ici comme une application de l’algorithme de Ford-Fulkerson.

Exemple. On désire procéder aux mutations de cinq personnes A, B, C, D et Ε, et on


leur offre les postes a, b, c, d et e. Ces personnes désirant maximiser leur satisfaction,
décident chacune de noter de 1 à 5 les postes offerts et obtiennent le tableau suivant
regroupant leurs avis (tableau 4.1) ; la note 1 est donnée au poste préféré, …, la note
5 à celui le moins apprécié :
a b c d e Il est évident qu’il convient, pour
maximiser la satisfaction générale, de
© Dunod – Toute reproduction non autorisée est un délit.

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

Tableau 4.2 On a soustrait 1 : le Tableau 4.3 On a ensuite soustrait le


plus petit élément de chaque ligne plus petit élément de chaque colonne
(2 en colonnes d et e)

Affectons le zéro unique de la ligne A du tableau 4.3 ; nous ne pouvons plus


affecter, sur la ligne B, que le zéro de la colonne e ; affectons encore le zéro unique
de la ligne C ; nous ne pouvons plus affecter aucun zéro de la ligne D, l’unique zéro
qu’elle contenait ayant été exclu de l’affectation par le choix du zéro de la ligne A ;
enin, sur la ligne E, nous avons le choix entre le zéro de la colonne b et celui de la
colonne d ; retenons, par exemple, le premier. Mais nous n’avons affecté que quatre
personnes, pas cinq…
Nous n’avons pas obtenu la solution, mais il convient de vériier qu’il est impos-
sible d’affecter davantage de zéros.
Pour cela, considérons le réseau de transport comportant une source ictive O et
un puits ictif S, dont les arcs, tous de capacité 1, correspondent, entre les sommets
A, B, C, D, E, d’une part, et les sommets a, b, c, d et e, d’autre part, aux zéros du
tableau 4.3 (igure 4.32) ; les autres arcs relient O à A, B, C, D et E, ainsi que a, b, c,
d et e à S ; leur capacité est 1.
Associons un lot dans ce réseau de transport, à l’affectation partielle ci-dessus.
Ayant affecté les zéros comme au tableau 4.4, nous ixons à 1 le lux sur les arcs
(A, a), (B, e), (C, c) et (E, b), qui sont saturés.

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.

B 0 0 c) marquer alors – toute ligne ayant un zéro enca-


C 0 dré dans une colonne marquée (ici, la ligne A)
et revenons à b), etc., jusqu’à ce que le marquage
D 0  ne soit plus possible (c’est le cas, dès à présent,
E 0 0 dans l’exemple).
 En effet, a) correspond à pratiquer le marquage
(1) pour les sommets x tels que l’arc (O, x) n’est pas
Tableau 4.5 saturé : ici, seul (O, D) est dans ce cas : on a mar-
qué D ; b) correspond à pratiquer le marquage (1)
pour les sommets y tels qu’il existe un arc (x, y) non saturé, si x est déjà marqué. Ici, seul
(D, a) est dans ce cas : a est marqué 1 ; c) correspond à pratiquer le marquage (2) pour

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

Nous n’avons pas l’intention de démontrer ici la validité de l’algorithme, mais


le lecteur sera sûrement intéressé de constater que la colonne rayée correspond au
sommet marqué (1D) , soit a, et que les lignes non rayées correspondent également
aux sommets marqués (2a) et (1O), soient A et D (igure 4.33), d’après le marquage
réalisé à partir de la igure 4.32.

Figure 4.33 Figure 4.34

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.

a b c d e Mais on crée ainsi quatre arcs de coût


© Dunod – Toute reproduction non autorisée est un délit.

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].

4.7 noTions d’arbre eT d’arborescence


Nous approfondissons des notions que nous avions déinies au chapitre 3.
Au préalable déinissons le “nombre cyclomatique” d’un graphe G : V ( G ) . Si G
comporte n sommets, m arcs et p composantes connexes, on pose V 1 G 2 5 m 2 n 1 p.
Par récurrence on peut montrer que V 1 G 2 5 0 si et seulement si G nra pas de cycle
et V 1 G 2 5 1 si et seulement si G comporte un cycle unique.

144
4.7 Notions d’arbre et d’arborescence

4.7.1 Arbre. Définition et propriétés élémentaires


Étant donné un graphe non orienté de n sommets 1 n > 2 2 , on obtient un arbre en
« connectant » tous les sommets sans former de cycle (c’est-à-dire en reliant les
sommets deux à deux par des arêtes). Par déinition, un arbre est un graphe connexe
et sans cycle.
Un arbre comporte n 2 1 arêtes. En effet, G est connexe entraîne p 5 1 ; G est
sans cycle entraîne V ( G ) 5 0, d’ou V 5 m 2 n 1 1 et m 5 n 2 1.
Une déinition équivalente d’un arbre est qu’il constitue un graphe connexe de
n 2 1 arêtes. En effet p 5 1 et m 5 n 2 1 entraîne V ( G ) 5 m 2 ( n 2 1 ) 1 1 5 0 :
donc G est sans cycle.
Une propriété qui nous sera utile pour les applications (cf. les programmes de
transport) est que l’addition à un arbre d’une arête entre deux sommets (en particu-
lier, deux sommets non-adjacents dès que n > 3) crée un cycle et un seul. En effet, si
l’on relie par une arête supplémentaire les deux sommets d’un arbre on crée un cycle
unique : ces deux sommets, dans l’arbre, étant reliés par une chaîne unique, l’addi-
tion d’une arête crée alors un cycle et un seul. En effet V ( G ) 5 0 ; l’ajout d’une arête
se traduit par : m r 5 m 1 1 et V ( Gr ) 5 V ( G ) 1 1 5 1.
Il est aisé de prouver que dans un arbre deux sommets quelconques x et y sont
reliés par une chaîne unique : s’il n’existait pas de chaîne entre x et y le graphe ne
serait pas connexe (or un arbre est connexe par déinition). S’il existait plusieurs
chaînes entre x et y, on pourrait alors exhiber au moins un cycle (or un graphe est
sans cycle par déinition).

Dans l’exemple de la igure 4.35, l’addition de


l’arête [D, P] crée un cycle et un seul :
[D, C, B, E, G, H, L, P, D].
Dans l’arbre, D et P sont reliés par une chaîne
unique :
[D, C, B, E, G, H, L, P].
© Dunod – Toute reproduction non autorisée est un délit.

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

contredit le fait qu’une arborescence soit, sans l’orientation, r


un arbre.
En recherche opérationnelle on utilise fréquemment la
notion d’arborescence (d’ailleurs nous avons déjà dû nous en
servir plus haut). Nous en donnons plus loin (au paragraphe
4.10), une autre application : au fameux « problème du voya-
geur de commerce » (« Traveling Salesman Problem », ou
« TSP »).
Notons un abus de langage : la plupart des « arbres » des
informaticiens sont en fait des arborescences, au sens de la
théorie des graphes.
Figure 4.36

4.8 aPPlicaTions aux arbres oPTiMaux


En recherche opérationnelle, on rencontre assez souvent des problèmes faisant appel
à la notion d’arbre de valeur minimale, par exemple en optimisation des réseaux.
Étant donné un graphe valué G 5 (X, V), de n sommets et connexe, on veut
construire, en utilisant n 2 1 de ses arêtes, un arbre dont la somme des valeurs (ou
coûts) des arêtes sera minimale.
En 1956, J.B. Kruskal a donné un algorithme simple pour résoudre ce problème.
Il consiste à :
a) établir une liste des arêtes par valeurs croissantes ;
b) choisir une arête de valeur minimale puis, successivement, au fur et à mesure de la
construction de l’arbre, l’arête suivante dans la liste ne formant pas un cycle avec les
arêtes retenues jusque-là. S’arrêter lorsque tous les sommets du graphe sont connec-
tés (ou, ce qui revient au même, lorsque le nombre d’arêtes retenues égale n 2 1).
Pour un exemple se reporter à la Fig 4.37.
Il s’agit du premier exemple de « méthode gourmande » (ou « gloutonne » ; en
anglais : « greedy algorithm »), car à chaque pas on choisit l’élément le plus intéres-
sant (comme si l’on prenait le plus gros morceau dans le partage d’un gâteau).
Un autre algorithme a été proposé en 1961, par G. Sollin, alors chef de travaux au
CNAM, pour optimiser des réseaux de canalisation ; le voici :
Initialement aucun sommet n’a été « retenu ».
a) Choisir arbitrairement un sommet x en dehors de ceux qui ont déjà été retenus ;
relier, par l’arête de valeur la plus faible, ce sommet x à l’un des sommets (déjà retenu
ou non) auxquels il est adjacent ; soit y ce dernier sommet : y est alors « retenu », de
même que x.
b) Lorsque tous les sommets ont été retenus :
– soit on a obtenu un arbre et le problème est résolu : cet arbre est de coût minimal.
– soit on a seulement plusieurs sous­arbres. Contracter chacun en un sommet unique ;
créer le multigraphe1 dont chaque sommet est associé à l’un de ces sous­arbres et dont

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
sous­arbres (elles ont la même valeur dans le graphe initial et dans le sous­graphe).
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

Opérons selon l’algorithme de Kruskal :


La liste par coûts croissants est : [B, E] : 1 ; [B, F] : 2 ; [A, F] : 3 ; [B, C] : 3 ; [C, E] :
3 ; [D, G] : 3 ; [E, F] : 3 ; [D, E] : 4 ; [F, G] : 4 ; etc.
La première arête choisie est [B, E] ; puis [B, F], puis [A, F], puis [B, C] ; on rejette
[C, E] qui forme un cycle avec les arêtes déjà retenues ; puis on prend [D, G], on
rejette [E, F], puis on prend [D, E] : in car n 2 1 5 6 arêtes ont été retenues ; l’arbre
optimal a pour coût 16 (cf ig. 4.37, à droite).
Opérons maintenant selon l’algorithme de Sollin :
1) choix dans X de A : sélection de l’arête [A, F] ;
2) choix dans X 2 5 A, F 6 de B : sélection de l’arête [B, E] ;
3) choix dans X 2 5 A, F, B, E 6 de C : sélection de l’arête [C, B] ;
© Dunod – Toute reproduction non autorisée est un délit.

4) choix dans X 2 5 A, F, B, E, C 6 de D : sélection de l’arête [D, G].


La liste des sommets est épuisée : on a trois sous-arbres entre lesquels subsiste un
certain nombre d’arêtes (ici, toutes les autres, sauf [C, E], qui, si on l’ajoutait, forme-
rait un cycle dans l’un des sous-arbres) : cf ig. 4.38.
Nous désignerons maintenant par a, b et g les sous-arbres {A, F}, {B, C, E} et
{D, G}, considérés désormais comme les sommets d’un multigraphe (igures 4.38
et 4.39, avant et après « contraction »), formé par ces sommets et les arêtes qui les
relient entre eux. Ce sont, on le voit, toutes les arêtes autres que celles déjà retenues,
à l’exception de [C, E] qui ne relie pas deux sous-arbres (et, pour cette raison, ferme
un cycle dans {B, C, E}).

147
Chapitre 4 • Applications des graphes à la recherche opérationnelle

Figure 4.39
Figure 4.38

Sélectionnons, par exemple, le sommet a.


L’arête de valeur la plus faible adjacente à a est
[B, F], de valeur 2, qui relie a à b : on la retient.
Prenons un sommet, en dehors de {a, b} ; seul
reste g. L’arête de valeur la plus faible adjacente à g
est [F, G], de valeur 4 : on la retient.
On obtient inalement l’arbre de la igure 4.40, de
coût 16, en ajoutant [B, F] et [F, G] aux trois sous-
Figure 4.40
arbres de la igure 4.38.
Il y a d’autres solutions de même coût : [F, G] peut être remplacée par [D, E]
(cf partie droite de la ig. 4.37) et [B, C] par [C, E].
Nous présentons maintenant un dernier algorithme, lui aussi très simple, dû à Prim :
1. marquer arbitrairement un sommet
2. tant qu’il existe un sommet non marqué faire
3. choisir une arête de coût minimal ayant une de ses deux extrémités marquée et
l’autre non marquée et l’inclure dans l’arbre en formation ; marquer cette autre
extrémité.
Il est aisé de montrer que l’ensemble des arêtes choisies à l’issue de l’algorithme
constitue un arbre de coût minimal.
Un exemple d’exécution de l’algorithme est présenté dans la igure 4.41 Les som-
mets marqués sont grisés et les arêtes choisies sont en trait épais. On a pris arbitrai-
rement F comme sommet initial.
L’arbre optimal ainsi obtenu a pour valeur (ou coût) 16, comme avec l’algorithme
de Kruskal et celui de Sollin. Mais il diffère de l’arbre optimal de Sollin ; cependant
en remplaçant l’arête [F, G] dans la Fig 4.40, par l’arête [D, E] de même coût (égal à
4), on obtient l’arbre optimal de Prim de la Fig 4.41 (qui est le même que celui fourni
par l’algorithme de Kruskal).
En utilisant des structures de données appropriées, la complexité des algorithmes
présentés est O(m log m) pour l’algorithme de Kruskal et O 1 m 1 n log n 2 pour celui
dû à Prim. Le lecteur pourra consulter [8] pour trouver les arguments justiiant ces
complexités.

148
4.9 Les programmes de transport

Figure 4.41 Une exécution de l’algorithme de Prim


© Dunod – Toute reproduction non autorisée est un délit.

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é.

4.9 les PrograMMes de TransPorT


Les notions sur les arbres, présentées dans les paragraphes précédents, vont nous être
utiles pour résoudre un problème pratique des plus courants en recherche opération-
nelle : celui des programmes de transport, que nous déinissons ci-dessous.

149
Chapitre 4 • Applications des graphes à la recherche opérationnelle

Entre m origines (dépôts) et n destinations (clients) constituant les sommets d’un


graphe biparti, (rappelons qu’un graphe est dit biparti si ses sommets sont partagés
en deux classes, à l’intérieur de chacune desquelles les sommets ne sont pas deux à
deux adjacents), on peut tracer m 3 n arcs qui symbolisent les liaisons que l’on peut
employer pour transporter des marchandises de chaque origine vers chaque desti-
nation. On pourrait aussi compléter ce graphe sans boucle par une entrée et une sortie
pour obtenir un réseau de transport. Mais le problème que l’on se pose maintenant
n’est plus celui du lot optimal, et cette transformation ne serait ici d’aucune utilité.
En effet dans les programmes de transport, les capacités des arcs sont supposées
illimitées, mais chaque arc est valué par le coût unitaire du transport sur la liaison
qu’il représente. Ce que l’on cherche est une solution à coût minimal.
Dès 1776, G. Monge s’était attaqué à ce problème, mais en continu, c’est-à-dire
en considérant le déplacement de volumes ininitésimaux dv ; il avait dû bâtir la théo-
rie nouvelle des congruences de normales pour le résoudre.
Aujourd’hui, on envisage le problème discret qui consiste à transporter des unités
indivisibles (m3 ou tonnes par exemple) et ainsi le problème se formule en nombres
entiers. Sous cette forme, c’est A. Tolstoï qui l’a publié en 1939, L.V. Kantorovitch
et F.L. Hitchcock le précisant de nouveau en 1941, avec Koopmans.
Pratiquement et sans perte de généralité, on se ramène toujours au cas où l’offre
égale la demande : le total général des quantités disponibles aux origines correspond
au total général des demandes aux différentes destinations. S’il n’en était pas ainsi, il
sufirait de créer soit une destination ictive (cas de l’excès des disponibilités) soit une
origine ictive (cas de l’excès des demandes), en affectant à ce sommet ictif la diffé-
rence entre les deux totaux généraux et en valuant les relations nouvelles par un coût
nul, de manière à ne pas troubler le processus de minimisation du coût de transport des
quantités effectivement transportées.
À titre d’exemple, nous examinerons le problème suivant : assurer, au moindre
coût, les transports des quantités demandées aux dépôts (clients) numérotés de 1 à 6,
à partir des usines de I à IV, connaissant les disponibilités de ces usines et les coûts
de transport unitaires de toute origine à toute destination.
Matrice des coûts unitaires
Quantités
i j 1 2 3 4 5 6 disponibles (ai)

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.

variables nulles1, et donc m 1 n 2 1 variables positives.


Nous verrons d’ailleurs que, sur le graphe biparti associé à une solution, seule une
solution de base, c’est-à-dire répondant à la condition ci-dessus, fournit un arbre.
Il existe une méthode extrêmement facile pour en obtenir une ; malheureusement
elle n’a pas de but économique, alors que nous serons ensuite confrontés à un pro-

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

blème économique. Décrivons-la néanmoins pour introduire les éléments théoriques


de la question.
Il s’agit de la procédure dite du coin Nord-Ouest, consistant à transporter d’abord
sur la relation (I, 1) (qui est le coin Nord-Ouest du tableau) la quantité maximale
possible, c’est-à-dire le minimum du couple (demande, disponibilité), soit ici min(9,
18) 5 9 ; puis, le dépôt 1 étant servi et l’usine I étant encore approvisionnée de 9
unités, à transporter sur la relation (I, 2), min(11, 9) 5 9. Cette fois, c’est l’usine I
dont le stock est épuisé, mais il manque 2 unités au dépôt 2, qu’on acheminera sur la
relation (II, 2) et ainsi de suite… On aboutit au tableau ci-dessous :
On constate que, dans le cas
i j 1 2 3 4 5 6 ai général, cette procédure se tra-
0 0 0 0 duit, à chaque choix d’une rela-
I 9 9 18
tion, par l’élimination d’une
II 0 2 28 2 0 0 32 destination ou bien d’une ori-
III 0 0 0 4 10 0 14 gine et, parfois, des deux (sauf
toutefois lors de la dernière
IV 0 0 0 0 4 5 9 affection : au coin Sud-Est,
bj 9 11 28 6 14 5 pour laquelle on achève de ser-
vir le dernier dépôt en épuisant
solution de base obtenue par la le stock de la dernière usine).
méthode du coin Nord-Ouest : tableau des [xij] Elle donne une solution sans
cycle, qui est ici une solution
de base.
En effet, elle a conduit ici à sélectionner en tout m 1 n 2 1 relations utilisées pour
les transports, alors qu’on ne transporte rien sur les autres, ce qui correspond bien à la
condition selon laquelle il faut exactement n # m 2 1 n 1 m 2 1 2 5 1 n 2 1 2 1 m 2 1 2
variables nulles dans la solution.
Dans l’exemple ci-dessus, m 5 4, n 5 6 ; on doit avoir 3 3 5 5 15 « zéros »
(c’est-à-dire xij nuls) dans la solution : on le vériie aisément.
La igure 4.42 montre que le graphe du transport effectif est bien un arbre puisque
nous avons un graphe sans cycle (ou encore connexe) de N 5 n 1 m sommets et
N 2 1 5 n 1 m 2 1 arêtes (rappelons que, par déinition, un arbre est connexe et
sans cycle). Ses 9 arêtes représentent les 9 liaisons (i, j) telles que : xij > 0.
Bien entendu, le tableau ci-dessus donnant les quantités transportées xij vérifie les
équations (4.1), (4.2) et (4.3) :

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

car on avait pris a ai 5 a bj : l’offre est, ici, égale à la demande ;


4 6

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

Figure 4.42 et, rappelons-le, nous ne nous sommes, jusqu’à présent,


Arbre associé à la solution pas occupé du seul problème de recherche opération-
de base du coin Nord-Ouest. nelle que contient la question, c’est-à-dire la minimisa-
tion du coût de transport.
Dans chaque programme de transport, il y aura donc nécessairement une phase
d’optimisation. Nous allons indiquer comment la théorie des graphes va faciliter le
travail. Monétairement, la solution que nous avons trouvée coûte :
9 3 12 1 9 3 27 1 2 3 39 1 28 3 78 1 c 1 5 3 49 5 3 700 u.m.
mais on peut imaginer, du moment qu’elle a ignoré le coût de transport, que des
modiications ultérieures vont pouvoir améliorer ce coût...
Or, comment la modiication la plus élémentaire se présente-t-elle?
Admettons qu’on veuille transporter une unité de marchandise sur la relation
(I, 3) jusqu’à présent inutilisée. Si nous réalisions cette opération, il nous faudrait
retrancher une unité transportée sur la relation (I, 2) et également sur la relation (II,
3), de manière à ne pas changer les totaux des xij sur la ligne I et dans la colonne 3 ; il
faudrait aussi ajouter une unité sur la relation (II, 2) de manière à rétablir l’équilibre
sur la ligne II et dans la colonne 2.

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 128 ฀1
2 ฀ ฀30 IIII
30 39 78 II 11 19 30
© Dunod – Toute reproduction non autorisée est un délit.

Extrait du tableau (modiication Extrait du tableau Extrait du nouveau


des [xij] unitaire) des coûts [cij] tableau des [xij]
(avant modiication) (après modiication
maximale)
D’autre part, nous sommes en mesure d’évaluer le coût marginal dI,3 de l’opéra-
tion, puisque nous connaissons les coûts unitaires de transport pour toutes les rela-
tions. On a donc dans ce cas :
d I, 3 5 cI3 1 cII2 2 cI2 2 cII3 5 161 1 39 2 27 2 78 5 100 2 105 5 2 5,

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.

Ui Vj Considérons alors le réseau « électrique » formé par


i j
l’arbre de la igure 4.44 ; sur chaque arc, indiquons la
différence de potentiel qui est égale au coût unitaire de
transport sur la relation correspondante.
De plus, ixons arbitrairement à 0 le potentiel du som-
met II : UII 5 0. On peut ainsi, de proche en proche,
calculer le potentiel de tous les autres sommets, notés
Ui pour les sommets du premier niveau et Vj pour ceux
du second niveau ; pour tout arc (i, j) de l’arbre on aura :
Vj 2 Ui 5 cij.
Mais alors, lorsque nous rajoutons la relation (I,3),
Figure 4.44 du coût 61, on peut écrire :
d I, 3 5 UI 1 cI, 3 2 V3 5 12 1 61 2 78 5 25.
et plus précisément :
d i, j 5 Ui 1 cij 2 Vj 5 cij 2 1 Vj 2 Ui 2
formule qui permettra de calculer rapidement le coût marginal di,j de toute relation (i, j)
inutilisée c-à-d telle que xij 5 0, sans avoir à rechercher le cycle de substitution (ce qui
peut être long). Ainsi, pour la relation (I, 6) :
d I, 6 5 UI 1 cI, 6 2 V6 5 12 1 35 2 66 5 219,

154
4.9 Les programmes de transport

ce qui résume en fait le calcul ci-dessous associé au cycle de substitution de la rela-


tion (I, 6), qui est de longueur 8 ; on obtient ce cycle en rajoutant l’arc (I, 6) à l’arbre
ci-dessus : [I, 6, IV, 5III, 4, II, 2, I] :
d I,6 5 cI6 2 cIV6 1 cIV5 2 cIII5 1 cIII4 2 cII4 1 cII2 2 cI2
5 35 2 49 1 40 2 53 1 24 2 28 1 39 2 27 5 219.
Nous proiterons de toutes ces remarques dans les applications.
On en déduit une méthode d’améliorations successives de la solution initiale,
permettant de passer d’une solution de base à une autre solution de base plus éco-
nomique, qui nécessitera, à chaque étape, de déterminer tous les coûts marginaux
di,j, pour les relations inutilisées, et, d’après les quantités déplaçables sur le cycle
de substitution, le gain total correspondant à chacun de ceux qui sont négatifs. On
choisira à chaque pas la meilleure modiication possible. Si tous les di, j deviennent
non-négatifs, on peut montrer qu’on a atteint l’optimum. Cet optimum sera unique si
tous les di, j sont strictement positifs à la dernière étape ; il y aura plusieurs solutions
équivalentes si certains sont égaux à 0.
La démonstration de la convergence de cet algorithme, qui serait très aisée si le
coût total du transport diminuait strictement à chaque étape, est compromise par le
fait qu’il se présente, comme on le verra ci-dessous, des risques de retour à une solu-
tion déjà rencontrée antérieurement, si le coût total de transport ne varie pas pour
certains échanges : il s’agit du cas de solutions dégénérées.

Remarque. Jusqu’à présent nous n’avons pas encore envisagé le cas où la


solution initiale obtenue ne serait pas une solution de base, c’est-à-dire com-
porterait plus de zéros qu’il n’en faut.
Tel serait le cas du problème considéré plus haut si l’on échangeait la première
ligne contre la troisième et la première colonne contre la cinquième avant
d’appliquer la méthode du coin Nord-Ouest.

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

La manière de remédier à cette situation est simple. Elle


consiste à « reconnecter » les sous-arbres, de manière à obte-
nir de nouveau un arbre.
Dans le présent cas (ig. 4.45), cela peut se faire de 8 de façons
différentes ; par exemple on peut ajouter un arc (III, 1), repré-
sentant le transport ictif d’une quantité très petite, e . 0.
Une fois l’optimum obtenu, on fera e 5 0. On obtient alors
une solution de base, non dégénérée, pour laquelle on peut
calculer les 15 di,j.

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

Remarque pratique importante. Lorsque, dans un problème dégénéré, si un


di,j est négatif et si la seule quantité associée déplaçable vaut ε, il ne faudrait
pas en conclure que l’on a atteint l’optimum et l’on doit poursuivre l’algo-
rithme (en veillant à ne pas retomber sur une solution antérieure). On montre
en effet que le critère d’optimalité pour une solution est que tout coût marginal
di,j de liaison non employée 1 xij 5 0 2 doit être positif ou nul.

résolution pratique du problème de transport


• Première phase (obtention d’une solution de base initiale)
Il est bien évident que si la solution de base initiale du problème a été construite en
tenant compte des faits économiques, c’est-à-dire en essayant d’obtenir un coût total
peu élevé, la procédure d’optimisation décrite au paragraphe précédent risque d’être
considérablement abrégée.
Les praticiens ont proposé un très grand nombre d’heuristiques pour parvenir
à fournir une bonne première solution de base. Commençons par les heuristiques
« gourmandes » : certains ont préconisé la procédure MINILI, consistant à affecter
la quantité maximale à la relation de coût unitaire minimal dans la première ligne,
puis à la relation de coût minimal, parmi celles qui subsistent, dans la seconde
ligne, etc., ou encore MINICO (méthode correspondante utilisant, cette fois, les
coûts unitaires minimaux en colonne). Plus utilement, l’affectation successive
aux relations de coûts minimaux croissants du tableau, en partant du minimum
minimorum, a ses partisans : c’est la procédure MINITAB.

156
4.9 Les programmes de transport

À titre de comparaison, le lecteur pourra essayer MINILI, qui donne un coût


de 3 734 (pas de chance on a obtenu 3 700 par la méthode du coin Nord-Ouest !),
MINICO, pour laquelle le coût tombe à 3 658 et MINITAB qui fournit 3 634. La fai-
blesse de ces trois heuristiques gourmandes provient du fait qu’on ne modiie pas le
problème en ajoutant à tous les coûts d’une même ligne i (ou d’une même colonne j)
une même quantité ui (resp. vj) ce qui revient à remplacer cij par crij 5 cij 1 ui 1 vj.
Cette transformation bouleverse le classement des coûts cij par valeur croissante :
par exemple on peut ajouter 1 000 à tous les coûts d’une même ligne (ou d’une
même colonne) sans changer le classement des solutions suivant leur coût total. La
méthode suivante n’a pas le même inconvénient.
Une procédure, généralement très eficace, est celle de la différence maximale (ou
heuristique de Balas-Hammer) qui favorise l’obtention d’une solution initiale ayant
un coût total assez proche de l’optimum.
Elle consiste à calculer pour chaque rangée (ligne ou colonne), la différence entre
le coût le plus petit et le coût immédiatement supérieur ou égal. Puis à affecter à la
relation de coût le plus petit dans la rangée présentant la différence maximale, la
quantité la plus élevée possible, ce qui a pour effet de « saturer » une ligne ou une
colonne. Ensuite, de reprendre le processus jusqu’à ce que toutes les rangées soient
saturées. Si on sature à chaque fois une seule ligne ou une seule colonne, sauf au
dernier pas, où plusieurs rangées sont saturées à la fois, on utilise bien n 1 m 2 1
relations, dans le cas général, et l’on obtient une solution de base. S’il arrive que
l’on sature à la fois une ligne et une colonne (excluons le dernier pas), alors la solu-
tion sera dégénérée. Ci-dessus, on note D, les différences en ligne et Dc, celles en
colonne.
Donnons les premiers pas pour la matrice proposée plus haut :

1er pas 2e pas


1 2 3 4 5 6 ai  j i 1 2 3 5 6 a1 
I
II
12
23
27 61
39 78
49 83 35 18
28 65 42 32
15
5
I
II
12 27 61
23 39 78
 83 35 18
65 42 32
15
16
III 67 56 92 24
 53 54 14 29 III 67 56 92 53 54 8 1
© Dunod – Toute reproduction non autorisée est un délit.

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 bj 9 11 28 14 5 67
c 11 12 17 4 13 7 c 11 12 17 13 7

• 1er pas. La différence maximale 53 2 24 5 29 est relative à la ligne III. À la rela-


tion (III,4), correspondant au coût le plus petit de la ligne III, on affecte la quantité
6, ce qui sature la colonne 4, qui disparaît alors du problème.
Observations. On remarque que c’est une idée de « regret » qui constitue le fonde-
ment économique de la méthode ; plutôt que d’affecter le maximum d’unités à tran-

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

• 3e pas. Le tableau restant fait apparaître la différence maximale 44, correspondant à


la relation (II,1). On y affecte la quantité 9, ce qui sature la colonne 1, qui disparaît.
• 4e pas. Au quatrième pas, le tableau restant se présente comme il est indiqué
ci-dessus. Deux colonnes fournissent la même différence maximale : 13 ; les rela-
tions (II,3) et (IV, 5) leur correspondent, avec des affectations possibles de 10 et 9
respectivement.
Trois solutions sont ici acceptables, que nous ne discuterons pas plus à fond :
1) affecter 10 à la relation (II, 3) ;
2) affecter 9 à la relation (IV, 5) ;
3) faire les deux affectations en même temps (elles sont indépendantes).
Tout à fait arbitrairement,(1) décidons d’affecter 9 à la relation (IV,5), ce qui sature
la ligne IV.
À ce moment, grâce aux affectations pratiquées, quatre relations sont utilisées et
quatre rangées sont saturées. En continuant ainsi, on affecte ensuite 11 en (II, 2), 5
en (II, 6), 5 en (III, 5), 7 en (II, 3) et, enin, 3 en (III, 3).

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

Le plan de transport [xij] qui en résulte :

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

a) vériie les équations (4.1), (4.2) et (4.3) :

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

a x2j 5 9 1 11 1 7 1 0 1 0 1 5 5 32 5 a2, etc.


6

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

a xi3 5 18 1 7 1 3 1 0 5 28 5 b3, etc.


4

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.

la solution obtenue n’est donc pas dégénérée.


On a bien affaire à une solution de base. Ce que l’on vériie en traçant le graphe
biparti associé : c’est bien un arbre.
• Deuxième phase : optimisation de la solution de base par la méthode
du « stepping-stone ».
On ne sait pas encore si la solution obtenue optimise la fonction économique (4.4) :
z 5 a a cij # xij 5 12x11 1 27x12 1 61x13 1 c
i j
1 23x21 1 39x22 1 c 1 40x45 1 49x46.

159
Chapitre 4 • Applications des graphes à la recherche opérationnelle

On peut calculer la valeur de la fonction économique pour les affectations obte-


nues ; on trouve :
z 5 61 3 18 1 23 3 9 1 39 3 11 1 78 3 7 1 42 3 5 1 92 3 3 1 24 3
6 1 53 3 5 1 49 3 9 5 3 535.
Cette solution est donc, comme on s’y attendait, meilleure que celle du coin
Nord-Ouest (3 700). Pour reconnaître si la solution de base initiale, obtenue par une
procédure quelconque, est optimale, il faut bien entendu calculer les coûts margi-
naux relatifs aux relations inutilisées. Il est bon d’avoir recours, à cet effet, au calcul
des différences de potentiel sur l’arbre représentatif de la solution ; c’est ce que nous
ferons en revenant à l’exemple ci-dessus, pour le plan de transport ci-dessus.
Grâce à l’arbre de la igure 4.46, on pourra calculer
tous les coûts marginaux par la formule :
d i,j 5 Ui 1 ci,j 2 Vj 5 cij 2 ( Vj 2 Ui )
Par exemple :
d I, 1 5 31 1 12 2 37 5 6 ;
d I, 2 5 31 1 27 2 53 5 5 ;
etc.
d II, 4 5 14 1 28 2 24 5 18 ;
etc.
Figure 4.46

i j 1 2 3 4 5 6 Ui Il n’est d’ailleurs pas néces-


saire de tracer la igure elle-
18 même ; on peut opérer directe-
I 31
12 27 61 49 83 35 ment sur la matrice, en ayant

9 11 7 � 5
soin de diviser chaque case en
II 14 deux parties, l’une, celle du bas,
23 39 78 28 65 42
� recevant (de façon déinitive)
3 6 5 �
III 0 le coût de transport de la rela-
67 56 92 24 53 54 tion correspondante et l’autre,
celle du haut, la quantité affec-
IV 13 tée dans la solution courante
71 43 91 67 40 42
(chaque quantité xij a été cerclée
Vj 37 53 92 24 53 56 dans le tableau ci-contre).

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).

Exercice. Le lecteur pourra s’exercer, en partant de la solution de base obtenue


par la méthode du coin Nord-ouest. Il trouvera 5 coûts marginaux négatifs, dont les
deux plus intéressants peuvent être réalisés ensemble, faisant tomber le coût total
du transport à 3 607. Après avoir effectué ces substitutions simultanées, il trouvera
encore deux substitutions compatibles, l’amenant au coût total de 3 529.

161
Chapitre 4 • Applications des graphes à la recherche opérationnelle

Revenons à notre problème. Effectuons les substitutions indiquées plus haut.


Nous obtenons un nouveau plan de transport (cf tableau ci-dessous), vériiant tou-
jours les équations (4.1), (4.2) et (4.3) et réalisant une solution de base. Après avoir
posé UII 5 0 puis établi le système de potentiels, calculons les coûts marginaux :
d I, 1 5 7 1 12 2 23 5 6 ; d I, 2 5 17 1 27 2 39 5 5, etc.
Ils sont tous positifs et l’on a donc atteint l’optimum. Le coût de transport total est :
3 529 5 coût de la solution antérieure – coût fourni par la substitution 5 3 535 2 6.
NB : dans le tableau suivant, pour toute relation (i, j) inutilisée (c’est­à­dire telle
que xij 5 0 2 , on a donné la valeur numérique du dij associé : il igure en haut de la
case ij, précédé de son signe, qui ici est le signe 1, car l’optimum est atteint.

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

Remarque 2 L’heuristique de Balas-Hammer a fourni ici une solution de coût


3 535, très voisin du coût optimal 3 529 : ceci en illustre la qualité…

4.10 recherches arborescenTes


4.10.1 Problème du voyageur de commerce
Imaginons un voyageur de commerce qui doit visiter de nombreuses villes (chacune
une fois et une seule) et revenir à son point de départ. Si l’on dispose de la matrice
des coûts de transport de ville à ville (qu’on pourra supposer non symétrique pour
corser le problème), le voyageur de commerce recherche un circuit hamiltonien de
valeur minimale.
Pendant de longues années, de nombreux chercheurs ont tenté d’inventer un algo-
rithme conduisant à l’optimum de ce problème (NP-dificile) ; on n’en trouvait pas et
l’on n’était pas certain de la validité des solutions ingénieuses proposées par les uns
et les autres pour des exemples numériques relativement importants pour l’époque,
modestes aujourd’hui... (entre 40 et 50 villes). Bien entendu, ces solutions étaient
obtenues à l’aide d’heuristiques, car il n’était pas question d’énumérer les 1 n 2 1 2 !
circuits possibles. C’est alors que Little et al. (1963) ont appliqué au problème une
procédure de recherche arborescente, qui a permis d’obtenir des solutions optimales,
mais en des temps de calcul parfois assez long.
De nombreux perfectionnements sont apportés continuellement à des méthodes
de ce type, qui sortent du cadre de cet ouvrage ; on résout désormais, optimalement,
des problèmes dépassant le millier de villes.
En fait de recherches arborescentes, nous traitons ici d’abord l’exemple du voyageur
de commerce (mais sans aborder la convergence et la initude de la méthode employée).
Signalons, que les initiales SEP., très employées en France pour caractériser la
classe des méthodes arborescentes mises au point, en 1964-65, par B. Roy et son
équipe, signiient « Séparation et Evaluation Progressives ». Nous allons juste-
ment donner un exemple d’un principe de séparation dichotomique, consistant à
augmenter ou non un ensemble d’un élément, en mesurant l’eficacité de l’une ou
de l’autre décision par l’évaluation de la borne inférieure d’un coût. Tandis que les
initiales SES : « Séparation et Evaluation Séquentielle » correspondent à une stra-
© Dunod – Toute reproduction non autorisée est un délit.

tégie de parcours en profondeur d’abord (cf. chapitre 3) ; la méthode booléenne de


Faure et Malgrange (1962) employait déjà implicitement cette stratégie (elle est
décrite en in de chapitre 1).
Pour éviter des longueurs, l’exemple choisi, à n 5 5 villes, sera celui d’un
voyageur de commerce demeurant dans la ville A et désireux de se rendre une fois
et une seule dans les villes B, C, D, Ε et F, avant de revenir chez lui. La matrice
des coûts est donnée ci-après (les tirets remplacent des valeurs ininies) ; il s’agit
évidemment de déterminer, parmi les 1 n 2 1 2 ! 5 120 circuits hamiltoniens, celui
de valeur minimale. L’énumération exhaustive de 1 n 2 1 2 ! est impraticable dès
que n . 15 ou 20 (cf chapitre 2).

163
Chapitre 4 • Applications des graphes à la recherche opérationnelle

Nous diviserons les itérations en blocs. A B C D E F


– Bloc A. On soustrait le plus petit élément de chaque A  6 7 3 1 3 1
rangée (d’abord dans les lignes, puis dans les colonnes) ; ฀฀฀฀
B 7  8 2 9 7 2
la matrice résultante comporte donc au moins un zéro
par rangée : alors il se pourrait que l’optimum ait un C 5 10  10 1 7 1
coût nul. Cette opération (comme dans les problèmes D 8 6 5  5 1 1
d’affectation) conduit à un problème équivalent.
E 7 7 6 7  4 4
– Bloc B. On calcule une borne inférieure de la valeur
du circuit de valeur minimale cherché. Elle est égale à F 9 8 8 5 3  3
la somme des valeurs soustraites de la matrice, au bloc
A. En effet, si la matrice 3 permettait de trouver un cir­ 1. Matrice des coûts : à
droite de chaque ligne
cuit hamiltonien utilisant uniquement des arcs de coût on a figuré son plus
0, la valeur de ce circuit coïnciderait avec la somme des petit coût.
coûts retranchés à la matrice initiale.
Dans le cas présent, cette borne vaut :
B 5 1 1 1 2 1 1 1 1 1 4 1 3 2 1 1 3 1 3 1 2 2 5 20.
La racine R de l’arborescence recevra la valuation B 5 20.
– Bloc C. On calcule les coûts de A B C D E F A B C D E F
substitution (ou regrets) des arcs
A  5 6 2 0 2 A  2 4 2 0 2
de coût nul (ou “zéros”) et l’on
retient le maximum d’entre eux ฀฀฀฀ B 5  6 0 7 5 ฀฀฀฀ B 2  4 0 7 5
(ou l’un d’eux en cas d’égalité). C 4 9  9 0 6 C 1 6  9 0 6
Expliquons d’abord cette notion D 7 5 4  4 0 D 4 2 2  4 0
de regret : soit, par exemple, le 0
qui value l’arc (B, D) dans la E 3 3 2 3  0 E 0 0 0 3  0
matrice 3 ; il signiie qu’on a inté- F 6 5 5 2 0  F 3 2 3 2 0 
rêt à employer l’arc (B, D) qui, a 3 3 2 0 0 0
priori, est à recommander, étant 2. Après soustraction 3. Après soustraction
de coût résiduel le plus petit sur la du plus petit élément du plus petit élément
ligne B. Combien paierait-on en de chaque ligne. Au de chaque colonne de la
dessous de chaque matrice 2.
plus si l’on décidait de ne pas l’uti- colonne on a figuré son
liser ? Comme il faudrait tout de plus petit coût.
même passer par les points B et D,
la meilleure solution consisterait à atteindre D par (A, D) : coût 2 – ou encore (F, D) :
coût 2 – et à quitter B par (B, A) : coût 2.
La somme de ces deux minima, soit 2 1 2 5 4, donne
le regret (minimal) relatif au zéro de la relation (B, D).
On détermine ainsi le coût de substitution (regret)
pour tout zéro de la matrice 3 (cf matrice 4). Puis, on
choisit d’examiner les conséquences qu’auraient la
sélection ou le rejet de l’arc correspondant au plus fort
Figure 4.47
des regrets minimaux.

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.

apparaître un zéro par rangée (matrice 5 bis). Dans l’exemple,


C 1 6  0 6
il n’y a rien à modiier ; ici la matrice 5 bis se confond avec la
matrice 5. D 4  2 4 0
3) La borne du sommet (X, Y) de l’arborescence devient, le E 0 0 0  0
cas échéant : F 3 2 3 0 
B :5 B 1 somme des éléments ôtés au § 2 du bloc E.
Matrice 5 et 5 bis
Dans notre exemple, elle reste égale à 20.
4) Si l’on a atteint une matrice 1 3 1, arrêter les calculs, car on a la solution. Sinon
passer au bloc suivant.

165
Chapitre 4 • Applications des graphes à la recherche opérationnelle

C’est ce qu’on doit faire en poursuivant le traitement de l’exemple.


– Bloc F.
1) À cette étape du problème, inspecter d’abord les bornes des sommets pendants de
l’arborescence et choisir le sommet pendant de borne la plus petite.
Dans l’exemple, on a NON (B, D) : 24, et (B, D) : 20 ; on choisit donc (B, D)
(cf. ig. 4.48).
2) Si ce sommet correspond au type II : (X, Y), il faut revenir au bloc C. Sinon, il
faut aller au bloc G.
Dans l’exemple, on ira au bloc C, puisque l’on a choisi un sommet de type II : (B, D).
– Bloc G. Il s’agit du cas où l’on a choisi, au bloc F, d’après la valeur de sa borne,
un sommet de type I, c’est­à­dire NON (X, Y).
Dans ce cas, interdire l’arc (X, Y) en mettant un coût inini dans la case corres-
pondante de la matrice des coûts réduits. Puis soustraire le plus petit élément de la
ligne X et de la colonne Y, ce qui correspond à l’emploi de la substitution envisagée
au bloc C.
Enin, revenir au bloc C. (Ne pas modiier la borne du sommet de l’arborescence
associé : la somme des éléments ainsi retranchés est égale au regret du zéro en case
(X, Y), soit p(X, Y), qui a déjà été rajouté à la borne : cf. bloc D.)
Suite de l’exemple (le lecteur consultera en parallèle l’arborescence p. 169).
Rappelons d’abord la situation à laquelle la
procédure nous a conduit. Le problème se ramène
maintenant à l’étude de la matrice 5 bis (qui se
confond avec la matrice 5, dans l’exemple). Sur
l’arborescence, on a créé les deux sommets NON
(B, D) et (B, D) ; le premier a 24 pour valeur de la
borne inférieure, le second, 20. On a choisi le som-
met (B, D), de type II ; il faut donc revenir au bloc
Figure 4.48 C pour évaluer les regrets des zéros de la matrice.
1. Prendre en considération le regret concernant (A, E), qui est un des regrets
maximaux dans la matrice 6.
À partir du sommet (B, D), de A B C E F A B C F
borne 20, développer la branche
2 C 1 6 � 6 �1
de l’arborescence : NON (A, E), la A
borne passant à 20 1 2 5 22. C 1 D 4 � 2 0
Supprimer la ligne A et la D 2 E � 0 0 0
colonne E de la matrice 5 bis, inter- E 1 2 2 0 F 3 2 3 � �2
dire l’arc (E, A) qui fermerait un
circuit parasite, d’où la matrice 7. F 2
Cette matrice ne comportant Matrice 6. Matrice 7.
plus un zéro sur chacune de ses Regrets des zéros de la
rangées, il faut soustraire 1 de la matrice 5
ligne C et 2 de la ligne F.
166
4.10 Recherches arborescentes

On obtient la matrice 7 bis et la borne du A B C F A B C E F


sommet (A, E) : 20 1 3 5 23.
C 0 5 ฀฀฀฀5 A ฀฀ 0 2  0
Choisir le sommet pendant de la borne la
D 4  2 0 C 1 6 ฀฀฀0 6
plus petite : c’est NON (A, E), de type I, qui
a pour borne 22. E  0 0 0 D 4  2 4 0
2. Il faut évidemment reprendre la matrice F 1 0 1 ฀ E 0 0 0 ฀฀฀0
5 (matrice des coûts relative au sommet de F 3 2 3 0 
l’arborescence précédant celui que l’on vient
Matrice 7 bis. Matrice 8.
d’adopter) pour exécuter le bloc G, d’où la
matrice 8. Revenir à C.
Matrice 9. Évaluation des regrets des zéros A B C E F A B C F
de la matrice 8. Le plus petit vaut 2, la borne
de NON (D, F) devient 22 1 2 5 24. A 0 0 A  0 2 
Matrice 10. Obtenue par suppression de la C 1 C 1 6  0
ligne D et de la colonne F de la matrice 8, D 2 E 0 0 0 
puis interdiction de (F, B) : elle comporte au 0 F 3  3 0
E 1 0 2
moins un zéro dans toute rangée :
F 2 Matrice 10.
Borne de 1 D, F 2 5 22 1 0 5 22. l’arc (F, B)
Calcul du min{24, 24, 23, 22} 5 22 pour trouver Matrice 9. (regrets) fermerait un
le sommet pendant de plus petite borne. circuit parasite
avec les arcs
Repartir de (D, F), qui est de type II. A B C E déjà retenus :
3. La matrice 11 donne les regrets de la A 2 (B, D) puis
matrice 10 ; le plus fort vaut 3 : (F, E). (D, F )
C 1
Borne de NON 1 F, E 2 5 22 1 3 5 25.
Borne de 1 F, E 2 5 22 1 1 5 23 (passage de E 1 0 2
la matrice 12 à la matrice 12 bis). F 3
Calcul du min{24, 24, 25, 23, 23} 5 23. Matrice 11. (regrets)
On décide de continuer à partir de (F, E), de A B C A B C
borne 23. L’arc parasite est (E, B). A  0 2 A  0 2
4. La matrice 13 des regrets de la matrice 12
bis désigne (A, B), de plus fort regret : C 1 6  ฀1 C 0 5 
© Dunod – Toute reproduction non autorisée est un délit.

Borne de NON 1 A, B 2 5 23 1 7 5 30. E 0  0 E 0  0


Borne de 1 A, B 2 5 23 1 0 (matrice 14). Matrice 12. Matrice 12 bis : on a
soustrait à la ligne C
Calcul du min{24, 24, 25, 30, 23, 23} 5 23. A B C A C
On décide de continuer à partir de (A, B) de
A 7 0 
borne 23. L'arc parasite est (E, B).
5. La matrice 15 laisse le choix entre (C, A) C 5  0
et (E, C). Arbitrairement : choix de (C, A). E 0 2
Borne de NON 1 F, E 2 5 23 1 ` 5 1 `. Matrice 13. Matrice 14.
Borne de 1 C, A 2 5 23 1 0 (matrice 16). (regrets)

167
Chapitre 4 • Applications des graphes à la recherche opérationnelle

La matrice 16 est de format 1 3 1 : se A C C


garder d’interdire l’arc (E, C). C  E 0
6. Prendre (E, C). E 
Borne de NON 1 E, C 2 5 23 1 ` 5 1 `.
Matrice 15. Matrice 16.
Borne de 1 E, C 2 5 23 1 0 5 23. regrets

On a le circuit hamiltonien : (B, D, F, E, C, A, B), de valeur 23.


6 bis. On remarque que la borne du sommet (A, E) est également 23 ; au numéro 5,
on a d’ailleurs choisi de continuer en prenant (E, C) parce que la matrice 16 était de
format 1 3 1.
Il se pourrait donc qu’il existe un autre circuit hamiltonien utilisant l’arc (A,
E). Revenant à la matrice 7 bis, on évalue les regrets de ses zéros et l’on choisit
ainsi l’arc (C, A). On a ensuite : borne de NON 1 C, A 2 5 23 1 6 5 29 et borne de
1 C, A 2 5 23 1 1 5 24.
A B C F B C F B C F
C 6 D  2 0 D  1 0
D 2 E 0  0 E 0  0
E 0 1 0 F 0 1  F 0 0 
F 1 ฀1

Matrice 17 regrets. Matrice 18. Matrice 18 bis.

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

Le lecteur observera que dans la méthode gour- A B C D


mande, le choix initial d’arcs de faible coût peut A  1 1 2
avoir pour conséquence (implication) l’obligation
de prendre des arcs « chers » en in d’application B 1  2 1
de la méthode. C 1 2  100
D 2 1 100 
Matrice 19.

Figure 4.49 L’optimum est le circuit hamiltonien (B, D, F, E, C, A, B) de coût 23.

Il se pose alors la question de l’existence d’une garantie de performance pour une


heuristique donnée : peut-on borner l’écart entre le coût de l’optimum c* d’un pro-
blème et le coût cH d’une solution heuristique calculée en temps polynomial ? Pour le
problème du voyageur de commerce, on peut montrer qu’il n’existe pas de garantie
© Dunod – Toute reproduction non autorisée est un délit.

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 :

a ai . B (sinon on pourrait mettre les n objets dans le sac !).


n

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 :

Figure 4.50 Arborescence obtenue pour la résolution du problème de sac à dos.

Une borne supérieure de la solution optimale, l’évaluation de la racine de l’arbo-


rescence, est obtenue en “relâchant” les contraintes d’intégrité sur les variables, c’est-
à-dire en remplaçant les contraintes xi 5 0 ou xi 5 1 par : 0 < xi < 1. Dans le cas
spéciique du problème du sac à dos, la solution optimale du programme linéaire cor-
respondant est facilement obtenue sans même utiliser les algorithmes présentés dans
le chapitre 8. Pour notre exemple, nous obtenons la solution relâchée (continue) :

172
4.10 Recherches arborescentes

x1 5 1, x2 5 1/2, x3 5 x4 5 x5 5 x6 5 0, de valeur z 5 24. L’évaluation de la racine


S0 sera donc E(S0) 5 24.
Cette solution continue obtenue n’étant pas entière (x2 5 0,5), l’ensemble S0 des
solutions admissibles est séparé en S1 : l’ensemble des solutions telles que x2 5 1, et
S2 : l’ensemble des solutions telles que x2 5 0. Le problème associé à S1 est alors :
max z 5 15x1 1 4x3 1 7x4 1 2x5 1 x6
• 3x1 1 x3 1 3x4 1 x5 1 x6 < 1
xi H 5 0, 1 6 , 1 < i < 6.
Celui associé à S2 est :
max z 5 15x1 1 4x3 1 7x4 1 2x5 1 x6
• 3x1 1 x3 1 3x4 1 x5 1 x6 < 5
xi H 5 0, 1 6 , 1 < i < 6.
Ces deux problèmes sont aussi des problèmes de sac à dos, nous pouvons leur
appliquer le même traitement que celui effectué à S0. Nous obtenons, pour S1, la
solution optimale en variables continues :
1
x1 5 , x2 5 1, x3 5 x4 5 x5 5 x6 5 0, de valeur z 5 23,
3
et, pour S2, la solution en variables continues :
1
x1 5 1, x2 5 0, x3 5 1, x4 5 , x5 5 x6 5 0, de valeur z 5 21.
3
Pour ces deux problèmes les solutions obtenues ne sont pas entières, les ensembles
correspondant devront être à nouveau séparés.
En appliquant le principe d’exploration consistant à examiner en priorité
l’ensemble ayant la meilleure évaluation, S1 est partitionné en S3, l’ensemble des
solutions telles que x1 5 1 et S4, l’ensemble des solutions telles que x1 5 0. Le pro-
blème associé à S3 n’admet pas de solution, la contrainte de capacité du sac à dos
étant violée ; l’exploration de S3 est terminée. Le problème associé à S4 est :
max z 5 4x3 1 7x4 1 2x5 1 x6
• x3 1 3x4 1 x5 1 x6 < 1
x1 H 5 0, 1 6 , 1 < i < 6
© Dunod – Toute reproduction non autorisée est un délit.

qui admet pour solution en variables continues (x1 5 0, x2 5 1,) x3 5 1, x4 5 x5 5


x6 5 0, de valeur z 5 22. Cette solution est entière, l’exploration de S4 se termine et
une solution réalisable du problème initial est trouvée.
Nous revenons alors au sommet S2. Son évaluation E(S2) 5 21 est inférieure à la
valeur de la solution que nous venons de trouver, l’ensemble des solutions contenues
dans S1, qu’on sait être a priori moins intéressantes que celles contenues dans S4,
n’est donc pas exploré. Tous les sommets de l’arborescence ont alors été explorés,
l’algorithme s’arrête. La solution optimale (unique) est celle obtenue pour S4 :
x1 5 0, x2 5 1, x3 5 1, x4 5 x5 5 x6 5 0 d’utilité 22, de volume (maximal) 5.

173
Chapitre 4 • Applications des graphes à la recherche opérationnelle

Remarquons qu’à l’optimum, le sac-à-dos n’est pas nécessairement plein comme


c’est le cas ici. Ceci résulte du caractère non sécable des objets.
Programmation linéaire en nombres entiers
L’exemple que nous allons traiter est celui présenté dans le chapitre consacré aux
applications de l’algèbre de Boole au chapitre 1.
Considérons le programme linéaire (PL) en nombres entiers suivant :
max z 5 3x1 1 8x2
x1 1 4x2 < 20
e x1 1 2x2 < 11
3x1 1 2x2 < 22
x1, x2 H N
À chacun des sommets de l’arborescence est associé un programme linéaire(1)
obtenu en ajoutant une contrainte supplémentaire au problème-père. L’évaluation
calculée est la valeur optimale du programme linéaire continu correspondant (voir
le chapitre 8 pour la résolution de programme linéaire continu). L’arrêt de l’explora-
tion se fait lorsque la solution du programme linéaire continu se trouve être entière
ou bien s’il n’admet pas de solution. Dans le cas contraire, l’ensemble des solutions
associé au sommet considéré est séparé en deux de la manière suivante : si xi est une
variable de valeur ν non entière dans la solution continue, le premier sous-ensemble
de solutions est obtenu en ajoutant la contrainte xi < :v; et le second sous-ensemble
est obtenu en ajoutant la contrainte xi > <v= (où :v; et <v= désignent respectivement la
partie entière inférieure et la partie entière supérieure du nombre v).
La igure 4.51 représente l’arborescence que nous allons obtenir au long de la
résolution de cet exemple que le lecteur pourra vériier en résolvant graphiquement
le PL associé à chacun des sommets (ces PL n’ayant que deux variables).

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

La racine S0 de l’arborescence correspond au problème initial qui a pour solution


optimale continue :
9
x1 5 2, x2 5 , de coût z 5 42.
2
La solution optimale du programme linéaire continu étant unique, toute autre solu-
tion en nombres entiers aura un coût strictement inférieur à 42, l’évaluation (entière)
de S0 est alors E(S0) 5 41.
En ajoutant la contrainte x2 > 5, nous obtenons le problème suivant associé au
sommet S1, successeur de S0 dans l’arborescence :
max z 5 3x1 1 8x2
x1 1 4x2 < 20
x1 1 2x2 < 11
f 3x1 1 2x2 < 22
x2 > 5
x1, x2 H N
La solution continue de ce problème donne x1 5 0, x2 5 5 de coût z 5 40. Cette
solution étant entière, l’exploration du sommet S1 s’arrête. Une première solution
réalisable de coût 40 est obtenue.
S2, le second successeur de la racine S0, est obtenu en ajoutant la contrainte x2 < 4
au problème initial. Le programme associé à S2 est alors :
max z 5 3x1 1 8x2
x1 1 4x2 < 20
x1 1 2x2 < 11
f
3x1 1 2x2 < 22
x2 < 4
x1, x2 H N
La solution continue de ce problème donne x1 5 3, x2 5 4 de coût z 5 41. Cette
solution est entière, de coût égal à l’évaluation de S0, elle est donc optimale.
© Dunod – Toute reproduction non autorisée est un délit.

175
Chapitre 4 • Applications des graphes à la recherche opérationnelle

EXERCICES

I PROGRAMMATION DyNAMIqUE

**4.1 Problème du sac à dos : résolution par la programmation


dynamique
Un alpiniste choisit les aliments qu’il va emporter dans son sac-à-dos. Pour chacun
des aliments possibles, on connaît sa valeur nutritive ci et son poids ai
Nous considérons le programme linéaire en variables 0 2 1 suivant :
L’alpiniste peut porter au plus b kilos. Il veut maximiser la valeur nutritive globale
des aliments emportés.
max z 5 a cixi
n

a aixi < b
n i 51

µ
i 51

x i H 5 0, 1 6 , 1 < i < n; x i 5 1 si l’aliment i est emporté, = 0 sinon.


où les coeficients ai, ci, b sont entiers et positifs. L’objectif de cet exercice est de
montrer comment résoudre ce problème en utilisant un principe de programmation
dynamique. Le problème est décomposé en n phases de la façon suivante :
à la phase k, 1 < k < n, on calcule la valeur nutritive optimale du sac chargé à d
kilos en choisissant des aliments seulement parmi les k premiers aliments

zk ( d ) 5 maxb a ci xi ` a aixi < d, xi H 5 0, 1 6 r


k k

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 elles­mê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

4. Supposons maintenant qu’à la phase k, pour la valeur d, xk 5 0 soit dans


une solution optimale.
Montrer que dans ce cas zk 1 d 2 5 zk 2 1 1 d 2 .
5. Déduire des questions précédentes que pour k 5 2, c, n et
d 5 0, c, b on a :
z 1d2 si ak . d,
zk 1 d 2 5 b k 2 1
max 1 zk 2 1 1 d 2 , ck 1 zk 2 1 1 d 2 ak 2 2 si ak < d.
6. Considérons l’exemple suivant :
max 16x1 1 19x2 1 23x3 1 28x4 5 z
2x1 1 3x2 1 4x3 1 5x4 < 7
x1, x2, x3, x4 H 5 0, 1 6
Appliquer l’algorithme de programmation dynamique à cet exemple. On
pourra tracer le graphe des décisions pour illustrer le calcul de l’optimum.

***4.2 Détermination de la plus longue sous-séquence commune


à deux séquences, par application de la programmation dynamique
Soit deux séquences (ou mots) A 5 a1 can et B 5 b1 cbk. On dira que
B 5 b1 cbk est une sous­séquence de A, s’il existe une suite d’indices i1, c, ik
strictement croissante (mais non nécessairement consécutifs) extraite de 1, c, n
telle que, pour tout j 5 1, c, k, on ait : aij 5 bj. Par exemple, la séquence
B 5 cnam est une sous-séquence de la séquence A 5 reconstituames.
Étant données deux séquences A et B, Ζ est une sous­séquence commune de A et
B si et seulement si Ζ est une sous-séquence de A et de B. Par exemple Ζ 5 mai est
une sous-séquence commune de A 5 combinatoire et B 5 optimisation.
Le problème que l’on veut résoudre est la détermination d’une sous-séquence
commune à deux séquences données, qui soit de longueur maximale.
Ce problème admet de nombreuses applications, notamment dans l’étude de
séquences d’ADN en biologie.
1. Montrer que le nombre de sous­séquences d’une séquence de longueur
n est 2n (par convention la séquence vide, de longueur nulle, est une sous­
© Dunod – Toute reproduction non autorisée est un délit.

séquence de toute séquence). En déduire la complexité d’un algorithme qui


calculerait toutes les sous­séquences de A et de B et les comparerait deux à
deux pour déterminer une plus longue sous­séquence commune.
L’objet de cet exercice est de concevoir un algorithme de programmation
dynamique de complexité moindre.
Soit une séquence A 5 a1 can, on déinit le ième préixe de A, pour
i 5 0, c, n, par Ai 5 a1 cai. Par exemple, si A 5 modélisation alors
A4 5 mode.

177
Chapitre 4 • Applications des graphes à la recherche opérationnelle

Soient Ai et Bj respectivement le ième préixe d’une séquence A et le jème


préixe d’une séquence B. Soit Z 5 z1 czk une plus longue sous­séquence
commune de ces deux préixes.
2. Montrer que si ai 5 bj alors zk 5 ai et z1 czk 2 1 est une plus longue
sous­séquence commune de Ai 2 1 et de Bj 2 1.
3. Montrer que si ai 2 bj alors Ζ est une plus longue sous­séquence com­
mune de Ai 2 1 et de Bj, ou de Ai et de Bj 2 1.
Soit f(i, j) la longueur maximale d’une sous­séquence commune de Ai et Bj.
4. Justiier l’équation de récurrence suivante :
0 si i 5 0 ou j 5 0,
f 1 i, j 2 5 c f 1 i 2 1, j 2 1 2 1 1 si i, j . 0 et ai 5 bj,
max 1 f 1 i, j 2 i 2 , f 1 i 2 1, j 2 2 si i, j . 0 et ai 2 bj.
Ain de ne pas calculer plusieurs fois une même valeur f(i, j), ces valeurs
seront conservées un tableau bidimensionnel T.
5. Expliquer comment déduire directement la valeur T(i, j) des valeurs
T(k, l), où : 0 < k < i et 0 < l < j.
6. Décrire un algorithme de complexité O(nm) pour calculer toutes les
valeurs f(i, j) , i H 5 0, c, n 6 et j H 5 0, c, n 6 .
7. Appliquer cet algorithme aux deux séquences A 5 parité et B 5 arrêt.
La longueur d’une plus longue sous­séquence commune étant calculée,
une plus longue sous­séquence commune peut être obtenue à partir de cette
valeur et du tableau T.
8. Donner le principe d’un algorithme de complexité O 1 m 1 n 2 pour cal­
culer une plus longue sous­séquence commune de A et B.

**4.3 D’un problème ancien à l’étagement des fusées


Une bête de somme, consommant 0,5 kg de nourriture par kilomètre parcouru et
pouvant transporter une charge de 100 kg au maximum, se trouve en un dépôt qui
contient 500 kg de nourriture.
1. De quelle distance maximale cette bête peut­elle s’écarter de son point
de départ en utilisant complètement la réserve ? (1er cas).
2. Quelle quantité maximale de nourriture pourrait­elle apporter à une dis­
tance de 100 km de son point initial ? (2e cas).

II CHEMINS OPTIMAUX

*4.4 Algorithme de FORD : cas d’une minimisation


On donne le graphe ci-dessous et l’on demande d’appliquer à la recherche du chemin
de valeur minimale, l’algorithme de Ford, entre A et F.

178
Exercices

NB : l’arc (B, D) est valué : 22 ; les arcs (A, D) et (B, E) sont valués : 6.

*4.5 Algorithme de FORD : cas d’une maximisation


On donne le graphe ci-dessous.
1. Montrer que G est sans circuit : a fortiori, G ne comporte pas de cir­
cuit absorbant. Pour cela vous trouverez une numérotation topologique des
sommets (rappel : dans celle­ci, tout arc (xi, xj) est tel que i , j).
2. Appliquer l’algorithme de Ford pour déterminer les chemins de valeur
maximale, d’origine x1 vers tous les autres sommets (traiter les sommets
dans l’ordre de cette numérotation topologique).

*4.6 Algorithme de Dijkstra


Un livreur de pizzas doit livrer une commande en moins de 14 minutes. Chaque arête
du graphe représenté par la igure ci-dessous indique la durée, exprimée en minutes,
des trajets entre les différents carrefours de son arrondissement. La société fabriquant
les pizze se situe au sommet A du graphe et la livraison doit s’effectuer au sommet H.
1. Dire pour quelles raisons le livreur peut résoudre ce problème en utilisant
l’algorithme de Dijkstra ; au préalable chaque arête [x,y] sera remplacée par
© Dunod – Toute reproduction non autorisée est un délit.

deux arcs de sens opposés : (x,y) et (y,x) ; sauf pour celles issues de A et de H.
2. Le livreur arrivera­t­il à temps ?

179
Chapitre 4 • Applications des graphes à la recherche opérationnelle

**4.7 Méthode matricielle


La matrice 1 ci-dessous donne les valuations d’un graphe.
Appliquer la méthode matricielle, c’est-à-dire l’adaptation de l’algorithme de
Roy-Warshall, pour déterminer les « plus courts » chemins (c’est-à-dire les chemins
de valeur minimale) entre tous les couples de sommets du graphe ; il est conseillé de
l’implémenter, ce qui est aisé. Vous pourrez vériier les résultats en traçant le graphe
(qui est sans circuit).
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

 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

*4.8 Graphes PERT et MPM, chemin critique et marges


La mise en exploitation d’un nouveau gisement minier nécessite la réalisation des
opérations ci-dessous :
Durée
a) Obtention d’un permis d’exploitation ..................................... 8 mois*
b) Construction d’une piste entre route et site ............................. 3 mois

180
Exercices

c) Installation de trois sondeuses ................................................. 3 semaines


d) Édiication de baraquements provisoires ................................. 1 mois
e) Asphaltage de la piste .............................................................. 3 semaines
f) Adduction d’eau ...................................................................... 6 semaines
g) Campagne de sondage ............................................................. 8 mois
h) Fonçage et équipement des puits ............................................. 5 mois
i) Installation au fond du matériel d’exploitation ....................... 2 mois
j) Construction de logements pour le personnel ......................... 13 semaines
k) Traçage et aménagement du fond ............................................ 38 semaines
l) Construction d’une laverie ...................................................... 42 semaines
* Les mois seront comptés chacun pour 4 semaines.
On a constaté que l’opération b devait être précédée de l’opération a et qu’elle pré-
cède les opérations c, d, e et f ; que les opérations c et d devaient précéder l’opération
g ; que les opérations h et j, enin, devaient être précédées par les opérations e, f, g et
qu’elles précèdent les opérations i, k et l.
A. 1. Tracer le graphe événements-opérations (graphe PERT), relatif à
l’ensemble de ces opérations.
2. Rechercher le chemin critique.
3. Calculer les dates au plus tôt, dates au plus tard, marges totales, marges
libres.
B. Effectuer le même calcul en utilisant la méthode des potentiels MPM.

*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.

E 18 jours nécessite B ini


F 25 jours nécessite B et C inis
G 15 jours nécessite D, E et F inis
H 17 jours nécessite E et la 1re moitié de C inis
I 10 jours nécessite D, E et F inis

1. Tracer un graphe PERT pour ce projet ; attention aux tâches ictives


(8 au minimum sont nécessaires).
2. Puis calculer la durée minimale du projet ; donner le chemin critique.

181
Chapitre 4 • Applications des graphes à la recherche opérationnelle

**4.10 Modifications survenant dans le déroulement d’un projet


On donne le graphe ci-dessous et l’on demande de rechercher le chemin critique.
NB. Sur ce diagramme les sommets sont des événements, les arcs des opérations.
On introduit alors les modiications suivantes :
1. l’opération b ne peut débuter que
lorsque les 2/3 de l’opération c ont été
achevés ;
2. l’opération c ne peut débuter qu’une
période après le début général des opé­
rations ;
3. l’opération k ne peut commencer
que lorsque le premier tiers de l’opération j a été exécuté ;
4. l’opération h ne peut débuter qu’après l’exécution aux 2/3 de l’opéra­
tion e ;
5. le début de l’opération m ne peut avoir lieu que deux périodes après
l’achèvement de l’opération f.
Calculer le nouveau chemin critique en utilisant la méthode des potentiels.
Étudier aussi la modiication du graphe PERT.
Comparer les deux méthodes.

IV FLOTS, AFFECTATIONS ET TRANSPORT

*4.11 Problème de flot


Trois dépôts A, B, C disposent respectivement de 30, 20 et 45 tonnes de marchan-
dises ; cinq destinations D, E, F, G et H en demandent des quantités respectives de
10, 25, 20, 25 et 15 tonnes. Des camions, faisant route entre les points désignés,
offrent les disponibilités (tonnages) ci-contre.

Etablir le meilleur plan de transport.

182
Exercices

*4.12 Tracé d'un réseau de transport et flot maximal


I) Un graphe de n 5 5 sommets et m 5 8 arcs est décrit par la liste des successeurs:
i 1 2 3 4 5
di+ 2 2 3 0 1

où di1 le demi-degré extérieur du sommet i, est le nombre d’arcs partant du sommet i.


j 1 2 3 4 5 6 7 8
ext(j) 2 5 1 5 1 2 5 4

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.

*4.13 Problème d’affectation


On a tiré au hasard les éléments de la matrice ci-dessous à six lignes et six colonnes.
Affecter un élément et un seul par ligne et par colonne, de manière à obtenir la
© Dunod – Toute reproduction non autorisée est un délit.

somme minimale “coût” minimal des affectations.

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

*4.14 Programme de transport


En des dépôts 1, 2, 3, et 4 existent des quantités respectives de 500, 600, 200 et
900 tonnes de minerai à transporter. Les distances mutuelles des clients, au nombre
de 6, aux dépôts 1, 2, 3, et 4 sont données par la matrice ci-dessous.

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

Établir le plan de transport le plus économique de manière à faire parvenir, aux


points de vente 1, 2, 3, 4, 5 et 6, les quantités respectives : 400, 300, 700, 200, 400
et 200 tonnes.

*4.15 Comparaison d’heuristiques pour les programmes


de transport
On donne la matrice d’un programme de transport ci-dessous, comportant quatre
origines et cinq destinations. Vériier que la somme des disponibilités égale celle des
demandes.

On demande de chercher la (ou les) solutions optimales(s) en utilisant, pour obte-


nir la première solution de base :
a) la règle du coin nord-ouest ;
b) la règle de la différence maximale (méthode de Balas-Hammer).
Comparer ces deux méthodes du point de vue de la longueur des calculs.

184
Exercices

V ARBRES, RECHERCHES ARBORESCENTES

*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 :

1. par l’algorithme de Prim, en respectant l’ordre alphabétique.


2. par l’algorithme de Kruskal.

Existe-t-il plusieurs solutions ?

*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

5.1 inTroducTion aux ProblèMes sTochasTiques


On dit qu’on a affaire à un problème stochastique lorsque le hasard y intervient :
c’est la dificulté principale de ces problèmes.
Or, le gestionnaire n’est pas totalement désarmé dans une telle situation. S’il a
une connaissance statistique du passé récent et s’il estime que l’avenir proche res-
semblera à ce passé, il peut songer à utiliser son information pour se prémunir contre
des conséquences fâcheuses du hasard.
Cette attitude, toute naturelle dans les sciences expérimentales où les lois peuvent,
à l’échelle humaine, être considérées comme permanentes et où les mêmes causes
produisent les mêmes effets, ne peut être étendue aux phénomènes d’organisation
qu’avec prudence. Ainsi, si l’on a reconnu que les ventes de l’année passée ont
affecté la forme d’une certaine distribution statistique, de moyenne 500 par mois,
par exemple, et s’il s’agit d’un produit en pleine expansion, on pourra estimer que la
même allure statistique du phénomène se conservera cette année, la moyenne étant
toutefois relevée de x % et l’on déterminera cette proportion par l’étude de la « ten-
dance » (trend) sur les statistiques antérieures.
La projection du passé sur l’avenir ne peut donc pas se faire de façon automatique.
Si les budgets de la publicité et du service commercial doivent subir une sérieuse
augmentation, on se donnera pour objectif d’accroître les ventes de l’année précé-
dente ; mais, si un puissant concurrent vient de s’installer, sans doute faudra-t-il pré-
voir que le développement du marché ne proitera pas qu’aux irmes déjà en place...
Dans ces conditions, les indications statistiques qui seront utilisées dans les divers
chapitres relatifs à la lutte contre le hasard, quoique présentées, pour la facilité de
l’exposé, comme des données résultant de l’étude directe du passé, devraient en réalité
5.1 Introduction aux problèmes stochastiques

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.

1. Pour le vocabulaire technique employé ici, se reporter aux paragraphes suivants.


2. Nous insisterons sur l’importante économie de pensée que procure la théorie des graphes pour
la présentation des notions utiles sur les processus stochastiques et leurs applications.

187
Chapitre 5 • Processus stochastiques et programmation…

5.2 définiTion d’un Processus sTochasTique


Un processus stochastique (ou processus aléatoire) est une famille de variables aléa-
toires Xt :
5 Xt, t H T 6
où t parcourt l’ensemble T (qui représente, le plus souvent, un ensemble de temps).
Si T est discret, on parle plus volontiers de suite stochastique, l’appellation de pro-
cessus étant alors réservée au cas de T continu. Dans les applications, Xt représentera
l’état pris par un système à l’instant t : ainsi pour une ile d’attente, Xt sera le nombre
de clients présents à t.
La lettre T a donc été choisie en raison du fait que, très souvent, elle désigne un
ensemble de dates ; lorsque T est discret, t1, t2, c, tn, csont des instants don-
nés ; lorsque T est continu (T 5 R1 par exemple), t désigne un instant quelconque
1t > 02.
Lorsque Xt peut prendre un ensemble ini ou inini dénombrable de valeurs (ou
états), le processus est dit à espace d’états discret : c’est très souvent le cas en
recherche opérationnelle. Si, au contraire, ses valeurs appartiennent à un ensemble
continu (un intervalle de R par exemple), on dit qu’il est à espace d’états continu :
c’est fréquemment le cas en physique.
Un processus aléatoire 5 Xt, t H T 6 est markovien si, pour tout instant u, pour toute
valeur Xu 5 x donnée, la probabilité pour que le processus prenne la valeur y (passe
par l’état y) à un instant quelconque t ultérieur (c’est-à-dire pour tout t > u) ne dépend
pas des valeurs prises par le processus avant l’instant u :
P 3 Xt 5 y k Xs pour s , u ; Xu 5 x 4 5 P 3 Xt 5 y k Xu 5 t 4
On dit aussi que le processus est sans mémoire.

5.3 chaînes de Markov à esPace d’éTaTs discreT


C’est ainsi qu’on nomme une suite stochastique (le temps est donc discret) à espace
d’états discret et vériiant la propriété « sans mémoire » ci-dessus ; nous suppose-
rons, en outre, le processus homogène.
On a donc T 5 5 t0, t1, c, tn, c6 ; le plus souvent on confondra T avec N : on
étudiera les états Xt par lesquels passe un système à t 5 0, 1, 2, c
Soit un ensemble d’états :
e 5 5 E1, E2, c, En, c6 ,
ini ou inini. On dit que « le processus est passé par l’état Ek à l’instant n » si :
Xn 5 k.
Par déinition, une chaîne de Markov possède la propriété « sans mémoire ».
P 3 Xn 5 j k X0 5 i0, X1 5 i1, c, Xn 2 1 5 in 2 1 4 5 P 3 X 5 j k X
n n215 i 4 5 p( n ) .
n21 ij

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.

p j 1 1 2 5 a p i 1 0 2 # pij ; soit, matriciellement :


i 51
r

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…

On peut écrire aussi :


P ( n 2 1) 5 P ( n 2 2) # m
et ainsi de suite, jusqu’à :
P (2) 5 P (1) # m
e t P ( 1) 5 P ( 0) # m
En remplaçant (1) par sa valeur dans l’expression de (2), (2) par sa valeur
dans l’expression de P 1 3 2 ,c, on obtient évidemment :
P ( n ) 5 P ( 0 ) # mn,
ce qui signiie que la « situation du système » (c’est-à-dire les probabilités des états)
après la nième transition ne dépend que de la distribution initiale (0) et des probabi-
lités de transition, [pij] 5 m. Notons que si les probabilités de transition possèdent la
propriété “sans mémoire”, ce n’est pas le cas pour les probabilités des états.
Nous notons pij1n2 la probabilité de passer de l’état Ei à l’état Ej, en exactement n
transitions(1). Dans ces conditions, on a évidemment pour n = 2 transitions :

pij122 5 a pik # pkj


r

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 :

pij1n2 5 a pik # pkj1n 2 12,


r

k51
puis, d’une manière plus générale pour n = p+q transitions :

pij1p 1 q2 5 a pik1p2 # pkj1q2.


r

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.

En effet, on a bien : pij122 5 a pik # pkj ; on reconnaît la formule


r

k51

du produit matriciel et donc 3 pij(2) 4 5 m2.

(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

soit : m (n) 5 m # mn 2 1, on a aussi : m (n) 5 mn. k51

Matriciellement, la relation de Chapman-Kolmogorov revient à:


m 5m(p) # m(q), vrai car mp 1 q 5 mp # mq.
( p 1 q)

5.4 classificaTion des éTaTs d’une chaîne de


Markov finie à l’aide du graPhe des TransiTions
À la matrice m 5 [pij], faisons correspondre le graphe G 5 (X, U), tel que X 5 e,
c’est-à-dire que les sommets du graphe ne sont autres que les états de la chaîne de Markov,
et U 5 5 1 Ei, Ej 2 k Ei. Ej Pe ; pij . 0 6 , c’est-à-dire qu’il existe un arc dans le graphe G
de l’état Ei vers l’état Ej si la probabilité de transition pij est strictement positive.

Exemple. Un système peut se trouver dans l’un des 12 états : A, B, C. c, L. On a donc


e 5 5 A, B, c, L 6 , (plutôt que e 5 5 E1, E2, c, E12 6 : ceci pour alléger la notation).
Toutes les minutes, ce système subit une transition, c’est-à-dire un changement
d’état (ou bien reste dans l’état antérieur). Voici la matrice m 5 3 pij 4 donnant les
probabilités de transition et le graphe G 5 1 e, U 2 associé (ig 5.2) : (les cases vides
correspondent à un zéro)

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 sous­chaî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

NB. Ici # 4 représente : 0,4.

192
5.4 Classification des états d’une chaîne de Markov

Déterminons, pour chaque sous-chaîne, les « classes d’états communicants » qui


d’après la remarque ci-dessus, coïncident avec les composantes fortement connexes
du graphe (cette détermination peut se faire algorithmiquement : par un algorithme
fondé sur un parcours en profondeur du graphe, donc de faible complexité). Pour e1,
on trouve 4 composantes fortement connexes et donc 4 classes :
c1 5 5 A 6 , c2 5 5 B, H 6 , c3 5 5 C, F, G 6 , c4 5 5 D, E, K 6 .
Pour e2, on trouve 2 composantes fortement connexes et donc 2 classes :

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.

c’est-à-dire que ck précède une autre classe.


Au contraire, les classes c3, c4 et c6 – qui sont des « éléments maximaux » (sans
classe « au dessus » d’elles) – sont nommées « classes récurrentes » (on dit aussi
persistantes ou inales) ; lorsque le système atteint un état d’une classe récurrente
cr, tous les états par lesquels il passera ultérieurement appartiennent à cette même
classe cr.
Mais il existe des différences entre les classes récurrentes ; ainsi entre la classe
c4 5 5 D, E, K 6 et la classe c3 5 5 C, F, G 6 : en effet si le système passe par l’état C
lors de la kième transition, il est certain qu’il passera par F lors de la k 1 1ième, par G
lors de la k 1 2ième, de nouveau par C lors de la k 1 3ième et ainsi de suite : il s’agit

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

À cause de cette propriété particulière, la sous-chaîne est qualiiée d’ergodique,


car elle assure (comme en théorie cinétique des gaz) un certain équilibre statistique,
qu’on nomme ergodisme.
On admettra qu’une chaîne de Markov inie est ergodique (alors P* > 0) si et
seulement si elle comporte une seule classe récurrente1 et si, de plus, cette classe est a-
périodique (voir page suivante). Une chaîne de Markov est fortement ergodique (alors
P* . 0 ) si elle est constituée d’une seule classe d’états, tous apériodiques ; cette classe
unique est récurrente, il n’existe pas alors de classe transitoire ; en termes de graphes,
une chaîne de Markov inie est fortement ergodique si son graphe est fortement connexe
(ce qui assure l’existence d’une classe fortement connexe et d’une seule) et comporte
une boucle (ce qui assure que la classe soit apériodique) ; cette condition d’apériodicité
est sufisante mais elle n’est pas nécessaire : cf. la in de ce paragraphe.
Remarquons que, dans la sous-chaîne {I, J, L}, les états I et L sont transitoires,
tandis qu’elle comporte une seule classe récurrente et apériodique contenant, en fait,
un seul état : J. Dans ce cas, un tel état est qualiié d’« absorbant » (noter l’analogie
avec les états­piège dans les automates). Notons que cette sous-chaîne est ergodique,
mais pas fortement ergodique puisque : P* 5 3 0 1 0 4
I J L
Remarques.
• Une chaîne de Markov inie possède nécessairement au moins une classe
récurrente (qui peut être apériodique ou périodique).
• Pour une chaîne fortement ergodique, la matrice m* 5 lim mn a toutes
nS `
ses lignes identiques et égales au vecteur *, ainsi :

52 63 28
n1
lim mr 5 £ 52 63 28 §
n S` 143
52 63 25

Cette propriété permet de comprendre le paradoxe (qui n’est qu’apparent) suivant :


Nous avons vu que : P ( n ) 5 P ( 0 ) # mn.
© Dunod – Toute reproduction non autorisée est un délit.

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*.

1. Elle peut donc comporter plusieurs classes transitoires.

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

P*, ne dépendant pas de a, b et g, est donc bien indépendant de (0) !


• Valeurs propres de la matrice m 5 3 pij 4 .
La matrice m est une matrice à éléments positifs ou nuls ; la somme des termes de
chaque ligne étant égale à 1 (on dit alors que m est « stochastique »). Toute matrice
stochastique admet au moins une valeur propre égale à 1 et toutes les valeurs propres
ont un module inférieur ou égal à 1. L’ordre de multiplicité de la valeur propre l 5 1
est égal au nombre de classes récurrentes de la chaîne de Markov donnée par m. Si
une classe récurrente est périodique de période d, alors les d racines d ièmes de l’unité
sont valeurs propres de m.
Ainsi pour mr, le polynôme caractéristique : dét(m 2 lI), est :

l3 2 0, 6 l2 20, 37 l 20, 03 5 (l 2 1)(l 1 0, 3)(l 1 0, 1).


Les valeurs propres de mr sont donc : 1, 20,3 et 20,1. En particulier, on retrouve le
fait que la chaîne associée à mr comporte une seule classe (l 5 1 étant d’ordre 1) et
apériodique (aucune racine d ième de l’unité parmi les valeurs propres).
C F G
C 0 1 0
En revanche, pour ms 5 F £ 0 0 1 § , le polynôme caractéristique est :
G 1 0 0

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

Les valeurs propres de ms sont les racines cubiques de l’unité : 1, j, j ; la chaîne


associée à ms comporte donc une seule classe, récurrente, de période d 5 3.
• retour sur la notion de périodicité
Par déinition, la période di d’un état récurrent Ei est : di 5 PGCD 5 n k pij(n) . 0 6 , où
pii1n2 est la probabilité que le système, partant de Ei, y repasse après n transitions ; la
période di est donc aussi le PGCD des longueurs des circuits passant par Ei.

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].

5.5 Processus de Markov à esPace d’éTaTs discreT


Nous avons étudié dans le paragraphe précédent les chaînes de Markov ; ce sont des
processus stochastiques à temps discret et à espace d’états discret. Nous présentons

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 :

a pij 1  2 5 1 pour tout état Ei.


EjPe

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

En appliquant la déinition des probabilités conditionnelles :


P 3 U k V 4 5 P 3 U et V 4 / P 3 V 4 , le lecteur vériiera aisément que :
P 3 A et B k C 4 5 P 3 A k B et C 4 # P 3 B k C 4 . D’où :
pij ( u 1  ) 5 a P 3 X U 1  5 Ej k X 0 5 Ei et X U 5 Ek 4 # P 3 X U 5 Ek k X 0 5 Ei 4 .
Ek Pe
D’après la propriété sans mémoire, la première probabilité de ce produit ne
dépend pas de l’événement X0 5 Ei, qui est antérieur à u ; elle est alors égale à :
P 3 X U 1  5 Ej k X U 5 Ek 4 5 pkj (  ) ,
ceci en tenant compte de la propriété d’homogénéité. Par ailleurs, par déinition :
P 3 X U 5 Ek k X 0 5 Ei 4 5 pik ( u ) .
Finalement : pij ( u 1  ) 5 a pik ( u ) # pkj (  ) .
EkPe
Matriciellement, cette relation fournit : m ( u 1  ) 5 m ( u ) # m (  ) .
Donnons maintenant l’expression des probabilités de transitions sur un intervalle
de temps ininitésimal :  5 Dt. Sous des hypothèses très larges, vériiées notam-
ment si e est ini, on peut montrer que les propriétés 1), 2), 3) et 4) font que :
pij ( Dt ) 5 l ij # Dt 1 o ( Dt ) où i 2 j
• pii ( Dt ) 5 1 2 a l ij # Dt 1 o ( Dt ) 5 1 2 qi Dt 1 o ( Dt )
Ej He
j2i
Rappelons que ο(Dt) est la notation de Landau ; lim o 1 Dt 2 5 0 et que
Dt S 0
o Dt
( )
lim 5 0.
Dt S 0 Dt
On dit que les termes en ο(Dt) sont « d’ordre supérieur à un en Dt ».

Notons que lij est le taux de transition de Ei vers Ej ; en effet :


lim 3 pij ( Dt ) /Dt 4 5 l ij.
Dt S 0
Ce taux est nécessairement positif ou nul (puisque pij 1 Dt 2 > 0).
On peut alors montrer que la probabilité que, étant dans l’état Ei à l’instant t, le
processus reste constamment dans cet état entre t et t 1  vaut e 2 q i  ; on peut aussi
© Dunod – Toute reproduction non autorisée est un délit.

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

Le « générateur ininitésimal » du processus de Markov est une matrice A 5 3 aij 4


où aij 5 lij pour j 2 i et aii 5 2qi. La somme des éléments de toute ligne de cette
d
matrice est donc nulle. En notant m(  ) 5 3 pij (  ) 4 et mr (  ) 5 B pij (  ) R , on montre
dt
que l’on a les équations « du passé » : mr (  ) 5 A # m (  ) et les équations « du futur » :

199
Chapitre 5 • Processus stochastiques et programmation…

mr ( ) 5 m( ) # a. On obtient ainsi des systèmes d’équations différentielles linéaires


pour les probabilités de transition sur un intervalle de temps quelconque  (que l’on ne
peut résoudre analytiquement que dans des cas simples, comme ci-dessous).
Donnons un exemple simple de processus de Markov : dans un bureau travaille
un ingénieur. Des collègues se présentent aléatoirement à la porte de ce bureau (sans
rendez-vous !) : si l’ingénieur est déjà occupé, ces collègues renoncent à attendre et
reviendront une autre fois. Si notre ingénieur n’est pas déjà occupé avec un autre
collègue, le visiteur entre et une discussion, de durée aléatoire..., s’engage. La
probabilité pour qu’un visiteur se présente pendant un intervalle de temps Dt est :
lDt 1 o(Dt) ; celle que plusieurs visiteurs se présentent est négligeable (en o(Dt).
Une conversation en cours à t se terminera entre t et t 1 Dt avec la probabilité
m Dt 1 ο(Dt). On peut alors associer un processus de Markov au « fonctionnement »
de ce bureau ; l’ensemble des états est e 5 5 E0, E1 6 où E0 (resp. E1) désigne l’état
pour lequel il n’y a pas de visite en cours dans le bureau de l’ingénieur (resp. une
visite est en cours). Voici les probabilités de transition entre t et t 1 Dt :
p01 1 Dt 2 5 lDt 1 o 1 Dt 2 ; p00 1 Dt 2 5 1 2 lDt 1 o 1 Dt 2
p10 ( Dt ) 5 mDt 1 o ( Dt ) ; p11 ( Dt ) 5 1 2 mDt 1 o ( Dt )
2l l
Le générateur ininitésimal est alors : A 5 c d ; on vériie que la somme
des éléments de toute ligne est nulle. m 2m

On peut associer à un processus de Markov homogène un graphe G 5 1 e, U 2 où


à chaque état du processus est associé un sommet du graphe et où, à chaque transi-
tion de probabilité non nulle (ou non négligeable), est associé un arc qui sera valué
par la probabilité de la transition entre t et t 1 Dt. Ainsi pour notre exemple :

Du graphe des transitions entre t et t 1 Dt, on déduit le « graphe simpliié »


G 5 1 e, Ur 2 déduit du précédent en supprimant les boucles et en valuant tout arc
(Ei, Ej) par le taux lij (rappel : lij > 0, i 2 j ) .

5.6 ProbabiliTés des éTaTs


Dans les applications (modélisations par processus de Markov), les paramètres
signiicatifs du fonctionnement des systèmes ainsi modélisés s’évaluent à partir des
valeurs des probabilités des états : d’où l’intérêt pratique de cette notion.

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 ,

soit : p j 1 t 2 5 a p i 1 0 2 # pij 1 t 2 . En posant P 1 t 2 5 3 p 0 1 t 2 , p 1 1 t 2 , c4 et


EiPe

m( t ) 5 3 pij 1 t 2 4 , cette relation s’écrit matriciellement : P 1 t 2 5 P 1 0 2 # M 1 t 2 . Plus géné-


i

ralement, on peut montrer la relation : P 1 t 1  2 5 P 1 t 2 # M 1  2 . En effet la relation


de Chapman-Kolmogorov :
pij 1 t 1  2 5 a pik 1 t 2 # pkj 1  2
k
fournit, après multiplication de chaque membre par p(0), puis en sommant pour tous
les états Ei de e :

p j 1 t 1  2 5 a p i 1 0 2 # pij 1 t 1  2 5 a a p i 1 0 2 # pik 1 t 2 # pkj 1  2

5 a a a p i 1 0 2 # pik 1 t 2 b # pkj 1  2 5 a p k 1 t 2 # pkj 1  2 .


i i k

En résumé : p j 1 t 1  2 5 a p k 1 t 2 # pkj 1  2 , qui s’écrit bien matriciellement :


k i k

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 :

p00 1 t 1 Dt 2 5 a p0k 1 t 2 # pk0 1 Dt 2 5 p00 1 t 2 1 1 2 lDt 2 1 p01 1 t 2 # mDt 1 o 1 Dt 2 .


k
p00 ( t 1 Dt ) 2 p00 ( t ) o ( Dt )
D’où : 5 2 l # p00 ( t ) 1 m # p01 ( t ) 1 .
Dt Dt
Par passage à la limite pour Dt tendant vers 0, il vient :
pr00 1 t 2 5 2 l # p00 1 t 2 1 m # p01 1 t 2 ;
Or p00(t) 1 p01(t) 5 1, d’où :
pr00 1 t 2 5 2 l # p00 1 t 2 1 m 1 1 2 p00 1 t 2 2 , soit : pr00 ( t ) 1 ( l 1 m ) # p00 ( t ) 5 m.
Il s’agit d’une équation différentielle du premier ordre, à coeficients constants et
avec second membre. Sa solution, p00(t), sera la somme de l’« intégrale générale »
sans second membre, soit K # exp 3 2 1 l 1 m 2 t 4 , et d’une intégrale particulière avec le
m
second membre, soit m/ 1 l 1 m 2 . On a donc : p00 1 t 2 5 K e 2 1l1 m2t 1 .
l1m
Sachant que p00(0) 5 1, la constante Κ vaut : K 5 l/ 1 l 1 m 2 .
l m
Finalement p00 1 t 2 5 e 2 1l 1 m 2t 1 .
l1m l1m
l l
On en déduit p01 1 t 2 5 2 e 2 1l 1 m2t 1 , car p01 1 t 2 5 1 2 p00 1 t 2 .
l1m l1m

De même on montrerait que :


m m
p10 ( t ) 5 2 e 2 (l1 m )t 1
l1 m l1 m
m l
p11 ( t ) 5 e 2 (l1 m )t 1 , avec p10 ( t ) 1 p11 ( t ) 5 1.
l1 m l1 m
Matriciellement :
p00 ( t ) p01 ( t ) e 2 ( l 1 m ) t l 2l 1 m l
m( t ) 5 c d 5 c d 1 c d
p10 ( t ) p11 ( t ) l1m 2 m m l1m m l

Remarque importante. Si l’on fait tendre t vers l’inini, les probabilités de


m
transition p00(t) et p10(t) ont la même limite : ( car : e2` 5 0 ) .
l1m

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 :

p 0 ( t ) 5 a p i ( 0 ) # pij ( t ) 5 p 0 ( 0 ) # p00 ( t ) 1 p 1 ( 0 ) # p10 ( t ) 5 ap00 ( t ) 1 bp10 ( t ) .


i

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 *.
*

Exemple. Sans perte de généralité, on peut considérer un processus de Markov,


fortement ergodique, avec 3 états : e 5 5 E0, E1, E2 6 ; prenons une répartition ini-
tiale quelconque (0) 5 [a, b, c] où a, b, c sont positifs ou nuls et a 1 b 1 c 5 1.
Détaillons le produit matriciel ci-dessus :

203
Chapitre 5 • Processus stochastiques et programmation…

p*0 p*1 p*2


P* 5 3 a, b, c 4 # C p*0 p*1 p*2 S 5 3 p*0 1 a 1 b 1 c 2 , p*1 1 a 1 b 1 c 2 , p*2 1 a 1 b 1 c 2 4 ,
p*0 p*1 p*2

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.

5.8 calcul des ProbabiliTés des éTaTs en régiMe


PerManenT–ThéorèMe des couPes
Soit un processus de Markov homogène, fortement ergodique. On dit que ce proces-
sus est en « régime permanent », si t est sufisamment grand pour que les probabilités
des états aient atteint leur limite ; alors : p i 1 t 2 5 p *i .
On se propose de calculer ces probabilités des états en régime permanent. Ce
calcul peut se pratiquer soit en résolvant un système d’équations linéaires, soit en
appliquant le théorème des coupes (qui conduit à un calcul plus aisé, en particulier si
le graphe associé au processus de Markov présente une structure régulière).

5.8.1 Théorème des coupes


On nomme « fréquence des transitions de l’état Ei vers l’état Ej en régime per­
manent », la quantité wij 5 p *i # l ij.
Soit B un sous-ensemble d’états : B ( e. La « coupe », associée à B (ou « coupe
B »), désigne l’ensemble des arcs ayant une extrémité et une seule dans B (en théorie des
graphes, on utilise le terme : « cocycle associé à B », noté v(B)). Cet ensemble d’arcs
comporte deux parties : v1(B) (resp. v2(B)), l’ensemble des arcs ayant leur extrémité
initiale (resp. terminale) dans B et leur extrémité terminale (resp. initiale) dans B.
On nomme « fréquence des transitions vers l’extérieur de B » la quantité :

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…

De même, la « fréquence des transitions vers l’intérieur de B » est la quantité :

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 )

On peut alors énoncer le théorème des coupes :


pour tout processus de Markov, homogène, fortement ergodique, en régime per-
manent, la fréquence des transitions vers l’extérieur de toute coupe B est égale à la
fréquence des transitions vers l’intérieur de B.
Soit, pour tout B ( e,
wB S B 5 wB S B.
Donnons un premier exemple d’application (bureau de l’ingénieur).
En prenant B 5 {E0} et B 5 5 E1 6 , il vient :
λ
w B S B 5 w 01 5 lp *0 ; w B S B 5 w 10 5 m p *1.
D’où : lp *0 5 mp *1. Puisque p *0 1 p *1 5 1, on en déduit : E0 E1
m l
p *0 5 et p *1 5 . µ
l1m l1m
On retrouve les valeurs obtenues au paragraphe précédent, en prenant la limite de
p0(t) et p1(t) quand t tend vers l’inini : le lecteur appréciera le gain de temps obtenu
en appliquant le théorème des coupes.
Voici une démonstration du théorème des coupes :
On a montré que :

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 :

0 5 B a p *k lki R 2 p *i a lij, car qi 5 a lij.


k 2i j2i j2i

205
Chapitre 5 • Processus stochastiques et programmation…

Soit pour tout état Ei : a p *i # l ij 5 a p *k # l ki, c’est-à-dire a wij 5 a wki.


j2i k2i j2i k2i

On reconnaît (par analogie avec la loi des nœuds en électricité) la « loi de


Kirchhoff » appliquée au sommet Ei. Les φij constituent donc un lot sur le graphe
simpliié du processus de Markov (au besoin se reporter au sous-chapitre 4.4).
On montre aisément que, si la loi de Kirchhoff appliquée est vériiée en tout
sommet d’un graphe, elle est aussi vériiée pour tout ensemble de sommets B:
wB S B 5 wB S B ; ainsi le théorème est prouvé.

5.8.2 Calcul algébrique de *


Le calcul des probabilités des états en régime permanent peut aussi se faire en résol-
vant un système linéaire.
On a vu que : Pr ( t ) 5 P ( t ) # A. En régime permanent (t) atteint une limite P*
(indépendante de la distribution initiale (0)) :
d
Alors Pr ( t ) 5 P* 5 0 où 0 5 3 0, 0, c, 0 4 , car la dérivée d’un vecteur
dt
constant est le vecteur nul 0 ici de format 1 3 r (on a supposé que Card e 5 r : le
processus comporte r états). D’où le système :

0 5 p # A ; a p *i 5 1 (ce qui s’écrit aussi : P* # 1 5 1 où 1 5 3 1, 1, c, 1 4 ).


r
*

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…

(par application du théorème des coupes) dans le cas où m1 5 m2 5 m. On en déduira


la valeur de deux paramètres intéressants : la « disponibilité » D* de l’atelier, c’est-
à-dire la probabilité, en régime permanent, qu’au moins l’une des deux machines
soit en état de marche, ainsi que d : durée moyenne d’une période de disponibilité.
Les états du système (atelier) sont les suivants :
E0 : aucune machine en panne ;
Ε1 : une machine en panne, chez R1 ;
E2 : une machine en panne, chez R2 ;
E3 : deux machines en panne : l’une chez R1, l’autre attend R1 ;
E4 : deux machines en panne : l’une chez R1, l’autre chez R2 ;
E5 : deux machines en panne : l’une chez R2, l’autre attend R2.
Ainsi: e 5 5 E0, E1, c, E5 6 .
Voici le graphe des transitions entre t et t 1 dt, puis le graphe simpliié :

Remarquer que lorsque deux machines sont en marche à t, la probabilité que


l’une des deux tombe en panne entre t et t 1 dt est : 2ldt 1 o(dt).
Le graphe est fortement connexe (en effet, il comporte un circuit hamiltonien :
(0, 1, 3, 4, 5, 2, 0)) et ini : le processus est donc fortement ergodique.
© Dunod – Toute reproduction non autorisée est un délit.

Pour calculer les probabilités des états en régime permanent, on pourrait résoudre

le système P* # A 5 0 avec a p *i 5 1, mais il est plus pratique d’utiliser le théo-


4

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…

On a donc p *4 5 p *5 d’après (5) : puis (0) et (1) donnent :


m # p *4 1 m # p *2 5 1 l 1 m 2 # p *1
et (2) et (5) donnent :
m # p *4 1 m # p *1 5 1 l 1 m 2 p *2.
La différence membre à membre de ces deux relations fournit :
m # ( p *2 2 p *1 ) 5 2 ( l1 m ) # ( p *22 p *1 2 , d’où : p *1 5 p *2 ; (2) s’écrit alors :
m # p *5 5 l # p *2 et (3) : l # p *2 5 m # p *3. D’ où : p *3 5 p *5. Finalement :
2l * 2
p *0 5 p *1 5 # p 0 et p *3 5 p *4 5 p *5 5 2l2 # p *0.
m m
4l 6l 2
Or, p *0 1 p *1 1 c1 p *5 5 1, soit p *0 # a1 1 1 2 b 5 1 et :
m m
*
1
p0 5 .
1 1 4l/m 1 6l 2 /m 2
1 1 4l/m
La disponibilité D* est : D* 5 p *0 1 p *1 1 p *2 5 .
1 1 4l/m 1 6l 2 /m 2
On montre que la durée moyenne d d’une période de disponibilité (c’est-à-dire de
séjour, en régime permanent, dans le sous-ensemble d’états B 5 {E0, E1, E2}) vaut :
p *B p *0 1 p *1 1 p *2 p *0 ( 1 1 4l/m ) 1 1 4l/m 4l 1 m 1 m
d5 5 5 5 5 5 1 .
wB S B wB S B l ( p *1 1 p *2 ) 4l 2 /m 4l 2 l 4l 2
On vériie que d est effectivement supérieure à 1/l, qui est la durée moyenne de
bon fonctionnement d’une seule machine. Plus les réparations sont rapides, plus m
est grand : par suite plus d est grand.

5.9 Processus de Markov ParTiculiers

5.9.1 Processus de naissance


Utilisés dès 1940 par Lundberg pour des statistiques d’accidents, puis vers 1943
par Arley à propos du rayonnement cosmique, ils ont été employés vers 1950 par
Kendall, Bartlett et Feller en biologie. Nous les utiliserons en recherche opération-
nelle, par exemple pour représenter des arrivées aléatoires de clients dans des iles
d’attente ou encore des occurrences de pannes d’équipements.
Par déinition, un processus de Markov homogène Xt est un processus de nais­
sance si les probabilités de transition entre t et t 1 Dt, ont pour expression :
pi, i 1 1 1 Dt 2 5 l i # Dt 1 o 1 Dt 2
b
pi, i 1 Dt 2 5 1 2 l i # Dt 1 o 1 Dt 2
où l i 5 l i, i 1 1 est le « taux de naissance » à partir de l’état Ei. Les probabilités de
transition de i vers i 1 2, i 1 3, ... , sont négligeables. Celles de i vers i 2 1, i 2 2, ... ,
sont nulles.

208
5.9 Processus de Markov particuliers

Xt peut être vu comme la taille d’une « population » (au sens statistique du


terme), à l’instant t, exprimée en nombres d’« individus » présents. Dans l’état Ek,
k individus sont présents (on confond donc le plus souvent l’ensemble des états e
avec N). La probabilité d’apparition (ou « naissance ») d’un nouvel individu entre
t et t 1 Dt, lorsque la population comporte i individus à t, est : li Dt 1 ο(Dt) ; celle
d’apparition de plusieurs individus entre t et t 1 Dt est négligeable (en ο(Dt)).
Notons qu’ici aucune disparition (ou « mort ») ne peut se produire. Voici le graphe
des transitions entre états, entre t et t 1 Dt :

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 ».

5.9.2 Processus de Poisson


Par déinition, un processus de Poisson est un processus de naissance ouvert pour
lequel le taux de naissance ne dépend pas de la taille de la population :
li 5 l pour i 5 0, 1, 2, c

209
Chapitre 5 • Processus stochastiques et programmation…

Supposons qu’à t 5 0, la taille de la population soit nulle : X0 5 0 et exprimons les


probabilités des états à t 1 Dt en fonction de celles-ci à t, et du taux de naissance l.
p0(t 1 Dt) 5 p0(t 2 # 1 1 – l D t) 1 ο(Dt) (5.1)
e
p (t 1 Dt) 5 p (t 2 # l Dt 1 p (t 2 # 1 1 – l D t) 1 ο(Dt) (n 5 1, 2, c). (5.2)
n n–1 n

La relation (5.1) entraîne p r0 1 t 2 5 2l # p 0 1 t 2 , d’où : p 0 1 t 2 5 K # e 2 lt.


Puisque p0(0) 5 1, il vient Κ 5 1 et :
p0 ( t ) 5 e 2lt.
La relation (5.2) :
• pour n 5 1 fournit : p 1r ( t ) 5 l # p 0 ( t ) 2 l # p 1 ( t ) , soit p 1r ( t ) 1 l # p 1 ( t ) 5 le 2 lt,
qui a pour solution p1(t) 5 lt e–lt.
• Pour n 5 2, on obtient alors : p 2r ( t ) 1 l # p 2 ( t ) 5 l 2e 2 lt qui a pour solution

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

n50 n51 n # 1n 2 12! n51 1 n 2 12!


5 e 2 lt # lt # elt 5 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.

Remarque. Le processus (ou loi) de Poisson se rencontre fréquemment en


pratique : arrivées d’usagers à un arrêt d’autobus, à un guichet de banque ;
occurrence de pannes de composants électroniques (ou de certains moteurs) ;
arrivées d’appels à un standard téléphonique ; arrivées de processus (requêtes)
dans un système ou réseau informatique.

5.9.3 Loi exponentielle


Soit un processus de Poisson de taux m ; considérons l’intervalle de temps T séparant
deux événements (naissances) consécutifs. En remarquant que T sera supérieur à t si
et seulement si aucune naissance n’a lieu entre 0 et t, il vient :
0 naissance sur un intervalle
P 3 T . t 4 5 PB R 5 p 0 1 t 2 5 e 2 mt,
de temps d’amplitude t
la variable aléatoire T est donc régie par une loi exponentielle. La densité de proba-
bilité de T, notée f (t), vaut :
© Dunod – Toute reproduction non autorisée est un délit.

f 1 t 2 dt 5 P 3 t , T < t 1 dt 4 5 d 1 P 3 T < t 4 2 5 d 1 1 2 e 2 mt 2 5 me 2 mtdt.


La durée moyenne entre deux naissances consécutives, autrement dit E(T), est :

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…

cherchons la probabilité d’occurrence d’un événement entre t et t 1 dt, sachant


qu’il y a eu un événement à t 5 0, puis aucun événement entre 01 et t :
P 3 t , T < t 1 dt et T . t 4 P 3 t , T < t 1 dt 4
P 3 t , T < t 1 dt k T . t 4 5 5
P 3T . t 4 P 3T . t 4
m#e 2 mt # dt
5 5 m # dt.
e 2 mt
Notons la simpliication par e qui a une conséquence importante :
–mt

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-

babilité est : f ( t ) 5 a ai l i e , où a ai 5 1 et ai . 0. Alors E(T) = a


r r p
2 li t ai
et
li
s2T/ ( E ( T )) 2 . 1. i 51 i 51 i 51

5.9.4 Processus de mort


Soit le processus stochastique Xt, où Xt s’interprète comme la taille d’une population
à l’instant t, initialement non nulle : X0 5 M. La probabilité de disparition d’un indi-

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 :

On suppose que m0 5 0 et mi > 0 pour i 5 1, 2, c, M.


Le processus de mort est ergodique ; quand t tend vers l’inini, on a les limites :
p *0 5 1 et p *1 5 p *2 5 c5 p *M 5 0. E0 est un état absorbant.

5.9.5 Processus de naissance et de mort


Nous passons maintenant à ce processus, très employé pour modéliser notamment
des phénomènes d’attente ou encore des systèmes sujets à des pannes réparables. Le
processus de naissance et de mort est obtenu en superposant un processus de nais-
sance et un processus de mort. Ce processus de Markov Xt, où Xt représente la taille
d’une population à l’instant t, est donné par les probabilités de transition entre t et
t 1 dt ci-dessous :
p i, i 1 1 ( Dt ) 5 l i D t 1 o ( Dt ) : une naissance entre t et t 1 dt
• p i, i 2 1 ( Dt ) 5 mi D t 1 o ( Dt ) : une mort entre t et t 1 dt
p i, i( Dt ) 5 1 2 ( l i 1 m i) D t 1 o ( Dt ) : ni naissance, ni mort entre t et t 1 dt
Voici le générateur ininitésimal associé, noté A :
2 l0 l0 0 0c

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

Dans le cas d’un processus fermé (lN 5 0 ; li > 0 pour i 5 1, 2, c, Ν 2 1


et mi > 0 pour i 5 1, 2, c, N), on a le graphe simpliié :

213
Chapitre 5 • Processus stochastiques et programmation…

Le graphe étant fortement connexe et ini, le processus de naissance et de mort


fermé est fortement ergodique (quelles que soient les valeurs relatives des taux de
naissance et de mort). Rappelons qu’alors les probabilités des états tendent vers une
limite :
P* 5 3 p *0, p *1, c, p *N 4 solution de O = *·A,

indépendante de la répartition initiale (d’ailleurs, nous n’avions précisé, ici, aucun


état initial, ni de distribution initiale (0)).
Dans le cas d’un processus ouvert (li > 0 pour tout i 5 1, 2, c), le nombre
d’états est inini. On ne peut pas savoir d’emblée si le processus est fortement
ergodique ou pas ; nous ferons cependant, l’hypothèse de forte ergodicité et trou-
verons, a posteriori, une condition portant sur les valeurs relatives des taux de
naissance et de mort pour que cette hypothèse soit vériiée. Reprenons le graphe
simpliié :

Soit Bn la « coupe » : Bn 5 5 E0, E1,c, En 2 1 6 . Plaçons-nous en régime permanent


et appliquons le théorème des coupes à Bn , puis à Bn 2 1, c , puis B1 :
l n 2 1 # p *n 2 1 5 m n # p *n
l n 2 2 # p *n 2 2 5 m n 2 1 # p *n 2 1
( (
l 1 # p *1 5 m 2 # p *2
l 0 # p *0 5 m 1 # p *1
l n 2 1 # l n 2 2 # c# l 0 # p *0 5 m n # m n 2 1 # c# m 1 # p *n

Le produit membre à membre de ces n relations fournit, après simpliications :


l n 2 1 # l n 2 2 # c# l 0
p *n 5 m # m # c# m # p *0.
n n21 1

On a ainsi pu exprimer la probabilité de l’état n en régime permanent, soit p *n,


en fonction des différents taux de naissance et de mort, ainsi que de p *0. Reste à
calculer p *0.

214
5.9 Processus de Markov particuliers

cas du processus fermé, on écrit : a p *n 5 1, d’où :


N

n50

5 1^ c1 1 a a q m b d .
N n
lk 2 1
p *0
k
n51 k51

Ainsi, dans le cas simple : l 0 5 l 1 5 c5 l N 2 1 5 l et m 1 5 m 2 5 c5


m N 5 m (que l’on rencontrera plus loin dans les iles d’attente) il vient :
l l2 lN
p *0 5 1^ c1 1 1 2 1 c1 N d ; si l ≠ m, on a alors :
m m m
N11
l
1 2 amb l
12m 1
p *0 5 1 5 , et si l 5 m , p *0 5 .
l N11 N11
12m l
1 2 amb

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-

quons le critère de convergence de d’Alembert (qui est une condition sufisante de


convergence) : si, à partir d’un certain rang N0 (c’est-à-dire pour tout n > N0) le rap-
port p *n /p *n 2 1 est inférieur ou égal à a , 1, la série est convergente.
p *n ln 2 1 ln 2 1
Or * 5 m n ; la condition m , 1 peut s’interpréter ici comme suit :
p n21 n

à 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.

Dans le cas simple l0 5 l1 5 l2 5 c 5 l et m1 5 m2 5 m3 5 c 5 m


avec l  m, (nous verrons plus loin que c’est le cas de la ile M/M/1) il vient :
ln
p *n 5 n # p *0 ; le calcul de p *0 dans le cas ouvert conduit donc à sommer la série géo-
m
l l2 ln
métrique : p *0 # c1 1 1 2 1 c1 n 1 cd 5 1. Cette série est convergente
m m m
l l
lorsque m , 1 et a pour somme 1^ a1 2 m b. D’où,
n
l l l
p *0 5 1 2 m et p *n 5 a m b # a1 2 m b pour n 5 0, 1, 2, c

215
Chapitre 5 • Processus stochastiques et programmation…

5.10 noTion de PrograMMaTion dynaMique


sTochasTique
Nous avons étudié au chapitre 4 la programmation dynamique se rapportant à des
situations où le hasard n’intervient pas. Ici, au contraire, nous nous intéresserons
aux cas où le hasard joue un rôle. Bien entendu, de ce fait, nous ne pourrons plus
comparer directement les résultats de telle ou telle politique, mais seulement des
espérances mathématiques de gain ou de coût. L’introduction de cette mesure des
résultats impose un certain nombre de précautions et, notamment, ne peut donner
des indications valables que si la loi des grands nombres s’applique dans le contexte
du problème.
Nous donnerons d’abord un exemple simple de la manière dont peut se pratiquer
le calcul, en présence d’événements soumis au hasard.

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).

Figure 5.3 Figure 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 ,

d’où les stratégies :


si y1 5 B, choisir : x1 5 B ;
si y1 5 C, choisir : x1 5 C.
Stratégies optimales :

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 sous­stratégie optimale de Ν à N 2 n ne peut être formée que
par une sous­straté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 :

1 a ptjk # ( rjkt 1 z*t


p( t )

z*t
t
21
5 max e 2ctij k )f.
jPG1(Ett 2 1 )
k51

218
5.10 Notion de programmation dynamique stochastique

où G 1 1 E ti 2 1 2 désigne les décisions possibles à t, à partir de l’état E ti 2 1. Notons que


ctij est précédé du signe moins car un coût est un revenu négatif.
Ces équations montrent que le calcul est mené, comme nous l’avons déjà remarqué,
partant de la in de la phase N, en remontant dans le temps de proche en proche.
Le lecteur trouvera une application des processus D – H au chapitre 6, à propos
de l’optimisation de stratégies de remplacement d’équipements.

t฀1 t

D1t E1t
฀1
E1t

Cit1
Ekt
t
revenu : rjk
฀1 proba : pjtk
Eit
coût
cit j
Djt

t฀1 t
Ep(t) Dqt(t) Ep(t฀1)

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

*5.1 Qualité d’un canal de transmission


On considère un canal qui transmet, de façon continue, des bits d’information. Mais ce
canal peut être affecté par des perturbations qui altèrent les bits transmis. Les erreurs
se produisent en général par groupes, c’est-à-dire que lorsqu’un bit est altéré par une
perturbation, la probabilité que le bit suivant soit aussi altéré est importante. Plus préci-
sément, supposons qu’à un certain moment le dernier bit transmis ait été correct : le bit
suivant sera alors transmis correctement avec la probabilité p0 et altéré avec la probabi-
lité q0 (p01 q05 1) ; supposons maintenant que l’avant dernier bit transmis était correct
et que le dernier bit transmis est faux : le bit suivant sera transmis correctement avec la
probabilité p1 et altéré avec la probabilité q1 1 p1 1 q1 5 1 2 ; ainsi de suite : si depuis le
dernier bit transmis correctement, k bits erronés ont été transmis, la probabilité que le
bit suivant soit correct est pk et qu’il soit faux, qk 1 pk 1 qk 2 5 1 où 0 < k < N.
Lorsque N bits consécutifs sont erronés depuis le dernier transmis correctement,
la probabilité que le suivant soit correct est comme plus haut pN ; mais si le bit sui-
vant est faux (probabilité qN) une ré-initialisation fait que tout se passera ensuite
comme si l’on venait de transmettre un bit faux après un bit exact.
1. Modéliser ce canal à l’aide d’une chaîne de Markov comportant n 1 1
états, E0, E1, c, Ek, c, EN : dans l’état Ek, depuis le dernier bit transmis
correctement k bits erronés ont été transmis.
Tracer le graphe des transitions entre états lors de la transmission d’un bit,
et le valuer.
À quel arc correspond la ré­initialisation ? À cet arc près, dans quel pro­
blème classique avez­vous rencontré des graphes de ce type ?
2. Pour N 5 3, sachant que p0 5 0,95 p15 0,20 p2 5 0,15 p3 5 0,10,
a) donner la matrice m des probabilités de transition pour une transmission ;
b) en supposant qu’initialement un bit ait été transmis correctement, don­
ner le vecteur p(0) des probabilités d’états ; calculer la probabilité pour que
les deux suivants soient faux, à l’aide de m, p(0), p(1) et p(2).
3. a) La chaîne précédente admet­elle un régime permanent, au bout d’un
grand nombre de transmissions de bits, indépendant de l’état initial ? (Jus­
tiier en détail votre réponse.)
b) Si oui, calculer numériquement les probabilités p *k 1 0 < k < 3 2 de
chaque état en régime permanent (supprimer la première équation qui est
redondante ; exprimer les p *k en fonction de p *1, puis calculer p *1).
c) En déduire la probabilité pour qu’une transmission de bit prise au hasard en
régime permanent soit correcte. Que pensez-vous de la qualité de ce canal ?

220
exercices

*5.2 Chaîne de Markov régulière (fortement ergodique)


Montrer que la matrice d’une chaîne de Markov :
0, 2 0, 2 0, 3 0, 3
0 0, 1 0, 8 0, 1
m5 D T
0, 1 0 0, 2 0, 7
0, 6 0, 2 0, 1 0, 1
élevée à la puissance n, tend vers :
457 220 458 533
1 457 220 458 533
m* 5 D T lorsque n S 1 `.
1668 457 220 458 533
457 220 458 533
NB Sans calculer explicitement M n : tracer d’abord le graphe G associé
puis montrer que G est fortement connexe et que la chaîne est apério­
dique.

*5.3 Sous-chaînes de Markov


Étant donné la matrice d’une chaîne de Markov :
0 1 2 3 4
0 0, 2 0 0, 4 0 0, 4
1 0 0, 3 0 0, 7 0
฀M = 2 0, 6 0 0, 2 0 0, 2
3 0 0, 5 0 0, 5 0
4 0, 4 0 0, 2 0 0, 4

é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.

explicitement mn, en vous aidant du graphe associé.

221
Chapitre 5 • Processus stochastiques et programmation…

**5.4 États transitoires, États récurrents. Ergodicité simple


Soit la matrice d’une chaîne de Markov :
0 1 2 3 4
0 0,2 0 0 0,8 0
1 0,1 0,2 0,3 0,3 0,1
฀m = 2 0,2 0,1 0,5 0,1 0,1
3 0,4 0 0 0,6 0
4 0,2 0,1 0,2 0,1 0,4

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 * = * (`).

**5.5 Chaîne périodique


On donne la matrice stochastique ci-dessous et l’on demande d’examiner ce qui se
passe lorsqu’on l’élève à la puissance n. (NB : tracer d’abord le graphe)
En particulier, existe-t-il une limite pour M n lorsque n tend vers l’inini ?
0 1 2 3 4
0 0 0, 4 0,6 0 0
1 0,8 0 0 0,2 0
฀M = 2 0,9 0 0 0,1 0
3 0 0, 2 0,5 0 0,3
4 0,3 0 0 0,7 0

***5.6 Périodicité d’ordre 3


Soit la chaîne de Markov donnée par le graphe ci-dessous.

222
exercices

1. Écrire la matrice des probabilités de transition m et montrer que :


an an 2 1 an 1 1
n 1 2pn
m 5 B n 1 1 an an 2 1 R où an 5 B1 1 2 cos
a R.
an 2 1 an 1 1 an 3 3

Expliciter m n selon que n 5 3k, 3k 1 1 ou 3k 1 2.


2. Soit P(0) 5 [l, 0, 0], calculer P(n) selon que n 5 3k ou n 5 3k 1 1 ou
n 5 3k 1 2, où k est un entier positif ou nul.
1 1 1
3. Que peut­on dire de P(`) lorsque P ( 0 ) 5 B , , R ?
3 3 3

***5.7 Valeurs propres des matrices stochastiques


Montrer que :
1. la matrice de l’exercice 5.2 admet une valeur propre égale à 1 ;
2. la matrice de l’exercice 5.3, admet deux valeurs propres égales à 1 ;
3. la matrice de l’exercice 5.5, admet une valeur propre égale à 1 et une
valeur propre égale à –1 ;
4. la matrice de l’exercice 5.6, admet une valeur propre égale à 1, une
cos 2p 2p
deuxième égale à : j 5 1 i sin et une troisième égale à :
3 3
4p 4p
j 5 j2 5 cos 1 i sin ( 5 j ) .; qui sont les racines cubiques de 1.
3 3
(Rappel : j3 = 1 et j 3 = 1).

II PROCESSUS DE MARkOV

*5.8 Processus de Poisson


Considérons un processus de Poisson de taux a.
1. Quelle est la probabilité que quatre événements se produisent entre
© Dunod – Toute reproduction non autorisée est un délit.

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…

**5.9 Un autre processus de naissance


Pour un certain micro-organisme, la probabilité de se séparer en deux micro-
organismes pendant l’intervalle de temps [t, t 1 dt] est indépendante de t et égale à
l dt 1 o(dt) ; la probabilité qu’il y ait plus d’une séparation dans cet intervalle est
négligeable (en o(dt)).
On suppose qu’il existe un seul micro-organisme à l’instant initial (t 5 0).
Montrer que la probabilité pn(t) pour qu’il y ait n micro-organismes à l’instant
t est :
p n ( t ) 5 e2lt # ( 1 2 e2lt ) n 2 1, ( m $ 1 ) .
Généraliser au cas où il y aurait N micro-organismes présents à t 5 0.

***5.10 Lien entre processus de Markov et chaîne de Markov


Soit un processus de Markov ini.
1. Sachant qu’à t 5 0 le processus est dans l’état Ei, montrer que la pro­
babilité pour que – en quittant l’état Ei pour la première fois – le processus
passe par l’état Ej est :

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

où tk est la date d’entrée dans l’état Eik et : t0 , t1 , c , tn-1 , tn


On se donne p i0 ( 0 ) 5 P 3 Xt 0 5 Ei0 4

*5.11 Étude de la ligne téléphonique d’un abonné


Lorsqu’un abonné décroche son combiné pour passer un appel, une première phase
s’engage (phase 1) pendant laquelle il compose au cadran le numéro de son corres-
pondant puis attend d’être relié à celui-ci (en in de phase 1, le téléphone commence
à sonner chez le correspondant). Le correspondant, qui n’est jamais absent et dont
la ligne est toujours libre, décroche au bout d’un certain temps après le début de la
sonnerie, puis une conversation s’établit (l’ensemble sonnerie et conversation for-
mant la phase 2).
La durée aléatoire de la phase 1 (resp. 2) est régie par une loi exponentielle de
taux v (resp. m).
Le processus formé par les instants de début d’appel par l’abonné est un pro-
cessus de Poisson de taux l (en neutralisant les périodes d’occupation de la ligne
étudiée).

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 est­il 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.

**5.12 Application des processus de naissance et de mort


Une société d’informatique possédant un puissant ordinateur a installé N terminaux
identiques dans certains de ses bureaux. Chaque terminal peut tomber en panne avec
un taux a : la probabilité qu’un terminal en état de marche à t tombe en panne entre t
et t 1 dt vaut a dt ; les pannes des différents terminaux sont indépendantes.
Les bureaux souhaitant une intervention rapide après une panne, la société étudie
deux politiques de maintenance entre lesquelles elle devra choisir.
La politique P1 consiste à engager R réparateurs (R , N ) et à en envoyer un dès
qu’une panne se produit dans un bureau, s’ils ne sont pas tous déjà occupés ; lorsque
les réparateurs sont tous occupés et que des pannes surviennent, les réparations ont
lieu ultérieurement dans l’ordre d’occurrence de ces pannes.
La politique P2 consiste à engager un seul réparateur, et constituer un stock de
S terminaux de rechange. Lorsqu’une panne survient dans un bureau et que le stock
de terminaux n’est pas nul, le terminal hors d’état est immédiatement remplacé par
© Dunod – Toute reproduction non autorisée est un délit.

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). Existe­t­il
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

c) Déterminer le nombre moyen r de réparateurs inoccupés ainsi que le


nombre moyen r de terminaux en panne.

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é.

3. Comparaison économique des deux politiques


On donne les coûts suivants :
– la charge salariale journalière d’un réparateur est 50 € ;
– le coût estimé de non­fonctionnement d’un terminal dans un bureau est
de 200 € par journée d’indisponibilité ;
– le coût d’amortissement d’un terminal est évalué à 30 € par jour.
Choisir la politique qui minimise le coût journalier : coût de l’inactivité
des réparateurs 1 coût d’indisponibilité 1 coût d’amortissement des ter­
minaux.

226
exercices

***5.13 Application de la programmation dynamique


stochastique : processus D-H
Au cours d’une transformation chimique, qui dure plusieurs heures, on procède à un
réglage qui a lieu toutes les dix minutes. Dans l’intervalle des réglages, qui sont sup-
posés sans durée appréciable, la réaction évolue d’elle-même.
La masse traitée peut se trouver dans les états E1, E2 ou E3. Si elle est dans l’état
E1 le réglage peut l’y maintenir ou la faire passer à E2 ; si elle est dans l’état E2, le
réglage peut la faire passer à E1 ou E3 ; si, enin, elle est dans l’état E3, le réglage peut
la faire passer à E1 ou E2.
Or, lorsque la réaction évolue ensuite à partir de l’état E1, elle conduit 3 fois sur
10 à l’état E2 (avec une économie de 5 unités monétaires : u.m.) et 7 fois sur 10 à
l’état E3 (avec une perte de 2 u.m.) ; lorsqu’elle évolue à partir de E2, une fois sur
deux elle passe à E1 (gain de 1 u.m.) ou à E2 (perte de 1 u.m.) ; lorsqu’enin elle évo-
lue à partir de E3, six fois sur dix il y a passage à E2 (gain de 3 u.m.) et quatre fois sur
dix, on reste en E3 (perte de 2 u.m.).
Quel réglage opérer, dans chaque hypothèse, de manière à obtenir la transforma-
tion la plus économique ?
N.B. Il est indifférent que la matière traitée soit inalement sous l’un quelconque
des trois états, pourvu que la durée de la transformation, prévue à l’avance, ait été
observée.
Quel gain réalise-t-on sur 100 réglages, en appliquant la politique optimale ?

227
2
6 fiabiliTé des
coMPosanTs, sûreTé
de foncTionneMenT
des sysTèMes

L’usure et le renouvellement des équipements (ou composants) peuvent être envisa-


gés dans le cas de l’usure certaine, ce qui donne lieu à des problèmes de mathéma-
tiques inancières classiques, l’actualisation étant alors le moyen de comparer les
équipements entre eux.
Nous ne nous occuperons pas ici de ce point de vue. Au contraire, lorsqu’il s’agit
d’usure aléatoire, celle-ci ne peut être connue qu’en probabilité ; dans ces conditions,
c’est bien à un problème de recherche opérationnelle que l’on a affaire. L’étude de ce
genre de question doit conduire à un compromis entre le coût d’approvisionnement
et le coût de panne des matériels.
L’étude de l’usure et du renouvellement des équipements au plan théorique doit
beaucoup à V. Volterra (1931), bien que des ingénieurs comme T.C. Fry s’en soient
préoccupés dès 1928. Elle a fait ensuite des progrès avec M. Fréchet, W. Feller et,
d’une façon générale, tous ceux qui ont travaillé dans les domaines d’application de
la théorie des processus stochastiques.
Nous terminerons ce chapitre par l’étude de la sûreté de fonctionnement de « sys-
tèmes », vus comme assemblages d’équipements (composants ou modules).

6.1 données discrèTes. courbes de survie


exPériMenTale
Pour commencer, nous allons examiner comment, à partir d’un simple ichier de
maintenance ou de sources comptables élémentaires, on peut déinir la courbe de
survie d’un matériel, car c’est de la loi de survie que nous déduirons le taux d’appro-
visionnement.

Exemple. Considérons une société de location de voitures, comptant 500 véhicules,


tous du même modèle, équipés chacun de cinq pneus identiques. Moyennant une
6.1 Données discrètes. courbes de survie expérimentale

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

La sixième colonne du tableau donne le nombre de pneus restants, n(t), à chaque


© Dunod – Toute reproduction non autorisée est un délit.

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).

On remarque que l’on a aussi :


n(t 2 1) 2 n(t)
pt 5 5 v (t 2 1) 2 v (t).
n(0)
La probabilité pour qu’un pneu soit
réformé entre t et t 1 Dt peut s’écrire :
v 1 t 2 2 v 1 t 1 Dt 2 .
Or, si Dt tend vers 0, le rapport
v ( t ) 2 v ( t 1 Dt )
Dt
tend, par déinition, vers 2v r ( t ) . Il en
résulte que 2v r ( t ) . Dt est la probabilité
pour qu’un pneu soit réformé entre t et
t 1 Dt, lorsque Dt tend vers zéro.
Il est important de connaître la “proba-
bilité d’avarie” pc(t), c’est-à-dire la pro-
babilité pour qu’un pneu encore en état à
t 2 1 cesse d’être apte à rouler entre t 2 1
et t ; c’est une probabilité conditionnelle.
Figure 6.1
Pour la calculer, remarquons que la pro-
babilité pt pour qu’un pneu cesse d’être
en état entre t 2 1 et t est le produit de la probabilité pour qu’il ait survécu jus-
qu’à t 2 1, soit v 1 t 2 1 2 , par la probabilité d’avarie pc(t) (on note T sa date de
réforme) :
pc ( t ) 5 p 3 t 2 1 , T # t | T . t 2 1 4 5 pt / v ( t 2 1 ) .

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 :

5 a tr2 # pt 2 tr2 . 1, 98, soit . 2


14

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.
`

1. Cette rectiication donnera : tr 5 t 2 0, 5 car a at 2 b # pt 5 a t # pt 2 a pt 5 t 2 .


14 14 14
1 1 1
1
2 1
2 1 2

231
Chapitre 6 • Fiabilité des composants, sûreté. . .

Figure 6.2 Figure 6.3

En général, la forme même de la courbe de survie peut déjà renseigner sur le


type d’équipement auquel on a affaire. Plus elle se rapproche d’une exponentielle
décroissante (igure 6.3) et plus la probabilité d’avarie tend vers une constante.
En effet, si l’on avait : v(t) 5 e2lt (cas d’une loi exponentielle, temps continu),
on aurait :
2vr ( t ) # D t 5 v ( t ) # p c ( t ) # D t,
en désignant par p c 1 t 2 # D t la probabilité d’avarie entre t et t 1 Dt, lorsque Δt tend
vers 0. La quantité pc(t), dans ce cas, sera notée plus bas : l(t).
Il viendrait donc :
vr 1 t 2
pc1t2 5 2 .
v1t2
Ainsi pour la valeur particulière de v(t) 5 e2lt, cette quantité est constante :

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.

1. Par abus de langage ; on devrait dire « espérance mathématique de la durée de vie »

232
6.2 Loi de survie : forme analytique

Ces remarques permettent d’afirmer que, dans


le premier cas (celui de la igure 6.3) on a affaire à
des pièces dites « de fatigue », dont la probabilité
d’avarie est constante ; dans ces conditions, il n’y a
aucun intérêt à pratiquer un entretien préventif sur ce
genre de matériel, puisqu’une pièce neuve présente la
même fragilité qu’une pièce usagée, comme nous le
verrons plus loin.
Dans le second cas (igure 6.4), on a, au contraire,
affaire à des pièces constituant un lot parfaitement
Figure 6.4
homogène ; les matériels dont la courbe de survie
affecte une forme presque rectangulaire sont des pièces
« d’usure ». Il y a intérêt à les réformer juste avant t.

6.2 loi de survie : forMe analyTique


Dans le cas « continu », c’est-à-dire le cas où l’on dispose de la loi de survie sous
forme analytique (par ex. v ( t ) 5 e 2 lt ) on a les déinitions et résultats suivants :
• la durée de vie est une variable aléatoire T, représentant le temps écoulé depuis la
mise en service jusqu’à la défaillance de l’équipement. Si l’on pose :
v ( t ) 5 Pr 5 T > t 6 ,
v(t) est la probabilité pour que l’équipement accomplisse sans défaillance des fonc-
tions déterminées pendant le temps donné t : pour cette raison, cette probabilité prend
le nom de iabilité, car elle caractérise le degré de coniance que l’on peut accorder
au matériel (ce degré est décroissant, évidemment, avec t).
• À la mortalité relative, calculée dans le cas discret, correspond ici la densité de
probabilité i(t), telle que :
i ( t ) dt 5 Pr 5 t < T , t 1 dt 6 5 Pr 5 T , t 1 dt 6 2 Pr 5 T , t 6 , d’où :
i ( t ) dt 5 3 1 2 v ( t 1 dt ) 4 2 3 1 2 v ( t ) 4
représente la probabilité de défaillance entre t et t 1 dt ;
On remarque ainsi que :
© Dunod – Toute reproduction non autorisée est un délit.

d
i ( t ) # dt 5 2dv ( t ) et que : i ( t ) 5 2 v ( t ) 5 2vr ( t ) .

Notons que : 1 2 v ( t ) 5 3 i(u) du.


t dt

• À la probabilité d’avarie pc(t) du cas « discret », correspond, dans le cas « continu »


la probabilité conditionnelle l 1 t 2 # dt, pour qu’un équipement d’âge t, subisse une
défaillance entre t et t 1 dt ; en effet :
Pr 5 t < T , t 1 dt 6 5 Pr5 T > t 6 # l ( t ) # dt, soit i ( t ) # dt 5 2v ( t ) # l ( t ) # dt, d’où :
i(t) vr ( t )
l (t) 5 52 .
v(t) v(t)

233
Chapitre 6 • Fiabilité des composants, sûreté. . .

On nomme l(t) « taux d’avarie ». On obtient évidemment en intégrant chaque


membre de cette relation :

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 »).

Figure 6.5 Figure 6.6

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 densité de probabilité de défaillance est : i ( t ) 5 2vr ( t) 5 ab # (at ) b 2 1 # e 2 (at) .


b

Le taux d’avarie est : l 1 t 2 5 ab # 1 at 2 b 2 1.


Ce taux est strictement croissant pour b . 1 ; il est constant pour b 5 1 (on
retrouve alors la loi exponentielle : v(t) 5 e2at). Ce taux serait décroissant pour
b , 1 (cas peu réaliste).
Notons que pour b 5 2, on obtient la loi de Rayleigh-Maxwell pour laquelle le
taux d’avarie croît linéairement avec t ; en effet, on a alors : l(t) 5 2 a2 t. On montre
en outre que pour b 5 3,25 et a 5 1, la loi de Weibull donne une bonne approxima-
tion de la loi normale (gaussienne).
© Dunod – Toute reproduction non autorisée est un délit.

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

où G ( x ) 5 3 tx 2 1e 2 tdt est la fonction factorielle, qui vaut 1 x 2 1 2 ! pour x entier


`

0
positif, nommée aussi fonction « gamma ».

1. Voir, plus loin, le paragraphe sur la sûreté de fonctionnement des systèmes.

235
Chapitre 6 • Fiabilité des composants, sûreté. . .

Figure 6.7

Figure 6.8

La loi de Weibull, en raison de la large gamme de lois observées qu’elle permet


de représenter, est l’une des plus utilisées en pratique. On utilise aussi la loi « log-
normale » : cf le paragraphe 6.6.

236
6.3 Probabilité de consommation. approvisionnements

6.3 ProbabiliTé de consoMMaTion. aPProvisionneMenTs


L’étude des courbes (et fonctions) de survie est de nature à favoriser la connaissance
de nombreuses quantités signiicatives, telles que la probabilité de consommation et
le taux d’approvisionnement que nous déinissons ci-après :
On appelle probabilité de consommation durant le temps t, la probabilité d’avoir
à remplacer une quantité déterminée d’équipements défaillants. On désignera par
qm(t) la probabilité d’avoir m défaillances dans l’intervalle de temps [0, t]. D’après la
déinition même de la courbe de survie on a :
n1t2
q0 1 t 2 5 5 v1t2,
n102
car, si un équipement survit à t, on n’aura pas à le remplacer jusqu’à cette date…
Cherchons maintenant à évaluer q1(t). Pour cela, supposons que l’intervalle de
temps [0, t] soit divisé en r sous-périodes de durée  ; pour qu’à l’époque t on n’ait
qu’un remplacement à exécuter, il faut que l’équipement initial ait été défaillant
entre 1 k 2 1 2  et k 1 1 < k < r 2 et que l’équipement neuf substitué à l’équipement
remplacé ait survécu de k à t.
La probabilité pour qu’il y ait une défaillance entre 1 k 2 1 2  et k est égale à :
n 3 ( k 2 1 )  4 2 n ( k )
pk  5 ;
n(0)
celle de survie du nouvel équipement n’est autre que :
n 1 t 2 k 2
v 1 t 2 k 2 5 ;
n102
le produit de ces deux probabilités :
n 3 1 k 2 1 2  4 2 n 1 k 2 n 1 t 2 k 2
pk # v 1 t 2 k 2 5 3 ,
n102 n102
doit être considéré pour chaque valeur de k, de 1 à r, d’où :

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.

Le taux d’approvisionnement permet le calcul, pour une période t donnée, du


nombre d’équipements nécessaires pour couvrir les besoins en pièces de rechange
dans une limite déterminée. Supposons, par exemple, qu’on veuille assurer le dépan-
nage avec la probabilité au moins égale à 95%. On aura à calculer m tel que :

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

1. Ceci est inhérent à la nature stochastique (aléatoire) de l’occurrence des défaillances.

238
6.4 Calcul des approvisionnements

puisqu’à chaque époque , 2 , c, k , c, on a procédé au remplacement de r(k)


équipements. Dans le cas d’une fonction continue, on obtient une intégrale dite de
Volterra :

1 ( t ) 5 N # v ( t ) 1 3 R r (  ) # v ( t 2  ) # d ,
t

où R r (  ) désigne la dérivée par rapport au temps du nombre d’équipements R (  ) ,


remplacés jusqu’à .
Il est très remarquable que si l’on désire maintenir un niveau constant, égal à N0,
N0
d’équipements en service, on ne tend que lentement vers le taux , qui est la limite,
t
pour t tendant vers l’inini, de Rr 1 t 2 . Pendant une période plus ou moins longue, le
taux d’approvisionnement oscille autour de cette valeur limite, dont, au début, il s’en
écarte beaucoup. Cela est dû au fait que le phénomène demeure longtemps transi-
toire et n’évolue que lentement vers un régime permanent.

t n(t) n(t) /฀n(t1) pc(t)


0 2 500 
1 2 495 0, 998 0, 002
2 2 480 0, 993 988 0, 006 012
3 2 440 0, 983 871 0, 016 129
4 2 350 0, 963 115 0, 036 885
5 2 190 0, 931 915 0, 068 085
6 1 990 0, 908 676 0, 091 324
7 1 740 0, 874 372 0, 125 628
8 1 390 0, 798 851 0, 201 149
9 790 0, 568 345 0, 431 655
10 340 0, 430 380 0, 569 620
11 90 0, 264 706 0, 735 294
© Dunod – Toute reproduction non autorisée est un délit.

12 30 0, 333 333 0, 666 667


13 10 0, 333 333 0, 666 667 Figure 6.10
14 0 0 1

6.4 calcul des aPProvisionneMenTs


Reprenons l’exemple ci-dessus et calculons cette fois, pour chaque valeur de t, la
quantité pc(t) ou « probabilité d’avarie ».

239
Chapitre 6 • Fiabilité des composants, sûreté. . .

Remarque. On note une « irrégularité » de la courbe représentative de pc(t).


Il n’y a pas lieu de s’alarmer de cette constatation, les faibles effectifs des
dernières classes ne permettant pas d’espérer des résultats d’expérience plus
vraisemblables.
La probabilité pour qu’un équipement, parvenu à l’âge t, soit défaillant dans l’inter-
valle [t, t 1 1] étant pc(t), la probabilité pour qu’il survive n’est autre que 1 2 pc ( t ) .
Donc, si nous considérons les états 0, 1, 2, c, 13 (âges) du matériel, les probabilités
de transition des états précédents à l’état 0 (panne suivie du remplacement) sont :

0, 002 ; 0, 006 ; c; 0, 667 ; 1,

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, 998 ; 0, 994 ; c; 0, 333 ; 0.

Nous obtenons ainsi la matrice des probabilités de transition(1) de dimension


14 3 14, qui est stochastique et déinit une chaîne de Markov (ce point est détaillé
à la in de ce paragraphe) ; le lecteur vériiera que la somme des termes dans chaque
ligne de M, vaut 1 :

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).

(1) les probabilités non spéciiées, telle p02, sont nulles.


1.

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

Tableau 6.3 DES LIGNES N(0) à N(20) ET DU RÉGIME PERMANENT N*

Pour la comparaison avec le régime stationnaire, calculons p *0, d’après :


1 5 p *0 1 0, 998 p *0 1 0, 998 3 0, 994 p *0 1 0, 998 c0, 994 3 0, 984p *0 1 c3 0, 333p *0,
soit : p *0 5 0, 1198, d’où : 2 500 # p *0 5 300 et, en arrondissant approximativement à l’entier le plus proche :
2 500 # P* 5 [300 299 297 293 282 263 239 209 167 95 41 11 3 1]
6.4 Calcul des approvisionnements

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

La matrice m ci-dessus, étant stochastique, déinit une chaîne de Markov inie


(à 14 états). Le graphe associé (igure 6.11) est un graphe ini fortement connexe
(car il comporte un circuit hamiltonien (0, 1, 2, c, 12, 13, 0)) : ainsi, la chaîne
de Markov comporte-t-elle une seule classe d’états, donc tous récurrents. De plus,
le graphe quand n S 1 ` comporte une boucle : l’arc (0, 0) ; ainsi cette classe est
apériodique.
© Dunod – Toute reproduction non autorisée est un délit.

La chaîne de Markov est donc fortement ergodique : le vecteur de probabilités


des états P(n) tend vers une limite P*, indépendante de la distribution initiale P(0)
quand n S 1 `: P*=[300, 299, 297, 293, 282, 263, 239, 209, 167, 95, 41, 11, 3, 1].
Rappelons qu’entre le vecteur des âges n(n) et P(n), on a la relation :
1
P(n) 5 # n ( n ) ; ainsi le vecteur des âges admet-il une limite n * quand
2 500
n S ` : n* 5 2 500 # P*. Mais, dans le cas de ce calcul d’approvisionnement, cette
limite est très longue à atteindre : répétons que souvent le type d’équipement étudié
devient obsolète avant que cette limite soit atteinte ! Néanmoins, ce calcul permet de
positionner l’asymptote de la courbe d’approvisonnement, correspondant à la quan-

243
Chapitre 6 • Fiabilité des composants, sûreté. . .

tité d’équipements N *0 (première composante du vecteur n *) : N *0 5 2 500 p *0. On


1 2 500
peut montrer que p *0 5 5 1/8,334, pour retrouver N *0 5 . 300.
t t

6.5 un auTre coMProMis : l’enTreTien PrévenTif


Il sera commode de considérer ici qu’une machine (ou un système) comporte un
organe particulièrement fragile et d’étudier quelles sont les conséquences des déci-
sions contraires que l’on peut prendre au sujet du remplacement de cet organe : soit
attendre sa défaillance et subir, de ce fait, une panne coûteuse ; soit envisager de le
remplacer à une période θ (restant à déterminer), de manière à éviter, dans une cer-
taine mesure, une interruption intempestive du service.
• Dans le premier cas, on paie : 1) le remplacement de cet organe au prix p ; 2) le
coût de la panne, soit P. Si tr est la durée de vie moyenne de l’organe considéré, le
coût moyen, par unité de temps, vaut :
p1P
C1 5 .
t
• Dans le second cas, la courbe de survie présente un saut à l’époque θ (ig. 6.13)
et, si v(t) est la fonction continue de survie correspondante (fonction de iabilité),
les conséquences de la panne ne se feront sentir que si l’organe fragile est défaillant
avant θ, c’est-à-dire avec la probabilité 1 2 v 1 u 2 . On a ainsi un coût moyen par unité
de temps :

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

En effet, nous sommes dans le cas d’une loi de probabilité


tronquée :

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

Montrons que les deux expressions de tu ci-dessous sont bien égales :

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é. . .

Le minimum de C2 ( u ) a lieu pour θ 5 4 et l’on constate que l’on aura :

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.

Il est très intéressant de pratiquer l’entretien préventif et d’adopter la date θ 5 4 ;


C1 2 C2
le gain relatif est de 70 % ;
C1
v ( u)
2) dans le second cas on a : C1 5 0, 255 ; on n’a donc C1 , qu’à partir de
u
θ 5 5 ; le minimum de C2(θ) a lieu entre l’époque 7 et 8 ; pour θ 5 7,5 on peut
tu Dv p1P
calculer : 2 v # 1 v < 1, 950, c’est-à-dire pratiquement :
p 5 2.
Du
Il est intéressant de pratiquer l’entretien préventif, en adoptant une valeur
u < 7, 5 ; mais le gain relatif n’est alors que de 20 %.
N.B. La comparaison des diverses courbes de survie (iabilité) est facilitée par
l’adoption d’une variable auxiliaire :
,n 1 t/a 2
x5 m ,
m étant un paramètre de dispersion. On constate, en effet, que la variable x est dis-
tribuée selon une loi de Laplace-Gauss. Ce passage par une loi lognormale1 est très
fructueux, car les pièces de fatigue sont alors caractérisées par une valeur de para-
mètre m de l’ordre de 0,9, tandis que les pièces d’usure le sont par des valeurs com-
prises entre 0,2 et 0,6.
Si v(t) est la fonction de survie, on peut calculer la « médiane », soit la valeur
de t pour laquelle v(t) 5 0,5 ; appelons a cette valeur. Considérons alors la variable
auxiliaire :
,n ( t/a ) ,n t 2 ,n a ,n t 2 m
x5 m 5 m 5 m , où m 5 ,n a.
On montre que, pour beaucoup de pièces, la dérivée de la loi de survie peut s’écrire :
(,n t 2 m)2
dv ( t ) 1 2
2m2
2 5 e ,
dt m"2pt
d’où, avec : t 5 e mx 1 m puis dt 5 m # emx 1 m # dx, la loi de survie (iabilité) :

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).

6.6 fiabiliTé des sysTèMes non réParables

6.6.1 Fiabilité d’un système formé de composants


montés en série

Figure 6.15

Nous supposerons l’indépendance de l’occurrence des pannes des composants


C1, C2, c, Cn. Soient alors les variables aléatoires T1, T2, c, Tn : instants d’occur-
rence respectifs de ces pannes et TS : durée de vie du système-série (qui est en panne
dès que l’un de ses composants est en panne).

250
6.6 Fiabilité des systèmes non réparables

La iabilité de ce système est : VS 1 t 2 5 P 3 TS . t 4 , on a :


V S ( t ) 5 P 3 T 1 . t et T 2 . t et cet T n . t 4 ; puisque T 1, T 2,c, T n sont
indépendantes :
V s (t) 5 P3 T1 . t 4 ? P3 T2 . t 4 ? c ? P3 Tn . t 4 5 v1 (t) ? v2 (t) ? c ? vn(t)
Monter des composants en série fragilise un système : pour ixer les idées, sup-
posons que l’on ait n 5 6 composants montés en série, la iabilité au bout de 1 000
heures de chacun valant : vk(1 000) 5 0,9.
La iabilité du système série vaut alors : VS 5 (1 000) 5 0,96, soit seulement
0,53 : même si la iabilité individuelle de chaque composant peut être jugée cor-
recte, la iabilité du système-série sera souvent inacceptable, car trop faible.
Notons que, pour des iabilités « exponentielles » : vi ( t ) 5 e 2 lit, on

, soit : l S 5 a l j : les taux de panne, dans ce cas, s’ajoutent.


n
2(Σli)t
a : VS(t) 5 e
i 51
Le MTTF vaut : tS 5 1/l S ; ainsi, pour n composants de même taux de panne : li, 5
1
l, il vient tS 5 nl ; la durée de vie moyenne du système-série est alors n fois plus
faible que celle d’un de ses composants...

6.6.2 Fiabilité d’un système monté en parallèle


Avec les mêmes notations que ci-dessus, la iabilité
Vp(t) de ce système parallèle est :
Vp 1 t 2 5 P 3 Tp . t 4 .
Ce système est en panne seulement lorsque les n
composants sont en panne. D’où :
1 2 Vp ( t ) 5 P 3 Tp , t 4
5 P 3 T1 , t et T2 , t et cet Tn , t 4
5 P 3 T1 , t 4 ? P 3 T2 , t 4 ? c ? P 3 Tn , t 4
Figure 6.16
5 3 1 2 v1 ( t ) 4 ? 3 1 2 v2 ( t ) 4 ? c ? 3 1 2 vn ( t ) 4
© Dunod – Toute reproduction non autorisée est un délit.

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é. . .

Notons que pour des iabilités exponentielles vi(t) 5 e2lt et pour n 5 3,


1 2 Vp 1 t 2 5 3 1 2 e2lt 4 3 d’où V p ( t ) 5 3e2lt 2 3e22lt 1 e23lt : la iabilité du
3 3 1 11
système ne suit plus une loi exponentielle ; en outre, tp 5 2 1 5 l,
l 2l 3l 6
soit près du double de la durée de vie (1/l) d’un seul composant.

6.6.3 Fiabilité de montages série-parallèle


La iabilité V(t) s’obtient en combinant les résultats des deux paragraphes précé-
dents. Ainsi pour le système ci-dessous :

Figure 6.17

on peut remplacer les deux composants C1 et C2 par un composant unique C1,2 de


iabilité v 1 ( t ) # v 2 ( t ) . On a alors C1, 2 et C3 en parallèle : la iabilité de ce sous-système
parallèle est : ( v1 # v2 ) 1 v3 2 ( v1v2 ) # v3 et inalement ce sous-système étant en série
avec C4 , il vient :
V 1 t 2 5 3 v1 1 t 2 # v2 1 t 2 1 v3 1 t 2 2 v1 1 t 2 # v2 1 t 2 # v3 1 t 2 4 # v4 1 t 2 .
Pour des iabilités exponentielles, toutes de même taux l, on aurait :
1 1 1 7
t5 1 2 5 .
3l 2l 4l 12l
6.6.4 Cas des systèmes quelconques
On a intérêt à utiliser, pour calculer la iabilité V(t) du système à employer, le théorème
des « probabilités totales ». Par exemple, pour un système en pont de Wheatstone :

Ce système fonctionne tant qu’il


existe une chaîne de composants
entre e et s, sans aucun composant en
panne.

Le théorème des probabilités


totales s’écrit ici :

Figure 6.18

V ( t ) 5 P 3 T . t 4 5 P 3 T . t k T5 > t 4 ? P 3 T5 > t 4 1 P 3 T . t k T5 , t 4 ? P 3 T5 , t 4 . (6.1)

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 :

Figure 6.19 Figure 6.20

qui est un sous-système série/parallèle de iabilité :


1 v1 1 v3 2 v1v3 2 # 1 v2 1 v4 2 v2v4 2 .
Pour le second terme de la somme (6.1), on sait que la panne surviendra avant t :
pour évaluer P 3 T . t k T5 , t 4 , on peut considérer alors que C5 est en panne ouverte :
tout se passe comme si C5 avait été supprimé :
On obtient un autre sous-système série-
parallèle de iabilité :
v1v2 1 v3v4 2 v1v2v3v4.
Finalement, en remarquant que :
Figure 6.21 P 3 T5 > t 4 5 v5 1 t 2 et P 3 T5 , t 4 5 1 2 v5 1 t 2 ,

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é. . .

De même, P [A1 et A2 et A3 et A4] 5 v1 # v2 # v3 # v4 # v5.


Le lecteur vériiera (au moins dans le cas où v1 5 v) que l’on retrouve le résultat
précédent.

6.7 sûreTé de foncTionneMenT des sysTèMes


réParables
Pour des systèmes de fonctionnement constant (sauf, bien sûr en période de panne),
on déinit plusieurs grandeurs dépendant, d’une part, de la iabilité individuelle des
composants, mais aussi de la politique de maintenance (réparations) choisie. Ces
systèmes n’ont, en général, pas de panne « cataleptique » (ou binaire) comme une
lampe qui peut claquer, mais ont des modes de fonctionnement dégradé, correspon-
dant à des pannes partielles.
Notre exposé reposera sur l’exemple simple, ci-dessous, d’un système parallèle.
Nous supposerons que v1(t) 5 v2(t) 5 e2lt. Lors-
qu’une panne de composant survient, un réparateur
intervient ; la probabilité pour que la durée (aléatoire)
d’une réparation dépasse t est : e2mt. Il n’y a qu’un seul
réparateur pour ce système.

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

Le processus de Markov, qui modélise le système, a un graphe ini, fortement


connexe : il est fortement ergodique, c’est-à-dire que les probabilités des états

254
6.7 Sûreté de fonctionnement des systèmes réparables

tendent vers une limite quand t S 1 ` : P* 5 3 p *0, p *1, p *2 4 positive, indépendante


de la distribution initiale (0).

6.7.2 Disponibilité asymptotique D*


On déinit la « disponibilité » asymptotique D* de ce système, comme la probabilité
pour, qu’en régime permanent, le système remplisse, au moins, une fonction mini-

fonctionne. On a alors : D* 5 a p *i , où FC est l’ensemble des états pour lesquels


male spéciiée à l’avance. Ici, on demandera qu’au moins l’un des deux composants

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é. . .

6.7.3 MUT, MDT et MTBF


Les grandeurs ci-dessous sont déinies en régime permanent. Ci-dessous nous conti-
nuons à parler de “durées moyennes” alors que, stricto sensu, il s’agit d’espérances
mathématiques.
Le MUT (Mean Up Time) est la durée moyenne d’une période de fonctionnement
correct du système (après réparation).
Le MDT (Mean Down Time) est la durée moyenne d’une période d’indisponibi-
lité. Elle inclut les durées de détection, d’intervention et de réparation.
Ainsi, le MTBF (Mean Time Between Failure) : moyenne du temps entre pannes,
apparaît-il comme la somme du MUT et du MDT.
Remarquons que la disponibilité asymptotique D* vaut alors :
MUT MUT
D* 5 5 .
MDT 1 MUT MTBF

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

où E0 désigne le macro-état de fonctionnement correct et E1, celui de défaillance. On


1 1
a les taux équivalents : l éq 5 et m éq 5 .
MUT MDT
MUT
Dans ce cas, on a simplement : D* 5 p *0 5 car d’après le théo-
MUT 1 MDT
rème des coupes l éq # p *0 5 m éq # p *1 et, en outre, p *0 1 p *1 5 1, conduisent à :
m éq 1 / MDT MUT
p *0 5 5 , c’est-à-dire : .
l éq 1 m éq 1 / MUT 1 1 / MDT MUT 1 MDT

6.7.4 Fiabilité des systèmes réparables


On déinit dans ce cas la iabilité V(t) comme la probabilité que la durée de fonc-
tionnement T en mode correct du système (à partir de t 5 0) dépasse la durée
t : V 1 t 2 5 P 3 T . t 4.
© Dunod – Toute reproduction non autorisée est un délit.

Pour un système modélisé par un processus de Markov, on rend alors absorbant


l’état (ou les états) correspondant à des modes de fonctionnement dégradé inaccep-
tables. Ainsi, dans notre exemple :

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.

Certes, si l’on a déjà évalué V(t) comme ci-dessus, on a : MTFF 5 3 V ( t ) # dt ;


`

sachant que : 3 e dt 5 g ( g . 0 ) , il vient :


` 0
2gt #
1
0

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 Carson­Laplace, il peut sauter ce développement
et passer au paragraphe ci­dessous (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 ) .

On calcule alors : MTFF 5 a ti


k21

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

6.8 sTraTégie de reMPlaceMenT


© Dunod – Toute reproduction non autorisée est un délit.

Il est conseillé de relire d’abord le sous-chapitre 5.10.


Considérons un équipement qui peut se trouver dans quatre états. S’il devient
défaillant au cours d’une période, il est remplacé en in de période. S’il se trouve, en
début de période, dans l’état 0, il a “deux chances sur dix” d’être défaillant en cours
de période et, par différence, “huit chances sur dix” de survivre. Dans l’état 1, en
début de période, la probabilité pour qu’il soit défaillant au cours de la période est
0,5 ; la probabilité de survie, 0,5. Dans l’état 2, en début de période, les probabili-
tés respectives de défaillance et de survie sont 0,7 et 0,3. Enin, si l’équipement se
trouve dans l’état 3 en début de période, il sera sûrement défaillant avant la in de la
période et sera remplacé en in de période.

259
Chapitre 6 • Fiabilité des composants, sûreté. . .

Étudions la stratégie de remplacement des équipements de ce type, sachant que


le prix de l’équipement est de 175 unités monétaires, le coût de la panne est 300
u.m., les coûts de l’entretien 40, 60, 100 et 160 u.m., respectivement durant les pre-
mière, deuxième, troisième et dernière périodes de vie. Ces coûts sont dus en début
de période.
La igure 6.28 va nous servir pour traiter ce problème en utilisant la programma-
tion dynamique, car il s’agit évidemment d’un processus DH : Décision-Hasard
Envisageons d’abord la phase N. Si l’équipement se trouve initialement dans
l’état E0N 2 1, le gestionnaire n’a pas de véritable décision à prendre, il se retrouve en
DN0 , où l’espérance mathématique des coûts n’est autre que :
0, 2 3 5151 1 0, 8 3 40 5 135
d’ou : z*N
0 5 135.

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

placer le matériel s’il a déjà atteint l’âge 2 ou l’âge 3.


Passons maintenant à la phase N 2 1. En modiiant légèrement la formule de
récurrence (du § 2, ch. 5, puisqu’il n’y a ici que des coûts), on obtient :

z*N
i
21
5 min b cij 1 a pjk ag jk 1 z*N
2
k br
DN 1 j
k

où : cij 5 175 si j 2 i et 5 0 si i 5 j ; g jk 5 515, 535, 575 et 635, si j 5 0, 1, 2, 3


et si k 5 0 ; g jk 5 40, 60, 100, 160, si k 5 j 1 1, j , 3 ; les pjk sont les probabilités
de transition.
On a :
1) z*N
0
21
5 c00 1 p00 # ( g 00 1 z*N # *N
0 ) 1 p01 ( g 01 1 z1 )
5 0 1 0, 2 3 ( 515 1 135 ) 1 0, 8 3 ( 40 1 297, 50 ) 5 400 ;

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

cc11 1 p10 # a g 10 1 z*N #


0 b 1 p12 a g 12 1 z2 b d f
*N

5 min 5 3 175 1 0, 2 3 ( 515 1 135 ) 1 0, 8 3 ( 40 1 297, 5 ) 4 ;


3 0 1 0, 5 3 ( 535 1 135 ) 1 0, 5 3 ( 60 1 310 ) 46
5 min ( 575 ; 520 ) 5 520 ;
ce résultat signiie qu’à la phase N 2 1, il ne faut pas remplacer un matériel qui
est dans l’état 1 ;
3) z*N
2
21
5 min 5 3 575 4 ; 3 0 1 0, 7 ( 575 1 135 ) 1 0, 3 ( 100 1 310 ) 46
5 min ( 575, 620 ) 5 575 ;
© Dunod – Toute reproduction non autorisée est un délit.

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

*6.1 Fiabilité et remplacement


Soit un matériel de iabilité v ( t ) 5 P 3 T . t 4 , où v ( t ) 5 ( 1 1 at ) e2at.
1. Calculer la densité de probabilité associée à l’instant de la panne, soit
i(t), puis le MTTF t de ce matériel. Évaluer le taux d’avarie l(t).
2. Dès que ce matériel tombe en panne, on le remplace sans délai par un
matériel neuf identique ; déterminer la probabilité pm(t) de consommer m
matériels entre 0 et t. Justiier l’expression obtenue pour pm(t), en se fon-
dant sur un processus de Poisson de taux a.

**6.2 Fiabilité d’un montage en pont double

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).

**6.3 Durée de vie résiduelle d’un matériel


Soit un matériel de iabilité v ( t ) 5 P 3 X . t 4 où X désigne la variable aléatoire
« durée de vie du matériel ». On note ru la durée de vie résiduelle moyenne, sachant
que ce matériel a déjà atteint l’âge θ : ru 5 E 3 X 2 u k X . u 4 .

262
exercices

1. Montrer iu ( t ) # dt 5 P 3 t , X < t 1 dt k X . u 4 est égal à :

2vr ( t ) # dt / v ( u ) , puis que : ru 5 3 t # iu ( t ) # dt 2 u 5 3 v ( t ) # dt / v ( u ) .


` `

u u

2. Dans le cas d’une iabilité exponentielle v(t) 5 e2lt, évaluer ru et com-


menter le résultat obtenu.

*6.4 Calcul de réapprovisionnement et chaîne de Markov


Une société de location de voitures, comptant 200 véhicules, tous de même modèle,
dotés chacun de cinq pneus, entreprend d’étudier la survie de ces derniers. D’après
le ichier de l’atelier de maintenance, sur un échantillon initial de 1 000 pneus, on a
pu établir les fréquences indiquées par le tableau ci-après.
1. Dresser la courbe de survie des pneumatiques. Calculer la vie moyenne
et l’écart-type de l’âge du remplacement des pneus. Compléter le tableau
par l’indication des mortalités relatives et des probabilités d’avarie.

Nombre de pneus ayant duré Nombre de pneus ayant duré


moins d'un mois 5 de 7 à 8 mois 120
de 1 à 2 mois 10 de 8 à 9 mois 70
de 2 à 3 mois 40 de 9 à 10 mois 50
de 3 à 4 mois 80 de 10 à 11 mois 25
de 4 à 5 mois 130 de 11 à 12 mois 15
de 5 à 6 mois 250 de 12 à 13 mois 3
de 6 à 7 mois 200 de 13 à 14 mois 2

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.

*6.5 Pertinence économique de l’entretien préventif


Une pièce, appartenant à un matériel, est caractérisée par la fonction de survie
(iabilité) suivante :

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.

**6.6 Comparaison économique de deux matériels concurrents


Un matériel est payé 25 000 € à l’achat et, durant ses trois premières années de
fonctionnement, nécessite des frais annuels de 3 000 € pour l’entretien. Ensuite, le
coût de l’entretien s’accroît de 1 000 € chaque année.
Un matériel concurrent serait payé 17 000 € à l’achat, mais son entretien revien-
drait à 5 000 € par an durant les quatre premières années et, ensuite, à 6 000 € pour la
cinquième année, 7 000 € pour la sixième, 8 000 € pour la septième, etc.
L’un et l’autre sont prévus pour durer 15 ans et sont supposés sans valeur rési-
duelle appréciable au bout de quelques années.
Quel est le matériel le plus avantageux ? Au bout de combien d’années devient-il
plus avantageux que le concurrent ?
Le taux d’actualisation sera pris (pour faciliter les calculs) égal à 10 %. Les frais
d’entretien sont supposés payés à la in de chaque année.

*6.7 Priorité de réparation entre deux systèmes


et chaîne de Markov
Dans une entreprise, on a des systèmes de type S1 et des systèmes de type S2, qui
tombent en panne avec une probabilité de 1/2 par journée pour le premier système
et une probabilité de 1/3 par journée pour le système S2 (valeurs peu réalistes, mais
facilitant les calculs !).
La réparation d’un système du type S1 demande une journée, celle d’un système
S2 trois journées. On notera R 2(1), R 2(2), R 2(3) un système S2 en 1re, 2e, 3e semaine de
réparation.
L’atelier de l’entreprise se charge de la réparation dans les conditions suivantes :
si, tel jour, une seule tâche se présente, on l’entreprend sans tergiverser, mais si deux
tâches de type différent sont proposées, on hésite à entreprendre l’une par priorité sur
l’autre… On a pour critère de minimiser l’inactivité de l’atelier de réparation.
Sachant que les travaux non entrepris par l’atelier local sont immédiatement
coniés à l’extérieur, déterminer la politique la meilleure.

264
exercices

6.8 Disponibilité asymptotique d’un appareil


de fonctionnement intermittent
Soit un appareil fonctionnant de façon intermittente (par exemple, un appareil de
signalisation). Il peut être en état de fonctionnement (état EF), inactif (état EI), en
attente de réparation (état EA) ou, enin, en réparation (état ER). On appelle :
a # Dt, la probabilité pour que l’appareil fonctionnant à t, tombe en panne entre t
et t 1 Dt.
b # Dt, la probabilité pour que l’appareil en fonctionnement à t, devienne inactif
entre t et t 1 Dt.
m # Dt, la probabilité pour que l’appareil en réparation à t, soit ini d’étre réparé
entre t et t 1 Dt (il sera alors rendu à l’état inactif).
l # Dt, la probabilité pour que l’appareil inactif à t, soit mis en fonctionnement
entre t et t 1 Dt.
v # Dt, la probabilité pour que l’appareil en attente de répartition t, commence à
être réparé entre t et t 1 Dt.
Justiier que le processus de Markov associé admet un régime permanent pour les
probabilités de ces états, indépendant des conditions initiales (d’ailleurs non spéci-
iées dans cet énoncé !). Évaluer alors la probabilité de l’état EF, qui est l’utilisation
asymptotique de l’appareil, notée U*.

6.9 Paramètres de la sûreté de fonctionnement d’un atelier.


On considère un atelier de fabrication comportant Ν machines identiques, d’utili-
sation constante (quand elles ne sont pas en panne). Chaque machine a la même
iabilité v(t) 5 e2lt.
Dès qu’une machine tombe en panne, un technicien vient la réparer ; on peut faire
appel à autant de techniciens qu’il est nécessaire. La probabilité pour qu’une répara-
tion dure plus que le laps de temps t est : e2mt.
1. Modéliser le fonctionnement de l’atelier par un processus de Markov.
Quels sont les N 1 1 états de ce processus ?
© Dunod – Toute reproduction non autorisée est un délit.

Tracer le graphe des transitions entre t et t 1 dt et valuer chaque arc par la


probabilité de transition associée.
2. Justiier le fait que ce processus est fortement ergodique. Évaluer alors
la probabilité de chaque état en régime permanent, puis le nombre moyen
n de machines en marche. Quelle est la disponibilité D* de cet atelier (au
moins une machine en marche) ?

265
Chapitre 6 • Fiabilité des composants, sûreté. . .

3. Pouvez­vous expliciter la simplicité des expressions obtenues à l’aide


de la loi binomiale ? (Indication : considérer d’abord le cas d’un atelier
avec une seule machine et un seul réparateur, puis considérer le problème
comme Ν fois la répétition de ce cas élémentaire.)
4. Sur un intervalle de temps  , quelle est la durée moyenne de paralysie
(indisponibilité) de l’atelier ?

6.10 Étude d’un système composé de modems, d’un ordinateur


et d’un automate câblé
Le système que nous décrivons a été proposé pour équiper chacun des postes asservis
(PA) d’une compagnie produisant de l’électricité. Ce système reçoit des commandes
en provenance de l’ordinateur du poste centralisé (PC), les traite, puis les retrans-
met à un automate câblé (ΕAR) qui gère les lignes à haute tension et les ouvrages
hydrauliques. Le système émet vers le poste centralisé des acquittements pour les
commandes reçues ainsi que diverses mesures.
La qualité essentielle exigée d’un tel système est la sécurité, et, dans ce but, une étude
qualitative a été réalisée. Toutefois, de façon à assurer une bonne disponibilité, certains
éléments ont été doublés et des marches en fonctionnement dégradé sont possibles :
– les informations échangées avec le poste centralisé sont transmises simultanément
sur deux voies ; les éléments assurant ces transferts sont donc doublés (lignes,
modems et cartes de couplage­modem) ;
– les cartes d’entrée­sortie, destinées aux échanges avec l’automate câblé, sont
réparties sur deux bacs. En cas de défaillance d’un bac, le système réalise partiel­
lement sa tâche avec l’autre bac. Ci­dessous, on désigne par « bac E/S » chacun
de ces bacs ;
– lorsque les deux voies de communication avec le poste centralisé sont défaillantes
un fonctionnement en mode local est possible.
Le système peut être schématiquement représenté par la igure suivante :

Nous ferons, pour le calcul de la disponibilité de ce système, les hypothèses sim-


pliicatrices suivantes :

266
exercices

– toute panne de l’unité centrale (U.C.) est fatale,


– une panne de périphériques locaux ne perturbe pas la marche du système (on n’en
tiendra donc pas compte dans le calcul),
– on ne distingue pas les pannes de coupleurs ne perturbant pas le bus E/S, toute panne
d’un coupleur avec l’EAP provoque la coupure de l’alimentation correspondant,
– on ne considère pas les pannes transitoires et les pannes dues au logiciel.
On note A, B, C les événements suivants :
A : panne d’un bac coupleur avec l’automate (ΕAP)
B : panne d’un modem ou d’un coupleur modem
C : panne fatale pour le système.
On fera l’hypothèse que l’occurrence de ces événements est régie par des lois
exponentielles de taux respectifs l1, l2, l3 , (l3 est en fait, ici, la somme des taux de
panne des éléments dont la défaillance entraîne une panne fatale).
On supposera de plus que, de tout état correspondant à fonctionnement dégradé
ou à une panne fatale, on retourne – après réparation – à un état de fonctionnement
normal : ceci se traduira, sur le graphe simpliié du processus de Markov associé, par
un arc joignant chacun de ces états à l’état de fonctionnement normal (qu’on notera
« État 1 »), valué par un arc de taux m ; on a en effet supposé que toutes les répara-
tions quelle que soit leur importance, ont des durées aléatoires régies par une même
loi exponentielle de taux m.
1. Déterminer les 7 états du processus de Markov associé ; on notera :
E1 : l’état de fonctionnement normal ;
E5 : l’état de fonctionnement en local (mais avec les deux bacs d’Ε/S en
état de marche) ;
E7 : l’état pour lequel le système est en panne (fatale ou les deux bacs E/S
en panne).
2. Faire la liste des événements qui causent des changements d’états (on
pourra noter D une in de réparation), pour chacun des états. Tracer alors
le graphe simpliié (c’est-à-dire sans boucles et avec les arcs valués par des
taux), en disposant comme suit les sommets :
© Dunod – Toute reproduction non autorisée est un délit.

267
Chapitre 6 • Fiabilité des composants, sûreté. . .

Le processus de Markov obtenu est­il fortement ergodique ?


3. Soit A l’ensemble des 3 états que l’on peut quitter par des arcs de taux
2l1 et aussi de taux l3. Déterminer ces 3 états.
Soit B l’ensemble des 3 états, que l’on peut quitter par des arcs de taux
l 3 1 l 1 et aussi m. Déterminer ces 3 états (en remarquant que B d A est
vide).
4. On estime que le système remplit sa fonction s’il se trouve dans l’un
des états E1, E2, c, Ε6. Autrement dit, sa « disponibilité asymptotique »
est : D* 5 p *1 1 p *2 1 c1 p *6 où p *i est la probabilité de l’état Ei en
régime permanent.
On note p *A 5 a p *i et p *B 5 a p *i . Montrer que : D* 5 p *A 1 p *B.
EiPA EiPB
En appliquant le théorème des coupes à A, montrer que :
m
p *A 5 ; puis avec B, que : ( m 1 l 1 1 l 3 ) p *B 5 2 l 1p *A.
m 1 2 l1 1 l3

En déduire D*. Vériier que lim D* 5 1 : expliquer pourquoi.


mS `
Vériier que : D* 5 0 si m 5 0 : expliquer pourquoi.
Pouvez-vous expliquer pourquoi D* ne dépend pas de l2 ? Peut-on alors
envisager une modélisation plus simple (3 états) ?
5. À l’aide de cette modélisation simpliiée, évaluer le MTTF et le MUT.
Commenter.

6.11 Disponibilité et fiabilité d’un système informatique


Un système informatique comprend un premier ordinateur A suivi de deux proces-
seurs identiques B1 et B2 :

Ce système peut donc assurer sa mission si A fonctionne et si B1 ou B2 (ou les


deux) fonctionnent.
B1 et B2 sont en redondance sélective active : ils fonctionnent en parallèle en
permanence ; si B1 tombe en panne, il est immédiatement relayé par B2 (si B2 n’est
pas déjà en panne).

268
exercices

1. a) On suppose connues les iabilités RA(t) et RB(t), respectivement de


l’ordinateur A et d’un processeur. (B1 et B2 ont la même iabilité.)
Calculer la iabilité R(t) du système et son MTTF (durée de vie moyenne),
en l’absence de toute réparation, en fonction de RA(t) et RB(t).
b) Application : RA(t) 5 e2at ; RB(t) 5 e2bt : expliciter R(t) et le MTTF.
2. On désire modéliser le fonctionnement de ce système par un processus
de Markov à trois états (sachant que des réparations sont possibles, cf. ci-
dessous) : E0, E1 et E2, où E2 est une panne paralysante (A en panne, ou
bien B1 et B2 sont en panne).
Préciser les états E0 et E1.
Dès qu’une panne paralysante est intervenue, une réparation du (ou des
éléments) en panne démarre : la probabilité pour que la durée aléatoire
d’une réparation dépasse t est e2mt (ceci, quel que soit le nombre d’élé-
ments à réparer). À partir de l’état E1, on n’entreprend pas de réparation.
a) Tracer le graphe simpliié du processus de Markov associé. Valuer cha-
cun de ses quatre arcs par le taux convenable : vous commencerez par
recenser, pour chaque état, quels sont les éléments qui fonctionnent et donc
sont susceptibles de tomber en panne. Montrer, en particulier, que le taux
l12 , qui value l’arc (E1, E2) égale a 1 b.
b) Ce processus est-il ergodique ? Justiier votre réponse.
Si oui, appliquer le théorème des coupes à E0 puis à E1 et en déduire les
probabilités, en régime permanent, sachant que a 5 b et m 5 10a.
3. On considère le même système, mais en l’absence de réparations.
a) Tracer et valuer le graphe (non simpliié) des transitions entre t et t 1 dt.
b) Montrer que les probabilités des états à l’instant t satisfont aux équations
différentielles ci-dessous, (utiliser la matrice du générateur du processus de
Markov) :
p 0r ( t ) 5 2 ( a 1 2b ) p 0 ( t )
• p 1 ( t ) 5 2bp 0 ( t ) 2 ( a 1 b ) p 1 ( t )
p 2r ( t ) 5 ap 0 ( t ) 1 ( a 1 b ) p 1 ( t ) .
Sachant qu’à t 5 0, le système est dans l’état E0, c’est-à-dire que p0(0) 5 1,
calculer p0(t) et p1(t).
c) Justiier pourquoi on a l’égalité R ( t ) 5 p 0 ( t ) 1 p 1 ( t ) .
Remplacer p 0 ( t ) 1 p 1 ( t ) par leur expression trouvée au 3)b) et vériier
qu’on retrouve le résultat du l)b).
d) Facultatif : associer un réseau de Petri, dont le graphe des marquages
accessibles (“GMA”) coïncide avec le graphe simpliié, déduit du 3)a).
Donner le marquage initial (possible avec 4 places et 3 transitions).

269
7 les PhénoMènes
d’aTTenTe

7.1 généraliTés sur les PhénoMènes d’aTTenTe


Les phénomènes d’attente sont, hélas, d’observation courante dans la vie quoti-
dienne. Quand nous nous rendons à la poste, à la gare, à la banque, bien souvent
nous devons « faire la queue » pour obtenir des timbres, un billet, de l’argent. On a
l’habitude d’appeler clients les individus qui constituent la ile d’attente et station le
lieu (par ex. guichet) où un serveur leur procure un service déterminé.
La ile d’attente ne se manifeste pas toujours d’une manière physique : par
exemple si, dans un atelier, des machines tombées en panne « attendent » la visite et
les soins du mécanicien-réparateur, elles ne se constituent pas en ile. De même, les
patients qui sollicitent une consultation chez un spécialiste, ou des processus à traiter
dans un système informatique. Il est néanmoins facile, à chaque fois, de déterminer
quels sont les « clients », la ou les « station(s) », le ou les « serveur(s) ».
Remarquons qu’il s’agit de phénomènes stochastiques. En effet, les clients
arrivent en général au hasard ; par ailleurs la durée d’occupation de la station par
chaque client n’est en général pas constante. Il sufit en effet que l’une de ces deux
caractéristiques se présente comme un phénomène aléatoire pour qu’il s’agisse déjà
d’un problème stochastique.
Considérons le cas très simple (igure 7.1) où il n’existe qu’une station, donc
qu’une seule ile d’attente (en l’absence de priorités). Chaque client pénètre dans
l’enceinte où fonctionne la station (en passant par un tambour) : il se dirige aussitôt
(c’est-à-dire en temps négligeable) vers la ile d’attente et y prend la dernière place
(ou passe immédiatement à la station, si elle est libre) ; dès qu’un client a reçu le
service qu’il attendait de la station, il s’en va aussitôt ; le premier de ceux qui atten-
daient dans la ile entre dans la station (si la ile est vide, la station reste inoccupée
jusqu’à l’arrivée du prochain client).
7.2 Loi des arrivées. Loi des services

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.

7.2 loi des arrivées. loi des services


© Dunod – Toute reproduction non autorisée est un délit.

Revenons au phénomène d’attente le plus simple où il n’existe qu’une queue et


qu’une station.
Le cas intéressant est celui où deux phénomènes aléatoires sont conjugués : les
clients arrivent au hasard et le temps passé à la station par chaque client est aléatoire.
Par exemple, les automobilistes arrivent au hasard à un parc de stationnement (cela
veut dire : l’heure d’arrivée de chacun est aléatoire) ; ils y stationnent un temps variable
qui ne peut être prévu pour chacun d’eux (c’est encore une variable aléatoire).
Peut-on caractériser statistiquement la manière dont les clients arrivent au parc et
la durée de leur stationnement ? L’occupation des places de ce parking ?

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.

7.3 file à une sTaTion. sysTèMe ouverT : file M/M/1


Considérons le cas où il existe une seule station, les arrivées des clients formant un
processus de Poisson de taux l et le temps de service suivant une loi exponentielle de
taux m. On observera que l est le nombre moyen d’arrivées par unité de temps, m, le
1
nombre moyen de clients pouvant être servis par unité de temps ; ainsi m est la durée
moyenne d’un service. Nous avons étudié en détail le processus de Poisson et la loi
exponentielle au chapitre 5 auquel le lecteur pourra se reporter (de 5.2.1 à 5.2.3).
Nous pourrions nous contenter, pour ce qui est de la modélisation de cette ile, de
renvoyer le lecteur aux processus de naissance et de mort que nous avons envisagés

272
7.3 File à une station. Système ouvert : file M/M/1

également au chapitre 5. Nous reprendrons cependant ici, à titre d’exercice, le rai-


sonnement élémentaire de la méthode différentielle.
Si n personnes ( n > 1 ) sont dans le système d’attente à t 1 Dt, cela ne peut prove-
nir1 que des trois situations à l’instant t ci-après :
Tableau 7.1

Nombre de personnes Entrées Sorties Nombre de personnes


présentes à t pendant t présentes à t  t
n ฀1 1 0 n
n 0 0 n
n ฀1 0 1 n
Les probabilités d’entrée et de sortie pendant Dt étant, respectivement, l  D t et
m  D t et les probabilités complémentaires (1 2 m  D t) et (1 2 l  D t), on a :
pn ( t 1 Dt ) 5 pn 2 1 ( t ) 3 l # D t ( 1 2 m # D t ) 4 1 pn ( t ) 3 ( 1 2 l # D t )( 1 2 m # D t ) 4 1
pn 1 1 ( t ) 3 ( 1 2 l # D t ) # m # D t 4 ,
où l’on a noté pn(t) la probabilité de la situation (ou état) : n personnes sont dans le sys-
tème à t ; on a ici noté pn(t) – au lieu de pn(t) comme au chapitre 5 car il n’y a pas de
risque de confusion, ici, entre les probabilités des états et celles des transitions – la
probabilité pour que n personnes soient présentes dans le système à la date t.
En négligeant les produits en Dt2 (c’est-à-dire en o(Dt)), on obtient :
pn ( t 1 Dt ) 5 pn 2 1 ( t ) l # D t 1 pn ( t ) 3 1 2 ( l 1 m ) # D t 4 1 pn 1 1 ( t ) m # D t,
d’où :
pn ( t 1 Dt ) 2 pn ( t )
5 l # pn 2 1 ( t ) 2 ( l 1 m ) # pn ( t ) 1 m # pn 1 1 ( t ) ,
Dt
sauf pour n 5 0, auquel cas on a seulement les situations du tableau ci-dessous :
Tableau 7.2

Nombre de personnes Entrées Sorties Nombre de personnes


àt à t  t
© Dunod – Toute reproduction non autorisée est un délit.

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

En portant dans : lp*0 1 ( l 1 m ) p*1 1 mp*2 5 0, on obtient :


2
l
p*2 5 a m b p*0

et, ainsi de suite, d’où :


n
l
p*n 5 a m b p*0 (7.3)

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

Rappelons que la somme des termes d’une progression géométrique illimitée :


1 1 q 1 q2 1 c1 qm 1 c vaut : 1/(1 2 q) si q , 1.
l
Or m , 1, comme nous le justiions au paragraphe suivant ; d’où:
1 ,
1 5 p*0 # (7.5)
l
12
m
en faisant la somme de la progression géométrique illimitée (« série géométrique »). On
l
observera que cette série est convergente, car il est physiquement nécessaire que m , 1,
autrement dit que le taux d’arrivées des clients soit inférieur au taux de service, pour qu’il
n’y ait pas engorgement. Il vient alors :
l
p*0 5 1 2 m .
La simplicité de cette formule s’explique par la notion de conservation des clients :
en régime permanent le taux des entrées dans le système M/M/1 est égal à l ; celui des
sorties serait égal à m si la station était occupée en permanence, mais celle-ci n’est occu-
pée qu’avec la probabilité 1 2 p*0. Le taux des sorties valant alors m # ( 1 2 p*0 ) est égal, en
régime permanent, au taux des entrées, soit l, d’où : l 5 m ( 1 2 p*0 ) . Puis on obtient :
n
l l
p*n 5 a m b # a1 2 m b .

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

Le graphe « simpliié » est le suivant :

Figure 7.3

275
Chapitre 7 • Les phénomènes d’attente

En appliquant le théorème des coupes à B0 5 5 E0 6 , puis B1 5 B0 c 5 E1 6 , puis c,


puis Bn 2 1 5 Bn 2 2 c 5 En 2 1 6 5 5 E0, E1, c, En 2 1 6 , il vient:
l # p*0 5 m # p*1 ; l # p*1 5 m # p*2 ; c ; l # p*n 2 1 5 m # p*n.
n
l
On retrouve ainsi directement : p*n 5 a m b # p*0.

Observons que le théorème des coupes nous a fourni directement l’invariant :


lp*n 2 1 2 mp*n 5 0, qui avait facilité la résolution de la récurrence (portant initialement
sur trois termes consécutifs : pn 2 1, pn et pn 1 1, au lieu de deux ici : pn 2 1 et pn).
On aurait pu aller encore plus vite, en appliquant la relation valable pour les pro-
cessus de naissance et de mort fortement ergodiques (c’est le cas ici si l/m , 1 ) :
l n 2 1 ? l n 2 2 ? c? l 0 l
n
*
pn 5 m ? m ? c? m ? p0 *
soit ici : pn 5 a m b .
*
n n21 1

Calculons la “moyenne” de cette distribution (en fait l’espérance du nombre de


clients présents) :

n 5 a n # p*n 5 0 # p*0 1 1 # p*1 1 2 # p*2 1 c1 n # p*n 1 c


`

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

On observera que si lS μ– ; le dénominateur tend vers 0+ et n S ` : on voit se


proiler la saturation !

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.

Remarque. On observe qu’on a :


n 5 l# t,
t étant le temps de séjour dans le système (et non dans la ile). On a aussi :
v 5 l# tf, v étant le nombre moyen de clients dans la ile, à l’exception de celui
qui se fait servir, quand le service est occupé. Ces deux relations sont les for-
mules de Little. Les méthodes dites de conservation (ou encore d’invariants)
permettent d’expliquer, notamment, les formules de Little : n 5 l # t et v 5 l # t f .
La différence entre t et tf est évidemment égale à la moyenne du temps de
service : moyenne du temps d’attente dans le système – moyenne du temps
d’attente dans la ile 5 moyenne du temps de service.
1 l l
Ainsi : t 2 tf 5 m , d’où n 2 v 5 l ( t 2 tf ) 5 m et v 5 n 2 m .

Dans notre cas M/M/1 où l ne dépend pas de n, on retrouve bien


tf 5 v / l 5 n / m. Lorsque l dépend de n, on déinit un taux d’arrivée moyen
l *eq tel que :
n 5 l *eq ? t et v 5 l *eq ? tf .
Ainsi, si la ile est limitée à N personnes et comporte une station (ile M/M/1/N) :

l *eq 5 a l ? p*n 5 l ? ( 1 2 p*N ) ;


N21
© Dunod – Toute reproduction non autorisée est un délit.

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 !

7.4 file à S sTaTions, sysTèMe ouverT : file M/M/S


Lorsque S stations sont disponibles, le phénomène n’est guère plus compliqué à
décrire ; tant que les stations ne sont pas toutes occupées, il n’y a pas de ile d’attente:
autrement dit, les taux de traitement du système d’attente sont : m lorsqu’une station
est occupée, 2m lorsque deux stations sont occupées, etc., jusqu’à Sm.
Reprenons le modèle d’un processus de naissance et de mort (chapitre 5). On a,
bien sûr li 5 l, pour tout i, car le nombre d’arrivées ne dépend pas du nombre de
clients présents dans le système.
En revanche, on a : mn 5 nm, pour 1 < n , S, et mn 5 Sm, pour n > S. Ainsi l’on
peut tracer le graphe simpliié de ce processus de Markov particulier :

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:

l # p*0 5 m # p*1 , l # p*1 5 2 m # p*2 , l # p*2 5 3 m # p*3 , c , l # p*S 2 1 5 S m # p*S.


2 3
l 1 l 1 l
D’où : p*1 5 m p*0 ; p*2 5 a m b p*0 ; p*3 5 a m b p*0 , c
2 6
et, plus généralement, pour n < S :
n
1 l *
p*n 5 a b p0.
n! m
Ainsi, pour n 5 S :
S
1 l *
p*s 5 a b p0.
S! m

Au-delà de S clients présents, on obtient : l # p*S 1 k 5 S m # p*S 1 k 1 1.

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º 

Le nombre moyen de clients dans la ile d’attente est: v 5 a k # p*S 1 k. En effet la


`

ile n’existe que si au moins (S + 1) clients sont présents. k51

# a l b . Ainsi v 5 p*S # a ka l b 5 p*S # l a k # a l b


© Dunod – Toute reproduction non autorisée est un délit.

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

On obtient le temps moyen d’attente tf par la relation de Little : v 5 l# tf , d’où :


( l/m ) S
tf 5 # p*0.
2
l
S m # S! # a1 2 b
Sm

Le nombre moyen de clients présents dans le système est n ; en notant g le nombre


moyen de stations (guichets) occupées, on a :

n 5 v 1 g.

Certes l’on pourrait calculer g par : g 5 a k # 1 a S # p*k , (en effet si le nombre


S21 `

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.

Ce que l’on peut vériier à l’aide des relations de Little : on a g 5 n 2 v ; or n 5 l # t


1 1 l
et v 5 l # tf d’où g 5 l ( t 2 tf ) . Mais : t 5 tf 1 m . Finalement : g 5 l # a m b 5 m .

7.5 aPPlicaTion nuMérique


Dans une entreprise existe un bureau spécialisé, auquel le personnel a accès pendant
les heures de travail. Le chef du personnel (D.R.H.), qui a remarqué l’afluence des
intéressés à ce bureau, demande qu’une étude relative au fonctionnement de ce service
lui soit présentée. Ce contexte est certes artiiciel, mais permet de ixer les idées.
Un analyste est désigné pour déterminer le temps moyen d’attente des employés
dans la ile et la durée moyenne de l’entretien que chacun a avec le responsable de
ce bureau.

280
7.5 Application numérique

Il s’agit bien d’un problème d’attente à une station.


Le premier travail de l’analyste sera de déinir les périodes pendant lesquelles le
phénomène peut être considéré comme stationnaire : durant la première demi-heure
et la dernière de la journée, ainsi que l’heure du repas, l’afluence au bureau est très
luctuante et faible ; au contraire, durant les autres périodes de la journée, le phéno-
mène stationnaire est établi et l’on peut examiner les entrées et services du point de
vue statistique.

7.5.1 Études des arrivées


Pendant cent intervalles de cinq minutes, successifs ou non, mais tous situés dans la
période de stationnarité, le nombre de « clients » arrivant durant chaque intervalle de
cinq minutes a été compté.
Supposons que les résultats soient ceux du tableau ci-dessous :
La moyenne de cette loi de distribution
Tableau 7.3 est facile à calculer :

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 :

q0 5 0,28 ; q1 5 0,36 ; q2 5 0,23 ; q3 5 0,09 ; q4 5 0,03 ; q5 5 0,01


© Dunod – Toute reproduction non autorisée est un délit.

(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

n Fréquences Fréquences  2 2/fth


observées (fn) théoriques (fth )
0 29 28 1 1 0, 0357
1 34 36 2 4 0, 1111
2 24 23 1 1 0, 0435
3 9 9 0 0 0
4 4 4 0 0 0
฀฀0, 1903฀
฀2 calculé

Le nombre de degrés de liberté du système est d 5 c 2 1 2 p, c étant le nombre


de classes (ici 5) et p le nombre de paramètres de la loi théorique tirés de l’observa-
tion (ici un seul : la moyenne lt) ; on a donc : d 5 5 2 1 2 1 = 3.
Or, en se reportant à une table des x2, on trouve, pour 3 degrés de liberté :
x 20, 95 5 0, 352.
Comme le x2 calculé (0,19) est inférieur à cette valeur, l’analyste décide d’admettre
que le phénomène observé suit une loi de Poisson. (avec un seuil de coniance de 95 %).
La conclusion à tirer de l’étude des arrivées est qu’elles se font « à la Poisson »,
1, 26
avec un taux de < 0,25 arrivée par minute.
5

Remarque. Lorsque, pour le même nombre de degrés de liberté, le x2 calculé


avec les données de l’expérience, moyennant l’hypothèse que celles-ci suivent
telle ou telle loi théorique, est comparé aux valeurs inscrites sur la même ligne
de la table, la valeur calculée se situe entre deux valeurs du tableau, lues dans
des colonnes adjacentes, p1 et p2 ( p1 . p2 ) , cela veut dire que, si la variable
suivait la loi théorique envisagée, la probabilité d’obtenir un écart dû au hasard
supérieur au x2 calculé serait supérieure à p2.
Si la valeur p2 est très petite (disons, inférieure à 0,05), l’hypothèse est très
peu vraisemblable ; si, au contraire, elle est très grande (disons, par exemple,
supérieure à 0,50), l’hypothèse est vraisemblable.
Entre ces deux valeurs, y a-t-il place pour une hypothèse « assez vraisemblable »
ou, du moins, « n’introduisant pas de contradiction dangereuse » ? Selon les raisons
que l’on a d’être exigeant, on ixe quelquefois le seuil de rejet à 0,10, voire 0,20 ;
en recherche opérationnelle, il n’est pas rare que l’on soit beaucoup plus
exigeant que cela. À l’inverse, certains se méient des x2 calculés inférieurs
à x 20, 98 ou, a fortiori, x 20, 99 et rejettent l’hypothèse, car les résultats sont jugés
« trop bons pour être honnêtes », les écarts dus au hasard devant, la plupart
du temps, être plus importants. Nous nous garderons d’adopter systématique-

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).

7.5.2 Études des services


À cent reprises, consécutives ou non, mais prises dans la période stationnaire, on
relève la durée du service, c’est-à-dire le temps passé par un client au “service”.
Supposons que les résultats obtenus soient les suivants :
Tableau 7.5

Durée Nombre Durée Nombre


des services de services observés des services de services observés
฀1 min 23 de 7 à 8 min 5
de 1 à 2 min 20 de 8 à 9 min 3
de 2 à 3 min 14 de 9 à 10 min 2
de 3 à 4 min 12 de 10 à 11 min 2
de 4 à 5 min 9 de 11 à 12 min 1
de 5 à 6 min 5 12 min 0
de 6 à 7 min 4

La moyenne est ici :

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 7, 5 3 5 1 8, 5 3 3 1 9, 5 3 2 1 10, 5 3 2 1 11, 5 3 1 ) 5 3, 27 min.

Le nombre de clients servis par minute est donc :


© Dunod – Toute reproduction non autorisée est un délit.

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

7.5.3 Premiers calculs


Les formules données précédemment pour une station unique (ile M/M/1) permettent
de calculer :
– le nombre moyen de “clients” dans le système :

l 0, 25
n5 5 5 5;
m2l 0, 30 2 0, 25

– le temps moyen d’attente dans la ile pour chaque client :

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

Pourtant, le responsable du bureau n’est occupé en moyenne que :

1
8 3 60 3 0, 25 3 3,27 min < 6 h , par pour.
2

7.5.4 Optimisation du nombre de guichetiers


La « solution par les moyennes » consisterait pratiquement à adopter un nombre de
« préposés » permettant d’assurer le service et l’on trouverait ainsi que l’unique pré-
posé, c-à-d le responsable du bureau, sufit à sa tâche.
La solution économique, fondée sur la recherche opérationnelle, a pour but d’éta-
blir un bilan total de l’opération qui consisterait à embaucher 1, 2, … autres préposés
(cette décision accroissant le coût de fonctionnement du service), en vue de diminuer
le temps perdu par les employés (ce résultat faisant réaliser un gain sur le temps total
de travail). Déinir le nombre de préposés correspondant au bilan optimal est juste-
ment l’objet du problème.
Il ne faudrait surtout pas imaginer que si, par exemple, on double le nombre de
préposés, le nombre moyen d’employés dans la ile diminuera de moitié et qu’en
conséquence le temps d’attente sera également diminué de moitié...

284
7.5 Application numérique

Du reste, appelant S le nombre de “stations” (ici : le nombre de préposés), et le


l
rapport C 5 m , on a, d’après les résultats du paragraphe 7.4 :

– probabilité d’une attente nulle (probabilité de l’absence de tout client dans le


système) :
1
p*0 5 ;
1 a
S21
CS Cn
C n!
S!a1 2 b n50
S

– attente moyenne dans la ile :


CS
tf 5 2
? p*0 ;
C
m # S # S!a1 2 b
S
– nombre moyen de clients dans le système :
n 5 C # 3 mtf 1 1 4 .
On désigne, de plus, par r le taux moyen d’inactivité des “stations”.
Dans le cas qui nous occupe, on calcule facilement :
– pour S 5 1,
p*0 5 1 2 C 5 1 2 0, 833 5 0,167 ;
– pour S 5 2,
1
p*0 5 2
5 0, 411 ;
( 0, 833 ) 0, 833
111
0, 833 1!
2!a1 2 b
2
– pour S 5 3,
© Dunod – Toute reproduction non autorisée est un délit.

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

– pour S 5 2, tf 5 0,70 min, r 5 1,167 ;


– pour S 5 3, tf 5 0,09 min, r 5 2,167.
Supposant alors que le coût de l’inactivité des préposés de ce bureau représente le
salaire (et les charges) correspondant à la durée de cette inactivité, soit, par exemple,
12 euros de l’heure et que le temps perdu en attente par les employés peut être évalué
à 50 euros de l’heure, on obtient les coûts totaux suivants :
2 50 12
– pour S 5 1, G ( 1 ) 5 120 3 16 3 1 480 3 0,167 3 5 1 682,70 euros ;
3 60 60
50 12
– pour S 5 2, G ( 2 ) 5 120 3 0, 70 3 1 480 3 1,167 3 5 182,03 euros ;
60 60
50 12
– pour S 5 3, G ( 3 ) 5 120 3 0,09 3 1 480 3 2,167 3 5 217, 03 euros.
60 60
On constate qu’il sufit d’avoir deux préposés pour atteindre le coût minimal (il
faudrait connaître le taux d’absentéisme des préposés pour être à même d’examiner
s’il ne serait pas plus rationnel, inalement, d’en prévoir trois).

7.6 file àS sTaTions, cas du sysTèMe ferMé :


file M/M/S/N
Reprenons le système précédent mais imposons maintenant au nombre d’unités
(clients) présentes dans le système d’être limité, par exemple par le nombre N qui
apparaît alors comme la capacité du système.
Nous supposons que le nombre de stations S est inférieur à ce nombre N : sinon
il n’y aurait jamais d’attente.
Nous nous intéressons au cas où le taux de naissance à partir de l’état En (noté n
plus bas), soit ln, est proportionnel au nombre N 2 n d’unités non encore présentes
dans le système : ln 5 (N 2 n) # l (où n 5 0, 1, c, N 2 1).
Tel serait le cas d’un atelier comportant N machines de fonctionnement per-
manent (sauf panne) et S réparateurs ( S , N ) ; le taux de panne individuel de chaque
machine est l et vaut (N 2 n) l si n machines sont en panne, le taux de service d’un
réparateur donné étant m. Dans l’état En :
• si 0 < n , S, il y a n réparations en cours et m n 5 n # m ; mais
• si S < n < N, il y a S réparations en cours et m n 5 S # m.
Voici le graphe simpliié du processus de naissance et de mort associé au système :

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 :

10 * 80 160 * 640 * 1 280 *


p*1 5 p0 ; p*2 5 p*0 ; p*3 5 p0 ; p*4 5 p0 ; p*5 5 p0.
3 9 9 27 81

81 270 720 1 440 1920 1280 81


p*0 a 1 1 1 1 1 b 5 1, d’où p*0 5 , et :
81 81 81 81 81 81 5711

270 720 1440 * 1920 * 1280


p*1 5 , p*2 5 , p*3 5 , p4 5 , p5 5 .
5711 5711 5711 5711 5711

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

7.7* ProbabiliTé de déPasser une cerTaine aTTenTe :


cas de la file M/M/1
Cette étoile indique qu’il s’agit d’un paragraphe d’approfondissement, qui peut être
omis en première lecture.
Revenons d’abord au cas d’un système ouvert à une station, c’est-à-dire la ile
M/M/1, en régime permanent. La probabilité que l’attente dépasse t est :

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)!

dont la dérivée Ur # V 1 Vr # U vaut :

( 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.

D’où : P 3 Tf . t 4 5 1 2 3 f ( u ) du 5 m e2(m2 l)t.


t
l
0

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

*7.1 La file d’attente la plus simple : file M/M/1


Dans un phénomène d’attente, les arrivées sont poissoniennes et le service exponen-
tiel. Un seul employé dessert un guichet ouvert de 10 heures à 16 heures, sans inter-
ruption. Le nombre moyen des clients est 54 par jour ; la durée moyenne du service,
5 minutes.
1. On demande de déterminer : le nombre moyen, n des clients dans
le système d’attente ; le nombre moyen, v, des clients dans la ile ; le temps
moyen d’attente, tf.
2. Quelle est la probabilité d’attendre plus d’une demi-heure ?

**7.2 La file d’attente avec plusieurs stations banalisées : file M/M/S


Le tableau ci-contre résume les observations qu’on
a faites sur un système d’attente, dans lequel la durée Nombre Fréquence
moyenne du service est de 8 min 3/4. d'arrivées observée
0 0
1. On envisage un service proportionnel au
1 1 4
nombre de clients présents ; quel est le nombre
maximal de stations à prévoir, dans cette hypo- 2 7
thèse, de manière à couvrir sans attente le ser- 3 13
vice de la clientèle (on admettra qu’il n’y a pas 4 18
d’attente appréciable si plus de 99 % des clients 5 18
sont servis immédiatement). 6 15
7 9
2. On trouve que la solution, dans l’hypothèse 8 8
précédente, est coûteuse. On envisage alors
9 4
de réduire le nombre des stations ; quel est le
10 2
nombre optimal de stations à mettre en œuvre
11 1
si le coût d’attente d’un client est de 90 uni- 12 1
tés monétaires/heure, tandis que le salaire d’un 13 0
guichetier peut être estimé à 48 u.m./h ?
Commentaires
a) Le nombre des entrées dans le système, objet du tableau ci-dessus, a été
observé pendant des périodes d’un quart d’heure.
b) On pourra établir le bilan des opérations pour une journée de travail de
8 heures.

1. C’est-à-dire que le nombre de stations en opération est égal au nombre de clients présents.

292
exercices

**7.3 Cas de plusieurs stations à taux de service différent


On considère un phénomène d’attente constitué par un système ouvert à deux sta-
tions. Le taux moyen d’arrivée des clients est l et la loi de ces arrivées est la loi de
Poisson. Les deux stations ont un taux moyen de service différent. La première sta-
tion S1 a un taux μ1, la seconde station S2 a un taux m2 ; toutefois, dans ces deux sta-
tions, la loi des durées de service est la loi exponentielle. On admet que, si un client
se présente et que les deux stations sont inoccupées, il choisit l’une des stations par tirage
1
au sort donnant la même probabilité, soit , à S1 et S2 d’être choisies. En ce qui concerne
2
ces clients la règle est : premier arrivé, premier au service.

1. On demande d’établir les équations différentielles des probabilités


d’état en appelant : pn(t) où n 5 0, 2, 3, 4, c (i ฀ 1), la probabilité pour
qu’il y ait n clients dans le système ; p0.1(t) la probabilité pour qu’il y ait 1
client dans le système et que S1 soit inoccupée ; p1.0(t) la probabilité pour
qu’il y ait 1 client dans le système et que S2 soit inoccupée.
l
2. On fait l’hypothèse que c 5 m 1 m , 1, cette condition entraînant
1 2
l’existence d’un régime permanent. Donner les équations d’état en régime
permanent.
3. Exprimer, p *0, p *0,1, p *1, 0, p *2, p *3, c, p *n, c en fonction de : l, m1
et m2.
4. Calculer n qui représente le nombre moyen de clients dans le système
en régime permanent.

*7.4 Réparations de machines : files M/M/2/6, …, M/M/6/6


Un atelier compte six machines, chacune ayant un taux de panne poissonien égal à
1/6 (par heure). Deux mécaniciens sont chargés des réparations : les durées des répa-
rations, valant en moyenne à 4 heures, suivent une loi exponentielle.
1. Quel est le nombre moyen de machines en panne en régime permanent ?
2. Même question pour n 5 3, puis n 5 4, …, puis n 5 6.
© Dunod – Toute reproduction non autorisée est un délit.

**7.5 Cabinet médical : files M/M/1 et M/M/2


Un médecin spécialiste a observé que la durée moyenne d’une consultation est de
15 minutes. Il se dit qu’en convoquant ses patients à des heures ixées, séparées par
un intervalle de 20 min, il verra décroître l’excessive occupation de son cabinet. La
salle d’attente est très grande…

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’arriverait­il 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 au­delà 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 rendez­vous é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 doivent­ils recevoir de
patients en moyenne par heure ? Quelle est alors la probabilité d’attendre
plus d’1 heure ?

*7.6 Poste de douane et… processus de naissance et de mort


À un poste de douane, habituellement peu fréquenté, un seul agent est normalement
affecté au contrôle des automobiles ; toutefois dès qu’au moins trois autos sont pré-
sentes, un second douanier vient à la rescousse et contrôle les voitures en parallèle
avec son collègue et indépendamment. Chaque voiture n’est contrôlée qu’une fois.
Une étude statistique a permis d’établir que les arrivées aléatoires des autos sont
régies par une loi de Poisson de taux l et, d’autre part, que les durées aléatoires des
contrôles suivent une loi exponentielle, de durée moyenne 1/m.

294
exercices

1. a) Donner la condition pour que le poste de douane ne soit pas engorgé.


b) Associer un processus de Markov et tracer son graphe simpliié. On notera
Ek, l’état pour lequel k voitures sont présentes. Quel processus particulier
reconnaissez-vous ? (justiier en détail et exprimer lk pour tout k > 0 ; détermi-
ner mk selon que k < 2 ou k > 3).
2. a) On suppose l’existence d’un régime permanent. Soit alors p*k , la pro-
babilité de Ek. En posant C 5 l/m, exprimer p*k en fonction de p*0, C et k
(distinguer k < 2 et k > 3).

à l’aide de la relation a p*k 5 1 ; on écrira cette somme


`

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).

*7.7 Comment améliorer un système informatique ?


(Files M/M/1/S et M/M/2/S)
Un ordinateur, initialement monoprocesseur, peut placer en mémoire de masse les
données relatives à quatre travaux élémentaires (job), tout en traitant un cinquième
en mémoire centrale. Si l’ordinateur n’est pas saturé, les travaux prennent place –
lors de leur arrivée – dans la ile (avec la discipline : premier arrivé, premier servi) ;
sinon le sixième est régulièrement refusé. Les arrivées aléatoires des travaux suivent
© Dunod – Toute reproduction non autorisée est un délit.

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

Soit un phénomène économique y, résultat de plusieurs effets élémentaires :


e1, en, c, en.
Si l’on suppose que les effets élémentaires considérés sont additifs, on a :
y 5 e1 1 e2 1 c1 en ;
Par exemple, y pourrait représenter une quantité de produit, qui est fabriqué dans n
ateliers ; si l’on suppose, en outre, que chacun des effets élémentaires est proportion-
nel à sa cause xi, on peut écrire :
y 5 a1x 1 1 a 2 x 2 1 c1 a n x n (8.1)
c
a1, a2, , an étant les coeficients de proportionnalité.
Pour notre exemple, ei représenterait la quantité fabriquée dans un atelier i, qui,
elle-même, est proportionnelle au temps de fabrication xi (ai étant une vitesse de
fabrication) : ei 5 a i x i.
L’égalité (8.1) est du premier degré par rapport aux variables x1, x2, c, xn : on dit
encore qu’elle est une fonction linéaire de ces variables.
Il arrive que, dans beaucoup de problèmes, les m 1 1 effets soient tous propor-
tionnels aux causes (au moins de façon sufisamment approchée) ; le problème peut
alors se décrire uniquement au moyen d’équations linéaires :
y 1 5 a11x 1 1 a12 x 2 1 c1 a 1n x n
……………………………………………
y m 5 a m1x 1 1 am2 x 2 1 c1 a mn x n
y m 1 1 5 a m 1 1,1x 1 1 am 1 1,2 x 2 1 c1 a m 1 1, n x n
Comme nous l’avons déjà précisé dans le chapitre 1, en limitant supérieurement ou
inférieurement les m premiers effets :
y1 < b1 ou y1 > b1 ; y2 < b2 ou y2 > b2 ; c ; ym < bm ou ym > bm,
c’est-à-dire qu’en écrivant m contraintes, on permet l’optimisation du ( m 1 1 ) e effet :
3 max 4 y m 1 1 5 lj # x 1 1 l2 # x 2 1 c1 ln # x m où lj 5 am 1 1, j pour j = 1 à n
est la fonction économique du problème ; ym+1 est souvent noté : z ;
lj 5 am 1 1, j est le plus souvent noté cj.
Chapitre 8 • La programmation linéaire

Les m contraintes, si elles sont compatibles, délimitent dans un espace à n dimensions


(autant que de variables) un hypervolume convexe1 à l’intérieur ou à la périphérie duquel
se trouve(nt) le (ou les) point(s) dont les coordonnées ( x 1, x 2, c, x n ) satisfont aux
contraintes. En outre les variables x1, x2, c, xn sont toujours positives ou nulles.
La programmation linéaire a pour objet de résoudre le problème d’optimisation
qui consiste à maximiser une fonctionnelle linéaire (la « fonction économique »)
dans le domaine ainsi déini.
Nous pensons qu’il sera plus adapté, au niveau que nous nous ixons, de l’exposer
sur un exemple concret.

8.1 exeMPle de PrograMMe linéaire – asPecT


géoMéTrique

8.1.1 Problème de maximisation


Une entreprise peut fabriquer, sur une machine donnée, travaillant 45 heures par
semaine2 trois produits différents P1, P2 et P3. Cette machine peut fabriquer un seul
type de produits à la fois ; ses temps de réglage sont négligeables. Une unité du pro-
duit P1 laisse un proit net de 4 euros, une de P2, un proit de 12 euros, et enin, pour
P3, de 3 euros. Les rendements de la machine sont, respectivement pour les trois pro-
duits, et dans le même ordre : 50, 25 et 75 unités par heure. On sait d’autre part, grâce
à une étude de marché, que les possibilités de vente ne dépassent pas 1 000 unités de
P1, 500 unités de P2 et 1 500 unités de P3, par semaine. On se pose le problème de
répartir la capacité de production entre les trois produits, de manière à maximiser le
proit hebdomadaire.

8.1.2 Formulation algébrique


Posons maintenant le problème sous forme algébrique. Appelons x1, x2 et x3 les quan-
tités respectives (inconnues) des produits P1, P2 et P3 que nous avons à fabriquer
pour obtenir le proit maximal. Les quantités des produits P1, P2 et P3 ne doivent pas
dépasser, respectivement 1 000, 500 et 1 500 par semaine ; on peut donc écrire :
1) x 1 < 1 000 ;
2) x 2 < 500 ;
3) x 3 < 1 500.
D’autre part, le temps employé pour produire x1 unités de P1 est en heures :
1 1
x1 3 ; celui qui correspond à la fabrication de x2 unités de P2 est : x 2 3 ; enin,
50 1 25
pour confectionner x3 unités de P3, il faudra x 3 3 heures. Or, la somme des temps
75
1. “Convexe” signiie que si l’on prend deux points situés à l’intérieur (ou à la surface) de ce
volume d, le segment les joignant ne sort pas de d.
2. Ce qui n’entraîne pas, bien sûr, que chaque ouvrier doive travailler 45 h par semaine !

298
8.1 Exemple de programme linéaire – Aspect géométrique

de fabrication ne doit pas dépasser 45 h, disponibilité totale de la machine. On aura


donc (en négligeant les durées des réglages de la machine lors des changements de
gammes de produits) :
1 1 1
x1 1 x2 1 x 3 < 45
50 25 75
ou encore, en multipliant les deux membres de cette inégalité par le dénominateur
commun 150 :
4) 3x 1 1 6x 2 1 2x 3 < 6 750.
Les inégalités 1), 2), 3) et 4) sont les contraintes exprimées par l’énoncé ; les variables
y igurent au premier degré : ces contraintes sont pour cela appelées linéaires. On les
appelle par la suite : « contraintes explicites ».
En réalité, il y a encore, dans l’énoncé, trois contraintes cachées ; les quantités x1,
x2 et x3 ont un sens physique précis : ce sont des nombres d’unités de produits dont
la fabrication est envisagée ; elles ne peuvent donc qu’être positives ou nulles ou,
comme on dit, non-négatives. On écrira :
5) x 1 > 0 ; 6) x 2 > 0 ; 7) x 3 > 0.
Ces contraintes sont appelées par la suite : « contraintes implicites ».
Il reste enin à exprimer l’objectif du problème, qui est de choisir x1, x2 et x3 de
manière que le proit hebdomadaire soit maximal. Le proit z est égal à :
4x 1 1 12x 2 1 3x 3 ( euros ) ,
cette exigence pourra être notée :
8) 3 max 4 z 5 4x 1 1 12x 2 1 3x 3 ;
on remarque que cette fonctionnelle, appelée fonction économique, est elle aussi
linéaire.

8.1.3 Signification 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.

de l’atelier à 35 heures par semaine. Le problème devient :


1 1
x1 < 1 000 ; x2 < 500 ; x1 1 x2 < 35 soit x1 1 2x2 < 1 750 ;
50 25
x 1 > 0 ; x 2 > 0 ; 3 max 4 z 5 4x 1 1 12x 2.
Rien ne nous empêche ici de recourir à la méthode géométrique, puisque nous n’avons
que deux variables et qu’il est facile de représenter le problème dans l’espace à deux
dimensions (le plan) dont les axes porteront les quantités x1 et x2 . Toute solution du
problème est représentée par un point du plan, de coordonnées x1 et x2, déterminées.
Les contraintes x 1 > 0 et x 2 > 0 font que nous pourrons nous contenter du premier
quadrant du plan dans lequel les deux coordonnées sont positives ou nulles.

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

Ainsi la valeur α de la fonction économique est-elle proportionnelle à OH. Dès lors,


pour maximiser z, il sufira de tracer une droite parallèle à Δ0 dont la distance à

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.

Dès lors, pour maximiser z,


il sufira de tracer un plan
parallèle au plan ICJ, dont
la distance à l’origine soit
la plus grande possible et
qui ait encore au moins
un point commun avec le
polyèdre OABCDEFPQR.
Il est facile de voir que
ce plan est obtenu pour
z 5 11 500. Figure 8.4

303
Chapitre 8 • La programmation linéaire

Il coupe Ox1 en α (2 875 ; 0 ; 0), Ox2 en β (0 ; 958,33 ; 0) et Ox3 en γ (0; 0; 3 833,33).


Son unique point de contact avec le polyèdre des solutions est le point Q (250, 500,
1 500), d’où la solution optimale :

x *1 5 250 ; x *2 5 500 ;
x *3 5 1 500 ; z * 5 11 500.

8.1.4 Raisonnement économique


On remarque qu’un raisonnement purement économique sufit, ici, à résoudre la
question. En effet, les rendements horaires peuvent aussi être exprimés en unités
monétaires ; ils sont respectivement, pour les produits P1, P2 et P3 : 4 euros 3 50 5
200 euros/h, 12 euros 3 25 5 300 euros/h ; 3 euros 3 75 5 225 euros/h. Il apparaît
donc que, si l’on désire maximiser le proit, il faut fabriquer d’abord la plus grande
quantité possible du produit P2, puisqu’il fournit le proit horaire le plus élevé ; s’il
reste du temps, on fabriquera ensuite des unités P3, dont le rendement monétaire
vient au second rang ; en dernier lieu, si l’on n’a pas épuisé le temps de production
(45 h), il faudra produire des unités de P1.
En fait, ce raisonnement s’appuie sur le fait que, si l’on voulait fabriquer les
quantités maximales des trois produits, on devrait faire fonctionner la machine pen-
dant 60 heures. Comme on dispose de 45 heures seulement, il est indispensable de
les employer au mieux.
Il n’est pas dificile de voir que la solution consiste à fabriquer toutes les uni-
tés P2, ce qui occupe la machine durant 20 heures, puis toutes les unités de P3, ce
qui occupe encore la machine pendant 20 heures ; inalement, il ne reste plus que
5 heures pour fabriquer des unités de P1, ce qui correspondant à une quantité de
5 3 50 5 250 unités de P1. Le résultat s’établit donc ainsi :
unités de P1 : 250 ; unités de P2 : 500 ; unités de P3 : 1 500 ;
profit total : ( 250 3 4 ) 1 ( 500 3 12 ) 1 ( 1 500 3 3 ) 5 11 500 euros/semaine.
Mais la méthode que nous venons d’utiliser n’a pas un caractère général. Notre but
est d’introduire un algorithme permettant la résolution générale des programmes
linéaires.

8.1.5 Difficultés de généralisation


Évidemment la résolution géométrique ne peut pas s’étendre au cas d’un nombre
de variables supérieur à trois, puisqu’il n’est pas possible d’effectuer des représen-
tations géométriques dans un espace à n dimensions dès que n dépasse 3.
D’autre part, même avec seulement 3 variables, le raisonnement économique
échoue lorsque le nombre de contraintes augmente. Supposons seulement que nous
ajoutions ici une contrainte de capacité de stockage :

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.

tat, mais seulement lorsque la solution optimale est unique. ❑


Dans le cas général où la solution optimale n’est pas nécessairement unique (cf le
N.B. du cas de n = 2 variables), un raisonnement analogue peut s’appliquer, dans lequel
le point z r considéré correspond à une solution de valeur supérieure ou égale (mais non
nécessairement strictement) à la valeur du point z. Le théorème est alors démontré.
L’ensemble des contraintes d’un PL ne forme pas toujours un polyèdre convexe.
En effet, il peut arriver que cet ensemble comporte des points à l’inini et donc forme
un polytope convexe ouvert (un polyèdre étant un polytope fermé). Dans ce dernier

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…

Considérons d’abord (igure 8.5) une montagne


en forme de pain de sucre. Partant d’un point
quelconque C, on peut toujours atteindre le som-
met S, pourvu qu’on monte toujours (les itiné-
raires comportant des paliers horizontaux limités
sont autorisés). Ce n’est pas vrai pour une mon-
Figure 8.5 Figure 8.6
tagne qui présenterait un sommet « parasite » S r,
auquel on risquerait de parvenir en appliquant la
méthode précédente (igure 8.6).
Cela s’explique par le fait que la première
montagne est convexe (si l’on joint deux
points quelconques de l’intérieur ou de la sur-
face, le segment de droite qui les joint est tout
entier contenu dans le volume), tandis que la
seconde ne l’est pas. Or, tout polyèdre (non
vide) engendré par des contraintes linéaires
est nécessairement convexe et l’on peut trou-
ver au moins un chemin (igure 8.7) qui, à
partir de n’importe quel sommet, conduise
Figure 8.7
(de sommet en sommet adjacent) au sommet
donnant la valeur maximale à la fonction éco-
nomique (autrement dit : il existe toujours au
moins un sommet adjacent, situé, par rapport
à l’origine au-delà du plan (ou sur le plan) de
la fonction économique correspondant à un sommet quelconque, à moins que ce der-
nier ne soit l’optimum). Ici c’est le chemin CGHS.
En bref, l’algorithme du simplexe a un fondement purement géométrique : il consiste, en
disposant d’un point de départ, qui est un sommet du polyèdre, supposé connu, de passer
lors de toute itération d’un sommet M à un sommet voisin M r – c’est-à-dire à décrire une
arête du polyèdre – en lequel la valeur de la fonction économique, est meilleure (ou au
moins aussi bonne) qu’en M. Lorsqu’on atteint un sommet Q pour lequel aucun sommet
voisin n’est meilleur, alors l’algorithme s’arête : le sommet Q est optimal.
© Dunod – Toute reproduction non autorisée est un délit.

8.2 algoriThMe du siMPlexe : MéThode algébrique,


MéThode des Tableaux

8.2.1 Méthode algébrique du simplexe


On commence par ramener le programme linéaire (PL) à une forme « standard » pour
laquelle toutes les contraintes sont en égalités et les seconds membres sont positifs
(ceci moyennant l’introduction de nouvelles variables, dites « variables d’écart »).
Toutes les variables sont positives ou nulles. La fonction économique est à maximi-
ser (ce qui n’est pas restrictif car minimiser une fonction équivaut à maximiser son
opposée). Reportons nous au PL formulé au 8.1.2.

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

Pour pouvoir encore progresser il convient d’exprimer les variables de base en C,


c’est-à-dire celles qui sont positives en C, en fonction des variables hors-base en C.
Or, désormais, x2 est devenue positive et x5 s’est annulée : on va donc falloir procéder
à un échange : la variable x2 entrant dans la base et la variable x5 sortant de la base.
Repartons du système associé au sommet Ο et transformons-le pour obtenir celui
associé au sommet C :
x 4 5 1 000 2 x 1
x 5 5 500 2 x2 (*)
O e x 6 5 1 500 2 x3
x 7 5 6 750 2 3x 1 2 6x 2 2 2x 3
z 5 0 1 4x 1 1 12x 2 1 3x 3
Nous allons exprimer les variables de bases en C (celles positives en ce sommet)
en fonction des variables hors base (celles nulles en C). On commence, à partir de
l’équation de l’échange, qui est la relation qui a ixé la valeur maximale à donner à
la variable entrante (ici x2), à exprimer la variable entrante en fonction de la variable
sortante (ici x5) (et, éventuellement, des autres variables hors base) ; il vient :
x 2 5 500 2 x 5.
Puis chacune des autres variables qui restent en base : x4, x6, x7, de même que z
doit être exprimée en fonction des variables hors base en C, c’est-à-dire : x1, x5 et x3.
Pour ce faire, il sufit dans l’expression de chacune des autres variables de base en O
de substituer à la variable x2 (la variable entrante) son expression issue de l’équation
de l’échange (ici x 2 5 500 2 x 5 ) . Ici seules x7 et z sont concernées (x2 étant absente
de l’expression de x4 et x6 ci-dessus). Il vient donc :
x 4 5 1 000 2 x1 (*)
x2 5 500 2 x5
x 6 5 1 500 2 x3
@c = {x4, x2, x6, x7} C g x 7 5 6 750 2 3x 1 2 2x 3 2 6 ( 500 2 x 5 )
5 3 750 2 3x 1 2 2x 3 1 6x 5
z 5 0 1 4x 1 1 3x 3 1 12 ( 500 2 x 5 )
5 6 000 1 4x 1 1 3x 3 2 12x 5
On peut alors, partant du sommet C (où le bénéice est de 6 000 euros), pratiquer une
nouvelle itération ain d’accroître ce bénéice. La variable entrante est la variable
hors base qui a le plus grand coeficient positif1 dans l’expression de z en fonction
des variables hors base ; soit ici x1. On pose donc x 1 5 u où θ est positif croissant, en
gardant x3 5 x5 5 0 (x3 et x5 étant nulles en C). Il vient :

1. On pourrait se contenter de choisir comme variable entrante, une variable hors­base 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

Reprenons, dans ces conditions, la représentation matricielle initiale et notons les


colonnes par un indice j 5 1, 2, c, 7 , de manière que les vecteurs-colonnes
puissent être dénommés A 1, A 2, c, A 7 : notons aussi b le vecteur second membre.
Inscrivons maintenant, à gauche et face à la valeur qu’elle a dans la solution (base)
initiale, l’indice i de la variable xi (ici, au départ : x4 5 1 000, x5 5 500, x6 5 1 500,
x7 5 6 750 ; les indices i sont donc : 4, 5, 6 et 7) ; ces indices i serviront à désigner les
lignes de la matrice ; ils sont associés aux variables de base : la colonne tout à gauche
est donc un descriptif de la base.
Lors de toute itération, l’élément de la matrice situé à l’intersection d’une ligne i et
d’une colonne j sera désigné par aij ; l’élément de la colonne b situé sur la ligne i sera
simplement désigné par bi. Initialement, la colonne b coïncide avec la colonne des
seconds membres des contraintes, notée traditionnellement b comme ci-dessus.
Enin, écrivons séparément la ligne de la fonction économique : z 5 4x 1 1 12x 2 1 3x 3,
dont les coeficients seront écrits dans la ligne du bas ; le coeficient en colonne Aj
sera noté dans la suite : Dj. lors de toute itération, z sera exprimé uniquement en
fonction des variables hors base ; par suite Dj = 0 si xj est une variable de base
NB. Sur la ligne des Dj dans les colonnes Α4, Α5, Α6, Α7, on a écrit des 0, car la fonc-
tion économique peut s’écrire :
4x 1 1 12x 2 1 3x 3 1 0x 4 1 0x 5 1 0x 6 1 0x 7 5 z 2 0,
© Dunod – Toute reproduction non autorisée est un délit.

car les variables d’écart sont de proit nul. De plus, initialement, z 5 0.


Les formules du changement(1) de coordonnées, réalisé par la sortie d’un vecteur
as de la base et l’entrée d’un vecteur ae sont les suivantes (autrement dit : xs est la
variable sortante et xe, la variable entrante) :
bs
• nouvelle valeur de la fonction économique : zr 5 z 1 ase # De , z étant l’ancienne
valeur ;
le coeficient ase est nommé « pivot ».

(1) Le lecteur pourra préférer les règles pratiques de transformation : p. 317.

313
Chapitre 8 • La programmation linéaire

• nouvelles valeurs des variables de base (l’élément de la ligne k dans le vecteur


second membre b est la valeur de xk) :
bs bs
brk 5 bk 2 ake (k 2 s) et brs 5 (valeur de la variable entrante xe)
ase ase
bk (resp. bs) étant l’ancienne valeur ;
• nouvelle valeur de l’élément de la ligne k et de la colonne A ( k 2 s ) :
as,
ark, 5 ak, 2 ake ,
ase
ak étant l’ancienne valeur ;
• nouvelle valeur de l’élément de la ligne s de la colonne A :
as,
ars, 5 ase ,

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.

On veut encore que, pour tout k, brk soit non-négatif :


bs bs
brk 5 bk 2 ake # ase > 0. Cela s’écrit aussi : bk > ake # ase .

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.

Remarque. Le premier critère est heuristique (on tente localement de s’appro-


cher au plus vite de l’optimum, c’est une démarche « gourmande » : ce critère
est donc facultatif. Le second, en revanche, est obligatoire pour aller de solu-
tion réalisable en solution réalisable, (c’est-à-dire pour préserver la positivité
des variables de base).

8.2.2 Règle pratique (maximisation) : méthode des tableaux


Pour rendre pratique l’application manuelle des critères de Dantzig, perfectionnons le
tableau initial en lui ajoutant une colonne à gauche où seront indiqués les ci (coeficients
© Dunod – Toute reproduction non autorisée est un délit.

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.

la colonne entrante, c’est-à-dire la colonne 2) ;


4) la ligne 7 est modiiée comme suit :

3 6 2 0 0 0 1 6 750 anciens éléments de la ligne 7


 0 6 0 0 6 0 0 3000  les éléments de la ligne 5
multipliée par 6
3 0 2 0 6 0 1 3750 nouvelle ligne 7 : (7)  (7)  6  (5)

317
Chapitre 8 • La programmation linéaire

La ligne z est modiiée de la façon suivante :

4 12 3 0 0 0 0 z ฀0 anciens éléments de la ligne


de la fonction économique
 0 12 0 0 12 0 0 6 000  les éléments de la ligne 5
multipliée par 12
4 0 3 0 12 0 0 z ฀6 000 nouvelle ligne de la fonction
économique : (z) (z) ฀12  (5)

Dans ces conditions le nouveau tableau se présente ainsi :

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

et l’on est prêt pour une nouvelle itération.


Les calculs suivants sont donnés en annexe. Ils ne sont nullement dificiles. Il est
conseillé au lecteur de les mener lui-même, crayon en main, en se contrôlant pas à pas.
Rappelons que, lors de toute itération, les Dj sont nuls pour les variables de base.

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) (2) (3) (4)


ci i j 1 2 3 4 5 6 7
2 1
4 1 1 0 0 0 2 250
3 3
12 2 0 1 0 0 1 0 0 500
2 1
0 4 0 0 0 1 2 750
3 3
3 3 0 0 1 0 0 1 0 1 500

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.

Ces résultats témoignent de la puissance de l’outil d’exploration du combinatoire


constitué par la programmation linéaire et l’algorithme du simplexe.

8.2.3 Annexe : détails des itérations


Ayant donné le détail de la pratique de la première itération, nous donnons pour les
itérations suivantes le résultat du calcul (à chaque itération le coeficient pivot est
marqué par un astérisque), à suivre crayon en main.

1.
(1) Voire même au­delà, 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 (*)

0 0 3 �4 �12 0 0 z �10 000



e

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

NB : si lors de la seconde itération on avait fait entrer en base x3 au lieu de x1, on


serait parvenu à l’optimum en 3 itérations : une de moins.
Connaissant désormais l’algorithme du simplexe et son implémentation sous
forme de la méthode des tableaux, nous sommes en mesure de présenter des cas par-
ticuliers (ou dégénérescences) qui s’illustrent aisément graphiquement.

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

N.B. Lors de chaque itération (pas), on a


cerclé le pivot.
Sur le troisième tableau, on constate que
D3 5 0, alors que la colonne 3 est hors base.
Bien qu’on ait atteint la valeur optimale
de la fonction économique, si l’on considère
que D3 est le plus grand des Δj non-négatifs
correspondant aux variables hors base (troi-
sième tableau), on peut faire entrer la variable
x 3 dans la base, d’où sort la variable x 1, et
l’on a alors D1 5 0 (quatrième tableau).
Ce fait traduit que la fonction écono-
mique z 5 6x 1 1 4x 2 est parallèle à l’hyper-
plan (ici, la droite) limitant le demi-plan
Figure 8.8
déterminé par la contrainte 3x 1 1 2x 2 < 16 ;
les sommets Β et C sont tous deux optimaux.
L’enveloppe convexe de ces sommets, c’est-
à-dire le segment BC, est telle que chacun de ses points donne à z la valeur optimale
32. C’est le cas dit de « dégénérescence de première espèce ».

8.3.2 Dégénérescence de deuxième espèce


Pour certains programmes linéaires, une (ou plusieurs) variable(s) de la base opti-
male peut être nulle. Voici un exemple détaillé : ajoutons au programme précédent
la contrainte :
x 1 1 4x 2 < 22 soit x 1 1 4x 2 1 x 4 5 22

et prenons comme fonction économique :


3 max 4 z 5 x 1 1 x 2 (au lieu de 3 max 4 z 5 6x1 1 4x2)

Il en résulte la igure 8.9. Traitons néanmoins le programme par la méthode des


tableaux. On obtient les résultats suivants, ayant choisi arbitrairement, au deuxième
tableau, de faire sortir la variable x 4 de la base (on avait le choix entre x2 et x 4).

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

Alors, au troisième tableau apparaît une valeur


nulle pour l’une des variables de base : x 2. Le plus
bi
petit des rapports positifs ou nuls est, évidem-
ai1
0
ment : 0 5 . Après pivotage, on retrouve une
5/7
autre variable de base nulle, c’est x 1. Notons aussi
que la base associée à ce troisième tableau est opti-
male ( z 5 7 ) . C’est un effet de la dégénérescence.
Chaque fois qu’on obtient une ou plusieurs
variables de base nulles, on est dans le cas de dégé-
nérescence de seconde espèce. La raison géomé-
trique en est qu’il passe, par un des sommets au
moins, un ou plusieurs hyperplans (ici droites) sup-
Figure 8.9
plémentaires (ici, par le sommet B, au lieu de pas-
ser n 5 2 droites, il en passe trois).

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

Cas où, au deuxième tableau, on fait sortir x 2 au lieu de x 4 : D1, et D2 sont


négatifs, mais x 4 5 0.

8.4 asPecT MaTriciel


8.4.1 Forme standard
La « forme standard » (F.s.) d’un programme linéaire (PL) pour la résolution par
algorithme du simplexe est la suivante : toutes les contraintes explicites sont des
équations dont les seconds membres sont des nombres positifs ou nuls ; toutes les
variables sont positives ou nulles ; la fonction économique z est à maximiser :

F.s. c a ij j
n

F.s. e a x 5 bi ( où bi > 0 ) pour i 5 1, 2, c, m ;


s
x j > 0 pour j 5 1, 2, , n ; max z 5 a cjx j f
n
j51
c
j51
Notons a 5 3 aij 4 la matrice m 3 n des coeficients des premiers membres des
contraintes explicites ; b, le vecteur-colonne m 3 1 des seconds membres de ces
contraintes ; c, le vecteur-ligne 1 3 n des coeficients de la fonction économique ;
x, le vecteur-colonne n 3 1 des variables du PL. La forme standard s’écrit alors
matriciellement :
F.s. U a # x 5 b ( où b > 0 ) ; x > 0 ; max z 5 c # x V .
On remarquera que le résultat du produit c # x est une matrice de dimensions 1 3 1,
donc comportant un élément unique, égal à z.
En désignant par aj la jième colonne de la matrice a ( j 5 1, 2, c, n ) , le système
des contraintes explicites peut s’écrire sous forme d’une combinaison linéaire des
vecteurs-colonne extraits de a : x1 # a1 1 x2 # a2 1 c1 xn # an 5 b.
Indiquons maintenant comment ramener tout PL à la forme standard :
• si l’objectif du PL est de minimiser z, on le remplace par maximiser z r, où z r 5 2z ;
• si le signe d’une variable n’est pas connu à l’avance : par exemple pour x j > 2273,
on pose x jr 5 x j 1 273 et l’on aura : x jr > 0. Mais si l’on ne connaît pas de borne
inférieure pour xj (comme ci-dessus), on peut poser x j 5 x jr 2 xsj avec x jr et xsj posi-
tifs ou nuls. En effet tout nombre réel xj peut être représenté comme la différence de
deux nombres positifs ou nuls ;

324
8.4 Aspect matriciel

• si une contrainte i comporte un second membre négatif : bi , 0, on multiplie par


21 chaque membre de cette contrainte ;
• si certaines contraintes sont initialement en inégalité, on peut les ramener à des
égalités par introduction de nouvelles variables, nommées « variables d’écart » .
Ainsi 3x 1 1 4x 2 < 5 équivaut à : 3x 1 1 4x 2 1 x e 5 5 et x e > 0.
De même, 2x 1 1 7x 2 > 11 équivaut à : 2x 1 1 7x 2 2 x er 5 11 et x er > 0.
Donc, dans le cas de contraintes a aijx j < bi, on ajoute une variable d’écart, tan-
dis que dans le cas inverse : a aijx j > bi, on retranche une variable d’écart (après
avoir rendu bi positif, si nécessaire). Observons que ces variables d’écart, tout comme
les variables « principales » (c’est-à-dire les variables d’origine, introduites pour for-
muler le problème) sont toutes positives ou nulles. Ainsi, lors de la résolution, on ne
fera pas de distinction entre les variables d’écart et les variables principales.
Nous ferons les deux hypothèses suivantes sur la forme standard FS :
1) le nombre de lignes de a (contraintes explicites) est inférieur au nombre de
colonnes de a (qui est égal au nombre de variables) : m , n.
Remarquons que, si les contraintes explicites du PL étaient initialement des inégali-
tés, on introduit une variable d’écart dans chacune, soit en tout m variables d’écart.
Alors le nombre total de variables devient nécessairement supérieur à m. Cette hypo-
thèse est donc, en pratique, peu limitative.
2) Nous supposerons que l’on peut extraire de a, m colonnes différentes qui,
regroupées dans une matrice carrée B, sont telles que le déterminant de B n’est pas
nul (ce qui équivaut à dire que les m vecteurs-colonnes ainsi extraits, sont indépen-
dants ; on dit alors que le « rang » de la matrice a est égal à m).
Remarquons à nouveau que si les contraintes explicites du PL étaient initialement
des inégalités, les m colonnes de a associées aux variables d’écart forment la matrice
m3m:
61 0 0 c 0
0 61 0 c 0
• 0 0 61 c 0 µ
( ( c f (
© Dunod – Toute reproduction non autorisée est un délit.

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 :

A ฀ A1฀ A2฀ A3฀ ... An฀

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

A ฀ Aj1฀ Aj2฀ ... Ajm฀ ...




B N

Alors le système des contraintes explicites a # x 5 b, calculé par blocs, devient :


xB
( B, n ) # a # #
xN b 5 b, soit B xB 1 n xN 5 b.
Donnons un exemple de cette réécriture (avec m 5 2 contraintes) :
2x 1 1 3x 2 2 x 3 1 x 4 1 3x 5 5 12
e
7x 1 2 x 2 1 2x 3 1 5x 4 1 x 5 5 6

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

Br 5 ( a2, a3 ) on obtient une solution de base admissible car xB 5 6 , puisque ici


6
on a : xB > 0.

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.

Théorème. À toute solution de base admissible correspond un sommet du polyèdre


des solutions admissibles et un seul.
La réciproque n’est vraie qu’en l’absence de dégénérescence de deuxième espèce,
c’est-à-dire si xB est strictement positif (aucune variable de base nulle).
• À titre d’exemple, reprenons le problème restreint de l’atelier (deux produits, 35
heures de travail hebdomadaire)
x1 1 1 x3 5 1 000
c x2 1 x4 5 500
x 1 1 2x 2 1 x 5 5 1 750

où x3, x4 et x5 sont des variables d’écart.

Le lecteur vériiera que :


3 4 5
1 0 0 1 000 3
– au sommet Ο correspond la base BO 5 C 0 1 0 S et xBO 5 C 500 S 4
0 0 1 1 750 5
2 3 5
0 1 0 500 2
– au sommet A correspond la base BA 5 C 1 0 0 S et xBA 5 C 1 000 S 3
2 0 1 750 5

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.

On peut aussi illustrer le cas de dégénérescence de deuxième espèce en se reportant


à l’exemple du paragraphe 8.3.2 et la Fig. 8.9 : au sommet B, par lequel passent trois
droites, on peut associer trois bases différentes (données ci-dessous par la liste des
variables de base) :
b1 5 5 x 1, x 2, x 3, x 1 6 , b2 5 5 x 1, x 2, x 3, x 4 6 et b3 5 5 x 1, x 2, x 3, x 2 6 .

8.4.2 Fonction économique


Matriciellement z peut s’écrire z 5 c # x, où c est le vecteur-ligne 1 3 n des coefi-
cients (initiaux) de la fonction économique. Rappelons que les coeficients initiaux des
variables d’écart sont nuls, et que x est le vecteur-colonne n 3 1 des variables du PL.

329
Chapitre 8 • La programmation linéaire

Dans le problème de l’atelier (3 produits, 45 h/semaine), on a :


c 5 [4,12, 3, 0, 0, 0, 0] et xt 5 3 x1, x2, x3, x4, x5, x6, x7 4 t. On peut aussi sépa-
rer, dans le vecteur c, les coeficients associés aux variables de base qui forment le
sous vecteur-ligne 1 3 m noté cB, des autres coeficients qui, eux, sont associés aux
variables hors-base et forment le sous vecteur-colonne 1 3 ( n 2 m ) , notés cN.
xB
Ainsi z 5 c # x 5 ( cB, cN ) # a x b 5 cB # xB 1 cN # xN.
N

Pour exprimer z seulement en fonction des variables hors-base, il sufit de tirer


l’expression de xB à partir du système : B # xB 1 n # xN 5 b. En multipliant à gauche
par B21 chaque membre, il vient :
B 2 1 # B # xB 1 B 2 1 # n # xN 5 B 2 1 # b, d’où xB 5 B 2 1 # b 2 B 2 1 # n # xN,
qui est la forme matricielle de l’expression des variables de base en fonction des
variables hors-base.
Substituons alors à xB cette expression dans la relation z 5 cB # xB 1 cN # xN.
Il vient : z 5 cB # ( B21 # b 2 B21 # n # xN ) 1 cN # xN, soit :
z 5 cB # B21 # b 1 ( cN 2 cB # B21 # n ) # xN 5 ,zB 1 DN # xN.
La valeur numérique ,zB de la fonction économique pour la solution de base xB
s’obtient en faisant xN 5 0 ; elle est donc : ,zB 5 cB # B 2 1 # b.
Puisque z est désormais exprimé seulement en fonction des variables hors-base, le
coeficient de toute variable hors-base xj, dans cette dernière expression de z, n’est
autre que le coeficient noté plus haut Δj. Ainsi le vecteur 1 3 ( n 2 m ) des Δj, noté
DN, est :
DN 5 cN 2 cB # B21 # n
soit, composante par composante : Dj 5 cj 2 cB # ( B21 # n ) j où y j 5 ( B21 # n ) j est
la colonne associée à la variable hors-base xj, dans la matrice B21 # n (dans la méthode
des tableaux, c’est la colonne associée à la variable hors-base xj). On a donc :
Dj 5 cj 2 a ci # aij,
i
où la sommation est faite pour tous les indices i des m variables de base, et aij est
l’élément i du vecteur-colonne y j 5 ( B21 # n ) j du tableau courant.

8.5 déMarrage de l’algoriThMe du siMPlexe :


ProblèMe de la base iniTiale
8.5.1 Cas « favorable »
Plaçons-nous dans le cas où toutes les m contraintes d’un programme linéaire sont ini-
tialement sous forme d’inéquations, comportant p variables principales, du type :

a aij x j < bi où bi est positif ou nul ( i 5 1, 2, , m ) .


p
# c
j51

330
8.5 Démarrage de l’algorithme du simplexe…

Tel est le cas dans notre exemple du problème de l’atelier.


Dans chacune des m contraintes, on ajoute une variable d’écart :

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 ) .

Enin, l’expression initiale de la fonction économique : z 5 a cj # x j fait que z est


j51 p

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

c1 c2 ... cp 0 0 ... 0 z0


Le lecteur se reportera à notre exemple de l’atelier pour l’illustration de ce cas.
© Dunod – Toute reproduction non autorisée est un délit.

8.5.2 Cas où une solution est connue à l’avance


Il arrive fréquemment qu’un « système » dont on veut optimiser la marche possède
déjà un point de fonctionnement, c’est-à-dire dans le cadre d’un programme linéaire,
une solution admissible (on rappelle qu’une telle solution vériie les m + n contraintes
du PL). Cette solution ne sera utilisable, pour la résolution par l’algoritme du simplexe,
que s’il s’agit d’une solution de base réalisable, c’est-à-dire comportant, au plus, m
variables positives (les autres étant nulles) et telles que les m colonnes de la matrice a
associées à ces variables forment une matrice régulière (inversible), notée B.
Le démarrage de l’algorithme du simplexe nécessite de connaître l’expression
des m variables de base et de z, en fonction des variables hors-base.

331
Chapitre 8 • La programmation linéaire

Rappelons que le programme linéaire (après introduction des variables d’écart)


s’écrit : a # x 5 b , x > 0 , max z 5 c # x. Avec la base, de matrice B, il vient :
B # xB 1 n # xN 5 b et z 5 cB # xB 1 cN # xN.
Supposons que l’on connaisse B21, il vient l’expression cherchée (cf 8.4.2) :
xB 5 B21 # b 2 B21 # n # xN
b
z 5 cB # B21 # b 1 ( cN 2 cB # B21 # n ) xN 5 ,zB 1 DN # xN
à partir de laquelle on peut démarrer la résolution. Le tableau associé s’écrit (sous
forme matricielle) :
i # xB 1 B 2 1 # n # xN 5 B 2 1 # b ( le second membre est b 5 B 2 1 # b )
b #
0 xB 1 DN # xN 5 z 2 ,zB ( ,zB 5 cB # B 2 1 # b )
Remarquons que, pour obtenir les expressions ci-dessus, il sufit de connaître B21 # n
et B21 # b (et donc, pas nécessairement, B21 explicitement).
Voici un exemple de ce cas ; soit le PL ci-dessous :
x1 1 x2 2 x3 1 x4 5 1
2x 1 1 4x 3 1 2x 4 1 x5 5 7
e x1 1 6x 2 1 x3 1 2x 5 5 19
x1 , x2 , x3 , x4 , x5 > 0
x1 1 3x 2 1 5x 3 1 x4 1 4x 5 5 z 3 MAX 4
Soit la « solution » : x 1 5 0, x 2 5 2, x 3 5 1, x 4 5 0 et x 5 5 3. Le lecteur vériira
aisément qu’il s’agit bien d’une solution admissible. Examinons s’il s’agit d’une solu-
tion de base ; elle comporte bien m 5 3 variables positives : x2, x3 et x5 (une solution
qui comporterait plus de m variables positives ne saurait être de base). La matrice Β
1 21 0
associée est formée des colonnes a2, a3 et a5 de la matrice a : B 5 C 0 4 1S ;
6 1 2
on vériie que Β est régulière, puisque dét B 5 i. Le calcul de B21 fournit :
7 2 21
B21 5 C 6 2 21 S. Nous invitons le lecteur à vériier que B–1 · B = i.
224 27 4
Le système des contraintes explicites : B # xB 1 n # xN 5 b s’écrit :
1 21 0 x2 1 1 1
x1
C 0 4 1 S # C x3 S 1 C 2 2 S # B R 5 C 7 S .
x4
6 1 2 x5 1 0 19
Le produit à gauche par B fournit : i xB 1 B n xN 5 B21 # b, soit :
21 # 21 # #

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) B1
.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

16y 1 1 27y 2 1 10y 3 5 z 3 min 4


il sufit de diviser la première contrainte par 3 et la seconde par 2 pour avoir une base
B 5 I, associée aux variables y1 et y3 :
y1 1 1/3y2 2 y1 5 12
1/2y2 1 y3 2 y2 5 12
d y , y2 , y3 , y1 , y2 > 0
1

216y1 2 27y2 2 10y3 5 zr 3 max 4


l’expression de z r (5 2z ) en fonction des variables hors-base fournit :
z r 5 216 # ( 12 2 1/3y 2 1 y 1 ) 2 27y 2 2 10 # ( 12 2 1/2y 2 1 y 2 ) ,
soit: z r 5 2312 2 50/3y 2 2 16y 1 2 10y 2.
Ainsi, ici, la base « évidente » se révèle être l’optimum... trouvé en 0 itération !
334
8.5 Démarrage de l’algorithme du simplexe…

8.5.4 Cas général : emploi de variables artificielles


Un programme linéaire peut comporter 3 types de contraintes (Ρ), (Q) et (R) :

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

après introduction d’une variable d’écart xk , il vient : a aij # xj 2 xk 5 bk.


j51 p

j51
Enin les contraintes de type (R) sont celles qui, à l’origine, sont en équation :

a aij xj 5 bl ( bl > 0 ) , donc dans lesquelles on n’introduit pas de variable d’écart.


p
#
j51

Voici un exemple avec m 5 3 contraintes explicites : la première de type (P) ; la


deuxième, de type (Q) ; la troisième de type (R).

x1 1 2x2 1 x3 < 5 (P)


2x1 1 x2 1 x3 > 1 (Q)
e x1 1 x2 5 4 (R)
x1 , x2 , x3 > 0
4x1 1 5x2 1 3x3 5 z 3 max 4
soit :
x1 1 2x 2 1 x3 1 x1 5 5
2x 1 1 x2 1 x3 2 x2 5 1
e x1 1 x2 5 4
x1 , x2 , x3 , x1 , x2 > 0
© Dunod – Toute reproduction non autorisée est un délit.

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 :

8.5.5 Méthode des deux phases


Il convient alors, partant d’une base comportant une ou plusieurs variables arti-
icielles, d’obtenir, en itérant l’algorithme du simplexe, si possible une base sans
variable artiicielle (dans cette solution de base les variables artiicielles seront nulles
car hors base, et l’on obtiendra un sommet admissible du polyèdre d).
Pour tenter d’atteindre ce but, on substitue à la fonction économique z, une autre
fonction économique z r qui est la somme des variables artiicielles (zr 5 xar 1 xas)
dans l’exemple. L’objectif sera de minimiser z r. À l’optimum de ce nouveau pro-
gramme linéaire, deux cas sont possibles :
Puisque pour toute solution admissible, z r est positif ou nul :
– soit z r 5 0 : on a obtenu alors un sommet du polyèdre d, à partir duquel on reprend
la résolution du PL initial (donc avec la fonction économique z, à maximiser) ;
– soit z r . 0 : toute base admissible du nouveau PL comporte au moins une variable
artiicielle de valeur strictement positive ; alors le PL d’origine est impossible (le
polyèdre d est vide : les contraintes sont contradictoires).
Ainsi, pour l’exemple, il convient d’abord d’exprimer la fonction économique z r en
fonction des variables hors-base (sachant que la base initiale est formée des variables
x 1, xar et xas ) : zr 5 xar 1 xas 5 ( 1 2 2x1 2 x2 2 x3 1 x 2 ) 1 ( 4 2 x1 2 x2 ) , soit :
zr 5 5 2 3x1 2 2x2 2 x3 1 x 2. On maximisera donc :
zs 5 2z r 5 25 1 3x 1 1 2x 2 1x3 2 x 2.

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

j 0 1/ 2 1/ 2 0 1/ 2 3/ 2 0 z 7/ 2



e

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

On a obtenu, en une itération, lors de la phase 2, l’optimum du PL d’origine :


x 1 5 4 , x 2 5 0 , x 3 5 1 et z* 5 19. ( x 2 5 8 ; x 1 5 x 3 5 0 ) .

8.5.6 Variante. Méthode du « grand M »


Nous donnons cette variante à titre d’exercice seulement : les logiciels de P.L. uti-
lisant la méthode des 2 phases.
On peut combiner les deux phases 1 et 2 en introduisant les variables artiicielles
comme ci-dessus dans les contraintes, puis en les introduisant aussi dans la fonction
économique d’origine : chaque variable artiicielle y sera munie d’un coeficient –M,
« très négatif » : c’est-à-dire qu’on peut prendre la valeur M arbitrairement supé-
rieure à tout autre coeficient intervenant dans le PL.
Ainsi, si une variable artiicielle n’est pas nulle, elle donnera à cette nouvelle
fonction économique une valeur numérique très « mauvaise » car très négative (de
valeur absolue très grande).
En maximisant la nouvelle fonction économique, notée ˆz , l’algorithme aura ten-
dance à faire sortir les variables artiicielles de la base ; si, à l’optimum de ce PL,
toutes les variables artiicielles sont nulles, alors ˆz coïncide avec la fonction écono-
mique d’origine z. Mais si à l’optimum du PL (avec la fonction économique ˆz ) une
ou plusieurs variable(s) artiicielle(s) est (sont) en base et non nulles, cela signiie
que le PL d’origine est impossible.
Ainsi, pour notre exemple, [MAX] ˆz 5 z 2 Mxar 2 Mxas,
soit : [MAX] ˆz 5 4x1 1 5x2 1 3x3 2 Mxar 2 Mxas.

La base initiale étant associée aux variables x 1, x ar et x as, l’expression de ˆz , en fonc-


tion des variables hors-base initialement, est :

ˆ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

La valeur initiale de la fonction économique est donc : 25M : très négative.

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

Remarque. L’évaluation des Δj dans la variante « méthode du grand M » est


facilitée par l’application de la formule que nous avons prouvée plus haut
(cf. paragraphe 8.4) :
Dj 5 cj 2 a ci # aij (pour xj hors-base),

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 :

D2 5 c2 2 ( c1 # a12 1 c1 # a22 1 cas # a32 )


3/2
5 5 2 3 0, 4, 2 M 4 # C 1/2 S 5 M/2 1 3
1/2
Pour appliquer plus facilement cette formule on a indiqué immédiatement à
gauche de chaque variable de base xi son coeficient initial dans ˆz , soit ci , et
l’on a intercalé entre le tableau principal et la ligne des Δ̂j , les valeurs des
coeficients initiaux cj de ˆz .
En pratique, les logiciels de programmation linéaire implémentant l’algo-
rithme du simplexe utilisent la méthode en deux phases. En effet, lors de la
phase 1, en minimisant la somme des variables artiicielles, la variante dite du
« grand M » conduit à utiliser des nombres dont les ordres de grandeur sont
très différents, ce qui est source de dificultés numériques.

8.6 noTions sur la MéThode révisée du siMPlexe


La méthode révisée du simplexe est une amélioration de l’algorithme du simplexe
visant, d’une part, à réduire la masse de calculs et, d’autre part, à améliorer la préci-
sion des résultats.1
Considérons une base admissible du programme linéaire (PL)
[a # x 5 b ; x > 0 ; max z 5 c # x], de matrice B.
Le système des contraintes a # x 5 b s’écrit alors : B # xB 1 n # xN 5 b.
Pour obtenir la valeur numérique de la solution (sommet) associée à cette base, on
annule les variables hors-base : xN 5 0 ; il reste donc à résoudre un premier système
linéaire B # xB 5 b, système de Cramer (c’est-à-dire à déterminant non nul) de m
équations à m inconnues. En particulier si l’on connaît l’inverse de la matrice B, soit
B21, on obtient directement : xB 5 B2 1 # b.

1. entachés par des erreurs dues à l’utilisation de l’arithmétique lottante en informatique.

340
8.6 Notions sur la méthode révisée du simplexe

Dans la méthode des tableaux, on représente en fait le système B # xB 1 n # xN 5 b


sous la forme : i # xB 1 B2 1 # n # xN 5 B2 1 # b (où i est la matrice identité m × m), ce
qui revient à multiplier chaque membre du système, à gauche, par B21. Mais, en fait,
une seule colonne hors-base (l’une des colonnes de B21 # n) est utile lors de l’ité-
ration : c’est la « colonne entrante » qui permet ensuite de déterminer, à l’aide du
second critère de Dantzig, la variable sortante. Aussi, le calcul de la valeur courante
des autres colonnes hors-base (celles de B21 # n), qui sont au nombre de n 2 m, est-il
inutile pour pratiquer l’itération. Dans la méthode révisée du simplexe, on évite ces
calculs inutiles : on calcule seulement les coeficients de la colonne entrante, c’est-
à-dire du vecteur-colonne B21 # ne 5 ye, où ne est la colonne d’indice e de la ma-
trice Ν (sous-matrice de a). Ceci revient à résoudre un second système linéaire :
B # ye 5 ne (si l’on ne connaît pas B21, ou bien si l’on ne souhaite pas calculer expli-
citement cet inverse). Ainsi on résout un nouveau système linéaire, mais de même
matrice B que le premier système, celui qui nous a permis de calculer la solution de
base xB.
Les m coeficients de ye sont notés : αi1,e, αi2,e,c, αim,e, sachant que la base est com-
posée des colonnes ai1, ai2,c, aim (extraites de a). Il est alors aisé, connaissant ye,
de déterminer, à l’aide du second critère de Dantzig, la variable sortante xs.
Pour déterminer la variable entrante xe, on peut préalablement appliquer, par exem-
ple, le premier critère de Dantzig, ce qui suppose la connaissance des coeficients Dj
(c’est-à-dire de l’expression de z en fonction des variables hors-base). Nous allons
montrer que les Dj peuvent être obtenus par la résolution d’un troisième système
linéaire, à nouveau de matrice B.
Nous avons vu que z 5 ,zB 1 DN # xN où ,zB 5 cB # B 2 1 et DN 5 cN 2 cB # B2 1 # n.
Posons p 5 cB # B21 : ce vecteur ligne 1 3 m est nommé vecteur des « multiplica-
teurs du simplexe ».
Le calcul de p revient à résoudre le système linéaire p # B 5 cB Remarquons que, s’il
a la même matrice Β que les deux systèmes précédents, il fait intervenir un vecteur-
ligne d’inconnues : p 5 [pι, p2,c, pm] multipliant à gauche la matrice B, alors
que, dans les deux systèmes précédents, on avait un vecteur-colonne m 3 1 multi-
pliant à droite la matrice B.
Une fois calculé p, le calcul de DN est trivial : DN 5 cN 2 p # n et l’on peut alors
© Dunod – Toute reproduction non autorisée est un délit.

déterminer la variable entrante.


Ainsi dans la méthode révisée du simplexe, chaque itération se résume à résoudre
trois systèmes linéaires, de même matrice B, régulière. La résolution numérique de
tels systèmes est du domaine de l’analyse numérique ; elle a été très investiguée et
bénéicie de multiples variantes de résolution eficaces et précises. Il existe donc de
nombreuses variantes de la méthode révisée du simplexe.
Une voie possible est de calculer B21. Dans la variante EFI (forme explicite de
l’inverse), on calcule explicitement B21 à partir de l’inverse de la matrice de la base
de l’itération précédente, B21 étant représentée en mémoire centrale. Cette variante
est adaptée aux programmes linéaires de taille modérée.

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é

Il est de la forme : a # x < b , x > 0 , c # x 5 z [max] , que l’on appelle « forme


standard de passage au dual ». Dans ce cas, les composantes du vecteur b ne sont
pas astreintes à être positives, comme lors de la résolution du primal.
Par déinition, le programme dual de notre exemple est :

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]

Ainsi le primal comporte n = 3 variables, positives ou nulles et m = 4 contraintes


explicites. Dans le programme dual on a nr 5 m 5 4 variables, elles aussi positives
ou nulles, et m r 5 n 5 3 contraintes explicites. L’objectif du primal est une maxi-
misation, celui du dual est une minimisation. Les « seconds membres » du dual ne
sont autres que les coeficients de la fonction économique du primal, c’est-à-dire
le vecteur c (transposé) ; de même, les coeficients de la fonction économique du
dual ne sont autres que les « seconds membres » du primal, c’est-à-dire le vecteur b
(transposé).
Enin les matrices des coeficients du primal : a, et celle du dual : ar, sont :

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

soit : a aij # x j < bi où i = 1, 2,c, m .


n

inégalités de sens : < ,

soit : a y i # aij > cj où j = 1, 2,c, n .


j51 m
© Dunod – Toute reproduction non autorisée est un délit.

Celles du dual sont de sens inverse : > ,


i51
on peut résumer matriciellement cette règle de passage : le primal, sans introduc-
tion de variable d’écart et s’il ne comporte pas de contrainte en égalité, peut s’écrire :
(P) a # x < b , x > 0 , 3 max 4 z 5 c # x où bi (i 5 1, 2,c, m) est ici de signe
quelconque,
les formats étant les suivants : pour a : m 3 n ; pour b : m 3 1 ; pour x : 1 3 n ;
pour c : 1 3 n.

343
Chapitre 8 • La programmation linéaire

Le programme dual, en notant y le vecteur-ligne 1 3 m des variables duales, est par


déinition :
(D) y # a > c , y > 0 , 3 min 4 zr 5 y # b .
Pour notre exemple, il vient pour le primal :
1 0 0
1 000
0 1 0 x1 500 x1 x1
D T ? B x2 R < C1 500S ; B x2 R > 0 ; [max] z = [4, 12, 3] ? B x2 R
0 0 1 x3 x3 x3
6 750
3 6 2

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é

2x1 1 x2 2 4x3 < 10


2 x1 1 5x2 2 6x3 < 22
3x1 2 2x2 1 7x3 < 5
(P) f .
2 3x1 1 2x2 2 7x3 < 25
x1 , x2 , x3 > 0
3 max 4 2x1 2 3x2 2 4x3 5 2z

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

On a donné, ci-dessus, le dual que le lecteur obtiendra en appliquant la règle de pas-


sage que nous avons détaillée plus haut.

8.7.2 Liens entre le primal et le dual


Donnons maintenant des propriétés importantes liant le primal et le dual.
1) D’abord, si l’on a la curiosité de chercher le dual du dual pour notre premier
exemple, il nous faudra commencer par ramener les contraintes du dual à des in-
équations de la forme <, et la fonction économique à une maximisation : ain de le
mettre sous forme standard de passage au dual :
2 y1 2 3y 4 < 24
2 y2 2 6y 4 < 2 12
dual e 2 y3 2 2y 4 < 23
y1 , y2 , y3 , y4 > 0
© Dunod – Toute reproduction non autorisée est un délit.

2 1 000y 1 2 500y 2 2 1 500y 3 2 6 750y 4 3 max 4


Nommons t1, t2 et t3 les nouvelles variables duales :
2 t1 > 21 000 t1 < 1 000
2 t2 > 2500 t2 < 500
dual 2 t3 > 21 500 t3 < 1 500
du f f 3t 1
2 3t1 2 6t2 2 2t3 > 26 750 1 6t2 1 2t3 < 6 750
dual
t1 , t2 , t3 > 0 t1 , t2 , t3 > 0
2 4t1 2 12t2 2 3t3 3 min 4 4t1 1 12t2 1 3t3 3 max 4

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.

• Cas 3. Ni le primal ni le dual n’ont de solutions admissibles.


– Illustration du cas 1
Le lecteur se reportera à notre exemple du problème de l’atelier.
– Illustration du cas 2

–x1 + x2 < 1 –y1 – y2 > 3


–x1 – 2x2 < –2 y1 – 2y2 > 3
(P) d (D) d
x1 , x2 > 0 y1 , y2 > 0
3x1 + 3x2 = z [max] y1 – 2y2 = z9 [min]

On vériie (par exemple graphiquement) que l’optimum de Ρ est rejeté à l’inini. Le


dual est impossible (son polyèdre est vide) car la somme de ses deux contraintes
explicites fournit : 23y 2 > 6, soit : y 2 < 22, qui est contradictoire avec y 2 > 0.
– Illustration du cas 3

x1 – x2 < 3 (1) y1 – y2 > 2 (19)


–x1 + x2 < –4 (2) – y1 + y2 > 1 (29)
(P) d (D) d
x1 , x2 > 0 y1 , y2 > 0
2x1 + x2 = z [max] 3y1 – 4y2 = z9 [min]

(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é

8.7.3 Critère d’optimalité


Supposons que le primal et le dual aient des solutions admissibles (cas 1).
Soit x une solution admissible du primal et y une solution admissible du dual (ces
solutions n’étant pas nécessairement des solutions de base). On montre aisément(1)
que la valeur de la fonction économique du primal pour tout x est majorée par celle
du dual pour tout y :
z ( x ) < z r ( y ) soit : c # x < y # b.

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.

8.7.4 Correspondance entre l’optimum du primal


et l’optimum du dual (cas 1)
Nous allons tout d’abord résoudre le programme dual du problème de l’atelier. Le
lecteur observera que les variables d’écart doivent présenter un coeficient –1, en
raison du sens des inégalités au dual : > ; on rappelle que les variables d’écart
doivent être non négatives. Il se pose le problème de la solution de départ (de la
base initiale). Dans la résolution du primal nous avions annulé les variables x1, x2
et x3 (variables hors-base) et obtenu x4 = 1 000, x5 = 500, x6 = 1 500 et x7 = 6 750,
c’est-à-dire que la base initiale était formée des m = 4 variables d’écart ; de plus
les colonnes a4, a5, a6 et Α7 étaient unitaires (et juxtaposées, constituant une ma-
trice identité 4 3 4). Mais, au dual, si l’on pratiquait de même, on aurait y5 = – 4,
y6 = –12 et y7 = –3 : non admissible. Cependant, pour la résolution du dual, nous
avons une base initiale admissible évidente puisque les colonnes 1, 2 et 3 du dual
sont unitaires : les variables y1, y2 et y3 forment cette base et la matrice de base est :
B 5 i.
Il convient alors d’exprimer z r uniquement en fonction des variables hors-base,
c’est-à-dire y4, y5, y6 et y7 :
© Dunod – Toute reproduction non autorisée est un délit.

z r 5 1 000y 1 1 500y 2 1 1 500y 3 1 6 750y 4


zr 5 1 000 # ( 4 2 3y4 1 y5 ) 1 500 # ( 12 2 6y4 1 y6 ) 1 1 500 # ( 3 2 2y4 1 y7 ) 1 6 750y4
z r 5 14 500 2 2 250y 4 1 1 000y 5 1 500y 6 1 1 500y 7
Enin au lieu de minimiser z r, nous maximiserons son opposé (ce qui est équivalent) :

z s 5 2z r 5 214 500 1 2 250y 4 2 1 000y 5 2 500y 6 2 1 500y 7.

(1) En effet : 3 a # x < b et y > 0 4 entraîne : y # ( a # x ) < y # b (5 z r ( y )) et


1.
3 y # a > c et x > 0 4 entraîne : ( y # a ) # x > c # x (5 z ( x )) , d’où : z ( x ) < y # a # x < z r ( y ) .

347
Chapitre 8 • La programmation linéaire

Pour la formulation de ce dual, le lecteur se reportera au paragraphe 8.7.1.


Le tableau initial pour ce dual est le suivant :


(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

i 0 0 0 2250 1000 500 1500 z ฀14 500



e
La fonction économique du dual comporte un seul coeficient positif : Δ4 = 2250 :
y4 entre en base ; puis on détermine la variable sortante : y1. On obtient alors une
nouvelle base, dont voici le tableau :
y1 y2 y3
(2)
y1 y2 y3 y4 y5 y6 y7 
y4 1/ 3 0 0 1 1/ 3 0 0 4/ 3
y2 2 1 0 0 2 1 0 4
y3 2/ 3 0 1 0 2/ 3 0 1 1/ 3

i 750 0 0 0 250 500 1500 z ฀11 500

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

j 0 0 0 0 4 1/ 3 4/ 3 z ฀11 500

348
8.7 Dualité

On a renommé les variables d’écart du dual : y 1, y 2 et y 3 (au lieu de y 5, y 6 et y 7) ; de


même pour celles du primal : x 1, x 2, x 3 et x 4, (au lieu de x4, x5, x6 et x7).
On constate alors à l’optimum du primal et du dual que :
1) la valeur de zr 5 11 500 de l’optimum du dual égale celle de l’optimum du pri­
mal ;
2) les valeurs des variables de base au dual : y2, y3 et y4 sont égales, au signe
près, aux valeurs de D 2, D 3 et D 4 au primal ;
3) les valeurs des D jr du dual : D 1,r D 1r , D 2r et D 3r sont égales, au signe près, aux
valeurs de x 1, x1, x2 et x3 au primal.
On montre que cette correspondance entre l’optimum du primal et l’optimum du
dual est générale :
yi 5 2 Di et x i 5 2 D ir pour i 5 1, 2, c, m
c
y j 5 2 Dj et xj 5 2 D jr pour j 5 1, 2, c, n.

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.

8.7.5 Relations d’exclusion


Considérons deux programmes linéaires en dualité :
le primal (P) [a # x < b , x > 0 , max z = c∙x] et
le dual (D) [y # a > c , y > 0 , min zr 5 y # b]. Alors :
, ,
x et y , ( x 5 3 ,
, x 1, , x n 4 et ,
x 2, c, , y 5 3,
y 1, ,
y 2, c, ,
y m 4 ), solutions admissibles
respectivement du primal et du dual, sont des solutions optimales si et seulement si :

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

Appliquons ces relations à notre exemple, le problème de l’atelier :

y1 ? (1 000 2฀x1) 5฀ 0 ; y2 ?฀
(500 2฀ x2) 5฀0 ; 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 5฀0 ; (y2 1฀6y4 2฀ 12 ) ?฀
x2 5฀ 0 ; (y3 1฀ 2y4 2฀ #
3) x3 5฀ 0 (2)

350
8.7 Dualité

Les relations d’exclusion permettent :


• de trouver aisément l’optimum de dual, si l’on connaît l’optimum du primal et
réciproquement (on suppose évidemment ici que l’on ne connaît pas le tableau opti-
mal, sinon on appliquerait la règle de correspondance du paragraphe précédent!),
comme suit :
Reprenons le sous-problème de notre exemple de l’atelier à n = 2 variables :
( P ) 3 x1 < 1 000 ; x2 < 500 ; x1 1 2x2 < 1 750 ; x1, x2 > 0 ; max z 5 4x1 1 12x2 4
il a pour dual :
( D )3 y1 1 y3 > 4; y2 1 2y3 > 12; y1, y2. y3 > 0; min zr 5 1 000y1 1 500y2 1 1750y34 .
Les relations d’exclusion s’écrivent :
y1 ? (1 000 2฀
x1) 5฀
0 ; y2 ?฀
(500 2฀
x2) 5฀
0 ; y3 ?฀
(1 750 2฀
x1 2฀
2x2) 5฀
0 (1)
฀b
(y1 1฀
y3 2฀
4) ?฀
x1 5฀
0 ; (y2 1฀
2y3 2฀
12 ) ?฀
x2 5฀
0 (2)
On a résolu (graphiquement) (P) : x *1 5 750 , x *2 5 500 , z * 5 9 000
Reportons ces valeurs dans les relations d’exclusion ; il vient le système linéaire :
y1 ? (1 000 2฀750) 5฀0 ; y2 ?฀
(500 2฀ 500) 5฀ 0 ; y3 ?฀
(1 750 2฀
1 750) 5฀
0 (1)
฀b
(y1 1฀ y3 2฀
4) ?฀
750 5฀0 ; (y2 1฀2y3 2฀12 ) ?฀
500 5฀ 0 (2)
On trouve aisément : y1 = 0 et, en reportant dans (2) : y3 = 4, y2 = 4. On sait en outre qu’à
l’optimum z r = z, d’où z r = 9 000. L’optimum de (D) a donc été facilement obtenu.
• Les relations d’exclusion permettent aussi de tester si une solution admissible du
primal (ou du dual) est optimale ou pas. Il sufit alors de reporter les valeurs des
variables du primal (resp. du dual) dans le système des relations d’exclusion, puis de
déterminer si l’on obtient une solution admissible du dual (resp. du primal) : si oui,
la solution testée du primal est optimale, sinon elle ne l’est pas. Ainsi, sur le même
exemple, testons si la solution admissible x1 = 850 ; x2 = 450 est optimale (certes,
nous connaissons d’avance le résultat, puisque la solution optimale du problème de
l’atelier est unique, mais omettons le provisoirement). Il vient :
y1 ∙ (1 000 2 850) = 0 ; y2 ∙ (500 2 450) = 0 ; y3 ∙ (1 750 2 1 750) = 0 , d’où
y1 = y2 = 0. Puis : (y3 2 4) ∙ 850 = 0 et (2y3 2 12) ∙ 450 = 0. Il y a contradiction : y3
© Dunod – Toute reproduction non autorisée est un délit.

ne saurait être égal à la fois à 4 et à... 6.


La solution admissible de (P) : x1 5 850 et x2 5 450 n’est donc pas optimale.
Pour terminer soulignons que les relations d’exclusion s’appliquent à des solutions
admissibles de (P) et (D), mais pas nécessairement de base (comme dans notre cal-
cul ci-dessus). Ainsi pour l’exemple du 8.3.1, pour lequel tous les points du segment
[B,C] sont optimaux, le lecteur pourra vériier ainsi que la solution x1 = 2,2 ; x2 = 4,7 ;
x 1 5 1,2 (qui n’est pas de base) est optimale : le point (2,2 ; 4,7) étant sur [B, C].

351
Chapitre 8 • La programmation linéaire

Enin ces relations impliquent que :


– si une contrainte du primal n’est pas saturée (x i 2 0), alors la variable duale
associée à cette contrainte est nulle : yi = 0 ;
– si une contrainte du dual n’est pas saturée (y j 2 0), alors la variable primale
associée à cette contrainte est nulle : xj = 0 ;
– si une variable du primal xj est non nulle, alors la variable d’écart du dual y j
est nulle.
– si une variable du dual yi est non nulle, alors la variable d’écart du primal x i
est nulle.

8.8 PrograMMe linéaire en noMbres enTiers


MéThodes des TroncaTures de goMory
En pratique il arrive fréquemment que dans un programme linéaire certaines
variables soient astreintes à être entières, comme nous l’avons déjà vu en in du cha-
pitre 1. On parle alors de « programme linéaire en nombres entiers » (PLNE).
Ainsi une entreprise ne saurait construire 1, 45 entrepôts, acquérir x2 = 2, 37 camions
ou encore affréter x3 = 0, 41 avion. . . comme pourrait lui indiquer la solution opti-
male d’un PL en variables continues ! Malheureusement l’arrondi des variables, que ce
soit par excès ou par défaut, peut ne pas être optimal ou, pire, ne pas être admissible
(comme dans l’exemple du paragraphe suivant). Aussi ne pourra-t-on pas se contenter
d’arrondir les variables pour passer de l’optimum du PL continu à celui du PLNE.
En outre, dans la modélisation de nombreux problèmes de recherche opérationnelle,
il se révèle nécessaire d’introduire des variables binaires : xj = 0 ou 1, pour représenter
des contraintes non classiques, comme par exemple des discontinuités dans une courbe
de tarif d’un transporteur ou dans le cas de charges ixes, s’ajoutant à un coût d’activité
proportionnel au niveau de cette activité, dès lors que ce niveau n’est pas nul ; ou, plus
classiquement, pour le choix d’entrepôts à construire sur des sites à déterminer dans
une liste des sites possibles ; ou encore pour le choix de matériels à acquérir ou pas.
Quelques modèles classiques sont importants pour les applications en logistique
comme dans les plannings de transport de personnes (autobus, métros, trains, avions) :
le problème du sac à dos ou knapsack (déjà traité dans cet ouvrage), le problème de par-
titionnement, le problème de recouvrement (consulter, par exemple, [Roseaux, tome 3]).
Voici un exemple de « knapsack » : un camion peut transporter une charge maximale de b
= 14 tonnes, de n = 4 marchandises différentes. Le poids de chacune des 4 marchandises
est respectivement de 4, 6, 8 et 10 tonnes. Enin, le bénéice attendu de la vente de chacune
des marchandises, après son transport, vaut respectivement : 2 000, 2 700, 3 600 et 4 400
euros. Déterminer le chargement du camion permettant de maximiser le bénéice.
Le problème s’écrit :
4x 1 1 6x 2 1 8x 3 1 10x 4 < 14
c x1 , x2 , x3 , x4 5 0 ou 1
2 000x 1 1 2 700x 2 1 3 600x 3 1 4 400x 4 5 z 3 max 4
352
8.8 Programme linéaire en nombres entiers…

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

On résout les problèmes de knapsack à l’aide de recherches arborescentes (procé-


dures de séparation et évaluation progressives, cf 4.10.2), ou bien à l’aide de la pro-
grammation dynamique. Pour l’exemple ci-dessus, l’optimum est : x1 = x4 = 1 ; x2 =
x3 = 0 ; z* = 6 400 euros.
Donnons maintenant une brève description des problèmes de partionnement et de
recouvrement : soit un ensemble Ε = {e1, e2, …, em} de m éléments et une famille F
de n sous-ensembles (ou « parties ») de E, non vides : ^ 5{P1, P2 …, Pn}.
Un tableau A = [aij] de format m × n indique si l’élément ei de E appartient à la
partie Pj (alors aij = 1) ou pas (aij = 0). On recherche à sélectionner un ensemble de
parties extraites de ^, tel que tout élément de Ε soit couvert une fois et une seule
(problème de « partitionnement ») ou bien au moins une fois (problème de « recou-
vrement »).

Dans l’exemple ci-dessus : Ε = {e1, e2, …, e6} et ^ = {P1, P2, …, P5}


{P1, P2, P4, P5} est une partition de E, tandis que {P1, P2, P3} est un recouvrement
(l’élément e2 étant couvert deux fois).
On associe à chaque partie Pj un coût cj > 0 ; le critère est alors de minimiser la
somme des coûts des parties sélectionnées. La formulation du problème de partition-
© Dunod – Toute reproduction non autorisée est un délit.

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 :

x1 5฀1 (e1 couvert) ; x1 1฀ 1 (e2 couvert) ; x2 5฀1 (e3 couvert);


x3 5฀
c x3 1฀x4 5 1 (e4 couvert) ; x3 1฀ 1 (e5 couvert) ; x3 5฀
x5 5฀ x4 5฀1 (e6 couvert).
0 ou 1 (j 5 1, 2,c, 6) ; minimiser c1 ? x1 1 c2 ? x2 1฀c1 c6 ? x6 = z
xj 5฀
En fait ce système de contraintes admet une seule solution : x1 = x2 = x4 = x5 = 1 et
x3 = 0 car l’exemple est de très petite taille et très contraint.

353
Chapitre 8 • La programmation linéaire

Dans le cas général :


a11 ?฀
x1 + x2 1฀c1 a1n ?฀
a12 ?฀ xn 5 1 (e1 couvert).
a21 ?฀
x1 + a22 ?฀ c
x2 1฀ 1 a ?฀ x 5 1 (e2 couvert).
2n n
––– ––– ––– –––
f
am1 ?฀
+x1 c
x2 1฀ 1 amn ?฀
am2 ?฀ xn
5 1 (en couvert).
x1 , x , c, x
2 n 5 0 ou 1
c1 ?฀x1 + c2 ?฀ x2 1฀c1 cn ?฀ xn 5 x [min]
Le lecteur se convaincra facilement de ce que la formulation du problème de recou-
vrement se déduit de celle ci-dessus en remplaçant chacune des m contraintes expli-
cites :

a aij xj 5 1 , par : a aij xj > 1 , où i 5 1, 2,


n n
# # c, m.
j51 j51

Voici une application du problème de partitionnement à un problème de tour-


nées.
Soient quatre points e1, e2, e3, e4 représentant quatre clients à qui l’on doit livrer
respectivement 2, 4, 8 et 10 tonnes de marchandise, à partir d’un entrepôt central
e0, ceci avec un camion de capacité C = 16 tonnes. Le tableau (symétrique) des dis-
tances (en km) est le suivant :
e0 e1 e2 e3 e4
e0 . 15 8 12 9 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11
e1 15 . 12 25 5 e1 1 0 0 0 1 1 1 0 0 1 1
e2 8 12 . 10 20 e2 0 1 0 0 1 0 0 1 1 1 1 ฀A
e3 12 25 10 . 6 e3 0 0 1 0 0 1 0 1 0 1 0
e4 9 5 20 6 . e4 0 0 0 1 0 0 1 0 1 0 1
cj 30 16 24 18 35 52 29 30 37 49 34

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…

15 [e0, e2, e1, e4, e0] avec 34 km.


e0 e1
Dans un exemple de taille industrielle, l’énumération exhaus-
9 8 5 12
tive des tournées admissibles serait impraticable et l’on
e4 e2 procéderait à une génération progressive de tournées « inté-
20 ressantes », sans les énumérer toutes : il s’agit là d’une tech­
nique de « génération de colonnes » permettant de traiter
certains PL comportant, a priori, un très grand nombre de colonnes (dont l’exposé
sort du cadre de cet ouvrage). Les problèmes de tournées peuvent être résolus, de
manière approchée, par des heuristiques « gourmandes » comme la méthode des
écartements de Fletcher.
Voici la formulation de notre problème de tournées en tant que problème de par-
titionnement avec 11 variables binaires :

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.

8.8.1 Méthode des troncatures de Gomory

12x1 2 8x2 < 3


2x2 < 3
Soit à résoudre le PL : d
x1 , x2 entiers positifs ou nuls
x1 1 x2 5 z 3 max 4
© Dunod – Toute reproduction non autorisée est un délit.

On introduit deux variables d’écart : x3 et x4 . Après deux itérations, on obtient l’opti-


mum du PL « continu » (c’est-à-dire pour lesquels les variables ne sont pas astreintes
à être entières) :

1 2 3 4 
x1 1 0 1/ 12 1/ 3 5/ 4
x2 0 1 0 1/ 2 3/ 2

j 0 0 1/ 12 5/ 6 z 11/ 4

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

D’une manière générale on a, à l’optimum du PL continu :

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

N désigne ici l’ensemble des variables hors-base et @, l’ensemble des variables de


base, à l’optimum.
On a toujours aij > Ε(aij), car Ε(aij) est le plus grand entier inférieur ou égal à aij.
Prenons une variable hors-base xj; puisqu’elle est positive ou nulle, on a
aij # x j > E ( aij ) # x j.

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 :

bi 5 x i 1 a aij # x j > x i 1 a E ( aij ) # x j. (8.1)


x jPn x jPn

On a aussi bi > E ( bi ) . Si xi doit être entier, de même que xj pour tout x j PN, on a
donc :

E ( bi ) > x i 1 a E ( aij ) # x j (8.2)


x jPn

356
8.8 Programme linéaire en nombres entiers…

Introduisons la partie fractionnaire fi de bi : bi 5 E(bi) 1 fi où 0 <฀fi ,฀1 ;


19 5 19 19 5
par exemple 5 2 1 donc E a b 5 2 et f a b 5 ; il en va de même
7 7 7 7 7
pour la partie fractionnaire fij de aij : aif 5 E(aij) 1 fij où 0 < fij , 1.

La relation (1) s’écrit :


x i 1 a ( E ( aij ) 1 f ij ) # x j 5 bi (8.2bis)
x jPn

Introduisons une variable d’écart si > 0 dans la relation (8.2) :


x i 1 a E ( aij ) # x j 1 si 5 E ( bi ) (8.2ter)
x jPn

La soustraction membre à membre (8.2bis) et (8.2ter) fournit :

a f ij x j 2 si 5 f i
# (8.3)
x jPn

Considérons maintenant une variable de base xi qui, à l’optimum du PL continu,


ne serait pas entière ; alors on a : fi . 0 . Pour passer aux valeurs numériques des
variables à cet optimum, on annule les variables hors-base : xj = 0 pour x j Pn; (8.3)
donne alors –si = fi, or –si est négatif ou nul, tandis que fi est strictement positif. Ainsi
la contrainte (3) n’est pas vériiée à l’optimum du PL continu ; si on la rajoute aux
contraintes du PL, elle supprime une partie du domaine admissible $, d’où son nom
de « troncature » ; on peut démontrer que la partie supprimée ne contient pas de point
à coordonnées qui seraient toutes entières.
Notons que l’on peut faire subir à l’expression (2) de la fonction économique :
z 1 a Dj # x j 5 z*, (8.4)
x jPn

un traitement analogue à celui de la relation (2).


Revenons à notre exemple. Les relations (8.3) s’écrivent :
1 1 5 1
pour i = 1 : x 3 1 x 4 2 s1 5 f a b 5
12 3 4 4
© Dunod – Toute reproduction non autorisée est un délit.

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

z r 5 x 1 1 x 2 2 M # a 2 (où M est un coeficient positif très grand); a2 étant une va-


riable de base, il convient d’abord d’exprimer z r en fonction des variables hors-base,
11 M 1 M 5
soit : x3, x4 et s2 ; ce qui donne : zr 5 a 2 b 2 x3 1 a 2 bx4.
4 2 12 2 6
ci xi x1 x2 x3 x4 s2 a2
1 x1 1 0 1/ 12 1/ 3 0 0 5/4
1 x2 0 1 0 1/2 0 0 3/ 2
 M a2 0 0 0 1/2 1 1 1/ 2

cj 1 1 0 0 0 M
0 0 1/ 12 M/ 2 M 0 z 
5/ 6 11 M
4  2

e

En une itération, on fait sortir de la base courante la variable artiicielle a2 et on obtient


une base sans variable artiicielle (a2 sera donc prise nulle ultérieurement) :

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

(comme la variable artiicielle a2 est nulle, on a : z coïncide désormais avec z').


Dans la suite on supprimera donc la colonne a2 de ce tableau.
11
La variable de base x1 vaut ; x1 n’étant pas entière, on peut en déduire une nou-
12
1 2 11
velle troncature : x 3 1 s2 2 t1 5 , où t1 est une nouvelle variable d’écart.
12 3 12
358
8.8 Programme linéaire en nombres entiers…

À nouveau, cette contrainte n’est pas « primal-admissible » : pour l’intégrer au pri-


mal, on y ajoute une variable artiicielle, notée a1. Elle devient :
1 2 11
x 3 1 s2 2 t1 1 a1 5 .
12 3 12
#
et la fonction économique est z s 5 x 1 1 x 2 2 M a1 (à maximiser).
Le nouveau tableau est le suivant :
ci xi x1 x2 x3 x4 s2 t1 a1
1 x1 1 0 1/ 12 0 2/ 3 0 0 11/12
1 x2 0 1 0 0 1 0 0 1
0 x4 0 0 0 1 2 0 0 1
s M a1 0 0 1/ 12 0 2/ 3 1 1 11/12

cj 1 1 0 0 0 0 M
j 0 0 M 1
12 0 2M 5
3 M 0 z 
23฀11M
12

e

En faisant entrer en base x3, la variable artiicielle a1 sort de la base :


ci xi x1 x2 x3 x4 s2 t1 a1
1 x1 1 0 0 0 0 1 1 0
1 x2 0 1 0 0 1 0 0 1
0 x4 0 0 0 1 2 0 0 1
0 x3 0 0 1 0 8 12 ฀฀฀12 11
cj 1 1 0 0 0 0 M
j 0 0 0 0 1 1 M z ฀1
1
© Dunod – Toute reproduction non autorisée est un délit.

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.

8.8.2 Interprétation graphique


On aurait pu, certes, proiter du fait que le PLNE ne comporte initialement que
2 variables pour le résoudre graphiquement. Mais notre propos est, ici, seulement
d’illustrer comment, à chaque itération, la troncature élimine du domaine admissible

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

à-dire un PL comportant une seule contrainte, le problème reste NP-dificile (pour


des données quelconques).

EXERCICES

*8.1 Formulation et résolution graphique d’un P.L.


Une brasserie A produit 2 types de bière pour lesquels elle utilise 3 matières pre-
mières : maïs, houblon et malt.
Le tableau ci-dessous résume les données du problème.

Maïs Houblon Malt Bénéfice


Bière blonde 2,5 kg 125 g 175 kg 65 €
Bière brune 7,5 kg 125 g 10 kg 115 €
Quantités disponibles 240 kg 5 kg 595 kg
Pour fabriquer 1 tonneau de bière blonde, le brasseur utilise 2,5 kg de maïs, 125 g de
houblon et 17,5 kg de malt. La fabrication de ce tonneau lui rapporte alors un béné-
ice de 65 €. Le tableau se lit de manière analogue pour la bière brune.
1. Déterminer la fabrication optimale du brasseur graphiquement ; vériier
par la méthode des tableaux.
2. Une brasserie concurrente (notée B) demande au brasseur A de lui ven­
dre 50 % de son stock de houblon (et ce, bien entendu, avant que la fabri­
cation déterminée au 1) ne soit lancée).
À quel prix minimum A devra­t­il lui vendre cette quantité de houblon ?
Expliquer clairement votre raisonnement.

*8.2 Méthode des tableaux du simplexe et paramétrages


Dans une carrière, trois tailles t1, t2 et t3 sont susceptibles de fournir une extraction
© Dunod – Toute reproduction non autorisée est un délit.

maximale journalière de respectivement e1 = 200, e2 = 500 et e3 = 300 tonnes de trois


minerais.
La production journalière est d’abord stockée dans un local abrité, d’une contenance
maximale de 1 800 m3 et l’on indique les volumes spéciiques respectifs des trois
minerais : 1,8 ; 2 et 2,2 m3/t.
Le lendemain, les minerais sont lavés : la laverie débite respectivement 80, 90 et 100
tonnes à l’heure pour les produits extraits des tailles t1, t2 et t3 ; en outre, son horaire
journalier est limité à 10 heures de travail.
Enin, les proits unitaires réalisés sont, respectivement : p1 = 4, p2 = 5, p3 = 6 unités
monétaires par tonne de minerai.

361
Chapitre 8 • La programmation linéaire

1. Quelle est la meilleure répartition des quantités de minerais à extraire ?


2. On conteste le proit réalisé sur le minerai extrait de la taille 1 : com­
ment l’optimum est­il modiié si ce proit varie autour de 4 unités moné­
taires ? Poser : c1 = 4(1 + l).
Les calculs pour la question 3 étant longs, le lecteur est invité à consulter
le corrigé.
3. La quantité maximale, extraite de t3 a été mal évaluée. Comment la
répartition optimale évolue­t­elle si l’on pose : e3 = 300(1 + μ) ?
nB. Cet exercice couvre une grande partie de ce chapitre de P.L.
Le niveau de la question 2 est de 2 étoiles ; celui de la 3ème, de 3 étoiles.

*8.3 Contrainte redondante. Dualité


Soit à maximiser la fonctionnelle linéaire :
5x1 1 4x2 1 3x3 1 x4 5 z
sous les contraintes :
x1 1 x2 1 x3 1 x4 < 12 ( 1 )
3x1 1 2x2 1 3x3 1 x4 < 5 (2)
e
2x1 1 x2 1 x3 1 4x4 < 7 ( 3)

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.

**8.4 Formulation d'un P.L. Paramétrage d'un second membre


On désire faire un mélange de trois gaz combustibles dans les conditions suivantes :
– le volume total doit atteindre 250 000 m3 ;
– la teneur en soufre ne doit pas dépasser 3 grammes/m3 ;
– le volume caloriique doit être compris entre 2 200 mth/m3 et 2 600 mth/m3 ;
– la proportion du troisième gaz ne doit pas excéder 28 % du volume total.
Les teneurs respectives en soufre sont de 7,5 et 2 grammes par m3. Les pouvoirs
caloriiques respectifs se montent à 1 000, 2 000 et 6 000 mth/m3.
On prendra le millier de m3 comme unité de volume.
1. Déterminer le mélange le moins coûteux, en admettant que les prix res­
pectifs sont de 12, 36 et 10 unités monétaires par millier de m3 et en notant
x1, x2 et x3 le volume de chacun des trois gaz contenus dans le mélange,
graphiquement.
362
Exercices

2. On pose le volume total égal à v, la quantité du troisième gaz à ne pas


dépasser, à l. Étudier la variation de l’optimum en fonction de ν et de l
(le tableau optimal du primal est donné dans le corrigé).

**8.5 Résolution d’un P.L. avec variable artificielle


Par la méthode des tableaux, résoudre le programme linéaire :
2x 1 1 2x 2 2 x3 > 2
3x 1 2 4x 2 < 3
x2 1 3x 3 < 5
x1 , x2 , x3 > 0
5x 1 2 2x 2 1 3x 3 5 z 3 max 4

On utilisera la méthode des pénalités (« méthode du « grand M » »)

**8.6 Méthode d’élimination de Fourier


La méthode de Fourier (1824) pour le traitement direct des inéquations linéaires
consiste, dans le cas d’un programme linéaire, à chercher les bornes d’une variable
en fonction des autres variables et à éliminer peu à peu les variables qui ont pu être
arbitrées à leur borne numérique inférieure ou supérieure, selon le signe de leur coef-
icient dans la fonction économique.
Soit à minimiser la fonctionnelle :
F = x1 + x2 + x3,
sous les contraintes :
–20x1 + 12x2 – 15x3 < 60 (1)
x1 + 2x2 – 3x3 < 6 (2)
3x1 + 6x2 + 4x3 < 12 (3)
g –20x1 – 15x2 + 3x3 < 60 (4)
10x1 + 5x2 – 2x3 > 10 (5)
© Dunod – Toute reproduction non autorisée est un délit.

6x1 + 7x2 + 42x3 > 42 (6)


x1 , x2 , x3 > 0
1. Écrire les six inéquations donnant x1 en fonction des autres variables et
montrer que l’une d’entre elles est redondante (c­à­d isoler le terme en x1
dans les six inéquations).
2. Utilisant le fait qu’il reste une inéquation seulement du type x 1 < f ( x 2, x 3 )
et plusieurs du type x1 > wi ( x2, x3 ) , montrer que, quel que soit i :
wi ( x 2, x 3 ) < f ( x 2, x 3 ) .

363
Chapitre 8 • La programmation linéaire

3. Mettre les deux inéquations qui subsistent sous la forme :


x3 < g(x2 )
x 3 > c( x 2 )
et en déduire les bornes numériques de x2.
4. Montrer qu’il faut prendre x2 = 0 pour minimiser F et en tirer les bornes
numériques de x3.
5. Revenant aux inéquations initiales qui ne contiennent plus x2, détermi­
ner les bornes numériques de x1, puis choisir x1 et x3 de manière à minimi­
ser F, tout en respectant l’ensemble des contraintes.

**8.7 Problème de découpe


Une papeterie fabrique du papier en rouleaux de largeur donnée, qui est imposée
par les caractéristiques de la machine de fabrication. Par contre, les commandes des
clients font état de diverses largeurs.
Ainsi, le rouleau de largeur standard, 215 cm ici, doit-il être coupé, ce qui entraîne
des pertes. Le problème que le papetier veut résoudre est celui de la minimisation des
pertes à la coupe (c’est-à-dire de la surface des chûtes).
On pourra considérer, dans la suite, que la longueur des rouleaux est quasiment ininie.

On suppose que la papeterie a reçu les commandes suivantes :

Largeurs (en cm) Longueurs commandées (en cm)


A 95 180
B 84 90
C 60 90
On précise que les commandes doivent être au moins satisfaites, mais on n’exige pas
qu’elles le soient, exactement : les longueurs découpées en surplus, sur une des
largeurs commandées, ne sont pas considérées comme des chutes (elles seront
commercialisées ultérieurement).

364
Exercices

1. Donner, sous la forme d’un tableau, les 6 possibilités de coupe (« plans de


coupe ») standard en fonction des largeurs commandées, ainsi que les pertes sur
la largeur (exprimées en cm). On justiiera le fait qu’on ne considère que 6 pos­
sibilités, à énumérer dans l’ordre lexicographique : 1) AA, 2) AΒ, … 6) CCC.
2. a) En notant xj la longueur découpée suivant le plan de coupe j
( j = l, 2, …, 6), modéliser ce problème sous forme de programme linéaire.
b) Donner son dual et poser le premier tableau de la résolution de ce dual.
c) Trouver une solution optimale du dual quasi évidente (qu’implique la
3e contrainte du dual).
3. En divisant chaque contrainte du primal par un entier convenable, faire
apparaître une base évidente (avec B = I ) et poser le tableau associé. Est­il
optimal ? (NB : introduire les variables d’écart seulement APRES ces divi­
sions.) Comparer cette démarche avec l’emploi de variables artiicielles
pour le primal sous sa forme du 2).
4. Par inspection des contraintes exprimant que les longueurs découpées,
respectivement en largeur 95 cm (A) et 84 cm (B), sont au moins égales aux
longueurs respectives commandées, et en tenant compte des coeficients de
la fonction économique, trouver par un raisonnement direct le (ou les) opti­
mum(s). On justiiera le fait que les variables x3, x5 et x7 sont les variables
de base à l’optimum. Donner alors la surface des chûtes en m2.
5. Donner la matrice de base Β associée à la solution du 4) pour laquelle la
longueur découpée en largeur 95 cm vaut exactement 180 m. Calculer Β–1,
puis dresser le tableau du simplexe associé. Conclure.
6. a) A l’aide du 5), déterminer sans calcul les valeurs optimales des variables
duales.
b) Retrouver ces valeurs, à l’aide des relations d’exclusion, connaissant l’opti­
mum du primal.

**8.8 Démarrage de l’algorithme du simplexe : problème


de la base initiale
Soit le programme linéaire (PL) :
x1 1 3x2 1 5x3 1 x4 1 4x5 5 z 3 max 4
© Dunod – Toute reproduction non autorisée est un délit.

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

3. Donner l’expression de la fonction économique, z, en fonction des


variables hors base ; est­on à l’optimum du P.L. ?
4. Dresser le tableau du simplexe correspondant à cette solution de base ;
au besoin itérer l’algorithme du simplexe pour obtenir l’optimum, que l’on
donnera en détail.

**8.9 Problème de Klee et Minty (1972)


Il s’agit ici d’un cas extrême, pour lequel le 1er critère de Dantzig conduit à un
nombre très grand d’itérations (énumératif) (c’est pourquoi on peut lui substituer le
critère de Bland, par exemple).
Soit les programmes linéaires ci-dessous :
x1 < 1
20x 1 1 x2 < 100
PL 2 d x1 , x2 > 0
10x 1 1 x2 5 z 3 max 4
x1 < 1000
20x 1 1 x2 < 1001
PL 3 e 200x 1 1 20x 2 1 x3 < 1002
x1 , x2 , x3 > 0
100x 1 1 10x 2 1 x3 5 z 3 max 4

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

1. Résoudre PL2, puis PL3 à l’aide de l’algorithme du simplexe (en uti­


lisant le premier critère « gourmand » de Dantzig). Combien d’itérations
sont alors nécessaires pour résoudre PL2 ? PL3 ?
2. Montrer qu’il faudrait 2n – 1 itérations pour résoudre ainsi PLn... : la
« gourmandise » est punie !
3. On modiie la règle de choix de la variable entrante, pour faire entrer en
base la variable (hors­base) entraînant la plus forte augmentation de la fonc­
tion économique. Montrer alors que PLn se résout en... une seule itération !

nB : le lecteur trouvera plusieurs exemples et exercices de programmation


linéaire en variables 0-1 (boléennes) ou en variables entières à la in du chapitre 1.

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.

9.1 un jeu d’enfanT


Considérons le jeu des ciseaux, du papier et du caillou (on ajoute parfois le puits,
nous ne le faisons pas ici, pour simpliier). Il s’agit d’un jeu bien connu des enfants
qui le pratiquent par gestes : deux enfants (joueurs) s’affrontent ; ils sont face à face.
Initialement, chacun a la main droite derrière le dos et choisit d’exprimer avec cette
main soit le papier (main à plat), soit le caillou (poing droit fermé), soit les ciseaux
(l’index et le majeur formant un V). Une fois leur choix fait, chacun tend sa main
droite vers son camarade. Appelons-les Anatole et Bernard ; on donne à chacun ini-
tialement un capital de jetons. La règle du jeu, convenue préalablement entre les
deux joueurs, s’exprime par le tableau (matrice) ci-dessous :
B
I II III
1 0 1 1 ciseaux
A 2 1 0 1 papier
3 1 1 0 caillou
cx p ca

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

Bernard a fait le même choix (colonne I ) ; mais si Bernard présente le papier


(colonne II ), il donne un jeton à Anatole ; enin si Bernard présente le caillou, c’est
Anatole qui donne un jeton à Bernard.
Le lecteur interprétera aisément le choix par Anatole de la ligne 2 (papier) ou de la
ligne 3 (caillou).
Ainsi, le tableau ci-dessus apparaît-il comme le tableau des gains de A, ou encore des
pertes de B. (Un gain négatif étant une perte et réciproquement.) On dit qu’on a un
« jeu à somme nulle » : il n’y a pas de « banque » qui, lors de chaque coup, garderait
une partie des enjeux.

9.2 jeux à deux Personnes eT à soMMe nulle


Supposons maintenant qu’Anatole (A) et Bernard (B) aient choisi un jeu dont la règle
s’exprime par le tableau (matrice 1) ci-après.

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.

s’il exprime ces fréquences en probabilités, il aura d’abord :


p1 + p2 + p3 = 1, avec, bien entendu : p1 , p2 , p3 > 0.
Or, si B joue I, l’espérance de gain de A s’écrira :
a11 · p1 + a21 · p2 + a31 · p3 ;
si B joue II, elle deviendra :
a12 · p1 + a22 · p2 + a32 · p3 ;
si B joue III, A obtiendra :
a13 · p1 + a23 · p2 + a33 · p3 ;

369
Chapitre 9 • Introduction à la théorie des jeux

enin, si B joue IV, A recevra :


a14 · p1 + a24 · p2 + a34 · p3.
B fera de même et jouera les colonnes avec les fréquences q1, q2, q3 et q4, telles que :
q1 + q2 + q3 + q4 = 1, le « gain moyen » 1 de A se montera inalement à :
GA = (a11p1 + a21p2 + a31p3) · q1 + (a12p1 + a22p2 + a32p3) · q2
+ (a13p1 + a23p2 + a33p3) · q3 + (al4p1 + a24p2 + a34p3) · q4.
Parallèlement la perte moyenne de B peut s’écrire :
PB = (a11q1 + a12q2 + a13q3 + a14q4) · p1
+ (a21q1 + a22q2 + a23q3 + a24q4) · p2
+ (a31q1 + a32q2 + a33q3 + a34q4) · p3.
En développant ces deux expressions, on peut vériier qu’on aura toujours GA 5 PB :
en effet le jeu est à somme nulle. A, qui est le joueur « maximisant », désire évidem-
ment dépasser, si c’est possible, ou, au moins, atteindre, la valeur g du jeu (dont nous
supposons l’existence, y compris dans le cas général que nous rencontrerons plus
loin) ; son gain doit être le plus élevé possible, même dans le cas où le joueur B se
bornerait à une stratégie pure ; d’où quatre cas, selon que :
B choisirait en permanence I : [q1 = 1, q2 = q3 = q4 = 0],
ou II : [q1 = 0, q2 = 1, q3 = q4 = 0],
ou III : [q1 = q2 = 0, q3 = 1, q4 = 0],
ou IV : [q1 = q2 = q3 = 0, q4 = 1].
On obtient alors :

a11p1 1 a21p2 1 a31p3 > g; ( dans le cas où q1 5 1)


a12p1 1 a22p2 1 a32p3 > g; ( si q2 5 1)
I e 13p1 1 a23p2 1 a33p3
a > g; ( si q3 5 1)
a14p1 1 a24p2 1 a34p3 > g; ( si q4 5 1)
p1 1 p2 1 p3 5 1

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).

1. Il s’agit de l’espérance mathématique de gain de A, pour un coup donné.

370
9.2 Jeux à deux personnes et à somme nulle

Nous pourrons écrire :


a11p1 + a21p2 + (a32 + β31)p3 > g
(a32 – β12)p1 + (a32 – β22)p2 + a32p3 > g
Ir e a13p1 + a23p2 + (a32 + β33)p3 > g
a14p1 + a24p2 + (a32 + β34)p3 > g
p1 + p2 + p3 = 1
La deuxième inégalité peut être mise aussi sous la forme :
a32 – (β12p1 + β22p2) >฀
g,
dont le premier membre atteint son maximum pour p1 = p2 = 0 (car : β12, β22 . 0 et
p1, p2 > 0). Alors on a : p3 = 1. Ainsi, a32 > g : la valeur du jeu est inférieure ou
égale au point-selle.
Au contraire, pour le joueur B, joueur minimisant, sa perte doit être la plus faible
possible :
a11q1 + a12q2 + a13q3 + a14q4 < g
a21q1 + a22q2 + a23q3 + a24q4 < g
II d
a31q1 + a32q2 + a33q3 + a34q4 < g
q1 + q2 + q3 + q4 = 1.
Avec les mêmes notations que ci-dessus, on obtient :
a11p1 + (a32 – β12)q2 + a13q3 + a14q4 < g
a21p1 + (a32 – β22)q2 + a23q3 + a24q4 < g
IIr d
(a32 + β31)q1 + a32q2 + (a32 + β33)q3 + (a32 + β34)q4 < g
q1 + q2 + q3 + q4 = 1
et la dernière inégalité s’écrit :
a32 + β31q1 + β33q3 + β34q4 <฀
g.
Le minimum du premier membre est obtenu pour : q1 = q3 = q4 = 0. Alors on a :
q2 = 1. Ainsi, a32 <฀
g : la valeur du jeu est supérieure ou égale au point-selle.
© Dunod – Toute reproduction non autorisée est un délit.

Finalement, g = a32 : la valeur du jeu est égale au point­selle et sa solution opti-


male est :
p3 = 1; q2 = 1,
toutes les autres fréquences étant égales à 0.
On voit donc que, dans un jeu à point-selle unique (la propriété se généraliserait
évidemment), il faut prendre pk = 1 et qℓ = 1 si le point-selle se trouve à l’intersection
de la ke ligne et de la ℓe colonne.
Le comportement des deux personnes jouant le jeu dont la règle est résumée par
la matrice 1 peut être aussi examiné d’un point de vue plus rudimentaire, en suppo-
sant seulement que ces joueurs sont, tous deux, intelligents et prudents.

371
Chapitre 9 • Introduction à la théorie des jeux

Évidemment, le joueur A cherche à gagner le plus possible ; mais, comme il


est intelligent, il sait que, de son côté, son adversaire cherchera à perdre le moins
possible. Sa prudence le conduit alors à déterminer, pour chacune des stratégies
à sa disposition, le gain minimal qui igure dans la ligne correspondante :
• pour la première ligne, c’est –2 ; pour la deuxième, c’est 1 ; pour la troisième,
c’est –1, puis à choisir la stratégie qui correspond au maximum de ces gains mini-
maux, soit le choix de la ligne (ou « stratégie ») 2.
• le gain minimal qui se trouve sur cette ligne 2, soit a 22 = 1, est appelé « maximin »
(car c’est le maximum des minimums en ligne).
Le joueur B, quant à lui, est amené, par un raisonnement symétrique, à détermi-
ner la perte maximale, colonne par colonne, c’est-à-dire stratégie par stratégie à sa
disposition : pour la colonne I, c’est 2 ; pour la colonne II, c’est 1 et, enin, pour la
colonne III, c’est 2 ; puis il choisira la perte minimale parmi celles-ci, soit 1, qui
correspond à la colonne ou à la stratégie II.
La perte minimale, située dans cette seconde colonne, soit a 22 = 1, est appelé
« minimax » (car c’est le minimum des maximums en colonne).
Pour toute matrice de jeu à deux personnes et à somme nulle, le maximin est
inférieur ou égal au minimax: en effet, soit μ l’élément de cette matrice situé dans la
ligne du maximin et dans la colonne du minimax. Par déinition, on a :
maximin < m et minimax > m ; ainsi : maximin <฀
minimax.
On a déjà vu qu’il y a, pour le jeu donné par la matrice 1, coïncidence entre le
gain de A et la perte de B ; dans un jeu à « point-selle », cela résulte simplement de
l’égalité ici entre le maximin et le minimax. On appelle aussi le point-selle : « point
d’équilibre » car on peut montrer que chaque joueur, quel que soit le nombre de
coups du jeu, n’a pas d’intérêt à s’écarter de la stratégie pure qui correspond, selon
sa position, au maximin (pour A) ou au minimax (pour B).
Lorsqu’une matrice comporte plusieurs points-selle (nécessairement égaux), A
a intérêt à jouer avec des fréquences égales les lignes comportant des pointsselle ;
de même B jouera au mieux, avec des fréquences égales, les colonnes comportant
des points-selle.

9.3 noTion de sTraTégies MixTes1


Passons maintenant au cas où le minimax est strictement supérieur au maximin :
le jeu ne comporte pas de point-selle. Considérons le jeu déini par la matrice 3 et
calculons le maximin et le minimax.

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 :

[max] g sous les contraintes :

–p1 + p2 + 3p3 > g


2p1 – 2p2 + 4p3 > g
pour A : I e p1 + 2p2 – 3p3 > g
p1 + p2 + p3 = 1
p1 , p2 , p3 > 0

373
Chapitre 9 • Introduction à la théorie des jeux

[min] g sous les contraintes :


–q1 + 2q2 + q3 < g
q1 – 2q2 + 2q3 < g
pour B : II e 3q1 + 4q2 – 3q3 < g
q1 + q2 + q3 = 1
q1 , q2 , q3 > 0
Ce sont deux programmes linéaires paramétrés (par g). Nous pouvons éliminer des
inéquations de II l’une des variables, par exemple q3 > 0, en substituant à q3 sa
valeur : q 3 5 1 2 q 1 2 q 2
Il vient :

–2q1 + q2 < g–1


–q1 – 4q2 < g–2
IIr e 6q1 + 7q2 < g+3
q1 + q2 + q3 = 1
q1 , q2 , q3 > 0

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

Nous allons maintenant simpliier le système, en soustrayant la deuxième équation :


(2) de la première (1), et de la troisième (3), de manière à faire disparaître la valeur
inconnue g ; nous avons choisi de soustraire la deuxième équation car g – 2 , g – 1
< g + 3 : ainsi obtiendrons-nous des seconds membres positifs. On a :

–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

s 0 6 46/5 0 0 11/ 5 6/ 5 1 14/ 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

1 4 0 0 1 0 z ฀0 9/ 5 0 0  4/ 5 1/ 5 0 z 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

j 0 0 0 17/4610/23 9/46 z 31/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).

9.4 auTre MéThode de calcul :


les P.l. des deux joueurs sonT en dualiTé
La méthode précédente peut se révéler délicate d’emploi, dans certains problèmes
présentant des dégénérescences. C’est pourquoi nous donnons, ci-dessous, une
méthode plus systématique, dans laquelle toutes les variables subsistent jusqu’à la
in des calculs.
Reprenons la matrice 3 de l’exemple précédent. Le maximin est –1, le minimax, 2 : la
valeur g du jeu est comprise entre ces deux limites, et on ne peut donc pas, a priori,
afirmer qu’elle est positive. En revanche, si l’on ajoutait 2 à tous les éléments de la
matrice (ce qui ne change rien quant aux situations relatives des deux joueurs), on
aurait : gr 5 g 1 2, d’où : maximin = 1, minimax = 4 et donc l’assurance que gr est
strictement positif.
En fait pour être sûr que g′ est strictement positif, il sufit d’ajouter aux éléments de
la matrice du jeu un nombre tel que tous deviennent strictement positifs. Par exem-
ple, dans le cas qui nous occupe, si l’on ajoute 4, on aura la matrice 3 bis :

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é

On se souviendra, lorsqu’on aura trouvé la valeur gr du jeu correspondant à cette matrice,


que : g 5 gr 2 4. Écrivons alors les programmes linéaires relatifs au nouveau jeu :
3q1 + 6q2 + 5q3 < gr 3p1 + 5p2 + 7p3 > gs
5q1 + 2q2 + 6q3 < gr 6p1 + 2p2 + 8p3 > gs
7q1 + 8q2 + q3 < gr 5p1 + 6p2 + p3 > gs
B f A f
q1 + q2 + q3 = 1 p1 + p2 + p3 = 1
q1 , q2 , q3 > 0 p1 , p2 , p3 > 0
[min] gr [max] gs

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.

Résolvons le programme B (plutôt que celui de A, qui nécessiterait l’introduction de


trois variables artiicielles) :
1 2 3 1 2 3
0 1 3 6 5 1 0 0 1
0 2 5 2 6 0 1 0 1
s 0 3 7 8 1 0 0 1 1

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

0 2 13/ 4 0 23/ 4 0 1 �1/ 4 3/4


1 2 7/ 8 1 1/ 8 0 0 1/ 8 1/ 8

après 1 itération 1/ 8 0 7/ 8 0 0 �1/ 8 z � 1/ 8



e

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.

9.5 exeMPle d’aPPlicaTion éconoMique


doMinance d’une sTraTégie, réducTion d’un jeu
Une irme F est établie depuis peu sur le marché ; ses dirigeants ont remarqué que,
s’ils faisaient varier leur prix de vente par rapport à ceux de la concurrence C, les
variations des résultats s’établissaient comme l’indique le tableau ci-après :
C
5 % 0 % 5 %
5 % 2 4 4 p1
F 0% 1 0 3 p2
5 % 3 2 0 p3
q1 q2 q3
Quelle stratégie mixte la irme F doit-elle adopter face à la concurrence ?
On a, pour les stratégies de la concurrence C :

–2q1 – 4q2 – 4q3 < g


– q1 – 3q3 < g
© Dunod – Toute reproduction non autorisée est un délit.

e –3q1 + 2q2 < g


q1 + q2 + q3 = 1
q1 , q2 , q3 > 0.

on voit immédiatement que :


– q1 – 3q3 < g entraîne : –2q1 – 4q2 – 4q3 < g ;
en effet : –2q1 – 4q2 – 4q3 = – q1 – 3q3 – (q1 + 4q2 + q3),
d’où, puisque q1 + 4q2 + q3 est positif, : –2q1 – 4q2 – 4q3 , – q1 – 3q3 < g
et: –2q1 – 4q2 – 4q3 , g.

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 :

–p2 – 3p3 = –p2 – 3(1 – p2) = 2p2 – 3

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 >฀

La valeur de g, sur la igure 9.1 où sont repré-


sentées les droites g = –3p2 et g = 2p2 – 3, en
fonction de p2 (0 < p2 < 1), est le maximum des
valeurs compatibles avec les deux inéquations :

g < –3p2 et g < 2p2 – 3.

Ce maximum a lieu pour : 2p2 – 3 = –3p2,

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.

Remarques. La méthode graphique est évidemment applicable chaque fois


que l’un des deux systèmes peut être réduit à deux variables seulement.
Il sera utile au lecteur qui désirerait bien comprendre la portée de la théo-
rie des jeux en matière économique de lire, dans des ouvrages plus dévelop-
pés, comment la forme normale d’un jeu permet de représenter les situations
concurrentielles.
Il est également nécessaire d’attirer l’attention sur l’importance de l’informa-
tion dans les jeux ; dans un jeu séquentiel, où les situations du passé inluen-
cent l’avenir, la quantité d’information dont disposent les différents joueurs
joue un très grand rôle et conditionne la valeur du jeu.

381
Chapitre 9 • Introduction à la théorie des jeux

9.6 MéThodologie d’éTude des jeux à deux joueurs


eT soMMe nulle
Terminons en donnant une méthodologie d’étude des jeux à deux joueurs et à somme
nulle.
1. Déterminer si le jeu comporte un (ou plusieurs) point(s)-selle.
S’il comporte un seul point-selle, la stratégie optimale de A est de jouer la ligne du
point-selle lors de chaque coup ; celle du point B, de jouer la colonne du point-selle.
S’il comporte plusieurs points-selle : A joue en choisissant au hasard l’une des lignes
comportant un point-selle, de manière équiprobable ; B joue en choisissant au hasard
l’une des colonnes comportant un point-selle, de manière équiprobable.

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).

4. Sinon, translater, si besoin est, la valeur du jeu en posant gr 5 g 1 a où α est


l’opposé du terme le plus négatif de la matrice du jeu ; poser arij 5 aij 1 a et résou-
dre le programme linéaire du joueur B (la méthode de la division par gr est conseillée).
En déduire, par dualité, les fréquences optimales de jeu des stratégies pour A.

EXERCICES

*9.1 Jeux avec point-selle


1. Soit un jeu à deux personnes et à somme nulle, donné par le tableau des
gains du joueur A (et donc des pertes du joueur B) suivant .

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 point­selle (ou point d’équilibre)
Quelle stratégie doit suivre chaque joueur ?

382
Exercices

2. Que constatez vous pour le jeu ci­dessous ?


B
1 2 3 4
1 4 3 8 3
A 2 2 2 4 7
3 6 3 5 3
4 1 1 9 0

*9.2 Jeu sans point-selle. Dominance et résolution graphique


Soit un jeu à deux personnes à somme nulle, déini par la matrice des gains du joueur
A ci-dessous.

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 point­selle.
2. Calculer les stratégies mixtes et la valeur du jeu graphiquement.

**9.3 Résolution d’un jeu sans point-selle par un programme


linéaire
Chercher les stratégies mixtes pour le jeu rectangulaire dont la matrice est donnée
ci-dessous.
1. par la première méthode (cf 9.3)
2. par la seconde méthode (cf 9.4)
B
1 2 3 4
1 6 3 5 4
A 2 1 2 4 7
3 2 1 0 1

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.

(1) Chapitre rédigé par Mme Nacéra Seghouani-Bennacer, enseignante-chercheuse à l’École


Supérieure d’Électricité (Supélec).
10.1 Introduction

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).

10.1.1 Pourquoi utiliser la simulation ?


La simulation est une approche qui peut conduire à des conclusions du type :
« Pour un investissement de x unités, le proit serait, en tenant compte de toutes les
contraintes, compris entre deux valeurs y1 et y2 unités monétaires, avec une proba-
bilité égale à p » ; mais jamais à des afirmations de la forme « l’investissement de x
unités conduit à un proit maximal de y unités monétaires » : ce dernier type de résul-
tat est propre aux techniques d’optimisation pour des problèmes déterministes.
En revanche, il arrive très souvent que l’on ne puisse pas construire le modèle
analytique d’un système dynamique complexe (qui évolue continûment dans le
temps) et dont le fonctionnement est intrinsèquement probabiliste, mais que l’on soit
capable de décomposer ce fonctionnement en événements élémentaires. On parlera
dans ce cas de simulation à événements discrets.
Prenons l’exemple d’une gestion de stocks où il s’agit de déinir les quantités
à approvisionner de façon à satisfaire une demande aléatoire tout en minimisant
les coûts de stockage et de pénurie. Le fonctionnement de ce système peut être
décomposé en événements élémentaires : la demande d’un article est suivie soit de
sa livraison, soit du déclenchement d’une pénurie et, dans un système de réappro-
visionnement à niveau d’alerte, du déclenchement d’une commande. La livraison
d’un article est suivie elle-même de la mise à jour du stock.
La simulation est, de fait, très appropriée pour analyser des enchaînements sto-
chastiques (c’est-à-dire liés au hasard) et multiples d’occurrences d’événements
(séquences complexes), chacune provoquant un changement d’état du système étu-
dié. On peut associer à l’évolution du système un graphe d’états dont les sommets
représentent les états et les arcs les changements d’états (provoqués par les occur-
rences des événements comme mentionné ci-dessus). Ces graphes sont en général de
© Dunod – Toute reproduction non autorisée est un délit.

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

arme un délai d’attente de l’acquittement (accusé de réception) par le client, au bout


duquel ce serveur, en cas d’échec, réémet la réponse.
Dans ce protocole, tous ces envois ou réceptions ou pertes de message sont des
événements. Dans un cas réel, le protocole serait plus complexe, et par conséquent,
le graphe d’états pourrait être très grand (plusieurs millions d’états). Une simulation
du fonctionnement du protocole permet un réglage adéquat des délais de garde ain
de respecter des propriétés requises de bon fonctionnement, spéciiées dans un cahier
des charges ; par exemple : la requête ne doit pas être exécutée plus d’une fois.

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 ».

10.2.1 notion d’échéancier et de noyau de synchronisation


Un échéancier est donc représenté par une structure de données qui permet de stocker
les événements, leur date d’occurrence ainsi que le traitement associé. L’ensemble
des procédures qui entretiennent et manipulent l’échéancier lors de chaque occurrence
d’événement (insérer, supprimer des événements, etc.) s’appelle le « noyau de syn-
chronisation ». L’eficacité de celui-ci dépend beaucoup de la structure de données
choisie, des algorithmes d’entretien de l’échéancier, du nombre d’événements et de la
distribution des intervalles de temps entre événements consécutifs dans l’échéancier.

10.2.2 Méthodes de gestion de l’échéancier


Comment évolue le temps dans une simulation ? Il y a deux schémas possibles.
Simulation dirigée par événements
Les seuls temps accessibles lors de la simulation à événements discrets sont les dates
d’occurrences d’événements, l’incrémentation du temps se fait d’une date à la sui-
vante (« next event scheduling »). L’échéancier est ordonnancé dans une structure de
données qui peut être une liste ou un arbre binaire équilibré.
Dans le cas d’une « liste », les événements sont stockés par ordre croissant de
date d’occurrence. Le prochain événement à traiter dans le temps est toujours en tête
de liste. Lors de l’exécution de la simulation, chaque fois qu’un nouvel événement
intervient, la liste est parcourue pour l’insérer à sa place (déterminée par sa date
d’occurrence) ; la complexité de cette recherche pour une liste comportant Ν événe-
ments est de Ο(N).
Dans le cas de la structure de données « arbre binaire équilibré », les événements
sont organisés comme suit : chaque événement a au plus deux ils, correspondant
respectivement l’un à une date inférieure et l’autre à une date supérieure à la date de
cet événement (père). On élimine à chaque test toute une partie des possibilités res-

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.

10.3 les « enTrées » d’un Modèle de siMulaTion


Reprenons l’exemple de gestion des stocks ci-dessus. Pour qu’une simulation puisse
être menée, on doit disposer d’un échantillon de la demande journalière et d’un échan-
tillon de délais de réapprovisionnement. Ces échantillons peuvent être réels, c’est-
à-dire des extraits d’un historique de la gestion du stock ; la simulation dans ce cas
est dite « pilotée par trace ». Plus souvent, on dispose soit d’un histogramme de la
loi construit à partir d’un certain nombre d’observations du système réel, soit d’une
forme analytique de la loi de probabilité régissant les dates de demandes et de délais
de réapprovisionnement. Dans les deux cas, il faut qu’on dispose d’un générateur
de nombres entiers aléatoires uniformément distribués comme nous le détaillons ci-
dessous.
10.3.1 Génération de nombres entiers pseudo-aléatoires
uniformément distribués
Les premiers générateurs de nombres aléatoires étaient basés sur des phénomènes
physiques, par exemple, les bruits blancs dans les résistances électriques, les émis-
sions de particules radioactives, etc. Les propriétés statistiques de tels générateurs
sont démontrées mais ils nécessitent le couplage d’un calculateur avec l’unité repro-
duisant le phénomène. De plus, les séquences aléatoires obtenues ne sont pas repro-
ductibles (ce qui, en général, est fort gênant).
On a utilisé ensuite des tables de nombres aléatoires construites à partir de phé-
© Dunod – Toute reproduction non autorisée est un délit.

nomènes physiques qui permettaient la reproductibilité. Par contre, des problèmes


d’encombrement de la mémoire pour stocker de telles tables (dont la dimension est
considérable) et de lenteurs dues à l’accès à celles-ci se posaient.
Pour pallier ces problèmes, on a mis au point des algorithmes fondés sur des
propriétés arithmétiques qui génèrent des séquences de nombres aléatoires, sans que
l’on ait besoin de les stocker. Ces séquences sont reproductibles. Par contre, dans ce
type d’algorithme chaque nombre généré dépend d’une manière déterministe du ou
des nombres précédents. Dans ce cas, on parle de nombres « pseudo-aléatoires ». Le
choix de l’algorithme et des paramètres de génération est essentiel pour la qualité du
générateur.

387
Chapitre 10 • Simulation

Par qualité du générateur, on entend :


• l’équi-répartition des chiffres dans les séquences obtenues en mettant bout à
bout les nombres pseudo-aléatoires générés (chaque chiffre ayant la probabilité
1/10 d’apparition). Mais une séquence telle que 111122223333... satisferait à ce
test d’équi-répartition. Or, avec cette séquence, il ne s’agit pas de nombres au
hasard ! C’est pourquoi, on pratique des tests portant les fréquences d’apparition
des « paires » (deux chiffres égaux consécutifs) ou encore des « brelans » (trois
chiffres consécutifs). Plus généralement, on nomme cette famille de tests, les tests
du « poker » ;
• d’autre part, par leur nature, les procédés de génération de nombres pseudo-
aléatoires, comme nous le verrons plus bas, cyclent nécessairement au bout d’un cer-
tain nombre d’itérations nommé « période » du générateur. Un bon générateur doit
avoir une période sufisamment longue.
De nombreux tests statistiques existent, permettant de s’assurer de la qualité
d’un générateur en termes de corrélation et d’équi-répartition ; test du χ2, test de
Kolmogorov-Smirnov, test des intervalles, test du poker... Aucun de ces tests ne peut
être déterminant à lui seul. Certaines suites de nombres pseudo-aléatoires « fran-
chissent » mieux certains tests que d’autres. Un générateur de bonne qualité doit
« franchir » plusieurs tests simultanément.

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

Un choix intéressant pour lequel les qualités statistiques évoquées ci-dessus


sont démontrées, est le suivant : sur une machine dont les mots comportent 32 bits :
m 5 231 2 1, a est une racine primitive de m et U0 est premier avec m (le calcul de la
congruence modulo m se fait alors par un débordement).
• Méthode additive : (suite de Fibonacci)
Uk 5 Uk21 1 Uk22 (modulo m)
• Méthode mixte
Uk 5 a # Uk21 1 c (modulo m)

Brassage de deux générateurs


Cette méthode permet de créer un générateur aléatoire de bonne qualité en utilisant
deux autres générateurs quelle que soit leur qualité. On remplit une table avec le
premier générateur. On utilise un second générateur pour accéder aléatoirement dans
cette table. À chaque fois qu’un nombre a été utilisé, il est remplacé par un nouveau
obtenu à l’aide du premier générateur. De très bons résultats sont obtenus si la taille
des deux tables est supérieure à 100.

10.3.2 Génération d’un échantillon de nombres


suivant une loi donnée
Dans ce qui suit, on notera U un nombre n' pseudo-aléatoire, uniformément distribué
dans l’intervalle [0, 1]. On note X un nombre généré selon une loi donnée. Cette loi
peut être discrète (ou discrétisée) et donnée par un histogramme cumulé (courbe en
escalier) ; ou bien il peut s’agir d’une loi continue donnée par l’expression analytique
de sa fonction de répartition : F ( X ) 5 P 3 Y < X 4 , où Y est une variable aléatoire,
contrairement à X (qui est un nombre).

Loi définie par un histogramme cumulé

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.

Exemple. Imaginons que l’étude de la demande journalière, dans l’exemple de ges-


tion des stocks, donne les résultats suivants :

Nombre Nombre Fréquence Fréquence


de demandes d’observations relative cumulée
Xi (Nombre total  100) F(X i)
0 3 0,03 0,03
1 5 0,05 0,08
2 10 0,10 0,18
3 20 0,20 0,38
4 30 0,30 0,68
5 10 0,10 0,78
6 8 0,08 0,86
7 5 0,05 0,91
8 4 0,04 0,95
9 3 0,03 0,98
10 2 0,02 1

Supposons que l’on dispose de la suite de nombres aléatoires uniformément distri-


bués dans l’intervalle [0, 1] : 0,07 ; 0,72 ; 0,32 ; 0,55 ; 0,51 ; 0,03 ; 0,81 ; 0,69 ; c
Le lecteur vériiera aisément qu’elle conduit à l’échantillon artiiciel du nombre
de demandes journalières suivant : 1, 5, 3, 4, 4, 1, 6, 5, c.
Dans une simulation à événements discrets, on retrouve souvent des états où il
existe plusieurs transitions de sortie. Chaque transition est alors valuée par une proba-
bilité ; la somme des probabilités des transitions de sortie est bien entendu égale à 1.
Dans ce qui suit, nous montrons comment reproduire ces situations « d’aiguillage »
en respectant leur loi de probabilité.

390
10.3 Les « entrées » d’un modèle de simulation

• Cas de l’aiguillage probabiliste à deux sorties


Supposons qu’il existe deux services A et Β et que la probabilité de choisir le service
A est égale à p et de choisir le service Β est égale à 1 2 p.

Ce type d’aiguillage se retrouve souvent dans les modèles probabilistes. On tire,


dans ce cas, un nombre aléatoire U uniformément distribué dans [0, 1] et on compare
Uàp:
– si U , p, on se dirige vers A, donc avec une probabilité p ;
– si U > p, on se dirige vers B, donc avec une probabilité 1 2 p.
• Aiguillage probabiliste à n sorties (voies)

Soient p1, p2, c, pn, où pi est la probabilité du ième service avec a pi 5 1.


n

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

Plus généralement à un nombre pseudo-aléatoire Ui uniformément réparti corres-


pond le nombre Xi 5 F21 (Ui) suivant la loi F(X).
Voici un autre exemple illustrant le cas d’une loi de probabilité inversible, celui
de la loi uniforme sur l’intervalle [a, b], de densité de probabilité f (X) 5 l/(b 2 a).
Sa fonction de répartition est :
F(X) 5 (X 2 a)/(b 2 a) a<X <b
F(X) 5 0 X,a
F(X) 5 1 X.b
Connaissant U, il est facile d’en déduire X : X 5 F21(U) 5 a 1 U # (b 2 a).
La forme analytique de F(X) n’est pas toujours inversible. Cependant, F(X) pour
certaines lois de probabilité est obtenue par combinaison d’autres lois. C’est le cas,
par exemple, de la loi normale et de toutes les lois qui dérivent de la loi exponentielle
(la loi hyper-exponentielle, la loi de Cox, la loi d’Erlang).
• Lois dont la définition est obtenue par combinaison d’autres lois
D’après le théorème de la limite centrale, la somme de n variables indépendantes
de même loi de moyenne(1) m et d’écart type s converge vers une loi normale
de moyenne(1) nm et de variance ns2 lorsque n tend vers l’inini. Si l’on prend n
nombres pseudo-aléatoires ui uniformément distribués dans [0, 1], alors on sait qu’en
posant :

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.

10.4 un exeMPle de siMulaTion


Nous nous limiterons, dans un but didactique, à un exemple de petite taille. Prenons
l’exemple d’un système informatique comportant un serveur qui traite des requêtes
de différents clients dans l’ordre d’arrivée (PAPS : premier arrivé, premier au ser-
vice). Le but de la simulation du modèle(2) de ce système est d’étudier la charge du
serveur, le nombre de requêtes en attente d’être traitées et aussi la durée moyenne
d’attente d’un client. On suppose que les requêtes arrivent toutes les 1 minute dans
30 % des cas, toutes les 2 minutes dans 45 % des cas et toutes les 3 minutes dans les
autres cas. La durée de traitement est de 1 minute dans 15 % des cas, de 2 minutes
dans 25 %, de 3 minutes dans 35 % des cas et de 4 minutes dans les autres cas.

(1) Stricto sensu on devrait dire : espérance mathématique.


(2) Si les arrivées des requêtes suivent une loi de Poisson et les traitements, une loi exponentielle
on a affaire à la ile M / M / 1 : cf 7.3, qu’on peut étudier analytiquement.

392
10.5 Les résultats (sorties) d’une simulation et analyse statistique

Dans ce système, il y a deux types d’événements qui changent l’état du système :


une arrivée d’une requête et une in de traitement d’une requête par le serveur. Simu-
lons le fonctionnement du système.
En utilisant la technique de l’histogramme cumulé, on génère des durées inter-
arrivées (c’est-à-dire séparant les arrivées de deux clients consécutifs) : a1, a2, a3,
c et des durées de service : s , s , s ,c. Soit :
1 2 3

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.

10.5 les résulTaTs (sorTies) d’une siMulaTion


eT analyse sTaTisTique
On effectue des simulations avec différents objectifs. Voici les trois cas possibles.

10.5.1 Cas d’une simulation dite « comportementale »


On veut simplement tester et observer le comportement d’un système et s’assurer du
bon fonctionnement du système. Il s’agit d’une simulation dont le résultat est pure-
ment qualitatif (elle ne donne donc pas lieu à une analyse statistique).
© Dunod – Toute reproduction non autorisée est un délit.

10.5.2 Cas d’une simulation dite « terminale »


La simulation s’arrête à l’apparition d’un événement (fâcheux) particulier désigné
à l’avance : il peut s’agir, dans un système informatique, d’un interblocage pour
l’acquisition d’une ressource critique ou encore de l’occurrence d’un événement
catastrophique dans un système sécuritaire, ou encore d’un fonctionnement non
conforme aux spéciications pour un circuit intégré.
Dans ce type de simulation, on cherche à évaluer le temps nécessaire pour parvenir
à une situation donnée et/ou à déterminer l’enchaînement des événements qui conduit
à cette situation. Dans ce cas la durée de simulation est une variable aléatoire.

393
Chapitre 10 • Simulation

Temps Type Nombre Durée Liste


de simulation d’événements de requêtes d’attente d’événements
t en attente Ti Ai Di
0 Arrivée 1 0 0 4
2 Arrivée 2 1 2 6
4 Départ 1 0 4 5 9
5 Arrivée 3 1 6 10
6 Arrivée 4, départ 2 1 4 7 12
7 Arrivée 5 2 9 14
9 Arrivée 6, départ 3 2 4 11 15
10 Départ 4 1 4 14 16
11 Arrivée 7 2 16 19
12 Départ 5 1 5 17 23
14 Arrivée 8, départ 6 1 5 20 25
15 Départ 7 0 4 22 27
16 Arrivée 9, départ 8 0 2 24 31
17 Arrivée 10 1 26 33
19 Départ 9 0 3 28 37
20 Arrivée 11 1 29 38
22 Arrivée 12 2 30 40
23 Départ 10 1 6 32 42
24 Arrivée 13 2 34 45
25 Départ 11 1 5 37 48
26 Arrivée 14 2
27 Départ 12 1 5
28 Arrivée 15 2
29 Arrivée 16 3
30 Arrivée 17 4
31 Départ 13 3 7
32 Arrivée 18 4
33 Départ 14 3 7
34 Arrivée 19 4
37 Arrivée 20, départ 15 4 9
38 Départ 16 3 9
40 Départ 17 2 10
42 Départ 18 1 10
45 Départ 19 0 11
48 Départ 20 0 11

394
10.5 Les résultats (sorties) d’une simulation et analyse statistique

10.5.3 Cas d’une simulation dite « infinie »


On utilise dans ce cas la suite des événements produits par la simulation pour évaluer
une ou plusieurs grandeurs, par exemple le débit d’un réseau, le taux de charge d’un
serveur, la fréquence d’occurrence d’une panne, etc. ain de prédire le comportement
du système réel dont on simule le fonctionnement. Il faut donc prélever des observa-
tions pour effectuer des statistiques sur les échantillons ainsi recueillis des grandeurs
mesurées. On arrête la simulation dès qu’une précision requise est obtenue et/ou une
durée de simulation (stipulée à l’avance) est atteinte.
S’il s’agit d’observations indépendantes et identiquement distribuées, la tâche
que constitue l’estimation sera aisée car il sufit dans ce cas précis de faire appel au
théorème central limite pour évaluer la coniance relative qu’on peut attribuer aux
résultats. Il s’avère, toutefois, que les hypothèses d’application du théorème de la
limite centrale ne sont pas toujours vériiées en pratique. En effet, on se retrouve
souvent confronté aux problèmes suivants :
• le problème « d’auto-corrélation » des mesures prélevées. Par exemple, dans une
ile d’attente, le temps d’attente d’un client dépend souvent des clients précédents ;
ce qui implique que les hypothèses des méthodes statistiques classiques basées sur
l’hypothèse d’indépendance des mesures ne sont plus directement applicables ;
• le problème de « stationnarité » du processus échantillonné : ainsi, si l’on simule
une ile d’attente, il faut déterminer à partir de quel moment de la simulation le
régime permanent de la ile est atteint ;
• l’inluence des conditions initiales sur les mesures effectuées et du temps passé
dans le régime transitoire avant d’atteindre le régime stationnaire (régime per-
manent), s’il existe.
Le moyen le plus simple de répondre au problème de corrélation entre observa-
tions est d’effectuer plusieurs répliques indépendantes en utilisant des générateurs de
racines (seeds) différentes et en éliminant les premières observations de chacune ain
de réduire le biais introduit par les conditions initiales. L’estimateur est la moyenne
des moyennes des observations de chacune des répliques. Ce type de simulation peut
nécessiter un temps de simulation trop long si le nombre d’événements nécessaire
pour atteindre le régime permanent est grand.
Une autre méthode consiste à simuler le modèle sur une longue durée. Cette durée
© Dunod – Toute reproduction non autorisée est un délit.

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

était décomposée en plusieurs simulations indépendantes séparées par les points


de régénération.

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.

10.5.4 Construction d’un estimateur et d’un intervalle


de confiance
Le but d’une simulation est d’obtenir des informations sur le processus stochastique
associé à une grandeur X 5 {X(t), t . 0}. À partir d’observations ponctuelles de la
grandeur X aux instants ti : (X1, c, Xi, c, Xn) où Xi 5 X(ti), on veut estimer les
grandeurs suivantes ;
• la “moyenne” de X(t) : E[X(t)] 5 m(t) 5 m ;
• la variance de X(t) : V[X(t)] 5 s2(t) 5 s2.
Pour un processus stationnaire ces deux grandeurs ne dépendent pas de l’instant
d’observation.

Ces deux grandeurs peuvent être estimées respectivement par :

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 !).

10.5.5 Les techniques de réduction de variance


© Dunod – Toute reproduction non autorisée est un délit.

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

port de la probabilité originelle et de la probabilité modiiée de la trajectoire visitée


en cours de simulation.
Soit l’exemple d’un système informatique fonctionnant avec deux processeurs
analogues, le système est en panne si les deux processeurs sont en panne simultané-
ment. Les durées de fonctionnement et de réparation suivent une loi exponentielle
de taux respectifs l et m. On peut modéliser ce fonctionnement par un processus de
Markov à trois états E0, E1 et E2 ; dans l’état E0 les deux processeurs fonctionnent, en
E1 un processeur est en panne ; en E2 les deux processeurs sont en panne. Précisons
qu’il n’y a qu’un seul réparateur lorsque le système est dans l’état E2.

Si l V m, comme c’est le cas dans un système de haute iabilité, la proba-


bilité qu’une deuxième panne se produise (égale à l/(l 1 m)) est très faible
devant la probabilité d’une in de réparation (égale à m/(l 1 m)) Par conséquent,
construire un estimateur de la probabilité qu’une panne du système se produise
sera très dificile. La technique de l’échantillonnage préférentiel consiste à aug-
menter la fréquence de la panne (« failure biasing ») de façon à donner autant de
chance de se produire à la panne qu’à la réparation ! L’estimateur de la proba-
bilité d’apparition d’une panne ou de la durée nécessaire pour qu’une panne du
système se produise, est ensuite corrigé par le coeficient de vraisemblance. Pour
plus de détail concernant cette méthode, le lecteur pourra se référer aux ouvrages
référencés ci-après.

10.6 langages de siMulaTion


Pour implémenter une simulation, le programmeur dispose de deux alternatives.
• Soit choisir un langage de programmation de 3e génération « procédural » tel que
le Pascal, Fortran, C, ADA,... ou « orienté objet » tel que C11, Java, SmallTalk,...
Ce choix présente deux avantages principaux : l’accessibilité et la lexibilité. Le
programmeur a la possibilité d’écrire un programme qui modélise parfaitement son
système. En revanche, il a tout à écrire, en particulier, le noyau de synchronisation
correspondant à la structure de l’échéancier choisi.
• Soit choisir un langage spécialisé. Pour la plupart de ceux-ci, il s’agit aussi de
langages de modélisation. Ces langages de simulation sont soit des extensions de
langages existants ou soit des langages entièrement nouveaux avec leur propre

398
10.7 Conclusion

compilateur : SIMSCRIPT, GPSS (General Purpose Simulation System), QGERT


(Queuing networks Graphical Evaluation Review Technique), CSS (Computer
System Simulation), QNAP (Queuing Network Analysis Package), SLAM (Simula-
tion Language of Alternative Modeling), SIMULA et encore d’autres ; chacun de ces
langages s’adresse à type particulier de système : par exemple OSSL ou CSS sont
dédiés aux systèmes informatiques. Ces langages comportent :
– un noyau de gestion de l’échéancier et de l’horloge ;
– un générateur des échantillons artiiciels de différentes lois de probabilité ;
– une collecte de statistiques sous forme de courbes, d’histogrammes...

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 NP­dificiles) ;

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

– certains problèmes d’optimisation à variables continues, pour lesquels on ne


connaît pas d’algorithme permettant de repérer un optimum global à coup sûr
et en un nombre ini de calculs. Ce cas est moins fréquent que le précédent en
recherche opérationnelle.
Un grand nombre d’algorithmes approchés ou : « heuristiques », qui produisent des
solutions proches de l’optimum, ont été développées, historiquement, d’abord pour les
problèmes d’optimisation combinatoire dificile. La plupart d’entre elles sont conçues
spéciiquement pour un type de problème donné. D’autres, au contraire, appelées méta-
heuristiques, s’adaptent à différents types de problèmes combinatoires (ou même conti-
nus). Le recuit simulé et les autres méthodes récentes énumérées plus haut sont des méta-
heuristiques. Ces méthodes ont en commun, en outre, les caractéristiques suivantes :
• elles sont, au moins pour partie, stochastiques : cette approche permet de faire face
à l’explosion combinatoire des possibilités ;
• du fait de leur origine combinatoire, elles ne peuvent s’appliquer aux problèmes
continus qu’après adaptation (plus ou moins aisée…) ; en raison de cette origine,
elles ont l’avantage, décisif dans le cas continu, d’être directes, c’est-à-dire qu’elles
ne recourent pas au calcul des gradients de la fonction objectif ;
• elles sont inspirées par des analogies : avec la physique (recuit simulé...), avec la
biologie (recherche tabou, algorithmes génétiques, réseaux de neurones...) ou avec
l’éthologie (algorithmes de colonies de fourmis…).
Ces méthodes ne s’excluent pas mutuellement : en effet, dans l’état actuel de la
recherche, il est le plus souvent impossible de prévoir avec certitude l’eficacité d’une
méthode donnée plutôt qu’une autre, quand elle est appliquée à un problème donné. De
plus, la tendance actuelle est l’émergence de méthodes hybrides [Rend96], qui s’efforcent
de tirer parti des avantages spéciiques de deux approches différentes en les combinant.

11.2 la Tâche iMParTie aux MéTaheurisTiques


Un problème d’optimisation peut être exprimé sous la forme générale suivante :
Minimiser f(x)
sous les contraintes : g i( x ) > b i i 5 1, c, m
© Dunod – Toute reproduction non autorisée est un délit.

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

11.2.1 Exemple de problème d’optimisation :


le problème du placement-routage
La conception d’un circuit électronique, quelle que soit la technologie utilisée, se
termine toujours par l’étape de « placement », dans laquelle les composants choisis
doivent être disposés dans un plan, et de « routage », dans laquelle ces composants
doivent être reliés entre eux par des conducteurs. Lorsque le nombre de composants
du circuit est grand, il s’agit là d’un problème d’optimisation combinatoire qui peut
être très complexe. En effet, le dessin du circuit doit répondre à plusieurs impératifs :
d’une part, les connexions doivent être aussi courtes que possible, ceci pour réduire
les temps de transit des signaux, et pour des raisons de iabilité et de « lisibilité » du
circuit (nécessaire notamment en cas de dépannage). D’autre part, les connexions
entre les composants se font par des chemins conducteurs (par dépôt de métal ou par
gravure dans le silicium) situés dans plusieurs plans superposés. Le passage d’un
niveau à un autre nécessite un trou conducteur, qui constitue potentiellement un point
faible pour le circuit : on cherche donc à minimiser le nombre de trous conducteurs,
en minimisant le nombre de croisements entre les connexions. Le problème de la
conception du circuit se ramène ainsi à la recherche d’un compromis entre plusieurs
exigences contradictoires. À cet effet, on minimise une fonction objectif, obtenue
en rassemblant les grandeurs caractéristiques du problème dans une fonctionnelle
(par exemple une combinaison linéaire de ces grandeurs) ; dans celle-ci, on affecte à
chaque grandeur un poids qui relète le degré de priorité que le concepteur lui attri-
bue. En outre, la solution recherchée doit respecter des contraintes ; par exemple :
la forme et la surface de la place disponible pour l’ensemble des composants et
des connexions sont souvent imposées. Pour des raisons de commodité, certaines
contraintes sont incorporées dans la fonction objectif ; d’autres constituent une limi-
tation des degrés de liberté du problème. L’allure d’une telle fonction objectif est le
plus souvent non convexe, du type de celle représentée en Figure 11.1 :

Figure 11.1 Allure de la fonction objectif d’un problème complexe


en fonction de la configuration du système.

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

En pratique, le but d’un industriel n’est pas d’obtenir nécessairement ce mini-


mum absolu, mais seulement une bonne solution et l’assurance qu’il n’existe pas de
solution sensiblement meilleure. Pour atteindre ce but en un temps de calcul raison-
nable, il est nécessaire d’avoir recours à des méthodes stochastiques, c’est-à-dire à
des méthodes qui, face à l’impossibilité d’explorer la totalité des conigurations du
système, permettent d’évoluer vers une solution en passant par un nombre limité de
conigurations, le parcours étant guidé, en partie, par le hasard.

11.2.2 Piégeage de l’algorithme itératif « classique »


dans un minimum local
Un algorithme classique est celui de l’« amélioration itérative », dont le principe est le
suivant : on part d’une coniguration initiale c0, qui peut être choisie au hasard, ou bien
– par exemple dans le cas du placement et du routage d’un circuit électronique – qui
peut être celle d’un concepteur. On essaie alors une modiication élémentaire, souvent
appelée « mouvement » (par exemple, on permute deux composants choisis au hasard,
ou bien on translate l’un d’entre eux), et l’on compare les valeurs de la fonction de
coût, avant et après cette modiication. Si le changement conduit à une diminution de la
fonction de coût, il est accepté, et la coniguration obtenue, qui est « voisine » de la pré-
cédente, sert de point de départ pour un nouvel essai. Dans le cas contraire, on revient
à la coniguration précédente, avant de faire une autre tentative. Le processus est itéré
jusqu’à ce que toute modiication rende le résultat moins bon. La Figure 11.1 montre
que cet algorithme d’amélioration itérative (désigné aussi sous les termes de méthode
classique, ou méthode de descente, ou méthode de la plus grande pente) ne conduit
pas, en général, au minimum absolu, mais seulement à un minimum local (cf les points
gras), qui constitue la meilleure des solutions accessibles compte tenu de l’hypothèse
initiale : partant de c0, on aboutit seulement au minimum local cn.
Pour améliorer l’eficacité de la méthode, on peut évidemment l’appliquer plu-
sieurs fois, avec des conditions initiales différentes choisies arbitrairement, et retenir
comme solution inale le meilleur des minimums locaux obtenus ; cependant, cette
procédure augmente sensiblement le temps de calcul de l’algorithme, et ne garantit
pas de trouver la coniguration optimale c*.

11.2.3 Capacité des métaheuristiques à s’extraire


d’un minimum local
© Dunod – Toute reproduction non autorisée est un délit.

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

Les métaheuristiques « distribuées » (telles que les algorithmes génétiques) ont


elles aussi des mécanismes permettant la sortie d’une solution particulière hors d’un
minimum (ou « puits ») local (piège) de la fonction objectif. Ces mécanismes indi-
viduels (comme la mutation dans les algorithmes génétiques) viennent, dans ce cas,
seconder le mécanisme collectif de lutte contre les minimums locaux, que représente
le contrôle en parallèle de toute une « population » de solutions.

11.3 la MéThode du recuiT siMulé


La structure complexe de l’espace des conigurations d’un problème d’optimisation
dificile, illustrée par la Figure 11.1, a inspiré une analogie avec des phénomènes
physiques, ce qui a conduit trois chercheurs de la Société IBM : S. Kirkpatrick,
C.D. Gelatt et M.P. Vecchi, à proposer, en 1982, une nouvelle méthode itérative : la
méthode du recuit simulé [Kirk83], qui évite les minimums locaux. Des travaux sem-
blables, développés indépendamment à la même époque en Slovaquie par V. Cerny,
ont été publiés en 1985 [Cern85].
S. Kirkpatrick et ses collègues étaient des spécialistes de physique statistique (qui
s’intéressaient précisément aux conigurations de basse énergie de matériaux magné-
tiques désordonnés, regroupés sous le terme de verres de spin). La détermination
numérique de ces conigurations posait de redoutables problèmes d’optimisation, car
le « paysage d’énergie » d’un verre de spin présente une multitude de vallées de pro-
fondeurs inégales ; il est analogue au « paysage » de la Figure 11.1. S. Kirkpatrick et
al. ont proposé de traiter ces problèmes en s’inspirant de la technique expérimentale
du recuit utilisée par les métallurgistes pour obtenir un état solide « bien ordonné »,
d’énergie minimale (en évitant les structures « métastables », caractéristiques des
minimums locaux d’énergie). La technique consiste à porter le matériau à haute tem-
pérature, puis cette température est abaissée lentement. Les auteurs ont simulé ce
processus sur un ordinateur, en adjoignant à l’algorithme de Metropolis et al. – qui
permet de décrire le comportement d’un ensemble d’atomes en équilibre à une cer-
taine température – une loi empirique de décroissance (par paliers) de la température.
La méthode du recuit simulé consiste à transposer ce procédé à la résolution d’un
problème d’optimisation combinatoire : la fonction de coût du problème, analogue à
l’énergie d’un matériau, est alors minimisée, moyennant l’introduction d’une tempé-
rature ictive, qui est, dans ce cas, un simple paramètre de contrôle de l’algorithme.
Depuis son apparition, la méthode du recuit simulé a prouvé son eficacité dans
des domaines très divers. Elle s’est par contre avérée trop gourmande ou inadaptée
pour certains problèmes d’optimisation combinatoire, mieux résolus par des heuris-
tiques spéciiques (en ordonnancement par exemple).
Dans ce paragraphe, nous exposons le principe de la méthode, en nous appuyant
sur l’exemple du problème du placement d’un circuit électronique. Une bibliogra-
phie complète se trouve dans les ouvrages [Siar89, VanL87] et dans l’article [Coll88]
parus sur le sujet. Nous renvoyons aussi le lecteur intéressé aux présentations didac-
tiques du recuit simulé qui igurent dans l’article [Pirl92] et dans le chapitre 2 de
l’ouvrage [Reev95].

404
11.3 La méthode du recuit simulé

11.3.1 Analogie entre un problème d’optimisation


et certains phénomènes physiques
L’idée du recuit simulé peut être illustrée par une image inspirée par les problèmes de
placement et de routage des circuits électroniques : supposons qu’un électronicien peu
consciencieux ait jeté au hasard les composants sur un plan, et établi les connexions
comme indiqué sur la Figure 11.2(a). Il est clair que la disposition obtenue est inaccep-
table pour des raisons de lisibilité et de iabilité. Le rôle d’un programme de placement-
routage est de transformer cette situation désordonnée pour aboutir à un schéma électrique
ordonné (Figure 11.2(b)), où toutes les connexions sont rectilignes, les composants ali-
gnés et placés de manière à minimiser la fonction objectif mentionnée plus haut. En
d’autres termes, ce programme doit réaliser une transformation désordre-ordre, qui, par-
tant d’un « liquide » de composants, aboutit à un « solide » ordonné.

Figure 11.2 Transformation désordre-ordre réalisée


par un programme de placement-routage.

Or une telle transformation se produit spontanément dans la nature si l’on abaisse


progressivement la température d’un système ; il existe des techniques numériques
de simulation, sur ordinateur, du comportement d’ensembles de particules en inter-
action en fonction de la température. Ain de transposer ces techniques aux pro-
blèmes d’optimisation, on établit l’analogie présentée dans le tableau suivant :
© Dunod – Toute reproduction non autorisée est un délit.

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é).

11.3.2 Recuit réel et recuit simulé


Pour modiier l’état d’un matériau, le physicien dispose d’un paramètre de com-
mande : la température. Le recuit est précisément une stratégie de contrôle de la tem-
pérature en vue d’approcher un état optimal. Pour ixer les idées, prenons l’exemple de
la croissance d’un monocristal. La technique du recuit consiste à chauffer préalable-
ment le matériau pour lui conférer une énergie élevée. Puis on refroidit très lentement
le matériau, en marquant des paliers de température de durée sufisante ; si la descente
en température est trop rapide, il apparaît des défauts qui peuvent être éliminés par
réchauffement local. Cette stratégie de baisse contrôlée de la température conduit à
un état solide cristallisé, qui est un état stable, correspondant à un minimum absolu de
l’énergie. La technique opposée est celle de la « trempe », qui consiste à abaisser très
rapidement la température du matériau : on obtient dans ce cas une structure amorphe,
état métastable qui correspond à un minimum local de l’énergie. Avec la technique du
recuit, le refroidissement du matériau a provoqué une transformation désordre-ordre,
tandis que la technique de la trempe a abouti à iger un état désordonné.
L’idée d’utiliser la technique du recuit en vue de traiter un problème d’optimi-
sation a donné naissance à la méthode du recuit simulé. Elle consiste à introduire, en
optimisation, un paramètre de contrôle, qui joue le rôle de la température. La « tem-
pérature » du système à optimiser doit avoir le même effet que la température du
système physique : elle doit conditionner le nombre d’états accessibles et conduire
vers l’état optimal si elle est abaissée de façon lente et bien contrôlée (technique du
recuit) et vers un minimum local si elle est abaissée brutalement (technique de la
trempe). Pour terminer la présentation de la méthode, il nous reste à exposer l’algo-
rithme qui permet de programmer le recuit simulé sur un ordinateur.

11.3.3 Algorithme du recuit simulé


L’algorithme s’appuie sur deux résultats de la physique statistique :
• D’une part, lorsque l’équilibre thermodynamique est atteint à une température don-
née T, la probabilité, pour un système physique, de posséder une énergie donnée E, est
proportionnelle au facteur de Boltzmann : exp(–E/kBT), où kB désigne la constante de
Boltzmann ; la répartition des états d’énergie est alors la distribution de Boltzmann à
la température considérée.
• D’autre part, pour simuler l’évolution d’un système physique vers son équilibre
thermodynamique à une température donnée T, on peut utiliser l’algorithme de
Metropolis : partant d’une coniguration donnée (dans notre cas, un placement ini-
tial de tous les composants), on fait subir au système une modiication élémentaire
(par exemple, on translate un composant, ou on échange deux composants) ; si cette
transformation a pour effet de diminuer la fonction objectif (ou énergie) du système,
elle est acceptée ; si elle provoque au contraire une augmentation DE de la fonction
objectif, elle est acceptée tout de même, avec la probabilité exp(–DE/T) (en pratique,

406
11.3 La méthode du recuit simulé

cette condition est réalisée de la manière suivante : on tire au hasard un nombre


compris entre 0 et 1, et on accepte la coniguration dégradant la fonction objectif de
la quantité DE, si le nombre tiré est inférieur ou égal à exp(–DE/T)). En appliquant
itérativement cette règle d’acceptation de Metropolis, on engendre une séquence de
conigurations qui constitue une chaîne de Markov (en ce sens que chaque coni-
guration ne dépend que de celle qui la précède immédiatement). Avec ce forma-
lisme, on montre que, lorsque la chaîne est de « longueur » ininie, c’est-à-dire que
le nombre de transitions est illimité (en pratique : lorsque la chaîne est de longueur
sufisante…), le système atteint (en pratique : se rapproche de) l’équilibre thermody-
namique à la température considérée : autrement dit, on aboutit à une distribution de
Boltzmann des états d’énergie à cette température.
On comprend le rôle conié à la température par la règle de Metropolis : à haute
température, DE/T est voisin de 0, et donc exp(–DE/T) est voisin de 1 ; par consé-
quent la plupart des mouvements sont acceptés : l’algorithme équivaut à une simple
marche aléatoire dans l’espace des conigurations. À basse température, DE/T est très
grand, et donc exp(–DE/T) est voisin de 0 ; par conséquent la plupart des mouvements
augmentant l’énergie sont refusés : l’algorithme se ramène à une amélioration itéra-
tive classique. À température intermédiaire, l’algorithme autorise, de temps en temps,
des transformations qui dégradent la fonction objectif : il laisse ainsi au système une
chance de s’extraire d’un minimum local (comme, en Figure 11.1, le passage de cn
à crn, qui peut permettre ensuite d’atteindre c*). Une fois l’équilibre thermodyna-
mique atteint à une température donnée, on abaisse légèrement la température, et l’on
engendre une nouvelle séquence de conigurations (nouvelle chaîne de Markov) à ce
nouveau palier de température (si la température est abaissée trop vite, l’évolution
vers le nouvel équilibre thermodynamique est ralentie : la théorie établit une corréla-
tion étroite entre le taux de décroissance de la température et la durée minimale des
paliers de température). À l’issue des différents paliers de température, on constate une
augmentation progressive de la fréquence des conigurations de faible coût (de basse
énergie) : lorsque la température tend vers zéro, l’algorithme converge vers la coni-
guration de coût minimal (minimum absolu de l’énergie). En pratique, le processus est
stoppé lorsque le système est igé : la température a atteint la valeur nulle, ou bien plus
aucun mouvement de remontée du coût (accroissement de l’énergie) n’a été accepté
au cours du palier. L’organigramme de l’algorithme du recuit simulé est présenté en
Figure 11.3.
© Dunod – Toute reproduction non autorisée est un délit.

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

ALGORITHME DU RECUIT SIMULE


CONFIGURATION INITIALE

TEMPERATURE INITIALE

MODIFICATION élémentaire
⇒ variation d'énergie 

REGLE D'ACCEPTATION de Metropolis


si 
฀฀ 0 : modification acceptée

si   0 : modification acceptée avec la


probabilité exp (   T )

NON équilibre
thermodynamique
?
OUI
PROGRAMME
NON DE RECUIT
système figé
diminution
? lente de T
OUI
STOP

Figure 11.3 Organigramme de l’algorithme du recuit simulé.

11.4 la recherche Tabou


Comme le recuit simulé, la méthode de recherche tabou, ou simplement méthode
tabou (« tabu search » en anglais), est une technique d’optimisation combinatoire
conçue en vue de résoudre le problème du piégeage dans les minimums locaux de la
fonction objectif. Elle a été formalisée en 1986 par F. Glover [Glov86] et, indépen-
damment, sous une appellation différente, par Hansen [Hans86], mais elle tire son
origine de concepts antérieurs (du domaine de l’intelligence artiicielle), notamment
d’idées développées par F. Glover [Glov77].
La principale particularité de la méthode tient dans la mise en œuvre de méca-
nismes inspirés de la mémoire humaine. La méthode tabou prend, sur ce plan, le
contre-pied du recuit simulé, totalement dépourvu de mémoire, et donc incapable
de tirer les leçons du passé. En revanche, la modélisation de la mémoire introduit de

408
11.4 La recherche tabou

multiples degrés de liberté, qui s’opposent – de l’avis même de l’auteur [Glov97] –


à toute analyse mathématique rigoureuse de la méthode tabou.
Le principe de base de la méthode Tabou est simple. À partir d’une solution ini-
tiale quelconque, Tabou engendre une succession de solutions, ou conigurations,
qui doit aboutir à une solution optimale. À chaque itération, le mécanisme de pas-
sage d’une coniguration, soit s, à la suivante, soit t, est le suivant :
• on construit l’ensemble des voisins de s, c’est-à-dire l’ensemble des conigura-
tions accessibles en un seul mouvement élémentaire à partir de s (si cet ensemble est
trop vaste, on en extrait aléatoirement un sous-ensemble de taille ixée) ; soit V(s)
l’ensemble (ou le sous-ensemble) de ces voisins ;
• on évalue la fonction objectif f du problème pour chacune des conigurations
appartenant à V(s). La coniguration t, qui succède à s dans la chaîne construite par
Tabou, est la coniguration de V(s) pour laquelle f prend la valeur minimale.
Notons que la coniguration t est adoptée même si t est moins bonne que s, i.e. si
f (t) . f (s) : c’est grâce à cette particularité que Tabou permet d’éviter le piégeage
dans les minimums locaux de f.
Cependant, telle quelle, la procédure ne fonctionne généralement pas, car il y a
un risque important de retourner à une coniguration déjà retenue lors d’une itération
précédente, ce qui provoque un cyclage : si le meilleur voisin de s, soit t, est moins
bon que s, le meilleur voisin de t, recherché à l’itération suivante, risque fort d’être
s… Pour éviter ce phénomène, qui concerne plutôt des conigurations peu éloignées
(au sens du nombre de mouvements), on tient à jour, à chaque itération, une « liste
tabou » de mouvements interdits ; cette liste circulaire – qui a donné son nom à la
méthode – contient m mouvements « inverses » (t S s). Il s’agit des inverses des m
derniers mouvements (s S t) effectués (on prend souvent m = 7 pour la taille de la
liste tabou ; choix qui, empiriquement, se révèle bon). La recherche du successeur
de la coniguration courante s est alors restreinte aux voisins de s qui peuvent être
atteints sans utiliser un mouvement de la liste tabou.
La procédure peut être stoppée dès que l’on a effectué un nombre donné d’itéra-
tions sans améliorer la meilleure solution courante.
Remarque. Si l’on s’en tient au mécanisme de base décrit jusqu’ici, la
méthode tabou est déterministe, dans le cas où les voisins de la solution cou-
© Dunod – Toute reproduction non autorisée est un délit.

rante sont explorés exhaustivement. Cependant des éléments supplémentaires,


exposés plus loin, et qui sont le plus souvent introduits dans la méthode, don-
nent un aspect stochastique à la méthode tabou, même dans le cas précédent.
L’algorithme ainsi présenté est dit « Tabou simple ». Son organigramme est repré-
senté en Figure 11.4. Selon De Werra [DeWe90], il serait en particulier plus efi-
cace que le recuit simulé pour le problème du “coloriage d’un graphe” (associer une
couleur à tout sommet d’un graphe, sans que deux sommets adjacents n’aient la même
couleur) qui intervient, notamment, dans les problèmes d’« emploi du temps »).
Cependant, le mode de construction de la liste tabou – qui, pour des raisons pra-
tiques d’économie de place mémoire et de rapidité lors de l’exploration, contient

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} :

configuration courante mouvement effectué liste des mouvements tabous


{A, B} B remplacé par C C remplacé par B
{A, C} A remplacé par D C remplacé par B
D remplacé par A
{D, C} C remplacé par E C remplacé par B
D remplacé par A
E remplacé par C
{D, E}

À 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.

Figure 11.4 Organigramme de l’algorithme Tabou simple.

En résumé. Pour certains problèmes d’optimisation combinatoire, comme des


problèmes de coloriage de graphes ou d’emploi du temps, Tabou a donné d’excel-
lents résultats. En outre, sous sa forme élémentaire (« Tabou simple »), la méthode
comporte moins de paramètres de réglage que le recuit simulé, ce qui la rend plus

411
Chapitre 11 • Métaheuristiques en optimisation combinatoire

simple d’emploi. Cependant, les divers mécanismes annexes (comme l’intensi-


ication, la diversiication et l’aspiration) apportent une notable complexité. De
plus, la méthode souffre de l’inexistence de fondements théoriques bien établis.

11.5 les algoriThMes généTiques


Les algorithmes génétiques sont des techniques de recherche stochastiques, inspirées
par l’évolution biologique des espèces. Introduits par J.H. Holland au début des années
soixante-dix [Holl75], ils ont d’abord eu un développement limité, du fait de leur impor-
tant coût d’exécution informatique. Ils connaissent un regain d’intérêt (voir les présen-
tations générales [Holl92, Gold94]), notamment suite à l’apparition des architectures
massivement parallèles, qui exploitent leur parallélisme intrinsèque (voir par exemple
[Coho91]).
On distingue deux grands domaines d’applications :
• l’optimisation combinatoire : les algorithmes génétiques risquent moins d’être
« piégés » dans des minimums locaux que les algorithmes classiques, parce qu’ils
explorent en parallèle un ensemble de solutions possibles au problème posé ; en
outre, ils n’utilisent pas les gradients des fonctions objectifs. Ces caractéristiques les
placent en concurrence avec le recuit simulé (voir notamment [Davi87]) ;
• l’intelligence artiicielle : grâce à leur extension aux “systèmes de classeurs”
[Holl92], les algorithmes génétiques servent à étudier et à résoudre les problèmes
d’apprentissage par machine.
Nous présentons le principe des algorithmes génétiques (voir Figure 11.5), dans
le seul cas de l’optimisation. Soit, par exemple, une fonction f comportant n variables
réelles : on recherche le (ou un) point x de l’espace Rn en lequel cette fonction atteint
un minimum global. Un ensemble de N points (ou “individus”), qui peuvent être choi-
sis au hasard, constitue la population initiale ; chaque individu de la population pos-
sède une certaine compétence, qui mesure son degré d’adaptation à l’objectif visé : ici,
x est d’autant plus compétent que f (x) est plus petit. Un algorithme génétique consiste
à faire évoluer progressivement, par générations successives, la composition de cette
population, en maintenant sa taille constante : d’une génération à la suivante, la « com-
pétence » de la population doit globalement s’améliorer. Un tel résultat est obtenu en
mimant les deux principaux mécanismes qui régissent l’évolution des êtres vivants :
la sélection naturelle (qui détermine quels membres d’une population survivent et se
reproduisent) et la reproduction (qui assure le brassage et la recombinaison des gènes
parentaux, pour former des descendants aux potentialités nouvelles).
En pratique, chaque individu est généralement codé par une chaîne de bits de
longueur donnée (de même qu’un chromosome est formé d’une chaîne de gènes).
Pour ixer les idées, nous supposons ci-après que cette longueur est égale à 8. Le
passage d’une génération à la suivante se déroule en deux phases : une phase de
reproduction et une phase de remplacement.
La phase de reproduction consiste à appliquer des opérateurs, dits génétiques, sur
les individus de la population courante, pour engendrer de nouveaux individus. Les

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.

opérateurs les plus utilisés sont le croisement (« crossover ») et la mutation, dont le


principe est illustré par la Figure 11.6 :
• le croisement produit deux descendants à partir de deux parents, selon le mécanisme
suivant (Figure 11.6(a) : croisement mono-point) : les deux chaînes parents sont cou-
pées au même niveau (choisi aléatoirement), formant ainsi chacune deux sous-chaînes ;
deux chaînes descendantes sont alors construites en mettant bout à bout la sous-chaîne
de gauche d’un parent et la sous-chaîne de droite de l’autre parent ;
• la mutation produit un nouvel individu à partir d’un seul individu, dont certains
bits de la chaîne de bits qui le code, sont complémentés (Figure 11.6(b) : mutation
d’un seul bit).
La phase de reproduction est organisée selon les règles suivantes :
© Dunod – Toute reproduction non autorisée est un délit.

• elle comporte un nombre donné d’opérations génétiques (succession pseudo-


aléatoire de croisements ou de mutations, selon des taux ixés ; généralement, les
mutations sont rares) ;
• les individus de la population qui prennent part à la reproduction sont préalable-
ment sélectionnés, en respectant le principe suivant : plus un individu est compétent,
plus sa probabilité de sélection est élevée ;
• les descendants ainsi produits n’éliminent pas leurs parents, qui demeurent dans la
population courante ; mais ces descendants sont mémorisés séparément.
La phase de remplacement consiste à sélectionner les membres de la nouvelle
génération : on peut, par exemple, remplacer les plus « mauvais » individus (au sens

413
Chapitre 11 • Métaheuristiques en optimisation combinatoire

de la fonction objectif) de la population courante par les meilleurs individus produits


(en nombre égal).
L’algorithme est interrompu après un nombre donné de générations, ou bien dès
qu’une bonne solution est trouvée.

Figure 11.6 Principe des opérateurs de croisement et de mutation,


dans le cas d’individus codés sous la forme de chaînes de 8 bits.

Cependant, dans l’état actuel de la théorie des algorithmes génétiques [Holl92],


il n’existe aucune garantie que la méthode découvre la solution optimale. En outre,
le succès de la méthode dépend beaucoup du codage des individus, qui est lui-même
fonction du problème d’optimisation combinatoire traité. Cette importance du codage
s’explique de la manière suivante. Une chaîne de bits appartient à toutes les régions
que ses bits déinissent. Par exemple, la chaîne 1101 appartient aux régions 11**, *1*1,
*101, etc ... : où les * indiquent que la valeur du bit n’est pas spéciiée. Il en résulte
qu’un algorithme génétique, qui manipule au total, typiquement, quelques milliers
de chaînes, échantillonne en réalité un nombre bien supérieur de régions (en gros, le

414
11.6 Les algorithmes de colonies de fourmis

cube du nombre de chaînes [Gold94]) : c’est le parallélisme implicite proclamé par


Holland.
Chaque région de l’espace des solutions est caractérisée par un motif (par exemple :
11**), qui dépend du codage choisi ; ce motif possède un ordre (le nombre de bits
spéciiés) et une longueur (la distance entre le premier et le dernier bit spéciié).
L’eficacité d’un algorithme génétique est fonction des motifs associés aux bonnes
régions (i.e. aux régions qui contiennent une proportion élevée de bonnes solutions) :
plus ces motifs sont courts et compacts, mieux l’algorithme fonctionne. En effet,
lorsqu’une chaîne située dans une bonne région prend part à un croisement, le motif
associé à cette région a peu de chances d’être coupé, s’il est court : le plus souvent,
il est transmis au descendant, qui se retrouve alors dans la même région ; comme
il s’agit d’une bonne région, le parent et son descendant ont de bonnes chances
d’appartenir à la génération suivante, et d’être sélectionnés pour la reproduction, ce
qui amorce une réaction en chaîne…
On montre que, d’une génération à la suivante, la répétition des croisements accroît
exponentiellement le nombre de chaînes testées dans une bonne région, lorsque l’ordre
et la longueur du motif de cette région sont sufisamment petits par rapport à la lon-
gueur des chaînes (théorème fondamental des algorithmes génétiques [Gold94]).
En multipliant ainsi les chaînes testées dans les bonnes régions, l’algorithme
accroît évidemment les chances de rencontrer la solution optimale recherchée, qui
correspond au regroupement, dans une même chaîne, des bons motifs précédents,
dénommés blocs de construction.
Cependant, ces considérations théoriques ont des conséquences opérationnelles
limitées : en pratique, le choix du codage relève encore plus souvent de l’art que de
la science ... Dans les problèmes combinatoires, le codage est souvent suggéré par la
nature même du problème, ce qui induit des performances inégales des algorithmes
génétiques.

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.

vant, faute de la mise en évidence d’un codage « approprié » du problème. Ce


comportement inégal s’oppose au succès plus global du recuit simulé et, dans
une moindre mesure, de la méthode tabou.

11.6 les algoriThMes de colonies de fourMis


Cette approche, due à Dorigo et al [Dori91], s’efforce de simuler la capacité collective
de résolution de certains problèmes, observée chez une colonie de fourmis, dont les
membres sont pourtant individuellement dotés de facultés très limitées. Apparues sur
Terre il y a quelque 100 millions d’années, les fourmis sont en effet l’une des espèces

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

En s’inspirant de la modélisation de ce comportement, Dorigo et al. ont proposé


un nouvel algorithme pour la résolution du célèbre problème du voyageur de com-
merce. Depuis ces travaux, la démarche a été étendue à beaucoup d’autres problèmes
d’optimisation, combinatoires ou mêmes continus.

En résumé. Les algorithmes de colonies de fourmis possèdent plusieurs carac-


téristiques intéressantes ; mentionnons notamment le parallélisme intrinsèque
élevé, la lexibilité (une colonie de fourmis est capable de s’adapter à des modi-
ications de l’environnement), la robustesse (une colonie est apte à maintenir
son activité, même si quelques individus sont défaillants), la décentralisa-
tion (une colonie n’obéit pas à une autorité centralisée) et l’auto-organisation
(une colonie trouve d’elle-même une solution, qui n’est pas connue à
l’avance). Cette démarche paraît de ce fait particulièrement indiquée pour les
problèmes distribués par nature, susceptibles d’évolution dynamique, ou qui
requièrent une forte tolérance aux pannes. À ce stade de développement de
ces algorithmes récents, la transposition à chaque problème d’optimisation ne
va cependant pas de soi : elle doit faire l’objet d’un traitement spéciique, plus
ou moins ardu…

11.7 les MéThodes hybrides


Le succès rapide des métaheuristiques est dû aux dificultés rencontrées par les
méthodes classiques d’optimisation dans les problèmes d’ingénierie complexes.
Après le triomphalisme des débuts des tenants de telle ou telle métaheuristique,
l’heure est venue de faire un bilan réaliste et d’accepter la complémentarité de ces
nouvelles méthodes entre elles, ainsi qu’avec d’autres approches : d’où l’émergence
actuelle de méthodes hybrides [Rend96].

RÉFÉRENCES
© Dunod – Toute reproduction non autorisée est un délit.

[Cern85] V. Cerny, “Thermodynamical approach to the traveling salesman problem : an efi-


cient simulation algorithm”, J. of Optimization Theory and Applications, Vol. 45, N° 1,
p. 41-51, 1985.
[Coho91] J.P. Cohoon, S.U. Hegde, W.N. Martin, D.S. Richards, “Distributed genetic
algorithms for the loorplan design problem”, IEEE Trans. on CAD, Vol. 10, N° 4, p. 483-
492, April 1991.
[Coll88] N.E. Collins, R.W. Eglese, B.L. Golden, “Simulated annealing – An annotated
bibliography”, American Journal of Mathematical and Management Sciences, Vol. 8,
p. 209-307, 1988.
[Davi87] L. Davis (Ed.), “Genetic algorithms and simulated annealing”, London : Pitman,
1987.

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

1. Chapitre rédigé par Daniel Vanderpooten, Professeur à l’Université Paris­Dauphine.


(1)
Chapitre 12 • Introduction à l’aide multicritère à la décision

signiication dans un contexte multicritère : il est en général impossible d’optimi­


ser simultanément tous les critères.
– souvent incommensurables : les critères sont exprimés selon des unités diffé­
rentes. Toute comparaison faisant intervenir des critères exprimés sur des échelles
différentes est dificile (ex : rentabilité vs risque, coût vs qualité de service, coût
vs impact sur l’environnement, puissance vs confort).
– parfois qualitatifs : les aspects pris en compte sont dificiles à mesurer quantitati­
vement (ex : impact sur l’environnement, motivation). Ils peuvent néanmoins se
révéler déterminants dans la décision.
Nous présentons trois exemples qui serviront à illustrer les concepts présentés
tout au long de ce chapitre.

Exemple 1 « Choix d’un produit »


Pour certains produits de grande consommation (automobiles, appareils électro-
ménagers, etc.) des évaluations comparatives sont souvent proposées dans des
magazines ou dépliants publicitaires. Vous effectuez une première sélection de 4
produits évalués sur une note technique (g1 ) et une note par classe de prix (g2 ). Ces
deux notes sont déinies sur une même échelle de 0 à 20 (où 0 correspond à la pire
évaluation et 20 à la meilleure). Quel produit choisir ?
NB g2(x) n’est pas ici le prix de x ; au contraire : plus g2(x) est élevé, meilleur est
x pour le critère g2.

TAB. 12.1 ÉVALUATION DES PRODUITS SUR LES CRITÈRES NOTE TECHNIQUE ET PRIX

Exemple 2 « Choix d’un logement »


Vous recherchez un 2 pièces à louer sur Paris ou en proche région parisienne. Dispo­
sant d’un budget mensuel logement d’au plus 1 000 €, vous avez retenu 6 logements
candidats évalués selon les aspects qui vous semblent importants ain de guider
votre décision, à savoir :
– g1 : le montant du loyer mensuel, charges comprises,
– g2 : le temps de trajet logement­lieu de travail,
– g3 : la supericie.
Ain d’établir votre choix, vous décidez de recourir à une méthodologie multicri­
tère.

420
12.2 Cadre général

TAB. 12.2 – TABLEAU DE PERFORMANCES SUR LES CRITÈRES PRIX, TEMPS DE TRAJET ET SUPERFICIE

Exemple 3 « Plan de production »


Une entreprise chimique fabrique deux produits P1 et P2 à partir de trois matières
premières M1, M2 et M3. Toute unité de P1 requiert une unité de M1, une unité de M2 et
trois unités de M3. Toute unité de P2 requiert trois unités de M1, quatre unités de M2
et deux unités de M3. Pour le plan de fabrication du mois prochain, les disponibilités
de M2 et M3 sont respectivement de 40 et 60 unités. La disponibilité de M1 ne consti-
tue pas une limite ; en revanche, il s’agit d’une matière très toxique et l’entreprise
s’est engagée, pour des raisons écologiques, à réduire son utilisation. Les marges
(bénéices) unitaires dégagées par P1 et P2 sont respectivement de 2 000 € et 3 000 €.
L’entreprise doit produire au moins 4 unités de P1. Il convient de déinir un plan de
production tenant compte à la fois des critères économique et écologique.

12.2 cadre général

12.2.1 L’ensemble des actions


Une action (solution, variante, plan…) représente ce sur quoi porte la décision. On
notera A l’ensemble des actions potentielles. Cet ensemble peut être déini :
– explicitement : par une liste exhaustive de toutes les actions (ex : liste des produits
ou logements – cf exemple 1 ou 2)
– implicitement : à travers certaines propriétés caractéristiques (ex : l’ensemble des
plans de production, qui peut être modélisé à l’aide de variables de décision sou­
© Dunod – Toute reproduction non autorisée est un délit.

mises à des contraintes – cf exemple 3).


On recourt à une déinition implicite lorque A est inini ou de grande taille.

12.2.2 Le concept de critère

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

où P et I sont des relations binaires, respectivement de « préférence stricte » et


d’« indifférence ».
Il est parfois abusif de considérer que toute différence de performance sur un cri-
tère est signiicative d’une situation de préférence stricte (imprécision des données,
part d’arbitraire dans le mode de construction du critère, plusieurs options diffé-
rentes étant souvent envisageables,…). De plus, le passage d’une situation d’indif-
férence à une situation de préférence stricte est parfois trop brutal. On peut donc
vouloir modéliser une situation d’hésitation entre ces deux états, ce qui donne lieu à
une nouvelle relation binaire Q dite de « préférence faible ».
Ain de prendre en compte ces deux aspects on introduit le concept suivant.
Un pseudo-critère g est un critère doté de deux seuils q (seuil d’indifférence)
et p (seuil de préférence) où p > q , qui permet de modéliser les situations de pré-
férence stricte (P), préférence faible (Q) et indifférence (I ). On a donc (cf. aussi
igure 12.1) :

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

Fig. 12.1 Pseudo-critère

Observons que si l’on ne souhaite pas introduire la situation de préférence faible,


il sufit de poser q 5 p (ce qui donne lieu à un quasi-critère). De plus, si l’on pose
q 5 p 5 0 on se retrouve dans le cas particulier du vrai-critère.

422
12.2 Cadre général

Exemple 2 « Choix d’un logement » (suite)


L’évaluation des critères g1, g2 et g3 est entachée d’une part d’arbitraire irréductible
qui devrait conduire à prendre des précautions lorsqu’on compare deux logements.
Ainsi, l’évaluation du temps de trajet (g2 ) ne peut être effectuée de façon sufisam­
ment précise (et à quel moment de la journée effectuer cette mesure ?) pour que l’on
puisse donner un sens à une différence de quelques minutes. De même, le montant du
loyer (g1 ), bien qu’il puisse apparaître relativement précis puisqu’annoncé contrac-
tuellement, recèle en fait des incertitudes (montant réel des charges) et n’appré-
hende pas complètement la totalité du coût du logement (taxe d’habitation, frais de
fonctionnement non inclus dans ces charges,…). Enin, une différence de quelques
m2 sur le critère supericie (g3 ) n’est certainement guère perceptible. Pour toutes ces
raisons, il apparaît pertinent de déinir des seuils d’indifférence en­deçà desquels
toute différence de performance sur un critère ne sera pas jugée signiicative. Nous
ixerons ainsi q1 5 50, q2 5 5 et q3 5 3. Par souci de simplicité, nous ixerons qj 5
pj, ( j 5 1,2,3) utilisant donc nos critères comme des quasi-critères.

12.2.3 Espace des décisions – Espace des critères


Dans la suite, on considère :
– un ensemble A d’actions potentielles,
– une famille de p critères : g1, c, gp ( p > 2 ) .
L’espace des décisions permet de représenter l’ensemble A des actions. Cet
espace est déini formellement lorsque A est déini implicitement. Ainsi, il s’agit de
Rn, Zn ou 5 0,1 6 n si A est déini à l’aide de n variables de décision. Il peut aussi s’agir
d’un ensemble d’arrangements particuliers d’arcs d’un graphe (chemins, circuits,…).
En revanche, cet espace n’est pas déini lorsque A est déini explicitement par une
liste nominative (exhaustive).
Il est plus aisé de travailler dans un espace toujours déini formellement : l’espace
des critères où chaque action a P A est représentée par ses performances sur les
p critères : ( g1 ( a) , c, gp ( a)) . De plus, il s’agit bien là de l’espace « signiicatif »,
puisque, dans une approche multicritère, l’appréciation d’une action s’effectue pré-
cisément à travers les valeurs qu’elle prend sur chaque critère.
Soit donc Z l’espace des critères (à ne pas confondre avec Z) ; on a Z ( Rp.
© Dunod – Toute reproduction non autorisée est un délit.

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

Exemple 1 « Choix d’un produit » (suite)


L’ensemble A des actions est représenté par la liste des 4 produits candidats. On
peut représenter ces actions dans l’espace des critères en associant à chaque action
son vecteur critère (cf. igure 12.2).

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

Exemple 3 « Plan de production » (suite)

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

où xi représente la quantité de produit Pi à fabriquer (i 5 1,2). Notons que la pre­


mière contrainte de non­négativité : x 1 > 0 est redondante du fait de la dernière
contrainte principale : x 1 > 4.
Les deux critères (ou fonctions objectifs) à considérer sont :
– la marge totale (bénéice) engendrée, exprimée en milliers d’euros (à maximiser) :
max z 1 5 2x 1 1 3x 2
– la quantité totale de matière toxique utilisée, exprimée en unités de produit M1 (à
minimiser) :
min x 1 1 3x 2
que l’on exprimera, de façon équivalente, comme un critère à maximiser :
max z 2 5 2x 1 2 3x 2
Ain de caractériser ZA, l’image de A dans l’espace des critères, réexprimons en
fonction de z1 et z2 les contraintes caractérisant A (en n’oubliant pas la contrainte de
non-négativité non redondante x 2 > 0). Pour ce faire, on s’appuie sur l’expression
des valeurs des fonctions objectifs z1 et z2 en fonction des variables de décision x1 et x2

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.

12.2.4 Le concept de dominance


Pour comparer deux actions quelconques a et b, il convient de comparer les deux
vecteurs de performances correspondants :
g ( a) 5 ( g1 ( a) , c, gj ( a) , c, gp ( a)) et g ( b ) 5 ( g1 ( b ) , c, gj ( b ) , c, gp ( b ))
Le seul cas où une comparaison peut être effectuée, sans information supplémen-
taire, est le cas de dominance :
aDb 3 gj ( a ) > gj ( b ) ( j 5 1, c, p )
© Dunod – Toute reproduction non autorisée est un délit.

(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 ci­dessous). 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.

Fig. 12.4 Cônes de dominance associés aux différents points – Exemple 1

Considérant maintenant l’exemple 3, l’examen de la igure 12.3(b) permet de


constater que les seuls points qui ont un cône de dominance vide sont ceux situés
sur les segments [za,zd] et [zd,zc]. L’ensemble des solutions eficaces correspond à
l’image inverse de ces segments dans l’espace des décisions, à savoir l’ensemble des
solutions situées sur les segments [a,d] et [d,c] (cf. igure 12.3(a)).
La relation de dominance est le plus souvent trop pauvre pour guider le choix
comme le montrent les exemples précédents. Ain de progresser vers la recomman-
dation d’une meilleure action, il convient de prendre parti vis-à-vis des conlits entre
critères. Pour celà, il faut recueillir et utiliser de l’information sur les préférences du
décideur (par exemple des poids) et les intégrer dans un mécanisme d’agrégation. On
peut distinguer deux grandes familles de mécanismes d’agrégation :

426
12.3 La somme pondérée

– les fonctions d’agrégation, telles que la somme pondérée.


– les relations de préférence globale telles que la méthode ELECTRE.

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 :

g ( a) 5 a l j # gj ( a) avec l j . 0 ( j 5 1, c, p ) (et, éventuellement, a l j 5 1 )


p p

j51 j51

où l j est le « poids » associé au critère gj ( j 5 1, c, p ) .


Dans un contexte de choix, il sufit alors de sélectionner l’action a* telle que :
g ( a* ) > g ( a) 4a P A
c’est-à-dire l’action dont l’évaluation, au sens de g, est la meilleure.

12.3.2 Avantages de la somme pondérée


1. Il s’agit de la façon la plus connue et la plus simple d’agréger différents critères.

2. Toute solution optimale selon une somme pondérée est eficace :


En effet, soit a* une solution optimale pour un jeu de poids particulier ( lr1, c, lrp ) .
Supposons que a* ne soit pas eficace. Il existerait alors b P A telle que bDa*.
On a alors a j51 lrjgj ( b ) . a j51 lrjgj ( a* ) ; puisque pour tout j on aurait :
p p

gj (b) > gj (a), ce qui contredit l’optimalité de a*.

12.3.3 Limites de la somme pondérée


1. L’interprétation des poids n’est pas très claire car ils intègrent à la fois la notion
© Dunod – Toute reproduction non autorisée est un délit.

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.

Exemple 2 « Choix d’un logement » (suite)


Supposant que les critères Prix (g1 ) et Temps de trajet (g2 ) soient jugés d’impor­
tance semblable et que le critère Supericie (g3 ) soit considéré deux fois moins
important. Comment traduire cette information préférentielle par un jeu de
poids ? L’intuition naturelle consistant à attribuer une valeur identique à cha­
cun des deux premiers critères et une valeur deux fois plus petite au troisième

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.

Exemple 1 « Choix d’un produit » (in)


Considérons les trois produits a, b et c qui restent candidats après l’élimination de d
(qui est dominé). Nous allons montrer qu’il n’existe aucun jeu de poids qui permette
de faire apparaître b comme solution optimale d’une somme pondérée. En effet pour
que b soit optimal, on devrait avoir simultanément g ( b ) $ g ( a) et g ( b ) $ g ( c ) , c’est-
à­dire respectivement 10l 1 1 10l 2 > 18l 1 1 4l 2 et 10l 1 1 10l 2 $ 4l 1 1 18l 2 ou
4 3
encore l 2 > l 1 et l 2 < l 1, ce qui est clairement incompatible (car l 1 . 0). En
3 4
fait, on observera en se reportant à la igure 12.2 que si l 1 $ l 2 alors a est le choix
suggéré par la somme pondérée et que si l 2 $ l 1 alors c est le choix suggéré par
la somme pondérée (et donc a ou b si l 1 5 l 2 ). Pourtant de nombreuses personnes
pourraient préférer b à a et c, car b est plus équilibré. Une fonction d’agrégation de
type somme pondérée ne peut modéliser ce type de préférence pour cet exemple.

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)

12.4 MéThodes de surclasseMenT (elecTre)


Ces méthodes ont été introduites dans les années 60 par B. Roy et al. :
– à l’occasion de nombreuses applications réelles,
– pour dépasser les limites de la somme pondérée.
Ces méthodes ne concernent que le cas où l’ensemble des actions A est déini
explicitement par une liste.
Nous présenterons ici une version légèrement simpliiée de la méthode ELECTRE I
qui permet de sélectionner un sous-ensemble aussi restreint que possible des actions
les meilleures.
Soulignons que d’autres méthodes de surclassement furent ensuite développées
sur des principes similaires (autres méthodes ELECTRE, méthodes PROMETHEE,
MELCHIOR, ORESTE, TACTIC,…).

12.4.1 Le concept de relation de surclassement


Considérons deux actions a et b de A. On dira que aSb (a surclasse b) est établi si on
peut trouver des arguments sufisamment probants pour accepter, en accord avec les
préférences du décideur, l’assertion suivante :
« a est au moins aussi bon que b »
Les raisons pour accepter aSb sont fondées sur :
– les vecteurs de performance des deux actions :

( 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 :

– S peut être perçue comme résultant d’un enrichissement de la relation de


dominance : en effet aDb entraîne aSb (c’est-à-dire D # S )
© Dunod – Toute reproduction non autorisée est un délit.

– S est rélexive : 4a P A, aSa


– S n’est pas nécessairement transitive : aSb et bSc n’entraînent pas nécessai-
rement aSc
Dans certains cas, on ne pourra établir ni aSb ni bSa, ce qui conduit à une situa-
tion d’incomparabilité. Ainsi, lorsqu’on compare deux actions, quatre situations
peuvent survenir (cf. igure 12.5). Soulignons que l’introduction de la situation d’in-
comparabilité est une spéciicité importante des approches fondées sur la construc-
tion d’une relation de préférence globale. En effet, les approches fondées sur une
fonction d’agrégation conduisent à toujours comparer deux actions à travers les éva-
luations de ces actions sur cette fonction. Les approches relationnelles conduisent

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.

Fig. 12.5 4 situations de comparaison

Les méthodes de surclassement peuvent généralement se décomposer en deux


phases :
1. construction de la relation de surclassement,
2. exploitation de la relation de surclassement pour déterminer une recommandation.

12.4.2 Construction de la relation de surclassement


Ain d’établir la probance de l’assertion aSb, on s’appuiera sur les deux principes
fondamentaux suivants :
Principe de concordance : Une majorité de critères, compte-tenu de leur impor-
tance, doit supporter l’assertion aSb (principe majoritaire),
Principe de non discordance : Parmi les critères qui ne supportent pas l’asser-
tion aSb, aucun ne doit exprimer un désaccord trop fort (principe de respect des
minorités).
concordance
Pour chaque critère g j, on examine sa contribution à l’assertion aSb en bâtissant un
indice de concordance partielle cj ( a,b ) P 3 0,1 4 ( j 5 1, c, p ) tel que :
– cj (a,b) 5 1 lorsque le critère gj supporte totalement l’assertion aSb
– cj (a,b) 5 0 lorsque le critère gj ne supporte pas du tout l’assertion aSb
– 0 , cj ( a,b ) , 1 dans les cas intermédiaires
Plus précisément, on a (cf. igure 12.6) :
1 1 3 gj ( b ) # gj ( a) 1 qj
cj ( a,b ) 5 c 0 0 3 gj ( b ) $ gj ( a) 1 pj
p 2 (g (b) 2 g (a))
pj j2 ( gj ( b )j 2 gj ( a) ) j
3 gj ( a) 1 qj # gj ( b ) # gj ( a) 1 pj
pj 2 pjq2 j qj

430
12.4 Méthodes de surclassement (Electre)

où qj et pj représentent respectivement les seuils d’indifférence et de préférence asso-


ciés au critère gj.

Fig. 12.6 Indice de concordance partiel

Pour évaluer la contribution globale de l’ensemble des critères à l’assertion aSb,


on construit un indice de concordance globale C ( a,b ) P 3 0,1 4 déini par :

C ( a,b ) 5 a k j # cj ( a,b )
p

j51

où kj est le poids associé à gj, avec : a k j 5 1.


j

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).

Exemple 2 « Choix d’un logement » (suite)


Les indices de concordance partielle sont reportés dans les trois matrices (cf.
tableaux 12.3). Ils sont, ici, égaux à 0 ou 1 car les seuils de préférence pj ont été
choisis égaux aux seuils d’indifférence qj. Rappelons que nous avons ixé ces seuils
d’indifférence comme suit : q1 5 50, q2 5 5 et q3 5 3. Nous avons également déini­
© Dunod – Toute reproduction non autorisée est un délit.

tivement écarté ,6 qui est dominé par ,4.

TAB. 12.3 MATRICES DE CONCORDANCE PARTIELLE

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).

TAB. 12.4 MATRICE DE CONCORDANCE GLOBALE

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.

Exemple 2 « Choix d’un logement » (suite)


Supposons que l’on associe respectivement à chaque critère les trois seuils de veto
suivants : v1 5 400, v2 5 20 et v3 5 40. Cela signiie en particulier pour le critère
Loyer (g1 ) qu’un logement qui coûterait 400 € de plus qu’un autre ne peut pas être
jugé globalement « au moins aussi bon » que cet autre logement, indépendamment
des performances, éventuellement très bonnes, qu’il atteint sur les autres critères.
Ainsi, en se reportant au tableau 12.2, on constate que le critère g1 oppose son veto
à l’assertion « ,3S,5 » (car g1 ( ,3 ) 5 1 000 $ g1 ( ,5 ) 1 v 1 5 600 1 400 ) , même si
,3 est signiicativement meilleur que ,5 sur les deux autres critères. Le choix d’une
valeur élevée v3 5 40 pour le critère Supericie (g3 ) indique que, compte tenu de
l’écart maximum de supericie qui n’est que de 25 m2 dans le tableau de perfor-
mances, on ne souhaite pas donner à ce critère un pouvoir de veto. La matrice de
discordance présentée au tableau 12.5 indique par la valeur 1 toutes les situations
de discordance.

432
12.4 Méthodes de surclassement (Electre)

TAB. 12.5 MATRICE DE DISCORDANCE

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.

Remarque : ELECTRE I utilise en fait une condition de non discordance un


peu plus complexe. Cette condition étant d’autant moins exigeante que C(a,b)
est grand.

Exemple 2 « Choix d’un logement » (suite)


Choisissons un seuil de concordance s 5 0,8. On en déduit la matrice de surclasse­
ment et le graphe de surclassement correspondant présentés en igure 12.7.
© Dunod – Toute reproduction non autorisée est un délit.

Fig. 12.7 Matrice et graphe de surclassement

12.4.3 Exploitation de la relation de surclassement


Une fois que la relation de surclassement est construite, il convient de l’exploiter
ain de dégager le sous-ensemble des actions les meilleures. Considérant le graphe
correspondant, on s’intéressera à un sous-ensemble d’actions N ( A, appelé noyau
du graphe, vériiant les deux propriétés suivantes :

433
Chapitre 12 • Introduction à l’aide multicritère à la décision

– deux sommets quelconques d’un noyau ne peuvent pas être adjacents :

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.

Exemple 2 « Choix d’un logement » (in)


L’application de l’algorithme de détection du noyau au graphe de surclassement
de la igure 12.7 conduit au noyau (unique) N 5 5 ,4,,5 6 . Ain d’esquisser une ana­
lyse de robustesse, on peut envisager de modiier le seuil de concordance. En ixant
ce seuil s à 0,6 on obtient un graphe de surclassement beaucoup plus riche. Le
lecteur vériiera qu’après avoir réduit les circuits du graphe précédent, on obtient
comme noyau de ce nouveau graphe l’ensemble N r 5 5 ,3,,4 6 . Il semble donc que
le logement ,4, qui reste présent dans chacun des noyaux, constitue un choix inté­
ressant. (pour les trois critères choisis par le décideur) :

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) :

max z 1 5 c 1 # x, max z 2 5 c 2 # x, c, max z p 5 c p # x


c D#x < b
x>0
où x 5 ( x 1, c, x n ) t est le vecteur-colonne des variables de décision, et
z j 5 cj # x 5 a c ji x i représente la j e fonction objectif ( j 5 1, c, p ) ,
n
i51
D est la matrice des contraintes et b est le vecteur-colonne des seconds membres.
Dans la suite, on notera X plutôt que d le domaine (convexe) des solutions admis-
sibles :
X 5 5 x : x . 0 et D # x < b 6 .

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.

12.5.1 Tableau des gains, point idéal


Une première idée naturelle pour progresser vers la recherche de ce compromis
consiste à optimiser indépendamment chacun des p programmes linéaires suivants :
max z j 5 c j # x ( j 5 1, c, p )
( PL j ) b
xPX
© Dunod – Toute reproduction non autorisée est un délit.

Soit x*j une solution optimale du programme (PLj) et z *j la valeur opti-


male de sa fonction objectif ( j 5 1, c, p ) . On constitue le tableau des gains
en donnant la valeur de chacune des solutions x*i sur chaque fonction objectif
z k 5 ck # x ( i 5 1, c, p ; k 5 1, c, p ) – cf. tableau 12.6.
Le point z * 5 ( z *1, c, z *p ) , dont les coordonnées correspondent aux valeurs opti-
males de chaque fonction objectif est appelé point idéal (ou zénith). Ces coordon-
nées se situent donc sur la diagonale du tableau des gains.

1. Conseil au lecteur : lire auparavant le chapitre 8 sur la programmation linéaire.

435
Chapitre 12 • Introduction à l’aide multicritère à la décision

TAB. 12.6 TABLEAU DES GAINS

Soit nj 5 mink 51,c, p 5 c j # x*k 6 la valeur minimale de la jème colonne du tableau


des gains, l’intervalle 3 nj, z *j 4 constitue une bonne approximation, facile à calculer,
des valeurs prises par le jème critère. En pratique, il sera intéressant de fournir au
décideur ces intervalles pour chaque fonction objectif ain qu’il appréhende mieux le
domaine des valeurs possibles. Le point (n1, n2,..., np) est appelé nadir.

Exemple 3 « Plan de production » (suite)


Considérons chacun des deux problèmes

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

dont les solutions optimales sont x *1 1 5 16, x 2 5 6, z 1 5 50, pour (PL1) et


*1 *

x 1 5 4, x 2 5 0, z 2 5 24, pour (PL2). Le tableau des gains est présenté au


*2 *2 *

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.

TAB. 12.7 TABLEAU DES GAINS – EXEMPLE 3

436
12.5 Optimisation multiobjectif

Fig. 12.8 Point idéal z* et point nadir n – Exemple 3

12.5.3 Solutions efficaces extrêmes et non extrêmes


Ain de guider le choix d’une solution de meilleur compromis, on pourrait, mal-
gré les limites soulignées en section 12.3.3, utiliser une fonction d’agrégation de
type somme pondérée. Ceci reviendrait à maximiser une fonction objectif de type
a j51 l jz j, ce qui présenterait l’avantage de n’avoir à résoudre qu’un programme
p

linéaire. De plus, dans le cas particulier de la programmation linéaire multiobjectif,


l’une des limites essentielles de la somme pondérée (celle qui exprime que certaines
solutions eficaces ne peuvent pas apparaître comme solution optimale d’une somme
pondérée – cf. remarque 3 de la section 12.3.3) ne s’applique pas. Ceci tient au fait
que l’image de l’ensemble des solutions dans l’espace des critères est un ensemble
convexe (ce qui n’était pas le cas de notre exemple présenté en igure 12.2). Nous
montrons cependant sur notre exemple que l’utilisation de la somme pondérée n’est
© Dunod – Toute reproduction non autorisée est un délit.

guère adaptée.

Exemple 3 « Plan de production » (suite)


Nous avons observé précédemment que l’ensemble des solutions eficaces corres­
pond à l’ensemble des points situés sur les segments [za, zd] et [zd, zc] (cf. igure
12.8). Il est clair que chacun de ces points peut apparaître comme solution optimale
d’une somme pondérée l 1z1 1 l 2z2 pour un jeu de poids particulier (l 1,l 2 ) . Pour
les solutions eficaces correspondant à des sommets du polyèdre – à savoir a, c et d
dont les images respectives dans l’espace des critères sont les sommets za, zc et zd –

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.

12.5.5 Méthodes fondées sur des points d’aspiration


Dans ce type de méthodes, le décideur doit fournir de l’information préféren-
tielle s’exprimant sous forme de niveaux d’aspiration sur chacun des critères. Ces
niveaux d’aspiration correspondent, pour chaque critère, à des valeurs souhaitées
par le décideur. Soit donc z j la valeur souhaitée sur le jème critère ( j 5 1, c, p ) et
z 5 ( z 1, c, z p ) le point d’aspiration associé.
Nous allons chercher à déterminer, dans l’espace des critères, le point non dominé
le plus « proche » possible de ce point d’aspiration z. Autrement dit, nous allons pro-
jeter z sur la frontière des points non dominés. Pour ce faire, nous allons résoudre le
problème suivant formulé dans l’espace des critères (rappelons que ZA est l’ensemble
des points admissibles dans cet espace) :
min max 5 l j ( z j 2 z j )6 où : z 5 ( z 1, c,z j, c,z p )
z P ZA j51,c,p

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.

Exemple 3 « Plan de production » (in)


Supposons que le décideur, au vu des informations fournies par le tableau des gains
(cf. tableau 12.7), décide de ixer un premier point d’aspiration z1 5 ( 30, 2 10 ) .
Ces niveaux correspondent, sur le critère économique, à une valeur souhaitée pour
la marge totale égale à 300 000 € et, sur le critère écologique, à une consommation
souhaitée de matière toxique égale à M1 de 10 unités.
1 1 1 1
Les poids à utiliser sont l 1 5 5 et l 2 5 * 5 . Le pro­
z *1 2 n1 42 z 2 2 n2 30
gramme linéaire à résoudre est alors :

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.

Fig. 12.9 Exploration des points non dominés – Exemple 3

Supposons que le décideur souhaite explorer un autre type de solutions et


exprime un second point d’aspiration z 2 5 ( 40, 230 ) . La résolution du nouveau pro­
gramme linéaire fournit la solution optimale x 1 < 18,11, x 2 < 2,84 et m < 20,11
correspondant aux valeurs suivantes sur les critères : z 1 < 44,73 et z 2 < 226,62.
La réponse du modèle, quand on lui fournit le point d’aspiration z 2, est donc le point
non-dominé z2 5 ( 44,73; 226,62 ) (cf. igure 12.9). On constate ici que le point
d’aspiration fourni est sous­estimé car il correspond à un vecteur critère dominé. Le
modèle projette donc ce point (dans l’autre sens) sur la frontière non dominée c’est-
à­dire sur le segment [zc, zd]. Cette situation de sous-estimation peut se détecter en
observant que la variable m prend une valeur négative à l’optimum.

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.1 (1) entraîne : A + Β = 1 : (2) entraîne : C ! D 5 1 soit C # D 1 C # D 5 1 ; (3) est l’impli-


cation : E 1 C, soit E 1 C 5 1 ; (4) entraîne A # D 1 A # D 5 1 ; (5) est l’implication
B 1 E et A, soit B 1 A # E 5 1.
Chacune de ces équations booléennes sera égale à 1 si et seulement si leur produit est égal
à1:
( 1 ) # ( 2 ) # ( 3 ) # ( 4 ) # ( 5 ) 5 1.
Il est plus rapide, en utilisant l’associativité et la commutativité du produit booléen, de
calculer comme suit ce produit :
( 1 ) # ( 5 ) 5 1, soit ( A 1 B ) # ( B 1 A # E ) 5 1, entraîne A # B 1 A # E 5 1, c’est-à-dire
#
A ( B 1 E ) 5 1 : A étant en facteur du produit est nécessairement égal 1 ; alors (4) entraîne
D = 1 ; en reportant dans (2), il vient C 5 1, soit C = 0 ; enin en reportant dans (3), il vient
E 5 1, soit E = 0, puis avec (5) B 5 1, soit B = 0.
La liste des cadeaux respectant les exigences de ce joyeux bambin (mais est-ce bien rai-
sonnable ?) est associée à A = D = 1 et B = C = E = 0 : elle comporte le jeu électronique et le
Playmobil.

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

– soit un seul des deux ment :


(D # S 1 D # S) # (I # T 1 I # T) 5 1

soit ( D # S 1 D # S ) # ( I 1 T ) # ( I 1 T ) 5 1, qui donne : ( D # S 1 D # S ) 1 ( I # T 1 I # T ) 5 1


mais si I # T 5 1, alors I = 0 et Τ = 0 ; compte tenu de ce qu’en outre soit le directeur
soit la sécrétaire ment, on aurait alors 3 menteurs ; on abandonne ces deux cas ; il reste :
( D # S 1 D # S ) # I # T 5 1, soit :
#
D # S # I # T 1 D # S # I # T 5 1.
Au total, d2 se formule par :
D # S # I # T 1 D # S # I # T 1 D # S # I # T 1 D # S # I # T 5 1,
(que l’on pourrait simpliier en tenant compte de d1).
• d3 entraîne : I # S 1 I # S 5 1.
Pour la résolution, on exprime que les équations booléennes traduisant d1, d2 et d3 sont
simultanément vraies ; chaque équation étant égale à 1, le produit de ces équations doit être
égal à 1 :
(S # C # D 1 S # C # D) # (D # S # I # T 1 D # S # I # T 1 D # S # I # T 1 D # S # I # T) # (I # S 1 I # S) 5 1 ;
en développant et en éliminant les monômes booléens nuls ou associés à des combinaisons
de 3 menteurs, il reste :
1 5 C # D # S # I # T,
soit : D # S # T 5 1 et C # I 5 1.
La solution est unique (car on a obtenu un seul monôme booléen après développement et
réduction du produit ci-dessus) :
D = S = T = 1 et C = I = 0.
Seuls le conseiller et l’inspecteur mentent...

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

et pour les séries 2, 3, 4 sur la machine 2 :


A2 # L2 1 A3 # B3 # L3 1 A4 # L4 # M4 < 1 (6),
ainsi que pour les séries 3, 4 sur la machine 3 :
A3 # B3 # L3 1 A4 # L4 # M4 < 1 (7).
• À t = 5, conlit possible pour les séries 3, 4 sur la machine 2 :
A3 # B3 # L3 1 A4 # L4 # M4 < 1 (8),
et pour les séries 3, 4 sur la machine 3 :
A3 # B3 # L3 1 A4 # L4 # M4 < 1 (9).

2) En posant A1 = A3 = B3 = L2 = L1 = 1 et A2 = 0 , il vient :

(1) 1 1 1 0 < 1 : oui (6) 1 0 1 0 1 A4 # L4 # M4 < 1 : oui


(2) 1 0 1 1 < 1 : oui (7) 1 0 1 A4 # L4 # M4 < 1 : oui
(3) 1 0 1 L3 < 1 : oui (8) 1 0 1 A4 # L4 # M4 < 1 : oui
(4) 1 0 1 L3 < 1 : oui (9) 1 0 1 A4 # L4 # M4 < 1 : oui
(5) 1 1 1 A4 # L4 # M4 < 1 soit A4 # L4 # M4 5 0 .

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

la 4e série est exécutée au temps t = 5 sur la machine 1, ou 2, ou 3.

L4 5 0 M4 5 1
soit : A4 5 1 •
L4 5 1 M4 5 0

la 4e série est exécutée au temps t = 4 sur la machine 2 ou 3.


Au total, 10 solutions : 2 (pour la série 3) 3 5 (pour la série 4).
3) La machine 1 est utilisée pour les séries 1 et 2 (t = 1, 2 puis 3 et 4).
Si L3 = 1, la machine 2 est utilisée pour la série 3 : il faut alors utiliser M3 pour la série A4.
2 solutions : A4 = 0, L4 = 0, M4 = 1 : s4 sur M3 à t = 5 ;
A4 = 1, L4 = 0, M4 = 1 : s4 sur M3 à t = 4.

444
solutions des exercices du chapitre 1

Si L3 5 0 ( L3 5 1 ) : la machine 3 est utilisée pour la série 3 : il faut alors utiliser la


machine 2 pour la série 4.
2 solutions : A4 = 0, L4 = 1, M4 = 0 : s4 sur M2 à t = 5 ;
A4 = 1, L4 = 1, M4 = 0 : s4 sur M2 à t = 4.

On trouve 4 solutions au total dans ce cas.


4) On ixe L3 = 0 ; de plus on veut inir à t = 4.
Il reste la solution unique : A4 = 1, L4 = 0, M4 = 1 : on effectuera
s1 sur M1 à t = 1 et 2 , s2 sur M2 à t = 3 et 4 , s3 sur M3 à t = 3 , s4 sur M2 à t4.

1.4 1) En développant F sous forme canonique disjonctive, il vient 9 minterms :


F 5 abcd 1 abcd 1 abcd 1 abcd 1 abcd 1 abcd 1 abcd 1 abcd 1 abcd
Utilisons, par exemple, la méthode de Quine pour trouver les monômes (ou constituants)
premiers :
Initialement (k = 0), on forme un tableau à double entrée ; chacune des ses 4 lignes et de
ses 4 colonnes est associée à l’un des monômes de F figurant dans l’énoncé. Puis on forme
leur consensus 2 à 2 (lorsqu’il existe) et
on l’ajoute s’il n’est pas contenu dans
(absorbé par) un des 4 monômes de F : on
en trouve deux : abd et bc.
N.B. : toutes les cases de la diagonale
sont hachurées car un monôme ne peut
pas former un consensus avec lui-
même ; on hachure aussi les cases qui
correspondraient à une répétition : si l’on a
déjà formé le consensus de abc et de bcd,
il est inutile de former celui de … bcd et
abc.
Puis (k = 1) on associe une ligne et
une colonne à chaque consensus retenu
(ici : abd et bc) et l’on recommence : on
trouve un seul consensus à retenir : bd.
Finalement (k = 2) on crée une ligne et une colonne associées à bd ; on forme les consensus
comme ci-dessus : on trouve bc, mais qui a déjà été obtenu : FIN.
© Dunod – Toute reproduction non autorisée est un délit.

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

abcd abcd abcd abcd abcd abcd a bcd abcd abc d

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]

2) Rangeons les coeficients de la fonction de la fraction économique dans l’ordre


décroissant de leur contribution à la valeur de :

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).

Première phase : obtention d’une « bonne » solution admissible


a. x2 ayant le plus grand coeficient dans F, on a intérêt semble-t-il, à prendre x2 = 1 (et
donc x2 = 0 ) si c’est possible (c’est-à-dire si les contraintes sont respectées). Les contraintes
deviennent :

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' .

À nouveau on n’a pas d’implication.


© Dunod – Toute reproduction non autorisée est un délit.

c. x1 ayant alors le plus grand coeficient dans F, on prend x1 = 1 . Les contraintes


deviennent :

x3 ≤ 3
2 x3 ≤ 1
x3 ≤ 2

et F :

x3 + 5 = F'

447
solutions

La seconde contrainte implique : x3 = 0 .


Finalement on a obtenu la solution x4 = x1 = 1, x2 = x3 = 0 de valeur F = 5. Mais nous ne
savons pas, pour l’instant, si cette solution est optimale ou non.

Deuxième phase : recherche de la solution optimale


On va remettre en cause les choix effectués, en partant du dernier, puis de l’avant dernier,
etc.
c′. Si on prend x1 = 0 (en gardant x2 = x4 = 1 ), les contraintes deviennent :

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′

Manifestement F' ≤ 3. On va alors alors remonter alors à la mise en cause du premier


choix.
a′. Si on prend x2 = 0 (c’est-à-dire x2 = 1) :

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.

nB : la gestion de cette arborescence peut s’effectuer à l’aide d’une pile.

449
solutions

SOLUTIONS DES EXERCICES DU CHAPITRE 2

2.1 1) On effectue n 2 1 comparaisons lors de la 1ère phase, n 2 2 comparaisons lors de la


2ème, ..., 1 comparaison lors de la ( n 2 1 ) ème phase.
La complexité est : ( n 2 1 ) 1 ( n 2 2 ) 1 c, 1 1 5 n ( n 2 1 ) /2, soit en O(n2).
Le lecteur trouvera dans l’exercice suivant un tri de complexité moindre, en O(n log n).
Supposons que l’on doive trier n = 1 000 éléments : par un tri par transpositions on effectuera
plus de 500 000 comparaisons et seulement de l’ordre de 10 000 comparaisons pour un tri en
O(n log n) (nous approximons ici log 1 000 par log 1 024, c’est-à-dire log 210 = 10).
2) Les n cases du tableau sont notées : Tab(1), Tab(2), ..., Tab(n).
pour i 5 1 à n 2 1
pour j 5 1 à n 2 i
si Tab ( j ) . Tab ( j 1 1 ) alors
élt d Tab ( j 1 1 ) ; Tab ( j 1 1 ) d Tab ( j ) ; Tab ( j ) d élt ;
in si
in pour
in pour

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

SOLUTIONS DES EXERCICES DU CHAPITRE 3

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

2) dA2 5 2 ; dB2 5 1 ; dC2 5 3 ; dD2 5 2 ; dE2 5 2 ; dF2 5 2


dA1 5 2 ; dB1 5 4 ; dC1 5 1 ; dD1 5 3 ; dE1 5 0 ; dF1 5 2 ;
E est une “sortie” car le sommet E n’a pas de successeur : dE1 5 0 car G(1E) 5 [ .
Si l’on supprime la boucle (B, B), alors B devient une entrée.
NB : la somme des demi-degrés intérieurs (resp. extérieurs) de tous les sommets est égale
au nombre d’arcs : en effet cette somme revient à compter les arcs par leur extrémité initiale
(resp. terminale), ici m = 12.
3) (B, D, C, D, E) est un chemin simple : aucun de ses arcs n’est emprunté plusieurs fois ;
mais ce chemin n’est pas élémentaire : il passe deux fois par D.
4) Puisque le graphe comporte une sortie, le sommet E qui est sans successeur, aucun
circuit ne peut passer par E ; en particulier, pas un circuit hamiltonien.
Si G comporte un chemin hamiltonien, celui-ci doit partir de l’entrée B (supprimer la
boucle) pour arriver à la sortie E. On trouve alors facilement le chemin hamiltonien (B, A,
C, D, F, E).
5) G comportant une sortie, il n’est pas fortement connexe : depuis E il n’existe pas de
chemin vers les autres sommets. Mais l’ajout de l’arc (E, B) le rendrait fortement connexe.
6) B est nécessairement la racine des arborescences cherchées. En voici deux :
B B
A D
A D C

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.

3.4 On a tracé le graphe non orienté associé à la matrice :

Figure 3.7

Figure 3.8

1) En nommant A, B, c, I les sommets suivant l’ordre des lignes et colonnes de la


matrice, la igure 3.7 suivante correspond à un tracé du graphe. La suite des opérations sui-
vantes correspond à un parcours possible de ce graphe : A est ouvert, Β est ouvert à partir de
A, F est ouvert à partir de A, F est fermé, G est ouvert à partir de Β, I est ouvert à partir de A,
D est ouvert à partir de G, Ε est ouvert à partir de G, C est ouvert, H est ouvert à partir de C.
L’ordre de Prévisite est alors (A, B, F, G, I, D, E, C, H). La forêt correspondant à ce parcours
est représentée par la igure 3.2. Cette forêt comprenant deux arborescences, le nombre de
composantes connexes du graphe est donc deux.
2) Pour déterminer les sommets d’articulation, nous effectuons un parcours en profon-
© Dunod – Toute reproduction non autorisée est un délit.

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

En initialisant le parcours par l’ouverture du sommet A, nous aboutissons aux numérotations


de la igure 3.9. Les racines A et C de la forêt que nous avons obtenue ont un unique succes-
seur dans leur arborescence et ne sont donc pas par conséquent des sommets d’articulation.
Le sommet B, qui a pour ordre de prévisite 2, a pour successeur le sommet G pour lequel la
hauteur calculée est 3; or 3 > 2 donc Β est un sommet d’articulation. G est aussi un sommet
d’articulation puisque son successeur Ε dans l’arborescence a une hauteur 3 égale à la valeur
de prévisite de G. Les autres sommets du graphe ne sont pas des sommets d’articulation
puisque tous leurs successeurs dans l’arborescence ont des hauteurs inférieures au rang du
sommet dans la liste de prévisite.

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

graphe g π(G) = 6 π(D) = 3 π(C) = 2

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

Voici maintenant gt, le graphe-miroir de g et la forêt constituée de 3 arborescences de son


parcours en profondeur ; le sommet initial est celui de plus fort rang dans le premier parcours
en profondeur : cʼest E puisque p ( E ) 5 8.
1 2 E A

E B A 3
G C

F H
F B D H
G D C 1 2 3

Dans la première passe de ce second parcours en profondeur, on visite seulement les 3


sommets {E, F, G}. Ensuite le second sommet non encore visité est A puisque p ( A ) 5 5 :
A est le sommet initial de la seconde passe ; on visite alors {A, B, C, D}. Enin il reste un seul
sommet non encore visité : H qui est le sommet initial de la troisième passe... et inal puisque
il était seul.
Le graphe initial comporte donc 3 composantes fortement connexes :
K1 = {E, F, G} , K2 = {A, B, C, D} , K3 = {H}
Le sommet H est le seul dans sa composante fortement connexe car H est une sortie du
graphe initial. À titre de vériication (visuelle) dans le graphe initial : les trois sommets E, F
et G appartenant à un même circuit : (E, F, G, E) appartiennent à la même composante forte-
ment connexe ; il en va de même pour A, B, C et D avec le circuit (A, B, D, C, A).

456
solutions des exercices du chapitre 4

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.

3) À la phase k, si xk = 1, on a a ai x i 5 a ai x i 1 ak < d. Les coeficients a1 ainsi que les


k k 21

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

ainsi nous avons bien : z k ( d ) 5 z k 2 1 ( d 2 ak ) 1 ck .

4) Durant la phase k, si xk = 0, on a : a ai x i 5 a ai x i < d et d’autre part :


k k 21

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 :

max a ci x i 5 z k 2 1 ( d ) et nous obtenons zk(d) = zk – 1(d) .


k 21
© Dunod – Toute reproduction non autorisée est un délit.

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) :

z k (d) k1 k2 k3 k4


d0 0 0 0 0
d1 0 0 0 0
d2 16 16 16 16
d3 16 19 19 19
d4 16 19 23 23
d5 16 35 35 35
d6 16 35 39 39
d7 16 35 42 44

En résumé, l’optimum est : x1 = 1, x2 = x3 = 0, x4 = 1 et z* = 44. Le lecteur se convaincra


aisément que résoudre ce problème est équivalent à chercher un chemin de valeur maximale
du sommet α au sommet ω dans le « graphe de décisions » ci-dessus (il est formé des arcs
figurés par un trait double). L’alpiniste emportera donc seulement les aliments 1 et 4.

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

7) Nous obtenons le tableau suivant :

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.

La distance maximale : 357,45 km , est illustrée par la igure ci-dessous:

22,22 km 28,56 km 40 km 66,67 km 200 km


A B C D E F

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.4 Appliquons l’algorithme de Ford :


Initialement, lA 5 0 , l B 5 l C 5 l D 5 l E 5 l F 5 1 `
puis examinons tour à tour les arcs permettant de faire décroître les l i :
1 A , D 2 : l A 5 0 , l D 5 6 , l B 5 l C 5 l E 5 l F 5 1`
1 A , B 2 : l A 5 0 , l B 5 3 , l C 5 1` , l D 5 6 , l E 5 l F 5 1`
1 B, E 2 : l A 5 0 , l B 5 3 , l C 5 1 ` , l D 5 6 , l E 5 9 , l F 5 1`
1 D, F 2 : l A 5 0 , l B 5 3 , l C 5 1 ` , l D 5 6 , l E 5 9 , l F 5 13
1 A , C 2 : lA 5 0 , lB 5 3 , lC 5 8 , lD 5 6 , l E 5 9 , l F 5 13
( B, D) : l A 5 0 , l B 5 3 , l C 5 8 , l D 5 1 , l E 5 9 , l F 5 13
( D, F) : lA 5 0 , l B 5 3 , lC 5 8 , lD 5 1 , lE 5 9 , lF 5 8
1 D, C 2 : l A 5 0 , l B 5 3 , lC 5 3 , lD 5 1 , lE 5 9 , lF 5 8
( C, E) : l A 5 0 , l B 5 3 , lC 5 3 , lD 5 1 , lE 5 4 , lF 5 8
( D, F) : l A 5 0 , l B 5 3 , lC 5 3 , lD 5 1 , lE 5 4 , lF 5 6
Aucun arc ne permet plus de faire décroître les l,
(A, B, D, C, E, F) est alors un chemin minimal de A à F, son coût est l F 5 6 . C’est aussi
un chemin hamiltonien.

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

x 9 : 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 34

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.

4.6 1) Le problème du livreur consiste à trouver un plus court chemin de A à H. Chacune


des arêtes du graphe d’origine est dédoublée en deux arcs d’orientations opposées qui sont
valués par les durées de trajets entre les carrefours correspondants (sauf pour les arcs issus
de A et ceux aboutissant en H). Le graphe obtenu est donc orienté et avec des valuations
positives.
2) Appliquons l’algorithme :
Initialement, l A 5 0 , l B 5 l C 5 l D 5 l E 5 l F 5 l G 5 l H 5 1 `
puis examinons tour à tour les sommets (l X est une valeur provisoire ; l x , déinitive) :
l A 5 0 , l B 5 2 , l C 5 1` , l D 5 5 , l E 5 7 , l F 5 l G 5 l H 5 1`
l A 5 0 , l B 5 2 , l C 5 11 , l D 5 5 , l E 5 6 , l F 5 l G 5 l H 5 1 `
l A 5 0 , l B 5 2 , l C 5 11 , l D 5 5 , l E 5 6 , l F 5 9 , l G 5 l H 5 1 `
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 1 `
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
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
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
© Dunod – Toute reproduction non autorisée est un délit.

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

k=0 k=1 k=2 k=3 k = 4 et 5 k=6

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

4.7 Voici le résultat final :

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

La première ligne de ce tableau, associée à x1, donne pour tout descendant xj de x1 ( j = 2,


3, ..., 16) la valeur minimale (coût) des chemins de x1 à xj. En particulier le chemin optimal
de x1 à x16 a pour coût λ16 = 18 , c’est le chemin : (x1, x4, x7, x15, x16).

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é.

Les opérations critiques sont : a, b, d, g, h, ℓ. La durée totale est de 142 semaines.


Les intervalles de lottement et marges sont portés sur la igure, ainsi que les dates demandées.
Le tableau utilisé dans la méthode des potentiels se présente de la façon suivante :

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

48 g 80 h 100 i 80 j 100 k 100 


142 Fin
© Dunod – Toute reproduction non autorisée est un délit.

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

On retrouve bien le chemin critique : (D, a, b, d, g, h, f, Fin) de durée 142 semaines.


Le diagramme de GANTT ci-dessous permettrait de réaliser l’étalement du personnel :

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.

4.10 Voici le graphe PERT, avec le chemin critique ;

puis, moyennant la liste des tâches antérieures :


a , d ; b, d , e, f, g ; f, j , m ; c, e , h, i ; g, h , j, k ; i, k , ,,
le tableau des potentiels (avant modiications) :

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

Les modiications sont immédiates dans le tableau des potentiels :

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).

On voit qu’avec la méthode de MPM il sufit de modiier trois chiffres et d’ajouter


deux arcs. …
La modiication du graphe événements-opérations PERT n’est pas aussi aisée : elle néces-
site l’adjonction de six nouveaux événements et porte le nombre d’arcs à vingt (au lieu de
treize) ; plusieurs des anciens arcs ont dû être effacés :

En conclusion la méthode des potentiels est supérieure à la méthode PERT : le calcul de


l’ordonnancement y est plus aisé, de même que la prise en compte de modiications (qui, en
pratique, surviennent toujours lors de l’exécution de tout projet !).

468
solutions des exercices du chapitre 4

4.11 Traçons le réseau de transport, puis éta-


blissons d’abord un lot complet, c’est-à-dire
pour lequel tout chemin allant de la source O
au puits S, comporte au moins un arc saturé :
Procédons ensuite au marquage qui, dans le
cas de igure ci-dessus, aboutit à marquer le
puits S du réseau. On sait que, dans ces condi-
tions, on n’a pas obtenu le lot maximal.
On voit que la chaîne OCHAEBFS ci-dessous,
extraite du graphe, se prête à des modiications.
En respectant la loi de Kirchhoff, on pourra
augmenter le lot total de 5 unités (le transport
de certains arcs est augmenté de 5, celui des
arcs dirigés dans le sens inverse du parcours
OS de la chaîne est diminué de 5).

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

4.12 Voici le tracé du graphe :


฀x3

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

[5] chaîne améliorante µ


x2
x1

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 :

+฀x3 coupe minimale


x1
[3]
4 3
[5]
+฀x2
[2]
[1] [12] 11
+ x3 0
x5 x4
1

[3] 4
3 [5]
x2

[4] 4

Appliquons lui la procédure de marquage : on marque la source x3 puis x1 : aucun autre


sommet ne peut être marqué (x2 ne peut pas être marqué –x1, car le lux sur l’arc (x2, x1) est
désormais nul). Le puits n’étant pas marqué ce lot est optimal ; il a pour valeur v * 5 11.
La coupe minimale est constituée des arcs dont l’extrémité initiale est marquée : x1 ou x3,
et l’extrémité terminale est non marquée ; elle constitue le goulet d’étranglement du réseau
de transport ; voici la raison intuitive de l’optimalité du lot inal : tous les arcs qui traversent
la coupe dans le sens direct (de la source vers le puits) sont saturés ; ceux dans le sens indirect
sont de lux nul (ici, un seul (x2, x1)).

* 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

Essayons alors d’affecter le maximum


de zéros. On obtient le tableau 2.
Avant de continuer à appliquer l’algo-
rithme hongrois, il faut vériier que l’on
a bien obtenu un couplage maximal.
À cet effet, on peut établir un réseau
de transport, dont la capacité de tout
arc est 1.
On constate que la procédure
de marquage échoue ; on a donc un
lot maximal et, partant, un cou-
plage maximal. Dans ces conditions,
on applique à la matrice précédente
l’algorithme hongrois. On marque les
lignes Ε et F, ce qui conduit à marquer
ensuite la colonne a, puis la ligne A. Graphe associé au tableau 2
sur les arcs gras le flux vaut 1 (0 sur les maigres)

a b c d e f On raye alors les lignes non marquées B,


C, D et la colonne marquée a (tab. 2 bis). Le
A 0 72 17 4 19 42 � plus petit élément du tableau restant est 4 ; on
B 16 3 66 77 0 0 l’enlève à tous les éléments de ce tableau res-
tant et on l’ajoute aux éléments rayés deux
C 15 33 60 0 61 68 fois (Tab. 3).
D 52 0 0 12 0 57 On fait ainsi apparaître un nouveau zéro
(ligne A, colonne d ) mais l’affectation reste
E 0 18 63 29 48 55 � la même ; il est facile de vériier que le cou-
F 0 11 56 11 48 55 � plage est encore maximal ; le sommet d de la
deuxième colonne du réseau de transport peut
� être marqué +A, le sommet c de la première
colonne, –D, mais le marquage s’arrête là :
Tableau 2 bis

�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

Graphe associé au tableau 3

472
solutions des exercices du chapitre 4

L’algorithme hongrois permet de marquer les lignes Ε et F, puis la colonne a, ensuite


la ligne A, puis la colonne d et enin, la ligne C (cf. Tab. 3). Après avoir rayé les lignes non
marquées Β et D, ainsi que les colonnes marquées a et d, le plus petit élément du tableau res-
tant est 7 ; on le soustrait des éléments non rayés et on l’ajoute aux éléments rayés 2 fois (Tab.
4). L’affectation, telle qu’elle est réalisée sur le tableau 4 constitue un couplage maximal,
comme on le vériie sur le graphe associé ou tableau 4 :
a b c d e f �0 �E
E a
A 0 61 6 0 8 31 
B 27 3 66 94 0 0
F d �A
C 19 26 53 0 54 61  �a
� A
D 63 0 0 19 0 57 f
0 �d S
E 0 7 52 25 37 44 
C
F 0 0 45 7 37 44  e
  B
Tableau 4 b
D c
Le couplage ne portant que sur cinq
lettres, on applique donc, une nouvelle fois, Graphe associé au tableau 4
l’algorithme hongrois.
L’élément non rayé plus petit est maintenant 6.
On obtient sans dificulté le tableau 5 ci-dessous :
Ce tableau permet d’obtenir une affectation d’un zéro par ligne et par colonne. Elle donne
donc la solution optimale qui, ici, est unique.
L’affectation optimale est : A S c ; B S f ; C S d ; D S e ; E S a ; F S b
En revenant à la matrice de l’énoncé, on voit qu’elle a pour valeur :
V * 5 27 1 13 1 02 1 16 1 15 1 44 5 117.
Remarque 1.
En affectant par ordre croissant des coûts a b c d e f
(« méthode gourmande »), on obtiendrait une A 0 55 0 0 2 25
solution de coût : V = 172.
B 33 3 66 100 0 0
© Dunod – Toute reproduction non autorisée est un délit.

En employant une méthode de regret une


solution de coût : V = 154 ; C 19 20 47 0 48 55
On constate la supériorité de l’algorithme D 69 0 0 19 0 57
hongrois, le coût de la solution optimal
n’étant que : V * 5 117. E 0 1 46 25 31 38
Remarque 2. F 6 0 45 13 37 44
Montrons sur un exemple 4 × 4 la nécessité Tableau 5
de vériier, avant application de l’algorithme
hongrois, que l’on a un couplage maximal.
La matrice ci-dessous contient deux zéros par ligne, sauf sur la ligne C où elle en pos-
sède 3, et au moins un zéro par colonne.

473
solutions

a b c d On peut donc affecter le zéro (A, a) marqué ①, ce qui


entraîne la suppression de quatre zéros. Il reste alors un
A 0  0  seul zéro dans les lignes Β et D.
B 0   On peut alors affecter le zéro (B, c) marqué ②, ce qui entraîne
0
C 0 0 0   la suppression d’un autre zéro. Il ne reste plus alors qu’un
zéro sur chacune des lignes C et D. On peut donc affecter le
D 0 0  zéro (C, d) marqué ③, ce qui entraîne la suppression du der-
nier zéro igurant encore dans la matrice.
   
Si l’on applique alors le marquage hongrois, on voit que
l’on peut marquer toutes les lignes et toutes les colonnes... alors que le problème n’est
pas résolu. C’est que l’on a affaire à un couplage non maximal, ainsi que le prouve le
fait que, sur le réseau de transport associé à ce tableau, on peut marquer S :

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

Si nous employons la méthode de Balas-Hammer, nous tombons sur la solution de base


indiquée par le tableau 1.
i\j 1 2 3 4 5 6 ∆l
1 2 3 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

4.15 On vériie que ; offre = demande = 3 549


1) a) La règle du coin nord-ouest donne la solution de base ci-dessous ;
il s’agit bien d’une solution de base, puisqu’elle comporte exactement :

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

Pour le calcul des potentiels Rappel : δij = Cij – (vj – ui)


des sommets de l’arbre associé à δ21 = 51 + 27 – 113 = –35
la solution de base (Tab. 1), on a
posé a3 = 0, puis calculé les autres δ31 = 0 + 11 – 113 = –102
potentiels de proche en proche : δ32 = 0 + 47 – 103 = –56
vj – ui = cij pour tout arc de δ33 = 0 + 14 – 94 = –80
l’arbre.
δ41 = 39 + 52 – 113 = –22
Arbre 1
Nombre d’unités Inluence sur le
déplaçables (ν) coût total (ρ)
liaison (2, 1) 343 – 12 005
liaison (3, 1) 343 – 34 986
liaison (3, 2) 343 – 19 208
liaison (3, 3) 50 – 4 000
liaison (4, 1) 343 – 7 546

On peut supposer qu’il est indiqué d’effectuer d’abord 1 2 3 4 5


la substitution dont l’inluence sur le coût total est la
plus forte : (3, 1) – cf tableau 2 – et l’on peut constater 1 457 439
immédiatement que la substitution (3, 3) peut être exé- 2 50 732
cutée aussitôt après – cf tableau 3.
3 343 58 542
Le tableau 3 (arbre 2) présente deux substitutions utiles :
δ14 = 0 + 49 – 90 = – 41 et δ15 = 0 + 13 – 103 = –90 4 928
Tableau 2
ν ρ
1 2 3 4 5
(1, 4) 8 –328
(1, 5) 457 – 41 130 1 457 439
2 782
3 343 50 8 542
4 928
Arbre 2 Tableau 3

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

3 800 85 50 8 3 800 93 50 +11 +44

4 928 4 +36 +42 +57


8 920
Tableau 5 Tableau 6
(coût : 97 777)
Arbre 4

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.

*4.16 1) Pour appliquer l’algorithme de Prim, choisis-


sons arbitrairement le sommet A comme sommet initial.
L’arête [A, B] est celle de poids le moins élevé issue de
A, elle est donc retenue dans la solution. L’arête [H, B]
est retenue dans la solution car elle est de poids minimal
parmi celles ayant une et une seule extrémité dans {A, B}.
Ensuite [F, B] est sélectionnée, puis [F, E], [I, E], [I, D],
[E, G] et inalement [C, G]. La igure ci-contre représente
l’arbre optimal de poids 22 obtenu. Il n’est pas unique.

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.

*4.17 Appliquons l’algorithme de Prim.


Choisissons le sommet A comme sommet initial. L’arête [A, E] est celle de poids le plus élevé
issue de A, elle est donc retenue dans la solution. L’arête [H, E] est retenue dans la solution
car elle est de poids maximal parmi celles ayant une et une seule extrémité dans {A, E}.
Ensuite [E, D] est sélectionnée, puis [G, D], [G, F], [F, C], [C, I] et inalement [B, G]. Nous
obtenons ainsi un arbre optimal, de poids 63.

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 :

Tableau initial après réduction Tab. 0 Arb. 1

• 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.

ensemble s2. Les implications du choix de (B,A) sont


de supprimer la ligne B et la colonne A et d’interdire
l’arc parasite (A,B) (on pose donc c 2AB 5 `, cf Tab. 2)
et de faire apparaître (au moins) un zéro par ligne et par
colonne si le tableau restant n’est pas réduit ; mais, ici,
on constate qu’il est réduit).
Par suite b2 = b0 = 2 : l’arborescence Arb. 1 illustre cette
séparation.

• 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

Le tableau restant (Tab. 4) étant réduit, on a b4 = b2 =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

Le C. H. optimal est : (B, A, D, C, E, B)


de coût 4. L’optimum est unique ; tout
autre C.H. a un coût au moins égal à 5.

Arb. 4

481
solutions

SOLUTIONS DES EXERCICES DU CHAPITRE 5

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

b) P(0) = [l ; 0 ; 0 ; 0] , P(1) = [0,95 ; 0,05 ; 0 ; 0] = P(0) # m


P(2) = [0,91 ; 0,05 ; 0,04 ; 0] = P(1) # m
La probabilité cherchée est p 2(2) = 0,04.
(En fait, c’est q0 # q1 : on pouvait ainsi l’obtenir plus rapidement.)
3) a) Cette chaîne de Markov est régulière. En effet, son graphe est ini fortement connexe
(il comporte un circuit hamiltonien (0, 1, 2, 3, 0)) : la chaîne comporte une seule classe d’états,
donc récurrents ; de plus cette classe est apériodique car le graphe comporte une boucle en E0.
D’où : P* 5 P* # m, soit en posant P* 5 3 a, b, c, d 4 :
0,95a + 0,2b + 0,15c + 0,1d = a (1)
0,05a + 0,9d = b (2)
0,8b = c (3)
0,85c = d (4)
a + b + c + d = 1 (5)
d’où c = 0,8b, puis d = 0,68b ; en reportant dans (2) :
0,05a = b(1 – 0,612) = 0,388 d’où a = 7,76b.

482
solutions des exercices du chapitre 5

(5) fournit alors b : b(7,76 + 1 + 0,8 + 0,68) = 1 , d’où b = 1/10,24.


Finalement P* 5 [0,7578 ; 0,0977 ; 0,0781 ; 0,0664].
c) La probabilité p cherchée est : p 5 p*0 # p0 1 p*1 # p1 1 p*2 # p2 1 p*3 # p3, or P* 5 P* # m
s’écrit :

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 :

20,8 p *0 1 0,1p *2 1 0,6p *3 5 0

0,2p *0 2 0,9p *1 1 0,2p *3 5 0


g 0,3p 0* 1 0,8p *1 2 0,8p *2 1 0,1p *3 5 0

0,3p *0 1 0,1p *1 1 0,7p *2 2 0,9p *3 5 0

p *0 1 p *1 1 p *2 1 p *3 5 1
© Dunod – Toute reproduction non autorisée est un délit.

qui a bien pour solution :


457 220 458 553
p *0 5 , p *1 5 , p *2 5 , p *3 5 .
1 668 1 668 1 668 1 668
Rappelons que pour une chaîne régulière, m * 5 lim m n est une matrice dont toutes les
nS`
lignes sont identiques, chacune étant égale au vecteur-ligne P*.

483
solutions

5.3 Construisons d’abord le graphe représen-


tatif. Nous constatons aisément qu’il n’est pas
connexe. Il existe, en réalité, une décomposition
des états en deux classes d'états disjointes : la
première comprend les états 1 et 3 ; la seconde,
les états 0,2 et 4. Il n’y a pas de passage possible
entre états qui appartiennent à deux classes dif-
férentes. Ces classes sont évidemment les com-
posantes connexes du graphe.
Si l’on regroupe lignes et colonnes, comme
le montre la matrice suivante, apparaissent
deux matrices carrées non nulles, s’appuyant
sur la diagonale principale : les autres éléments
sont nuls.

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

Remarque. Plus généralement, les matrices stochastiques de la forme :


a 0
B R
0 B
où a et B sont des matrices carrées, se décomposent d’une manière analogue ; c’est
pourquoi on les dit réductibles. On a évidemment :
n
a 0 an 0
B R 5B R
0 B 0 Bn
car a et B sont des matrices stochastiques.

5.4 Dès que l’on a tracé le graphe représentatif, on 0,8 0,6


0,2
s’aperçoit qu’il comporte deux composantes fortement 0,4
0 3
connexes : le passage de tout état de l’ensemble d’états
transitoire e2, à un état de l’ensemble des états récurrents
0,2 0,1 0,3 0,1
e1 est possible, l’inverse ne l’étant pas. 0,2
0,1
Bien entendu, un rangement convenable des lignes et 0,4 0,1 0,2
4 0,1 1
colonnes de m fait apparaître aussi la propriété :
0,2
0,1 0,1
0,3
0 3 1 2 4
2
00 0,2 0,8 0 0 0 0,5

33 0,4 0,6 0 0 0

M5
m = 1 G0,1 0,3 0,2 0,3 0,1W

2 2 0,2 0,1 0,1 0,5 0,1

4 4 0,2 0,1 0,1 0,2 0,4


a 0
Plus généralement, toute matrice stochastique de la forme : B R est décomposable
d’une manière analogue. On a : c D
n
a 0 an 0
B R 5B R avec : En 5 En 2 1 # a 1 Dn 2 1 # c et E1 5 c.
© Dunod – Toute reproduction non autorisée est un délit.

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 :

e*1 1 2 e*1 e*1 1 2 e*1 e*1 1 2 e*1


0,2 0,8
E * 5 De*2 1 2 e*2 T ; d’où De*2 1 2 e*2 T = De*2 1 2 e*2 T # B R
0,4 0,6
e*4 1 2 e*4 e*4 1 2 e*4 e*4 1 2 e*4

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

Ainsi E* 5 ≥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

3 0 0 0,2 0,5 0,3

0 0 0 0,4 0,6 0

m51 G0,2 0,8 0 0 0W

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

Numériquement, dans l’exemple précédent :

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

2) P(3k) = [1, 0, 0] ; P(3k + 1) = [0, 1, 0] ; P(3k + 2) = [0, 0, l] .


On observe que P(n) oscille entre ces trois vecteurs, selon que n = 3k ou n = 3k + 1 ou
n = 3k + 2 : P(n) n’a pas de limite dans ce cas.
3) Avec ce choix très particulier de P(0), il vient :
111
B R 5 P ( 0 ) 5 P ( 1 ) 5 P ( 2 ) 5 c5 P ( ` )
333
ce vecteur de probabilités est un « point ixe » de m.

5.7 Indications. On a les équations caractéristiques respectives suivantes :


1) ( l 2 1 )( l 3 1 0,4 l 2 1 0,23 1 0,038 ) 5 0 ;
2) ( l 2 1 ) 2 ( l 3 1 0,4 l 2 2 0,008 ) 5 0 ;
3) l ( l 2 1 )( l 1 1 )( l 2 2 0,16 ) 5 0 ;
4) ( l 2 1 )( l 2 1 l 1 1 ) 5 0.
Dans le premier cas, outre les racines réelles 1 et –0, 2 c, et on a deux racines imagi-
naires : 20,1 1 0,3i "2 et 20,1 1 0,3i "2.
Dans le deuxième, toutes les racines sont réelles : 1 ; 1 ; –0,2 ; –0,1 ( 1 1 "5 ) ;
–0,1 ( 1 2 "5 ) ; 20,1( 1 2 "5 ) . Noter que l 5 1 est racine double.
Dans le troisième, les racines sont également réelles : 1 ; –1 ; 0,4 ; –0,4 et 0.
Dans le dernier cas, la seule racine réelle est : 1, les deux autres sont imaginaires
1 "3 1 "3
conjuguées : j 5 2 1i et j2 5 j 5 2 2i . Le polynôme caractéristique
2 2 2 2
est : l3 – 1 = 0 ; ses racines sont les racines cubiques de l’unité, soit : 1, j et j2. Rappelons
que cette chaîne est périodique, de période 3.

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.

dans cette équation).

(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(Xt) étant connu, il reste à évaluer E ( X 2t ) :

E ( X 2t ) 5 a n2 # pn ( t ) 5 a n ( n 2 1 ) # pn ( t ) 1 a n # pn ( t ) .
` ` `

n51 n51 n51

Le premier sigma vaut : a n ( n 2 1 ) , soit ( a t ) 2e 2 at a


` (a t)n ` (a t)n2 2
2 at
e ;
n52 n! n52 ( n 2 2)!
en effet on a : n! = n # (n – 1) # (n – 2)!.

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/α.

var T 5 E ( T 2 ) 2 c a d 5 3 t2 # ( a e 2 at ) dt 2 a . Posons αt = u, il vient :


` 2
1 1
0

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

5.9 1) Il s’agit du processus de naissance dit de « Yule ».

490
solutions des exercices du chapitre 5

On reconnaît un processus de naissance ouvert. D’où :


p1 ( t 1 dt ) 5 ( 1 2 l dt ) # p1 ( t )
b
pn ( t 1 dt ) 5 ( n 2 1 ) l dt # pn 2 1 ( t ) 1 ( 1 2 nl dt ) # pn ( t ) pour n > 2

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)

D’où : p 1(t) = e–lt , puis p2r ( t ) 2 2l p2 ( t ) 5 l e 2 lt , qui a pour solution :


p 1(t) = e–lt – e–2lt (sachant que p 2(0) = 0). Soit: p 2(t) = e–lt(1 – e–lt) : p 2(t) a bien la forme
donnée dans l’énoncé.
Par récurrence : supposons que l’on ait p n–1(t) = e–lt(1 – e–lt)n–1. En reportant cette valeur
dans (2), puis en intégrant cette équation différentielle on trouve effectivement :
p n(t) = e–lt (1 – e–lt)n.
On vériie alors que le nombre moyen de micro-organismes présents à t est : E(Xt) = elt.
On retrouve l’idée commune de croissance « exponentielle » pour une population (bio-
logique).
2) Lorsqu’il y a initialement N micro-organismes présents à t = 0, il vient :
pN 1 n ( t ) 5 @nn 1 N 2 1 e2Nlt # ( 1 2 e2lt ) n
(le calcul est plus commode si l’on utilise une transformée, comme celle de Laplace ou de
Carson-Laplace).

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.

Leurs densités de probabilité sont respectivement :


f1 ( t ) 5 Fr ( t ) 5 a e 2 at et f2 ( t ) 5 b e 2 bt.
La probabilité pi1 cherchée, est la probabilité que la valeur de Y1 soit inférieure à celle de
Y2 : pi1 = P[Y1 , Y2].
Détaillons cette probabilité : supposons que Y1 ait une valeur comprise entre t – dt et t,

alors Y2 doit avoir une valeur supérieure à t. D’où pi1 5 3 P 3 t 2 dt , Y1 < t et Y2 . t 4 .


`

Les deux variables aléatoires Y1 et Y2 étant indépendantes, il vient :

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

Plus généralement on a : pij 5 l ij ^ a a lijb 5 l ij / qi.


j2i

2) Désignons par A l’événement : « Xtn 5 Ein » et par B, l’événement :


« Xt 5 E n21
et Xt 5 E
in 2 1 et cet Xt 5 E ».
n22 in 2 2 0 i0
La probabilité qn de la trajectoire est alors Ρ[A et B]. Or, par déinition d’une probabilité
conditionnelle : Ρ[A et B] = P[A | B] # P[B]. Ainsi :

qn 5 PBXtn 5 Ein 0 Xt0 5 Ei0 , c, Xtn 2 1 5 Ein 2 1 R # qn 2 1

Par application de la propriété sans mémoire : qn 5 PBXtn 5 Ein 0 Xtn 2 1 5 Ein 2 1 R # qn 2 1 ,


soit qn 5 pin 2 1, in # qn 2 1 ; inalement : qn 5 pin 2 1, in # pin 2 2, in 2 1 # c# pi 0 i1 # q0.
Or q0 5 P 3 X0 5 Ei 0 4 5 pi 0( 0 ) . Soit :
pn 5 pi ( 0 ) # pi , i # pi , i # c# pi , i .
0 0 1 1 1 n21 n

avec (cf. question précédente) :


l ik ik 1 1 lik, i k 1 1
pik, ik 1 1 5 5
a l ik j
qik

j2i

5.11 1) E0 : la ligne de l’abonné est libre ;


E1 : phase 1 en cours (l’abonné compose un numéro) ;
E2 : phase 2 en cours.
Voici le graphe simpliié du processus de Markov associé :

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

Appliquons le théorème des coupes à {E0}, puis à {E1} :

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.

p*0 1 p*1 1 p*2 5 1


60 1 18
Numériquement : p*0 5 , p*1 5 , p*2 5 .
79 79 79
60
La ligne est libre dans l’état E0 , soit avec la probabilité en régime permanent : p*0 5 , soit
79
60
3 600 3 5 2 734 secondes par heure (soit environ 46 mn/h) : environ les 3/4 du temps.
79
5.12 1) On a, en tout, Ν = 4 terminaux ; il y a donc N + 1 = 5 états ( Ek, 0 < k < 4 ) .
Le graphe des transitions entre t et t + dt est ini et fortement connexe : le processus est
fortement ergodique.

2) En notant p*i la probabilité de l’état Ei en régime permanent :

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.

p*0 # ( 1 1 12 1 72 1 288 1 432 ) 5 1 d’où : p*0 5 1/805


12 72 288 432
et p*1 5 , p*2 5 , p*3 5 et p*4 5 .
805 805 805 805
288 1 864
3) r 5 1 # p*3 1 2p*4 5 5 1,4311 réparateurs inoccupés
805
4 1 36 1 144 1 288
r 5 4p*0 1 3p*1 1 2p*2 1 p*3 5 5 0,5863 terminaux en panne.
805
4) En tout N + S = 6 terminaux ; il y a donc 7 états ( notés Fk , 0 < k < 6 )
a) graphe simpliié :

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 n1 E1 , E1 ฀฀0,3 ฀5 ฀0,7 ฀(2)  0,1 Z n2 E1 , E1 ฀฀0,3 ฀(5 ฀1) ฀0,7 ฀(2 ฀0,1) ฀0,47
Z n1  E1 , E2 ฀฀0,5 ฀1 ฀0,5฀(0) ฀0 Z n2  E1 , E2 ฀฀0,5 ฀(1 ฀0,1) ฀0,5 ฀(1 1) ฀ 0,55

Z n1 E2 , E1 ฀฀0,1 Z n2 E2 , E1 ฀฀0,47฀


Z n1  E2 , E3 ฀฀0,6 ฀3 ฀0,4฀(2) ฀ 1 Z n2  E2 , E3 ฀฀0,6 ฀(3 ฀1) ฀0,4 ฀(2 ฀0,1) ฀ 1,64

Z n1 E3 , E1 ฀ 0,1 Z n2 E3 , E1 ฀฀0,47฀


Z n1  E3 , E2 ฀฀0 Z n2  E3 , E2 ฀ 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 :

Remarquons maintenant que :


1 1 VEn22 k 1 1
VEn12 k 5 3 0,5 0,5 0 4 # D21 1 VEn 2 k 1 1 T 5 0,5 aVEn 2 k 1 1 1 VEn 2 k 1 1 b
© Dunod – Toute reproduction non autorisée est un délit.

3 2 3

01 VEn22 k 1 1

0 1 VEn22 k 1 1

VEn12 k 5 3 0 0,6 0,4 4 # D 3 1 VEn 2 k 1 1 T 5 1 1 0,6VEn 2 k 1 1 1 VEn 2 k 1 1


3 3 3

22 1 VEn22 k 1 1

VEn12 k 5 VEn12 k

495
solutions

d’où l’on a :

d n 2 k 5 V En22 k 2 V En12 k 5 1 1 0,1 aV En22 k 1 1 2 V En12 k 1 1 b 5 1 1 0,1d n2k 1 1

Si n est assez grand :


10
d n 2 k 5 1 1 0,1 1 0,01 1 0,001 1 c< .
9
De plus,
1
VEn22 k 5 0,5aVEn22 k 1 1 1 VEn32 k 1 1 b 5 0,5a2VEn22 k 1 1 1 d n 2 k 1 1 b 5 VEn22 k 1 1 1 d n 2 k 1 1,
2
Par suite :
5
VEn22 k < 0,55 1 ( k 2 2 )
9
5
VEn32 k < 0,55 1 k #
9
On vériie que :
pour k = 10 :
50
V En32 k 5 0,55 1 < 6,10 u.m.
9
40
V En22 k 5 0,55 1 < 5,00 u.m.
9
et l’on a, pour k = 100 :
V En32 k < 56,10 u.m.; V En22 k < 55,00 u.m.
NB. On remarquera toutefois que l’évolution la moins bonne donne une perte
de 1,1 unité monétaire par période.

496
solutions des exercices du chapitre 6

SOLUTIONS DES EXERCICES DU CHAPITRE 6

6.1 1) i ( t ) # dt 5 P 3 t , T < t 1 dt 4 5 dF( t ) où : F( t ) 5 P 3 T < t 4 .


Or F( t ) 5 1 2 v ( t ) . Donc i( t ) 5 2v r ( t ) .
Ici i( t ) 5 ( a ) # e 2at 1 ( 1 1 at ) ( 2ae 2at ) 5 a 2 # t # e 2at .

MTTF 5 t 5 3 t # i ( t ) 5 3 v ( t ) # dt ; ici : t 5 3 a2 # t2 # e2at dt 5 3 x 2 # e2x # dx,


` ` `
1 `
a 0
en posant x 5 at. 0 0 0

On montre aisément que : 3 x n # e2x # dx 5 n! ( pour n entier). D’où t 5


`
2! 2
5 .
0 a a
v r( t ) a 2t
Le taux d’avarie est l( t ) 5 2 5 . Pour t S `, l( t ) S a .
v(t ) 1 1 at

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.

Puis par récurrence, on fait l’hypothèse que :


( at ) 2m ( at ) 2m 1 1
pn ( t ) 5 B 1 R # e2at
2m! ( 2m 1 1 ) !

et l’on montre que pm 1 1 ( t ) a la forme analogue (obtenue en remplaçant m par m + 1 dans


l’expression de pm(t)) .

497
solutions

NB. L’expression pm ( t ) 5 3 pm 2 1 ( u ) # i ( t 2 u ) # du étant un produit de convolution, la


t

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’Erlang­2, 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

V (t) 5 P 3 T . t 4 5 P 3 T . t 0 TA . t 4 # P 3 TA . t 4 1 P 3 T . t 0 TA < t 4 # P 3 TA < t 4.


Pour évaluer le premier terme de cette somme, on peut remplacer A par un « court-
circuit ». On a alors C et F en parallèle, suivis d’un pont simple (dont la iabilité a été calcu-
lée au chapitre 6, paragraphe 6.4) :

Posons pour simpliier v A ( t ) 5 a, v B ( t ) 5 b, c, v H ( t ) 5 h.


La iabilité du montage en parallèle de C et F vaut : c 1 f 2 cf. D’où l’expression (1) :
P 3T , t 0 TA . t 4
5 ( c 1 f 2 cf ) # 3 ( de 1 g h 2 de g h ) ( 1 2 b ) 1 ( d 1 g 2 dg ) # ( e 1 h 2 e h ) b 4 (1)

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 Nombre de pneus n(t) p(t) pc(t)


ayant duré
0 1000
1 moins d'un mois 5 995 0, 005 0, 005
2 de 1 à 2 mois 10 985 0, 010 0, 010
3 de 2 à 3 mois 40 945 0, 040 0, 041
4 de 3 à 4 mois 80 865 0, 080 0, 085
5 de 4 à 5 mois 130 735 0, 130 0, 151
6 de 5 à 6 mois 250 485 0, 250 0, 341
7 de 6 à 7 mois 200 285 0, 200 0, 413
8 de 7 à 8 mois 120 165 0, 120 0, 422
9 de 8 à 9 mois 70 95 0, 070 0, 435
10 de 9 à 10 mois 50 45 0, 050 0, 527
11 de 10 à 11 mois 25 20 0, 025 0, 556
12 de 11 à 12 mois 15 5 0, 015 0, 750
13 de 12 à 13 mois 3 2 0, 003 0, 600
14 de 13 à 14 mois 2 0 0, 002 1

La durée de vie moyenne :

t 5 a t pt
t51

vaut 6,62 mois.


On pourrait en déduire la consommation moyenne (au bout d’un temps très long) :
1 000
5 151 pneus/mois.
6,62

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

Voici cette matrice :

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

La matrice m étant ergodique, on aura, en régime permanent :


P* # a 5 0 (1)
avec a 5 m 2 i .
On peut se servir des relations (1), auxquelles on ajoute : p *0 1 p *1 1 c1 p *n 5 1
pour calculer p *0, et de là, tous les p *i. Il vient :
p *0 3 0,995 5 p *1 ; p *1 3 0,990 5 p *2 ; c ; p *12 3 0,400 5 p *13 ,
d’où :
p *0 1 0,995p *0 1 ( 0,995 3 0,990 ) p *0 1 c1 ( 0,995 3 0,990 3 c3 0,400 ) p *0 5 1
1
et : p *0 5
1 1 0,995 1 ( 0,995 3 0,990 ) 1 c1 ( 0,995 3 0,990 3 c3 0,400 )
1
< < 0,151.
6,62
On peut en déduire :
© Dunod – Toute reproduction non autorisée est un délit.

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

Car on va voir que ce taux oscille d’abord fortement avant de se stabiliser.


N(0)  [ 1000 0 …]
N(1)  [ 5 99, 5 0 …]
N(2)  [ 9,975 4,975 985,05 0 …]
N(3) [ 40,487 9,925 4,925 944,663 0 …]
N(4)  [ 80,8 40,285 9,826 4,723 864,366 0… ]
N(5)  [ 132,13 80, 396 39,882 9,423 4,322 733,847 0 …]

N(6) [ 254,795 131,469 79,592 38,247 8,622 3,670 483,605 0 …]


N(7)  [ 211,385 253,521 130,154 76,329 34,996 7,320 2,419 283,876 0 …]
N(8) [ 143,991 210,328 250,986 124,818 69,841 29,712 4,824 1,420 146,080 0 …]
N(9)  [ 118,367 143,271 208,225 240,696 144,208 59,295 19,580 2,832 0,821 92,705 0 …]
N(10) [ 137,231 126,346 116,597 136,023 182,705 186,896 63,899 22,937 6,643 0,925 0,219 14,469 0 …]
N(11) [ 168,802 136,545 125,711 111,817 124,461 155,117 123,164 37,509 13,238 3,753 0,438 0,097 4,863 0]

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 .

Numériquement a 5 0 ,1 et q 5 1 / 1 1 a : q est ínférieur à 1. La condition ci-dessus


équivaut à 8 ( 1 2 q ) 2 2q ( 1 2 q3 ) 2 q4 ( 1 2 qn 2 3 ) , 0 ,
La durée d’utilisation n doit être telle que : q n 1 1 , 10q 2 8 2 q 4 , soit en divisant par q4
chaque membre :

qn–3 ≤ 10/q3 – 8/q4 – 1 ≈ 13,3 – 11,7 – 1 = 0,6

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.

6.7 Établissons les matrices de transition dans les deux hypothèses :


1)
États pas de travail R1 R 2(1) R 2(2) R 2(3)

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

On voit immédiatement que :


p*0 5 p*1 5 p*2 5 p*3 5 p*4
comme p*0 1 p*1 1 p*3 1 p*4 5 1, il vient :

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.

6.8 On modélise le fonctionnement de cet appareil par un processus de Markov ; l’ensemble


des états est e 5 5 EF, EI, EA , ER 6 .
Voici le graphe des transitions entre états, entre t et t 1 dt :

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 :

2) On reconnaît un processus de « naissance » (occurrence d’une panne) et de « mort » (in


de réparation) fermé (c’est-à-dire comportant un nombre ini d’états) : ce processus est fortement
ergodique (sachant que l et μ sont strictement positifs). Pour un processus de naissance et de mort
fortement ergodique, en régime permanent (les états étant numérotés 0, 1, 2, etc.), on a :
l 0 # l 1 # l 2 # c# l k 2 1
p*k 5 # p *.
m 1 # m 2 # m 2 # c# m k 0
Ici :
N ( N 2 1 )( N 2 2 ) c( N 2 k 1 1 ) lk * k
# # p0 5 @kN a l b # p*.
© Dunod – Toute reproduction non autorisée est un délit.

p*k 5
1 # 2 # 3 # c# k mk m 0

en écrivant que : a p*k 5 1 ; il vient :


N

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

Rappelons la formule du binôme de Newton : 1 1 @N x 1 @N x 2 1 c1 @N x N 5 (1 1 x) N .


1 2 N

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.

Dérivons la formule du binôme de Newton rappelée ci-dessus, par rapport à x, membre


à membre :
1 # @n 1 2 # @N x 1 3 # @N x 2 1 c1 N @N x N 2 1 5 N ( 1 1 x ) N 2 1
1 2 3 N

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 :

où E0 désigne l’état de marche et E1, celui de panne.


m l
On a vu au chapitre 5 que : q 5 p*0 5 et p 5 p*1 5 .
l 1m m 1l
Le problème revient à répéter N fois l’expérience élémentaire « voir si une machine donnée
l m
est en panne ». On a une probabilité p 5 de « succès » et q 5 d’« échec »
l 1m l 1m
( p 1 q 5 1 ) . Attention : ici un « succès » consiste à trouver... une machine en panne.

On reconnaît alors un schéma de Bernoulli. La probabilité de k succès pour Ν répétitions


d’une expérience aléatoire admettant seulement deux résultats : « succès » (avec la pro-
babilité p) et « échec » (avec la probabilité q 5 1 2 p ) , donnée par la loi binomiale, est
k N 2k
l m
5 @N p # qN 2 k 5 @N a b #a
k k
p*k k
b : on retrouve la valeur de p*k du 3).
l 1m l 1m

508
solutions des exercices du chapitre 6

Pour la loi binomiale, le nombre moyen de succès est : m 5 N # p d’où m 5 N # p et le


m
nombre moyen d’échecs : n 5 Nq ; on retrouve n 5 N # (en effet ici un « échec »
l 1m
consiste à trouver qu’une machine est en marche).
4) La « disponibilité asymptotique » D* est ici la probabilité qu’au moins une machine
soit en état de marche :
N
l
D* 5 p *0 1 p*1 1 p*2 1 c1 p*N 2 1 5 1 2 p*N 5 1 2 a b
l 1m
N.B. En l’absence de pannes ( l5 0 ) , on vériie que D*=1; de même si μ S 1 ` : alors
les réparations sont ininiment rapides.
la durée moyenne de disponibilité sur un intervalle de temps  (pris en régime permanent)
est : d 5  # D*.
N
l
Au contraire, l’indisponibilité asymptotique est I* 5 p*0 5 1 2 D* 5 a b , et la
l 1m
durée moyenne d’indisponibilité sur un tel intervalle  est : d r 5  # I*.

Évidemment : d 1 d r 5 .

6.10 1) Voici la signiication des 7 états du processus de Markov associé :


E1 : fonctionnement normal, les 2 modems, l’U.C. et les 2 bacs fonctionnent ;
E2 : liaison PC-PA sur une seule voie : un modem en panne ;
E3 : liaison PA-EAP sur une seule voie : un bac en panne ;
E4 : liaison PC-PA et liaison PA-EAP sur une seule voie : un modem et un bac en panne ;
E5 : fonctionnement en mode local : les deux modems en panne, mais les 2 bacs fonc-
tionnent ;
E6 : fonctionnement en mode local, mais un seul bac fonctionne ;
E7 : panne paralysante : l’U.C. et/ou les deux bacs d’E/S en panne.
2)
E1 SB E E1 SA E C E
E1 S
2 3 7
2l 2 2l 1 l3
B E
E2 S A E
E2 S C E
E1 S D E
E2 S
5 4 7 1
© Dunod – Toute reproduction non autorisée est un délit.

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

Remarquons que si m S 1 ` (réparations très rapides), on a D* S 1 : le système serait


toujours disponible si les réparations étaient de durée nulle ! Inversement si μ = 0, l’on entre-
prend pas de réparations : au bout d’un certain temps le système se retrouverait dans l’état Ε7
de panne paralysante et y resterait indéiniment, donc D* 5 0.

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 :

( A ) ( 2 l1 1 l3 ) # p*A 5 m # ( p*B 1 p*7 ) 5 m # ( 1 2 p*A )

d ( B ) ( l1 1 l3 1 m ) # p*B 5 2 l1 # p*A

p*A 1 p*B 1 p*7 5 1

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

6.11 1) La iabilité de B1 et B2 en parallèle est :


R B 1B 2 ( t ) 5 R B 1 ( t ) 1 R B 2 ( t ) 2 R B 1 ( t ) # R B 2 ( t ) soit, ici, 2RB ( t ) 2 R2B ( t ) ;
A étant placé en série avec B1B2 , il vient : R ( t ) 5 R A ( t ) # 3 2R B ( t ) 2 R 2B ( t ) 4 .

Le MTTF est : MTTF 5 3 R ( t ) # dt.


`

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 .

. (On rappelle que : 3 e2at # dt 5 , avec a . 0. )


`
2 1 1
D’où MTTF 5 2
a1b a 1 2b 0 a
2)
© Dunod – Toute reproduction non autorisée est un délit.

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

E2 est alors absorbant.


On sait que : Pr ( t ) 5 P ( t ) # g , où P ( t ) 5 3 p0 ( t ) , p1 ( t ) , p2 ( t ) 4 .
D’où p0r ( t ) 5 2 ( a 1 2b ) # p0 ( t ) ; p1r ( t ) 5 22b # p0 ( t ) 2 ( a 1 b ) # p1 ( t ) ;
p2r ( t ) 5 a # p0 ( t ) 1 ( a 1 b ) # p1 ( t ) .
En intégrant ces équations différentielles, il vient : p0 ( t ) 5 K # exp 3 2 ( a 1 2b ) t 4 .
Or à t 5 0, p0 ( 0 ) 5 1, d’où K 5 1.
La seconde équation différentielle fournit alors :

pr1 ( t ) 1 ( a 1 b ) pr1 ( t ) 5 2b # e2(a1 2b)t

L’intégrale générale sans le second membre est : C1 # e 2( a 1 b ) t .


Une intégrale particulière avec le second membre est à rechercher, de la forme :
p1 ( t ) 5 C2 # e 2 ( a 1 2b ) t ,

d’où : 2 ( a12b ) C21 ( a1b ) C2 5 2b, d’où C2 5 22. Ainsi, on a :


p1 ( t ) 5 C1 # e2(a1 b)t 22e2(a1 2b)t ; or p1 ( 0 ) 5 0 , d’où C1 5 2 et
p1 ( t ) 5 2e 2( a 1 b ) t 2 2e 2( a 1 2b ) t .
La iabilité est la probabilité qu’à t le système ne soit pas en état de panne paralysante :
R ( t ) 5 1 2 p2 ( t ) 5 p0 ( t ) 1 p1 ( t ) ; on retrouve :

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.

Évidemment l’application du théorème donnant la iabilité d’un montage série-parallèle


est beaucoup plus rapide (cf la première question) que le calcul de R(t) déduit de la modé-
lisation markovienne. Mais, notons que pour le calcul de la disponibilité asymptotique
(cf. question précédente), la modélisation markovienne est incontournable.

512
solutions des exercices du chapitre 6

4) Voici le réseau de Petri associé à ce système ; le marquage initial est :


M 0 ( A ) 5 1, M 0 ( B ) 5 2, M 0 ( B r ) 5 M 0 ( F) 5 0 ; il est noté en abrégé :

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

SOLUTIONS DES EXERCICES DU CHAPITRE 7

7.1 1) Choisissons, par exemple, l’heure comme unité de temps.


Le nombre moyen de clients, pour six heures, étant de 54, le taux horaire des arrivées est :
l = 54 / 6 = 9 .
60
Le taux du service est égal à : m 5 5 12 (il y a, en effet, en moyenne, douze services
possibles en 60 minutes). 5

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

D’autre part, en régime permanent, on a évidemment :


n v
tf 5 m 5 ,
l

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

(*) par interpolation. On calcule : x 2 5 a D2 / Fth 5 0,57

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 :

On reconnaît un processus de naissance et de mort pour lequel ln = l (n = 0, 1, 2, c) et


mn = n·m (n = 1, 2, 3, c) .
© Dunod – Toute reproduction non autorisée est un délit.

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

Calculons p *0 en écrivant que : a p *n = 1. D’où :


`

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

Un service de sept personnes permet d’obtenir environ 99 % de services immédiats (sans


attente) ; on est certain de réaliser un tel service pour n = 8 (il va de soi que p *9 n’est nul ici
que parce que nous n’avons retenu que deux décimales dans nos calculs).

2) Si l’on trouve la solution précédente coûteuse, il faut revenir à un bilan de l’opération


l
lorsque S est compris entre 4 et 8 ( S > 4 car m 5 3 ) .

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 10฀3
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

Le nombre optimal de stations (et aussi de serveurs) est de six.

516
solutions des exercices du chapitre 7

7.3 1) Voici le schéma de ce système :

On le modélise par le processus de Markov ci-dessous (on a posé : m = m1 + m2).

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

En appliquant le théorème des coupes on montre aisément que :


n22
l
p *n 5 a m b # p *2 , où n > 3. (1)

Avec la coupe {E0, E01, E10}, il vient :


m # p *2 5 l # ( p *01 1 p *10 ) (2)
Avec la coupe {E0}, on retrouve :
l # p *0 5 m 1 # p *01 1 m 2 # p *10 (3)
En outre avec la coupe {E01}, on retrouve :
l
( l 1 m 1 ) # p *01 5# p *0 1 m 2 # p *2 (4)
2
Le système de trois équations : (2), (3) et (4), permet d’exprimer p *0, p *01 et p *02 en
fonction de p *2 soit :
p *0 5 a # p *2 , p *01 5 b # p *2 , p *10 5 g # p *2 .
2m1 m2 m2 m1
On trouve a 5 ; b 5 ; g 5
l 2 l l

518
solutions des exercices du chapitre 7

Puisque (1) permet d’exprimer p *n en fonction de p *2 on peut alors obtenir p *2 en écri-


vant que la somme des probabilités des états égale 1 :

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

Le nombre moyen de clients présents dans le système est :


n 5 0 # p *0 1 1 # ( p *01 1 p *10 ) 1 2 # p *2 1 3 # p *3 1 c

m m l l2
5 p*2 # £ b 1 g 2 1 ° 1 1 2 # m 1 3 # 2 1 c¢ §
l l m

On reconnaît dans la parenthèse la série dérivée de la série géométrique ; convergente


l 1
pour m , 1, elle a alors pour somme : .
( 1 2 l /m ) 2

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

360l 4 720l 5 720l 3


p *4 5 p *0 ; p *5 5 p *0 ; p *6 5 p *0 .
8m 4 16m 5 36m 6

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 :

Un calcul analogue fournit : m ( 3 ) 5 3, 381.


avec 4 mécaniciens, puis 5, puis 6 :
On trouve : m ( 4 ) 5 3,563 ; m ( 5 ) 5 3,597 ; m ( 6 ) 5 3,600
On remarque que le nombre moyen de machines opérationnelles croît sensiblement (+20 %)
quand on passe de deux à trois mécaniciens : il s’améliore encore (de +5 %) si l’on passe
de trois à quatre mécaniciens. Au-delà, les améliorations sont marginales. Pour optimiser le
nombre de mécaniciens il faudrait connaître le manque à gagner horaire provoqué par une
machine en panne ainsi que le coût horaire (salaire + charges) d’un mécanicien.

7.5 1) l = 3 arrivées/h ; m = 4 consultations/h.


En supposant la salle d’attente sufisamment vaste, on peut modéliser ce cabinet médical par
n
l 3 l
une ile M/M/1. Alors tf 5 5 d’heure et p *n 5 a m b # p *0 ; d’où :
m (m 2 l ) 4
p *0 5 0,25 ; p *1 5 0,19 ; p *2 5 0,14 ;
p *3 5 0,11 ; p *4 5 0,08 ; p *5 5 0,06.
l 2 (m 2 l ) t
2) P 3 Tf . t 4 5 e .

520
solutions des exercices du chapitre 7

Pour t = 1 heure, cette probabilité vaut 0,276 ;


pour t = 2 heures, elle vaut 0,101 : 10 % des patients attendent en moyenne plus de deux
heures : c’est énorme. Ils méritent bien d’être appelés « patients » !
60
3) a) Alors lr 5 5 2,4 arrivées par heure, m étant inchangé ; trf 5 22,5 minutes :
25
l’attente moyenne est moitié moindre... mais le médecin reçoit moins de patients ; d’ailleurs
la probabilité qu’il soit inoccupé passe de p *0 5 0, 25 à p 0r* 5 0,4 ; autrement dit il n’est plus
occupé que 36 minutes par heure (au lieu de 45) et un patient arrivant aura une attente nulle
avec la probabilité 0,4.

lr
b) En résolvant m e 2 (m 2 lr)t 5 0,1, on trouve t = 68 mn. : irréaliste.

4) a) On a alors une ile M/M/2 :

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

Pour S = 2 et t = 1 heure, il vient :


3 9 9
P 3 T f . 0 4 5 8 a1 2 b 5
8 220 44
9
et P 3 T f . 1 4 5 # e 2 5 5 0,0014 : probabilité négligeable.
44
m /l s 1
b) l s 5 6 arrivées par heure ; p *0 5 5
7
cm /l s 1 1/ ( 1 2 l s/2m ) d
2
6 1
ts f 5 a b # 1 5 9 h , soit 19,29 mn .
4 16 ( 1/4 ) 2 7 28

La probabilité d’attendre plus d’une heure est alors :


6 9
P 3 T f . 1 4 5 P 3 T f . 0 4 # e 2 2 5 8a1 2 b # # e 2 2 5 0,087.
8 28
1
c) On veut réaliser tf < d’heure. On va chercher l pour qu’il en soit ainsi.
6
On sait que pour l = 3, on a : tf 5 3, 27 mn et que pour l = 6, on a tf 5 19,29 mn.
4/5 3
Essayons l = 5, il vient : p *0 5 5 et :
3 4/5 1 8/3 4 13
2
5
tf 5 a b #
1
# 3 5 25 , 1 car tf 5 l (9,62 mn).
4 16 ( 3/8 ) 13
2 156 6
Les deux médecins recevront alors 5 patients en moyenne par heure.
La probabilité d’attendre plus d’une heure est alors :

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)

On reconnaît un processus de naissance et de mort avec : lk = l (pour k = 0, 1, 2, c) et


m1 = m2 = m, mais mk = 2m pour k = 3, 4, 5, c

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.

d’états et son graphe est fortement connexe.


l 0 # l 1 # l 2 # c # l k 21 l
k
*
2) p k 5 # p 0 5 a m b # p *0
*
m 1 # m 2 # m 3 # c# m k
La somme des probabilités des états est égale à 1 :
6
l
5 1 2 am b
l l
p *0 # c1 1 m 1 a m b d 5 1 , soit p *0 : 5 1 # ( s i l Z m) .
l
12
m

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 .

D’où : p *0 5 0,271 et U 5 1 2 p *0 5 0,729.


Le temps moyen d’U.C. perdu par heure est 0,271 3 1 h, soit 16mn 16s par heure.
Le déchet : r 5 1440 # p *5 (en effet il arrive 24 3 60 = 1 440 jobs par heure refusés dans
la proportion égale à p *5), soit r 5 127 jobs refusés par heure, en moyenne.
Notons que l ( 1 2 p *5 ) est le taux de jobs acceptés dans le système ; m est le débit maximal
du système et m # U est le débit réel du système (U étant la probabilité que l’U.C. soit active).
En régime permanent le taux des entrées dans le système, soit l ( 1 2 p *5 ) est égal au taux des
sorties du système, soit U # m.
On peut vériier algébriquement la relation l ( 1 2 p *5 ) 5 m # U comme suit :
l
Posons a 5 m , ceci revient à vériier que :

l 5#
12a 12a
m C1 2 a 6
S 012 .
12a 1 2 a6

Soit a 3 ( 1 2 a 6 ) 2 ( a 5 2 a 6 ) 4 0 3 1 2 a 6 2 ( 1 2 a ) 4 : cette égalité est vériiée


puisque chaque membre est égal à α – α6.
4) a) Si l’on double la mémoire de réserve, on peut modéliser le système par la ile
M/M/1/9 ; les dix états sont : Ek (k = 0, 1, c, 9), Ek étant associé à k jobs présents dans le
système.
1 2 l /m
Alors p *0 5 5 0,224 ; le déchet devient : rr1 5 1440 # p *9 5 43,3 jobs
1 2 ( l /m ) 10
refusés par heure ; l’utilisation du processeur est alors Ur1 5 1 2 p *0 5 0,776.

b) On a la ile M/M/2/6 : le graphe simpliié du processus de naissance et de mort associé est


le suivant :

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

p *1 5 0,3437 , p *0 5 0,4296 et p *6 5 0,0035 .


Le déchet est rr2 5 1440 # p *6 . 5 jobs/h.
L’utilisation des processeurs est :
Ur2 5 0 # p *0 1 1 # p *1 1 2 ( p *2 1 c1 p *6 ) 5 p *1 1 2 ( 1 2 p *0 2 p *1 ) , soit Ur2 5 0,7971.
Le déchet est nettement plus faible avec cette seconde architecture ; mais elle est plus
chère que la précédente.
Ur2 est voisin de Ur1, car la charge globale de travail est voisine dans chacun des deux
cas.
5) a) On a la ile M/M/2/10.

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

p *1 5 0,3429 , p *0 5 0,4286 et p *10 5 0,00009 ;


le déchet rs est très faible : rs 5 0,13 jobs/h .
L’utilisation des processeurs est Us 5 p *1 1 2 ( 1 2 p *0 2 p *1 ) 5 0,7999 : valeur très
voisine de 0,8 : la valeur maximale.
b) En effet, avec une mémoire illimitée, on a la ile M/M/2 (/∞) qui admet un régime per-
l l
manent si , 1 (vériié ici, car 5 0,4). Alors le déchet est nul : rt 5 0. On obtient :
2m 2m

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

SOLUTIONS DES EXERCICES DU CHAPITRE 8

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)

0,125x 1 1 0,125x 2 < 5 x1 1 x2 < 40 (2)

g 17,5x 1 1 10x 2 < 595 soit


so g 7x 1 1 4x 2 < 238 (3)

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

2) Le brasseur n’aura plus que 2,5 kg de houblon ; la seconde contrainte devient :


x1 1 x2 < 20 ; le nouvel optimum est x1 5 0 et x2 5 20 et Z 5 2 300 €.
D’où un manque à gagner de 4 000 2 2 300 5 1 700 € ; pour le compenser le brasseur A
devrait vendre 2,5 kg de houblon pour 1 700 €, soit 680 € par kg : prohibitif !

8.2 1) Le programme linéaire consiste à maximiser :


Z 5 4x1 1 5x2 1 6x3
sous les contraintes :
x1 < 200 (1)
x2 < 500 (2)
x3 < 300 (3)
1 1 1
x1 1 x3 < 10
x2 1 (4)
80 90 100
1,8x1 + 2x2 + 2,2x3 < 1800 (5)
x1, x2, x3 > 0
si x1, x2 et x3 sont les quantités à extraire des tailles t1, t2 et t3.
On multiplie chaque membre de (4) par 3 600, et de (5) par 5 pour chasser les dénomina-
teurs et les nombres fractionnaires.
Avec les variables d’écart convenables, on a alors :
x1 1 x4 5 200

x2 1 x5 5 500

x3 1 x6 5 300

45x1 1 40x2 1 36x3 1 x7 5 36 000

9x1 1 10x2 1 11x3 1 x8 5 9 000


d’où la solution obtenue en trois itérations (qu’on pourra suivre sur le polyèdre, cf deux pages
plus loin) :
(0)
ci i 1 2 3 4 5 6 7 8 �i
0 4 1 0 0 1 0 0 0 0 200
0 5 0 1 0 0 1 0 0 0 500
s
(0) 0 6 0 0 1 0 0 1 0 0 300
0 7 45 40 36 0 0 0 1 0 36 000
0 8 9 10 11 0 0 0 0 1 9 000
4 5 6
Sommet O 4 5 6 0 0 0 0 0 Z �0

e


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

0 77,78 200 187,13 200 200


B 500 C 500 D 390 E 500 F 472,5 G 500
300 300 300 210,52 225 194,44

On suit avec facilité la progression de sommet en sommet du polyèdre des contraintes.


Les tableaux 0, 1, 2 et 3 correspondent respectivement aux sommets Ο, A, B et C.
2) Dans le tableau optimal (3), on remplace c1 5 4 par : 4(1 1 l).

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

Conclusions Solution antérieure La colonne 5 entre La colonne 6


dans la base entre dans la
base (*)

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 Z4 250800
© 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, 64748,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 Z4 512, 5800
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

Étant donné le tableau ci-après :


x1 x2 x3
y1 1 0 0 200
y2 0 1 0 500
y3 0 0 1  300
y4 45 40 36 36 000
y5 9 10 11 9 000


4 5 6

On écrit immédiatement le programme dual :


y1 1 45y4 1 9y5 > 4
y2 1 40y4 1 10y5 > 5
d y3 1 36y4 1 11y5 > 6
3 min 4 Zr 5 200y1 1 500y2 1 300y3 1 36 000y4 1 9 000y5.

Pour nous ramener à une maximisation, nous multiplions par 21 la fonctionnelle Zr :


2Zr 5 2200y1 2 500y2 2 300y3 2 36 000y4 2 9 000y5.
L’introduction des variables d’écart, pour ramener les contraintes à des égalités, fournit :
y1 1 45y4 1 9y5 2 y1 5 4
y2 1 40y4 1 10y5 2 y2 5 5
d
y3 1 36y4 1 11y5 2 y3 5 6
2200y1 2 500y2 2 300y3 2 36 000y4 2 9 000y5 1 0y1 1 0y2 1 0y3 5 2Zr 3 max 4
Pour résoudre le programme dual, il serait maladroit (et long !) d’introduire trois variables
artiicielles (après celle des variables d’écart).
En effet, on remarque que les trois variables y1, y2 et y3 forment une base évidente (de
matrice B 5 I ). Pour dresser le tableau associé à cette base, il sufit d’exprimer 2Zr en fonc-
tion des variables qui sont alors hors-base, soit y 4, y 5, y 1, y 2, y 3 ; il vient :
2Zr 5 25 100 1 3 800y4 1 1 100y5.
© Dunod – Toute reproduction non autorisée est un délit.

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

�j � 0 0 0 3 800 1 100 �200 �500 �300 �


�Z ��5

e

� � 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

1 100 700 41 500



�j �
9
0 0 �1 700 0 �
9
�500 �300 �
�Z � �
9

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

Le tableau ci-dessous conduit à la discussion en fonction de la valeur de m :


1 17 7
1   0  
3 57 33
1 100 3 300
1 ฀    0   
9 9
4 ฀1 700 ฀5 700   0  
700 3 300
1  9
฀฀฀฀      0 
9

3 300 ฀300
฀฀฀฀    
entrée variable y4 car : solution entrée
1 100 3 300
1 7005 700    
9 9 y
71
courante variable 1
pour 
240

La solution du primal appelée «courante» étant :


700 3 300
x1 5 2 Dr1 5 m 2
9 9
x2 5 2 Dr2 5 500
x3 5 2 Dr3 5 300 1 300m
1 100
x1 5 2 Dr1 5 2 3 300m
9
x4 5 2 Dr4 5 1 700 1 5 700 m
15
Examinons le premier cas : 2 1 < m < 2 ; après fait entrer y4 en base, il vient :
57
1 2 3 4 5 1 2 3
1 1 1 4
36 000 4 0 0 1  0 0
45 5 45 45
8 8 13
500 2  1 0 0 2 1 0
9 9 9
© Dunod – Toute reproduction non autorisée est un délit.

4 19 4 14
300 300 3  0 1 0 0 1
5 5 5 5

200 500 300300 36 000 9 000 0 0 0

760
 340  1 040
9 300
j 9
0 0 0 500
240 1 140 240 300

535
solutions

Deux sous-cas se présentent alors :


19 17
a) ou bien 2 <m <2 et alors la solution optimale est atteinte, soit :
54 57
1 040 42 860
x1 5 1 1 240m ; x2 5 500 ; x3 5 300 1 300m ; z 5 1 1 840m
9 9
19
b) ou bien m < 2 et il faut alors faire entrer la variable y1 dans la base car on a alors
Dr1 > 0. 54

Cette itération conduit au tableau :


1 2 3 4 5 1 2 3
200 1 1 0 0 45 9 1 0 0 4
500 2 0 1 0 40 10 0 1 0 5

300300µ 3 0 0 1 36 11 0 0 1 6

3 800 1 100 300


j 0 0 0 200 500
10 800 3 300 300

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
300300µ 3 0  1 8 0 0 1
10 10 2

200 500 300300µ 36 000 9 000 0 0 0

70 2 400 570 300


 j 200 0 0 0
330 2 400 330 300

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 

Solution précédente entrée variable y2

La solution appelée « solution précédente » est donc, par dualité :


x 1 5 0 , x 2 5 570 2 330m , x 3 5 300 1 300m , z 5 4 650 1 150m .
57
Si m > :
33
1 2 3 4 5 1 2 3
1 36 1 6
9 000 5 0 0 1 0 0 
11 11 11 11
9 17 9 10
0 1 1 0  0 1 0 
11 11 11 11
10 1 600 10 5
0 2 0 1  0 0 1 
11 99 11 11

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.

On peut regrouper les résultats de la discussion en fonction des valeurs de m dans le


tableau suivant :

537
solutions

7 57
 1 19
 54 ( 31 )  17
57
(0)
33 33


e3 0 194,4 210,5 300 363,7 818,2

x1200 x11 040 240 x1 700  3 300  x10 x10


9 9 9
Sol. x2500 x2500 x2500 x2570330 x20

x3300300 x3300300 x3300300 x3300300 x39 000


11
z5 100  1 800 z 42 860  840 z41 500  3 000  z4 650 150 z 54 000
8 9 9 11

4 467 4 512 (4 611) 4 681 4 909

4) On doit maintenant exécuter un paramétrage d’un coeficient de la matrice et cette


démarche n’est pas toujours aisée, en raison de la nécessité de maintenir la non-négativité des
coeficients du second membre, qui sont les valeurs des variables de base.
Aucun changement dans le calcul du tableau optimal ne se produit avant la troisième ité-
17
ration. De ce fait, le tableau 4 peut s’écrire (primal) si n < :
35
i 1 2 3 1 2 3 4 5 i
10 11 1 1 100
0 1 0 0 0 1 0 
9 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
0 4 0 0 0 0 10 ฀50v 19 ฀55v 1 5 ฀5v 1 700 ฀3 500v
10 11 1 700
4 1 1 0 0 0   0
9 9 9 9

5 10 4
0 0 0 0   0 
9 9 9

et c’est seulement la variable d’écart x 4 qui change de valeur en fonction de celle de v.


17
Au contraire si n > , comme dans le tableau 2 au tout début de ce corrigé, lorsque l’on
35 bi
fait entrer la variable x1, on calcule les quotients a (où e 5 1) :
ie

b1 200 b4 5 200 b5 700


5 5 200 , 5 , 5 ,
a 11 1 a 41 45 ( 1 1 n ) a 51 9
17
si n > , on a :
35
5 200 700
< , 200
45 ( 1 1 n ) 9

538
solutions des exercices du chapitre 8

et c’est donc la variable x 4 qui sort de la base. De ce fait, on obtient :


i
8 4 ฀1 760  1 800v
0 1 0 0 0 1 0
9(1 ฀v) 5(1 ฀v) 45(1 ฀v) 9(1 ฀v)
5 2 0 1 0 0 1 0 0 0 500
6 3 0 0 1 0 0 1 0 0 300
฀8 ฀4 1 1 040
4 1 1 0 0 0 0
9(1 ฀v) 5(1 ฀v) 45 1 ฀v)
( 9(1 ฀v)
฀210v ฀19  55v ฀1 700v  340
0 5 0 0 0 0 1
1 ฀v 5(1 ฀v) 5(1 ฀v) 1 ฀v

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)

Les points J,P,E,C,L,N


jalonnent les variations de 
© Dunod – Toute reproduction non autorisée est un délit.

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

où a j désigne le vecteur-colonne extrait de la matrice a.


Ainsi :
1

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

coeficient de chacune dans Ζ est nul, il vient : cB 5 3 0, 0, 0, 0 4 et, ainsi, DN 5 cN


( 4 ) (5) ( 6 ) ( 7 )
ici, c’est-à-dire que Dj 5 cj ( j 5 1, 2, 3, 4 ) . Numériquement : DN 5 3 5, 4, 3, 1 4
(1) (2) (3) (4)
d’où l’on déduit, d’après le premier critère de Dantzig, que la colonne a1 (cf la variable x1)

doit entrer dans la base.

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

En fonction de la nouvelle base, la nouvelle expression de n 5 B # α s’écrit :


1 1 1 0 1 1 0 a 52 a 53 a 54 a 56

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

(2) (3) (4) (6) (5) (1) (7)


puisque la matrice de la nouvelle base est B 5 (a5, a1, a7).

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

La matrice des cofacteurs est : D 21 1 22 T; la matrice transposée des cofacteurs :

0 0 3
3 21 0

D0 1 0 T; le déterminant de B ayant la valeur 3, on a :


21
0 22 3 1 1 0 3 21 0 1 2 1/3 0
1
D0 3 0T 5 # D0 1 0T 5 D0 1/3 0 T
3
0 2 1 0 22 3 0 2 2/3 1

En multipliant, à gauche, chaque membre de la relation n 5 B # a ci-dessus, par B21, il


vient :

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

puis, en posant zj 5 a ci # a ij (ou Ai est une colonne de base) :


10 5 5
3 z2 z3 z4 z6 4 5 3 z5 z1 z7 4 # a 5 3 0 5 0 4 # a 5 C 5 S;
3 3 3
d’où l’on tire :
2 2 5
D2 5 c2 2 z 2 5 ; D3 5 c3 2 z 3 5 22 ; D4 5 c4 2 z 4 5 2 ; D6 5 c6 2 z 6 5 2 ;
3 3 3
la seule valeur positive étant D2, on fera entrer A2 dans la base. On calcule alors :
b5 31/3 b1 5/3 5 b7 11/3
a 52 5 5 31 ; a 5 5 ; a 5 5 211 ,
1/3 12 2/3 2 72 21/3
d’où le choix de a1 comme colonne sortante.
Les nouvelles coordonnées de b sont (« vecteur » second membre) :
5 19 9
b 2r 5 ; br5 5 ; br7 5 .
2 2 2
En fonction de la nouvelle base, on peut poser :

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) (4) (6) (2) (5) (7)


puis après calcul de la matrice inverse :

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).

�y1 �y2 �y3 �y4


Variables duales �y4 �y5 �y6 �y7 y1 y2 y3
Variables primales x1 x2 x3 x4 x5 x6 x7
x1 x2 x3
Solutions du dual
1 0 3 1 0 2 0
(�j du primal au signe près)
Solutions du primal 5 19 9
0 0 0 0
(��i du dual au signe près) 2 2 2

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.

8.4 1) Les équations et inéquations exprimant ce problème s’écrivent :

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

12x 1 1 36x 2 1 10x 3 5 z 3 min 4

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

2) La deuxième question est relative au système :


x1 1 x2 1 x3 5 v (1)

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

8.6 1) On a laissé implicite la non-négativité de x1, x2 et x3 (qui sera vériiée a posteriori).


Pour l’élimination de x1, on isole x1 dans le membre de gauche de toute inégalité :
x1 > 23 1 3 2 3 ( 1r )
x2 x3
5 4
x1 < 6 2 2x2 1 3x3 (2 r )
x1 < 4 2 2x2 2 4 (3 r )
x3
3
x1 > 23 2 3 1 3 ( 4r )
x2 x3
4 20
x1 > 1 2 1 1 1 ( 5r )
x2 x3
2 5
x1 > 7 2 7 2 7x3 ( 6r )
x2
6
et l’on voit que ( 3 r ) entraîne ( 2 r ) , car :
4 4 13
x 1 < £4 2 2x 2 2 x 3§ , £4 2 2x 2 2 x 3§ 1 a2 1 x 3 b 5 6 2 2x 2 1 3x 3 ;
3 3 3
13
l’inéquation stricte , est vraie car x 3 > 0 et donc a2 1 x 3 b est positif.
3
Pour éliminer x1 on écrit que chacun de ses majorants (cf 2ʹ et 3ʹ) est supérieur à chacun de
ses minorants.
2) Lorsque l’on a supprimé ( 2 r ) , on peut écrire que le second membre de ( 3 r ) , borne supé-
rieure de x1 , est supérieur ou égal au second membre des inégalités ( 1r ) , ( 4r ) , ( 5r ) et ( 6r ) .
Ainsi x1 est « éliminé » :
3 3 4
23 1 x2 2 x 3 < 4 2 2x 2 2 x3
5 4 3
3 3 4
23 2 x2 1 x 3 < 4 2 2x 2 2 x3
4 20 3
g 1 1 4
1 2 x2 1 x 3 < 4 2 2x 2 2 x3
2 5 3
7 4
7 2 x 2 2 7x 3 < 4 2 2x 2 2 x3 ,
6 3

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é :

Plan de coupe « Chute » ou perte Longueur découpée


j (en cm) selon ce plan
1 AA 25 x1
2 AB 36 x2
3 ACC 0 x3
4 BB 47 x4
5 BCC 11 x5
6 CCC 35 x6

On a noté xj, la longueur de rouleau découpée suivant le plan de coupe j.


2x1 1 x2 1 x3 > 180 (A)
x2 1 2x4 1 x5 > 90 (B)
e 2x3 1 2x5 1 3x6 > 90 (C)
x1 , x2 , x3 , x4 , x5 , x6 > 0
min 25x1 1 36x2 1 0x3 1 47x4 1 11x5 1 35x6 5 z (« coût ») ;
On peut satisfaire (A) à coût nul, en prenant x3 5 180 ; alors (C) est satisfaite. Le « moins
cher » pour satisfaire (B) est de prendre x5 5 90, car x5 a le plus petit coût parmi les variables
igurant dans B. Dans la suite on retranche une variable d’écart à chacune des trois contraintes
ci-dessus : x 1 dans (A), x 2 dans (B) et x 3 dans (C).

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

Z r 5 2990 1 ( 3 225, 236, 247, 235, 0, 0 4 1 3 0, 11, 22, 0, 0, 211 4) # xN , soit :


Zr 5 2990 2 25x1 2 25x2 2 25x4 2 35x6 ) 1 0x1 2 11x2.
Le tableau associé est le suivant :
ci i 1 2 3 4 5 6 1 2 3
0 x3 2 1 1 0 0 0 1 0 0 180
11 x5 0 1 0 2 1 0 0 1 0 90
0 x
3
4 4 0 4 0 3 2 2 1 270

25 25 0 25 0 35 0 11 0


c
e

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

On pourrait aussi calculer B21 en résolvant le système littéral de 3 équations à 3


inconnues :
x a x 2 y 5 a
B # £ y S 5 C b S soit c x 1 3y 1 z 5 b
z c 7x 1 2z 5 c
On exprime alors x, y et z en fonction de a, b, c. Or :
x a
Cy S 5 B21 # CbS
z c
Ainsi dans l’expression obtenue de x, y et z, les coeficients sur a, b et c sont ils les coef-
icients de B 21.

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

La solution optimale est :


x1 5 0 , x2 5 0,9 , x3 5 0 , x4 5 0,1 , x5 5 6,8 et Ζ 5 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

Il vient : Z 5 2 a 10n 2 j # x j 2 x n 1 100n 2 1


n21

j51

Ainsi Dj 5 210n 2 j pour j 5 1, 2, c, n 2 1 et Dj 5 21 pour j 5 n.


Les Dj des variables hors base étant négatifs, on est bien à l’optimum de PLn.

558
solutions des exercices du chapitre 9

SOLUTIONS DES EXERCICES DU CHAPITRE 9

9.1 1) Les minimums en ligne sont 3, 27 et 22 ; le maximin est 3 (= a12).


Les maximums en colonne sont 6, 3, 5 et 4 ; le minimax est 3 (= a12).
Ce jeu comporte un point-selle : a12 = 3 (on vériie que cet élément est le plus petit dans
sa ligne et le plus grand dans sa colonne). La valeur du jeu est donc g = 3.
A a intérêt à toujours jouer la ligne du maximin, donc sa stratégie 1.
B a intérêt à toujours jouer la colonne du minimax, donc sa stratégie 2.
2) Le jeu comporte quatre points-selle : a12 = a14 = a32 = a34 = 3. Dans le cas de points-selle
multiples, ceux-ci sont disposés comme les sommets d’un quadrillage. On montre que si
n lignes et m colonnes comportent des points-selle, le tableau comportent m 3 n points-
selle. Le joueur A a intérêt à jouer chaque ligne comportant un point-selle avec la fréquence
1 1 1 1
(ici : ) et B chaque colonne comportant un point-selle avec la fréquence (ici : ) .
m 2 n 2

9.2 1) B On s’aperçoit tout de suite que la troi-


sième colonne correspond à une stratégie
q1 q2 q3
récessive ; en effet en la comparant avec
p1 2 1 3 la première colonne :
A p2 2 3 1 3 . 2 ; 21 . 22 ; 2 . 21.
p3 1 0 2 Par suite q3 = 0.

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.

22q1 1 3q2 < g


Bf
2q1 < g
q1 1 q2 5 1
q1 , q2 > 0
Comme : q1 + q2 = 1, on remplacera q2 par 1 – q1 dans les inéquations précédentes, d’où :
2q1 2 ( 1 2 q1 ) < g 3q1 2 1 < g
2 2q1 1 3 ( 1 2 q1 ) < g 25q1 1 3 < g
Bd 1 d
2 q1 < g 2q1 < g
0 < q1 < 1 0 < q1 < 1

559
solutions

L’objectif de B étant toujours de minimiser g.


Une méthode graphique peut être utilisée avec
avantage (voir igure ci-contre) : en abcisse on a iguré
q1, en ordonnée : g. En grisé on a iguré le domaine
des points non admissibles.
On trace les droites :

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 .

9.3 1) Première méthode de résolution


Écrivons le programme relatif au joueur Β :
2q1 1 3q2 2 2q3 2 q4 < g
2q1 1 5q2 1 4q3 2 2q4 < g B
Syst. I e 2q1 2 5q2 1 3q4 < g q1 q2 q3 q4
q1 1 q2 1 q3 1 q4 5 1 p1 2 3 2 1
q1 , q2 , q3 , q4 > 0 A p2 1 5 4 2
et remplaçons q4 par 1 – q1 – q2 – q3 . On p3 2 5 0 3
obtient :

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.

Pour la résolution, nous omettrons la première contrainte, pour la vériier seulement a


posteriori (en relâchant cette contrainte, on pourrait avoir à l’optimum q1 1 q2 1 q3 . 1, ce
qui impliquerait que q4 serait... négatif ; comme nous le verrons ce n’est pas le cas ici, avec
le tableau du jeu ci-dessus).
Ajoutons les variables d’écart q5, q6 et q7, non-négatives ; il vient :
3q1 1 4q2 2 q3 1 q5 2 1 5 g
c q1 1 7q2 1 6q3 1 q6 2 2 5 g
2q1 2 8q2 2 3q3 1 q7 1 3 5 g
d’où, en soustrayant la dernière équation des deux premières :

561
solutions

4q1 1 12q2 1 2q3 1 q5 2 q7 2 4 5 0


b
2q1 1 15q2 1 9q3 1 q6 2 q7 2 5 5 0.

On aura donc à résoudre le programme linéaire :


4q1 1 12q2 1 2q3 1 q5 2 q7 5 4
c 2q1 1 15q2 1 9q3 1 q6 2 q7 5 5
3
min 2q1 2 8q2 2 3q3 1 q7 4 5 g23
Il revient au même de chercher le maximum de Ζ = [q1 + 8q2 + 3q3 – q7] sous les mêmes
contraintes, qui est l’opposé de g – 3.
La méthode des tableaux donne (notez l’absence d’une colonne 4 : q4 a été substituée) :

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

Pour obtenir les valeurs de p1, p2 et p3, on pourrait résoudre le programme :


1
2p1 2 p2 1 2p3 >
3
1
3p1 1 5p2 2 5p3 >
3
1
Syst. II i22p1 1 4p2 >
3
1
2p1 2 2p2 1 3p3 >
3
p1 1 p2 1 p3 5 1
p1 , p2 , p3 > 0.

On pourrait aussi se servir du fait que q1 et q3 sont nuls, d’où la simpliication :


1
3p1 1 5p2 2 5p3 >
3
1
e 2p1 2 2p2 1 3p3 > 3
p1 1 p2 1 p3 5 1
p1 , p2 , p3 > 0.

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 Z3

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

Pour bien comprendre ce qui se


passe, considérons le triangle PQR
représentant la partie utile du plan
p1 1 p2 1 p3 5 1, car c’est dans cette
partie du plan que se trouvent toutes
les solutions.
1
La trace du plan 2p1 2 p2 1 2p3 5
3
sur le plan PQR est CD. Comme il
limite le demi-espace fermé situé du
côté opposé à l’origine par rapport à ce
plan, la partie convenable de PQR est
désormais située à gauche de CD.
La trace du plan vertical
1
22p1 1 4p2 5 sur le plan PQR est
3
EF et la partie utile du triangle est à
droite de EF.
1 1
Les traces des plans 3p1 1 5p2 2 5p3 5 et 2p1 2 2p2 1 3p3 5 sont confondues et
constituées par le segment AB. 3 3
Du fait que l’un des demi-espaces fermés permis serait vers le haut et l’autre vers le
bas, les solutions sont sur AB, dont la partie à retenir, compte tenu des limitations apportées
ci-dessus, est le segment AG.
8 7
Il n’y a donc que deux solutions de base : l’une au point A ap1 5 0 ; p2 5 ; p3 5 b,
15 15
9 10 31
l’autre au point G ap1 5 ; p2 5 ; p3 5 b.
26 39 78
Les coordonnées de tous les points de l’arête AG (fermeture convexe des sommets A et G)
satisfont aux relations du système II. Posons u > 0, v > 0 avec u 1 v 5 1
9 8 10 7 31
La solution générale est : p1 5 0u 1 v, p2 5 u1 v, p3 5 u1 v.
26 15 39 15 78

564
solutions des exercices du chapitre 9

2) Deuxième méthode de résolution


On peut aussi résoudre, par la méthode de division par la valeur du jeu (après s’être
ramené à un jeu à valeur positive gr). L’avantage en est que les deux programmes linéaires
associés aux joueurs A et Β sont en dualité : on transforme le problème en ajoutant 5 à tous
les éléments de la matrice du jeu, ain d’être certain d’avoir une valeur de jeu modiié, gr,
qui soit positive :
gr 5 g 1 5 . 0.
1
On cherche alors max 5 qr1 1 qr2 1 qr3 1 qr4 : après avoir divisé tous les éléments des
gr
lignes par gr, de sorte que, quel que soit i :
qi
qri 5 .
gr
B
7qr1 1 8qr2 1 3qr3 1 4qr4 < 1 7 8 3 4
4qr1 1 10qr2 1 9qr3 1 3qr4 < 1 A 4 10 9 3
Syst. I f
7qr1 1 5qr3 1 8qr4 < 1 7 0 5 8
1 jeu modiié
Z r 5 qr1 1 qr2 1 qr3 1 qr4 5 3 max 4
gr arij 5 aij 1 5

D’où après ajout des variables d’écart qr5, qr6 et qr7 :

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.

On obtient après une itération :

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 *

3/5 0 1/10 7/10 0 1/10 0 Z 1/10



e

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/80 0 27/80 0 0 1/10 7/80 Z


3
16 g 163 
Comme pour la méthode utilisée plus haut, on tombe sur une dégénérescence de deuxième
1 7
espèce. Par dualité il vient : pr1 5 2D5 r 5 0 ; pr2 5 2D6 r 5 ; pr3 5 2D7 r 5 . Or :
10 80
pi 16 1
pri 5 , d’où : pi 5 gr # pri et : pi 5 0 , p2 5 # 5 8 , p3 5 16 # 7 5 7 .
gr 3 10 15 3 80 15
En faisant sortir de la base la variable 5r (au lieu de 7r) dans le tableau obtenu après une
itération, il vient :

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

car p1 5 gr # ( 2D5 ) , p2 5 gr # ( 2D6 ) et p3 5 gr # ( 2D7 ) , par dualité.

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

A inférieure 6 du type potentiel 115


supérieure 6 convexe 307
absorbant 195 boucle(s) 6, 61 corps d’ensembles 10
absorption 7, 15 Busacker 136 coupe 132
accessibilité 81 Busacker-Gowen 137 minimale 134
actualisation 102 coupes (théorème des –)
affectation 139 C 204
algèbre de Boole 9 courbes « en baignoire »
algorithme(s) capacité 128
234
approché 52 résiduelle 130
coûts de substitution 164
de Bellman 113 chaîne 5, 61
Cramer 327, 340
de colonies de fourmis chaîne améliorante 130
critère 421
415 Chapman-Kolmogorov
critère de Dantzig 315
de Dijkstra 111 190, 198, 201
cycle 62
de Ford 111 chemin(s) 5, 61
de Kruskal 146 critique 119 D
de Prim 148 de valeur minimale 105
de Sollin 147 hamiltonien 64 Dantzig (critère de –) 314
du recuit simulé 406 circuit hamiltonien 64, 163 dégénérescence 321, 322
génétiques 412 classe(s) dépiler 86
anneau abélien 21 d’états transitoires 193 descendants 66
antisymétrique 2 périodique 194 Dijkstra (algorithme de –)
apériodique 197 récurrentes 193 111
approvisionnements 239 clauses 50 diagramme de Hasse 5
arborescence 62, 73, 145 co-circuit 139 différence symétrique 10
arbre 62, 145 commutativité 7 Discordance 432
de valeur minimale 146 complémenté 8 disponibilité asymptotique
arc arrière 97 complet 62 D* 255
associativité 7 complexité diversiication 410
atomes 10 dans le cas moyen 46 dominance 380, 383, 425
avarie dans le meilleur des cas dual 334
probabilité d’– 230, 239 46 dualité 342, 377
taux d’– 234 dans le pire des cas 46 durée de vie moyenne 231,
composantes 62 232
B
connexes 62 E
Balas-Hammer 157 fortement connexes 68
base 326 Concordance 430 échantillonnage préférentiel
Bellman 113 connexe 62 397
bin packing 169 connexité 77 échéancier 386
Bland 314 conservation 277 Egervary 142
Boole constituant premier 22 élément
algèbre de 9 contraintes 297 maximal 6
treillis de 9 du type cumulatif 115 minimal 6
borne du type disjonctif 115 élémentaire 61
Index

empiler 86 normale 381 L


entrée 66 standard 307, 324
entretien préventif 244 formules de Little 277 linéaire 297
énumération implicite 33 fortement Little (formules de –) 277
équivalence 3 ergodique 195, 203 lognormale 248
ergodicité 202 loi
ergodique 195 G de Kirchhoff 128
Espace des décisions 423 de Poisson 238
espace d’états 188 garantie de performance de Rayleigh-Maxwell
état(s) 169 235
accessible 192 générateur ininitésimal de survie 233
communicants 192 199 de Weibull 235
Euler-Venn 11 génération de colonnes 355 exponentielle 211
évaluation 170 Gomory 352 longueur 61
événements 116 troncatures de – 355
Gowen 136 M
F graphe
majorant 7
d’écart 135
Faure et Malgrange 163 marge libre 127
méthode booléenne 31 d’état 385
marges 116, 127
fermeture transitive 65 groupe abélien 21
marge totale 127
iabilité 229 H matrice
de montages série- stochastique 189
parallèle 252 Hasse (diagramme de –) 5 matrice d’adjacence 62
des systèmes réparables hauteur(x) 91 maximin 372
257 heuristiques 401 maximum 6
d’un système en parallèle heuristiques « gourmandes » maxterme 16
251 156 MDT (Mean Down Time)
d’un système en série homogène 189 256
251 Howard (méthode de –) métaheuristiques 55, 401
ile(s) 82 261 méthode(s)
d’attente 187, 270
booléenne de Faure et
M/M/1 272 I Malgrange 31
M/M/S 278
de Howard 261
lot 128 idempotence 7
maximale à coût minimal implication 15 des deux phases 336
134 inclusion 16 des potentiels 122
valeur d’un 128 intensiication 410 de voisinage 55
lux 128 intersection 12 hongroise 141
fonction involutive 11 intérieures 342
caractéristique 19 matricielle 109
d’évaluation 170 J PERT 117
Ford (algorithme de –) 105 révisée 340
jeu à somme nulle 368 minimax 372
Ford et Fulkerson 130
Ford-Fulkerson (théorème K minimum 6
de –) 133 minorant 7
forêt couvrante 73 knapsack 171, 352 minterme 16
forme König 142 monôme premier 22
canonique conjonctive Kruskal (algorithme de –) Morgan 12
16 146 mortalité relative 230
canonique disjonctive 17 Kuhn 142 MPM 122

570
Index

MTBF (Mean Time Prim (algorithme de –) 148 réduction de variance 397


Between Failure) Principe de concordance référentiel 11
235, 256 430 rélexive 3
MTFF 234 Principe de non discordance regrets 164
MTTF 235 430 relation 1
multicritère à la décision probabilité(s) binaire 1
419 d’avarie 230, 239 d’exclusion 350
MUT (Mean Up Time) 256 de consommation 237 relation de surclassement
des états 200 429
N de transition 189 réseau de transport 128
niveau d’aspiration 410 problème Roy 136, 163
nombre de stabilité 102 de décision 48
d’optimisation 48 S
noyau de synchronisation
386 processus sac à dos 170, 171
NP-complets 50 D.H. (décision-hasard) satisiabilité 50
NP-dificile 51 218 saturés 130
de mort 212 SEP 163
O de naissance 208 séparation 171
de naissance et de mort serveur 270
ordonnancement 114 213 SES 163
ordre 4 markovien 188 simple 61
ordre topologique 113 sans mémoire 188 simplexe 306
ou exclusif 12 stochastique 187, 188 simulation
P produit logique 19 à événements discrets
programmation dynamique 385
parcours 99 analogique 385
d’un graphe 70 stochastique 216 numérique 385
en largeur 71, 82 programme(s) Sollin (algorithme de –)
en profondeur 71 de transport 149 147
partiel 5 dual 342 solution
partitionnement 353 primal 342 admissible 33, 328
périodicité 196 propriété « sans mémoire » de base 151, 327
PERT 117 198 somme
pièce(s) pseudo-aléatoires 387 disjonctive 10
de fatigue 250 pseudo-critère 422 logique 20
d’usure 250 puits 128 somme pondérée 427
pile 86 sommets d’articulation 91
pivot 314, 316 Q sortie 66
© Dunod – Toute reproduction non autorisée est un délit.

point source 128


quotient 3
d’équilibre 372 sous-chaînes 192
selle 369 R sous déterminé 325
points d’aspiration 438 sous-stratégie 218
Poisson 209 racine(s) 78, 145 stable 102
loi de – 238 rang 325 station 270
polyèdre 305 Rayleigh-Maxwell stepping-stone 159
convexe 305 (loi de –) 235 stratégie(s) 367
polytope 305 récessive 380 de remplacement 259
postvisite 71, 79 recherche tabou 55, 408 « gourmande » 149
préordre 3 recouvrement 352 mixte 372, 373
prévisite 71, 79 recuit simulé 55, 404 pures 368

571
Index

symétrique 2 de Ford-Fulkerson 130 variable(s)


système(s) des coupes 204 artiicielle(s) 335, 336
d’attente 271 total 5 de base 308, 326
réparables 254 transitive 3 d’écart 325
treillis 7 hors-base 308, 326
T de Boole 9 voisinage 403
tâches 114 troncatures voyageur de commerce 163
ictives 119, 120 de Gomory 355
W
taille de la donnée 44 V
taux Weibull (loi de) 235
d’avarie 234 valeur
théorème du jeu 369, 376

572

Vous aimerez peut-être aussi