Вы находитесь на странице: 1из 56

Fascicule du cours

Recherche Oprationnelle

Hanen Bouchriha

Hanen Bouchriha

Cours de recherche oprationnelle


Introduction la programmation linaire

Chapitre 1
Introduction la programmation linaire
1. Introduction
La programmation mathmatique est une technique de la Recherche Oprationnelle (RO). Il
est ainsi bon de prciser dabord, mme en peu de mots, ce quon entend par la RO. Il sagit
dune discipline carrefour o se rencontrent aujourdhui lconomie, les mathmatiques et
linformatique. Elle reprsente une dmarche scientifique permettant de prendre
rationnellement les bonnes dcisions engager dans une situation donne. Ce qui revient
construire un modle de la ralit, de dterminer la dcision permettant doptimiser
(minimiser ou maximiser) une certaine fonction conomique , en prsence de
contraintes multiples.
La programmation mathmatique est la technique de la (RO) base sur des modles
mathmatiques. Elle met en jeu : (1) une fonction objectif, (2) des variables de dcision
dterminer et (3) des contraintes respecter. La programmation linaire constitue la branche
de la programmation mathmatique pour laquelle toutes les fonctions du modle (fonction
objectif et contraintes) sont linaires.

2. Exemple de Formulation de Programme Linaire (PL)


Lentreprise VITRE SAR SA. Fabrique des vitres de haute qualit pour portes et fentres.
Lentreprise souhaite lancer deux nouveaux produits :
- Le produit 1 requiert des ressources dans latelier 1 et 3
- Le produit 2 requiert des ressources dans latelier 2 et 3.
Dans latelier 1, il sagit de construire des cadres en aluminium pour portes. Dans latelier 2, il
sagit de construire des cadres en bois pour fentres. Lassemblage des vitres sur les cadres se
fait dans latelier 3 (voir figure 1).

Hanen Bouchriha

Cours de recherche oprationnelle


Introduction la programmation linaire

Cadre aluminium
pour porte

Atelier 1

Cadre en bois
pour fentre

Assemblage
Vitre & cadre

Atelier 3

Atelier 2

Ressource
partage

Figure 1. Ateliers de la compagnie VITRE SAR SA.


Les deux types de produits sont fabriqus en lots de 20 units.

Les responsables de cette entreprise se posent aujourdhui la question suivante : Quel serait le
mix de produits 1 et 2 le plus profitable raliser dans latelier 3 ?
Afin de rpondre cette question, il faut disposer des donnes suivantes :
Le nombre dheures de production disponibles par semaine dans chaque atelier ; ce
temps a t dtermin en tenant compte du temps dj allou aux autres produits.
Le nombre dheures de production ncessaires pour fabriquer un lot de produit donn
dans chaque atelier.
Le profit ralis par la compagnie pour chaque lot de produit vendu.
Le tableau suivant rapporte lensemble des donnes cites ci-dessus.
Atelier

1
2
3
Profit (TND/lot)

Temps de production
(heures/lot)
1
2
1
0
0
2
3
2
3000
5000

Temps de production disponible


(heures/semaine)
4
12
18

Compte tenu de ces donnes, lentreprise cherche dterminer le nombre de lots raliser par
semaine pour les deux produits 1 et 2 dans lobjectif de maximiser le profit total, en respectant
les restrictions imposes par les capacits limites des machines des 3 ateliers.

Hanen Bouchriha

Cours de recherche oprationnelle


Introduction la programmation linaire

Formulation mathmatique
-

Variables de dcision : elles doivent dcrire les dcisions prendre.

Lentreprise doit dterminer le nombre de lots de produits 1 et de produits 2 produire par


semaine. On dfinit alors :
x1 : le nombre de lots de produits 1 produire par semaine,
x2 : le nombre de lots de produits 2 produire par semaine.
-

Fonction objectif : elle traduit lobjectif de lentreprise. Dune faon gnrale un


responsable veut maximiser le revenu (ou le profit) ou minimiser le cot. Lobjectif
est exprim sous forme dune fonction des variables de dcision, appele fonction
objectif.

Profit hebdomadaire = Revenu hebdomadaire (Service commercial) Cot hebdomadaire


(Service technique)
= 3000 x1 + 5000 x2 (en TND)
= 3 x1 + 5 x2 (en MTND)
Remarque : Dans les PL, on retrouve les proprits dadditivit et de proportionnalit mais
pas celles concernant lconomie dchelle.
-

Contraintes : si lentreprise est libre de choisir nimporte quelles valeurs pour x1 et x2,
elle peut avoir un profit trs large en produisant de trs grandes quantits de produits 1
et de produits 2. Malheureusement, ces valeurs sont limites causes des restrictions
imposes par lenvironnement de lentreprise dune part et par les ressources
capacit finie, dautre part. Ces restrictions sont exprimes par le biais des contraintes.
Contraintes de ressources
Chaque semaine la capacit de production de latelier 1 est limite 4 heures
1 x1 + 0 x2 4
Chaque semaine la capacit de production de latelier 2 est limite 12 heures
0 x1 + 2 x2 12
Chaque semaine la capacit de production de latelier 3 est limite 18 heures
3 x1 + 2 x2 18
Contraintes de signe
Pour terminer la formulation dun PL, on doit prciser lensemble des valeurs auquel
appartiennent les variables de dcision.
Est-ce que les variables x1 et x2 peuvent prendre nimporte quelles valeurs relles, ou
seulement des valeurs non ngatives ou encore des valeurs entires ou binaires ?
Dans cet exemple, le nombre de lots ne peut pas tre ngatif.
x1 0, x2 0
Remarque : Ici, nous supposons quon accepte les lots non entiers. Autrement, x1 et
x2 doivent tre entiers et il sagit dun programme linaire en nombres entiers.
En combinant la fonction objectif et les contraintes, on obtient le programme linaire
suivant :
4

Hanen Bouchriha

Cours de recherche oprationnelle


Introduction la programmation linaire

Max Z=3 x1 + 5 x2
Sous les contraintes (s.c.) :
x1
4
2 x2 12
3 x1 + 2 x2 18
x1 0, x2 0

(1.1)
(2.1)
(3.1)
(4.1)
(5.1)

3. Dfinitions
Un PL est un problme mathmatique qui scrit sous la forme :
Max Ct x
S.c. Ax b
x0
O Max signifie maximiser, C IRn, b IRm et A est une matrice (m,n).
La fonction maximiser (Ct x) est appele fonction objectif ou fonction conomique. Les
ingalits dfinies par le systme linaire (Ax b) sont les contraintes du problme et les
composantes du vecteur x sont les variables de dcision.
La programmation linaire permet de modliser de nombreux problmes rels en exprimant
leur fonction objectif et leurs contraintes sous forme de fonctions linaires des variables de
dcision. Cependant, la programmation linaire impose un certain nombre de restrictions
rduisant ainsi son champ dapplication. Ces restrictions sont :
- la proportionnalit : les termes mesurant les cots et les quantits de ressources
utilises doivent tre proportionnels au niveau de chaque activit.
- ladditivit : les cots et les ressources engages par lutilisation conjointe de deux
activits doivent tre gaux aux termes correspondants ces deux activits utilises
sparment.
- le problme est dterministe : tous les coefficients du modle doivent tre des
constantes connues et non des variables sujettes des variations.
Un vecteur x est une solution ralisable sil vrifie toutes les contraintes du problme (i.e. Ax
b et x 0). Lensemble de tous les vecteurs, solution ralisable, est appel domaine
ralisable, not (DR).
Une solution ralisable du problme de lexemple 1 est reprsent par le point (3, 2) : il suffit
de vrifier que les contraintes sont satisfaites ; par contre le point (3, 6) nest pas une solution
ralisable du moment quil viole la contrainte (4.1).
Une solution ralisable x* est optimale si la valeur de Ctx* est la meilleure des valeurs de Ctx
pour tout x, solution ralisable.

4. Rsolution graphique dun programme linaire


La rsolution graphique peut tre utilise pour des programmes linaires ayant au plus deux
variables de dcision. Dans le plan dfini par les deux variables de dcision, on trace les
diffrentes droites reprsentant les contraintes du problme. Suivant le sens des ingalits, on
dtermine le domaine ralisable par lintersection des diffrents demi-plans ralisables. On
5

Hanen Bouchriha

Cours de recherche oprationnelle


Introduction la programmation linaire

trace ensuite la ligne isoprofit (isocot) reprsentant la fonction objectif. Pour lexemple 1, la
ligne profit est : 3 x1 + 5 x2 =cte. Cest une droite de pente (-5, 3).
Pour trouver une solution optimale, on dplace la ligne isoprofit dans la direction qui
augmente la valeur de la fonction objectif (pour une maximisation). La ligne la plus haute
coupant le domaine ralisable contient la ou les solutions optimales. Dans lexemple 1, la
solution optimale est (2, 6) avec un profit hebdomadaire de 36 MTND.
Dans la figure 1, on a reprsent le graphique utilis pour rsoudre le problme de lexemple
1.

Figure 1. Rsolution graphique du problme de lexemple 1

5. Notions gomtriques relatives aux programmes linaires


Les techniques de la programmation linaire font appel aux proprits gomtriques des PL.
5.1. Notion de convexit
Un ensemble de points S dans le plan de dimension n est dit convexe si le segment joignant
nimporte quelle paire de points de S est entirement contenu dans S.
Autrement,
Un ensemble SIRn est dit convexe si et seulement si :
x S, y S, [0,1], ( x1 + (1-) x2) S
Dans la figure 3, quelques formes gomtriques sont donnes. Quels sont les ensembles
convexes ?

Hanen Bouchriha

Cours de recherche oprationnelle


Introduction la programmation linaire

Figure 3. Quelques formes gomtriques


(1), (2), (4) et (6) sont les ensembles convexes.
5.2. Polydre
Un ensemble H I Rn est un demi espace sil existe un vecteur a I Rn et a0 IR /
H={x IRn / atx a0}
On dit que H est le demi espace dfini par atx a0
Un ensemble PIRn est un polydre sil est dfini par lintersection dun nombre fini de demiespaces. Il est donc de la forme P ={x IRn / Ax b} o A est une matrice (m,n)
et b IRm.
Un polydre PIRn est dit born sil existe B IR+ et tel que P{x IRn / xj B j=1..n}.
Dans la figure 3, les ensembles (2), (4) et (6) sont des polydres.
Lemme 1
Un polydre est un ensemble convexe.
5.3. Points extrmes
Soit un polydre PIRn.
MP est un point extrme si chaque segment de droite entirement contenu dans P et
contenant M a M comme extrmit.
Autrement,
Soit P un ensemble convexe, xP est un point extrme si et seulement si : sil existe xP,
xP et [0,1] / x= x + (1-) x alors x= x= x.
En dautres termes, un point extrme ne peut pas tre exprim comme combinaison convexe
dautres lments de P.
Dans la figure 4, on a reprsent un polydre ; les points A, B, C, D et E sont les points
extrme de ce polydre, F par contre nest pas un point extrme.
7

Hanen Bouchriha

Cours de recherche oprationnelle


Introduction la programmation linaire

Figure 4. Exemple de point extrme


Par dfinition, le domaine ralisable dun PL, sil nest pas vide, cest un polydre.
Thorme 1
Lensemble des solutions ralisables dun PL, sil nest pas vide, il est convexe (un polydre).
Thorme 2
Pour un PL donn, si un optimum existe, au moins un point extrme est optimal.
Corollaire 1
Si P est un polydre non vide alors loptimum est soit atteint en un point extrme, soit il est
non born sur P.
Ces rsultats montrent que quand on cherche rsoudre un PL, il suffit de restreindre la
recherche de la solution optimale lensemble fini et discret des points extrmes du polydre
dfini par les contraintes du problme. Dans le chapitre suivant, on va explorer la mthode du
simplexe qui repose sur cette ide.

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

Chapitre 2 : Rsolution de programmes linaires par la mthode


du simplexe
1. Introduction
Jusque l, on a vu que cest la mthode gomtrique qui est utilise pour la rsolution des
programmes linaires. Cette mthode est limite au cas de deux variables de dcision. Or,
pour les problmes rels, on se ramne toujours plus que deux variables. Pour un problme
de taille quelconque, cest la mthode du simplexe qui est utilise. Cette mthode a t
dveloppe par George Dantzig en 1947. Elle est efficace et performante pour les problmes
de grande taille (notamment en terme de temps de rsolution).

2. Concepts lis la solution recherche


Concept 1 : La mthode du simplexe se concentre uniquement sur la recherche de points
extrmes du Domaine des solutions ralisables (D)
a. Cela suppose que D est born
b. Pour tout problme ayant au moins une solution optimale, trouver la solution
qui correspond au meilleur point extrme.
Concept 2 : La mthode Simplexe est un algorithme itratif qui ncessite lapplication dun
certain nombre dtapes :
Comment vrifier si
la solution courante
est Optimale?

Initialisation

Test
doptimalit ?

Oui

STOP

Lequel?
Quelle mthode
dnumration?

Non

Rechercher un autre point extrme


permettant damliorer la solution
obtenue jusque l
Concept 3 : Quand cest possible, choisir lorigine comme solution initiale de la mthode du
simplexe.
Examiner si lorigine (toutes les variables de dcision sont nulles) vrifie
toutes les contraintes
Concept 4 : tant donne une solution qui correspond un point extrme, cest plus rapide
(en terme de temps de calcul informatique), de rassembler les informations sur les points
extrmes adjacents.
A chaque fois quon veut amliorer une solution, la mthode simplexe
considre les points extrmes adjacents

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

Dfinition :
Pour un PL n variables, 2 points extrmes ralisables sont adjacents sils partagent
les frontires donnes par (m-1) contraintes. Ainsi, deux solutions adjacentes sont
relies par un segment (ou un bord) du Domaine Ralisable.
Exemple : on considre lexemple du chapitre prcdent

Max Z 3x1 5 x2
sc

x1

2 x2 12
3 x1 2 x2 18
x1 , x2 0
Point extrme ralisable Point extrme ralisable adjacent
(0,0)
(0,6) et (4,0)
(0,6)
(0,0) et (2,6)
(4,3)
(2,6) et (4,0)
Concept 5 : une fois une solution (qui correspond un point extrme) est identifie, la
mthode du simplexe examine chaque bord du domaine qui mane de ce point. Chacun des
bords correspond un point extrme adjacent. La mthode identifie le taux damlioration de
Z qui correspond au balayage de chacun des bords. Parmi les bords qui correspondent un
taux damlioration positif, la mthode choisit celui qui correspond au taux le plus lev.
Cest le point extrme correspondant qui sera considr et constituera la nouvelle solution du
problme qui subira le test doptimalit
Concept 6 : Le test doptimalit consiste vrifier si lun des bords correspond un taux
damlioration positif de Z

10

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

Retour lexemple :
x2
X1=4

(0,6)

(2,6)
X2=6

(4,3)

3X1+2X2 = 18
(0,0)

x1

(4,0)

Etape 0 : (0,0) est Point extrme (Z = 0)


Etape 1 : En parcourant laxe x1 ceci devra amliorer Z dun taux de 3 units ; alors quen
balayant laxe x2 ceci entraine une amlioration de 5 units
Parcourir x2 nouveau point extrme (0,6) et nouvelle valeur de Z = 30
Etape 2 : Le seul bord qui doit engendrer un taux damlioration de Z positif correspond x1
Nouveau point extrme (2,6) qui correspond un Z = 36
Etape 3 : en parcourant les deux bords, Z dcroit (2,6) est point extrme optimal
ARRET

3. Dfinition de la forme standard


Etant donne la forme standard suivante dun programme linaire :
Max Ctx
Sc Ax = b
x0
O c n, x n , b m, A une matrice relle (m,n)
Avec :
- b0
- m n / rg (A) = m (cest--dire pas de contraintes redondantes)
Dans tout le cours, nous adoptons cette forme standard pour tout programme linaire
considr.
Il est toujours possible de transformer nimporte quel PL en un PL quivalent exprim sous la
forme standard :
- un problme de minimisation est transform en un problme quivalent de
maximisation : Min (Ct x) = Max ( Ct x).
11

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

une ingalit de la forme aijxi bj peut tre transforme en une galit en introduisant
une variable supplmentaire non ngative si, appele variable dcart ou slack
variable.
La contrainte quivalente scrit alors aijxi + sj =bj.
Dans la mesure du possible, et si on a des contraintes de type le sens dune
ingalit peut tre invers en multipliant des deux cts par (-1) condition que le
second membre reste positif.
une variable de dcision xi non contrainte en signe (xi ) peut tre exprime comme
la diffrence de deux variables positives xi+ et xi- ; xi = xi+ xi-.

4. Solution de Base
- Soit B une matrice carre rgulire dordre m extraite de la matrice A
B est forme de colonnes linairement indpendantes
Ou encore B est / det(B) = 1
B est dite matrice de base
- Notons N La matrice forme par les n m colonnes de A et nappartenant pas B
N est dite matrice hors base
- Tout vecteur x n peut tre partitionn en xB et xN
m

n-m

m
n

n-m

xB
xN

Matrice A
- On appelle Solution tout point x qui satisfait
Ax = b (pas ncessairement x 0)
BxB + NxN = b
- Une solution satisfaisant x 0 est dite Solution Ralisable.
- La solution dfinie par xN= 0 et xB = B-1b est dite Solution de Base associe la Base B
- Soit x une solution de base. Si de plus, on a xB 0 alors x est une Solution de Base
Ralisable (SBR). Ainsi, on appelle :
xB : Variables de Base (VB)
xN : Variables Hors Base (VHB)
Proprit
Pour une Solution de Base Ralisable
Le nombre de variables de base = Nombre de contraintes
Nombre de variables Hors Base = Nombre total de variables Nombre de
contraintes
Revenons lexemple aprs lavoir crit sous sa forme standard et dfinissons des SBRs
et des Solutions Ralisables
(0,6,4,0,6) et (0,0,4,12,18) sont deux SBR
(1,0,3,12,15) est une SR mais pas une SBR parce quelle admet plus de 3
variables non nulles.
12

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

Thorme
Soit x D une solution ralisable dun PL
x est un point extrme x est une SBR
A chaque point extrme on associe une solution de Base Ralisable et
inversement.
Une SBR correspond un point extrme augment des variables dcart.
Dfinition
Deux SBR sont adjacentes ssi elles correspondent deux points extrmes adjacents.
Deux SBR sont adjacentes si Tout sauf une de ses variables Hors Base sont
identiques ce qui implique que Tout sauf une de ses variables de Base sont
identiques. Toutefois ces dernires peuvent avoir des valeurs numriques
diffrentes
SBR
SBR adjacente
xi : une variable Hors Base

xi : une variable de Base

xj : une variable de Base

xj : une variable Hors Base

Exemple : 2 SBR adjacentes :


(0,0,4,12,18)

(0,6,4,0,6)

5. Tableau canonique
Soit B une Base ralisable extraite de la matrice A
La Fonction Objectif scrit alors : Z = CBxB + CNxN
Do : CBxB + CNxN - Z = 0
Les contraintes scrivent : BxB + NxN = b
Le programme linaire (PL) scrit alors partir de la forme standard sous forme dun tableau
comme suit :
1er Membre
2nd Membre
xB

-Z

xN

CB

CN

Le tableau canonique relatif la base B est obtenu en transformant la matrice sous les
variables xB et Z en une matrice identit dordre (m+1)
Il sagit de multiplier gauche de chaque colonne du tableau par
1
B 1
0
B 0
1
T

1
1
CB 1
C B B

13

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

Le tableau canonique relatif la Base B est :


1er Membre

2nd Membre

xB

-Z

xN

Im

B-1N

B-1b

-CBB-1N + CN

-CBB-1b

La forme canonique est intressante car elle permet de lire directement la solution de base
relative la base B
xB = B-1b
xN = 0
Z = CBB-1b 0
La forme canonique satisfait les 3 conditions suivantes :
La matrice extraite de A par la considration des m colonnes de Base est une
matrice Identit Im
Les coefficients des variables de Base dans la fonction objectif sont nuls
Le second membre correspondant aux contraintes est non ngatif.

6. Mthode du simplexe
Lide de la mthode simplexe est de partir dun point extrme initial et de gnrer une suite
de points extrmes adjacents tout en assurant une amlioration de la fonction objectif.
Recherche dune solution de Base Ralisable Initiale (Point extrme)
On revient notre exemple. La formulation standard est :
Max 3x1 5 x2 Z 0

sc

x3 4

x1
2 x2

x 4 12

3x1 2 x2

x 5 18

x1 , x2 , x 3 , x 4 , x 5 0
Do le tableau :
x1
x2
x3

x4

x5

2nd Membre

12

18

Il sagit dun tableau canonique relatif la solution de base ralisable initiale (0,0,4,12,18)
Disposant dune SBR, il faut vrifier sil sagit dune solution Optimale (test doptimalit)
Soit x* une Solution de Base Ralisable associe la base B Z(x*) = CBB-1b (1)
Soit x une Solution Ralisable. Do, on peut crire : x = xB + xN
14

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

Z(x) = CBxB + CNxN (2)


De plus BxB +NxN=b. En multipliant par (CBB-1) gauche, on obtient :
CBB-1BxB + CBB-1NxN= CBB-1b = Z(x*) (daprs 1)
Do Z(x) - Z(x*) = (CB- CBB-1B)xB +(CN- CBB-1N)xN = (C- CBB-1A)x = x
Thorme
Soit x* une SBR relative la base B.
Si = C CBB-1A 0 alors x* est optimale
reprsente la dernire ligne du tableau (cf. forme canonique)
x = (CB- CBB-1B)xB +(CN- CBB-1N)xN
= 0 : Coefficient de xB dans la
dernire ligne du tableau

Coefficient de xN dans la
dernire ligne du tableau

Il suffit de vrifier le signe des coefficients de xN dans la dernire ligne du tableau


Corollaire
Soit x une SBR associe la base B. Sil existe une variable Hors Base xe/ e 0 (cela
reprsente le taux damlioration de la fonction objectif si la variable x e devient une variable
de Base) alors
Soit loptimum du PL est non born
Soit il existe une SBR y associe une base B/ cy cx ; x et y deux solutions de
bases ralisables adjacentes. En fait, on se dplace dune base une autre
adjacente :
Si la SBR est non dgnre, le dplacement implique un point extrme
adjacent ;
Si la SBR est dgnre la base change mais on reste au mme point
extrme (une nouvelle variable nulle).

x1
x m 1

x2
x m 2
Sans perdre de gnralit, on va supposer que xB et xH

x
x
m
n

Variables de base

x1
.
.
xm
-z

15

x1 xm

-z

xm+1 xn

1 00

a1,m+1 a1,n

0 11
0 0 0

am,m+1 am,n
m+1 n

Valeurs des var


de base
b1
.
.
bm
cB B-1b

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

a1 , j
a1 , j

a
a2 , j
1 2 , j
O
B

am , j
am , j

Pour se dplacer dune SBR une autre, une variable hors base va prendre la place de lune
des variables de base. Ainsi,
Variables de base
x1 xs xm

-z

xm+1 xe xn

x1
.
xs
.
xm

10

a1,m+1 a1,e a1,n

-z

00 0

01 0
00

as,m+1 as,e as,n

0
0

am,m+1 am,e am,n

1 m+1 e n

Valeurs des var de


base
b1
.
bs
.
bm
cB B-1b = z

Questions : quelle est la variable entrante ?


Pour dterminer une nouvelle SBR on choisit de considrer la solution de base ralisable
adjacente correspondant la base B et contenant xj / j = Max {k, k = m+1n } (k
tant un indice relatif une variable Hors Base)
1er critre de DANTZIG
xj est appele variable entrante (quon note xe)
xj prendra la place dune autre variable de base dans la base B. Cette variable est dite
variable sortante (xs)
Pour faire entrer xe, on augmente sa valeur de en gardant les autres variables hors bases
nulles. Deux questions se posent :
Question 1 : De quelle valeur augmente-t-on la variable entrante xe ?
Question 2 : Quelle sera la nouvelle variable sortante xs ?
Rponse 1 :

bi

/ a ie 0
a ie

min i1...m

2me critre de DANTZIG ou critre du ratio minimal


Avec :
canonique relatif la base B
b i : coefficient du second membre du tableau
e
a ie : coefficient de la variable xe dans la i ligne du tableau canonique relatif la base B
Rponse 2 :
xs / b s
bi

min i1...m / a ie 0
a se
a ie

16

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

Preuve
On dsire augmenter xe le maximum possible, tout en satisfaisant les contraintes. Pour chaque
contrainte i, on a :
xi + ai,m+1 xm+1 + + ai,e xeai,n xn = bi
i = 1, , m
xe = xi = bi - ai,e
la valeur de doit tre choisie telle que : xi = bi - ai,e 0 i = 1, , m
Si ai,e 0 alors bi/ai,e
la valeur maximale de qui satisfait toutes les contraintes est
= min {bi/ai,e : i = 1, , m et ai,e > 0}
Soit xs telle quebs/as,e = min {bi/ai,e : i = 1, , m et ai,e > 0}
En effet, pour la ligne s, on a : xs = bs - as,e (bs/as,e) = 0. Do xs devient la variable
sortante.
Dfinition
- as,e est appel lment pivot
- Ligne s : ligne pivot
- Colonne e : colonne pivot

Dterminer la nouvelle SBR relative la base B= (x1, x2,,xe,,xm)


Il faudra retrouver la forme canonique associe B. Il sagit de transformer la colonne
relative xe comme suit :
a1,e
0

a 1 Ligne s
s ,e

a
0

m ,e
Pour cela, il faut appliquer les oprations lmentaires (Gauss-Jordan) :
- Opration 1 :
Diviser la ligne Pivot par llment pivot se
asj as,j/as,e
j
En particulier, ase = 1
- Opration 2
Pour toute ligne diffrente de la ligne Pivot, soustraire cette ligne un multiple approprie de
la ligne pivot pour annuler le coefficient de la ligne i correspondant la colonne pivot
aij aij - aie as,j/as,e
j
En particulier, aie = 0
Aussi, pour la ligne qui correspond la fonction objectif, on a : j j - e as,j/as,e
j

17

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

7. Exemple dapplication
On propose ici de reprendre lexemple du chapitre 1 et de le rsoudre par la mthode du
simplexe.
Max Z=3 x1 + 5 x2
Sous les contraintes :
x1
4
2 x2 12
3 x1 + 2 x2 18
x1 0, x2 0
Tout dabord, on crit la forme standard associe ce PL :
Max Z=3 x1 + 5 x2
Sous les contraintes (s.c.) :
x1
+ s1
=4
2 x2
+ s2
= 12
3 x1 + 2 x2
+ s3 = 18
x1, x2, s1, s2 , s3 0
On retrouve une forme canonique, on dresse alors le premier tableau de simplexe
correspondant
#1
s1
s2
s3
-z

x1
1
0
3
3

x2
0
2
2
5

s1
1
0
0
0

s2
0
1
0
0

s3
0
0
1
0

bi
4
12
18
0

#2
s1
x2
s3
-z

x1
1
0
3
3

x2
0
1
0
0

s1
1
0
0
0

s2
0
1/2
-1
-5/2

s3
0
0
1
0

bi
4
6
6
-30

#3
s1
x2
x1
-z

x1
0
0
1
0

x2
0
1
0
0

s1
1
0
0
0

s2
1/3
1/2
-1/3
-3/2

s3
-1/3
0
1/3
-1

bi
2
6
2
-36

Tableau optimal
La solution optimale est : x*1=2, x*2=6, s*1=2, s*2=s*3=0 et z*=36

18

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

8. Algorithme simplexe (rsum)


-

Mettre le PL sous la forme standard


Trouver une SBR ralisable
crire le PL sous la forme canonique relative la SBR considre
Faire les itrations suivantes
Tester loptimalit : si le critre darrt est satisfait, donner le rsultat final, sinon
aller ltape suivante.
Dterminer la variable entrante (colonne pivot) selon le premier critre de
DANTZIG.
Dterminer la variable sortante (ligne pivot) selon le deuxime critre de
DANTZIG
Calculer le nouveau tableau canonique en effectuant les oprations ncessaires.

9. Mthode simplexe pour un problme de minimisation


Nous pouvons procder de deux manires :
Minimiser (Z) Maximiser (-Z) et appliquer la dmarche vue pour un
problme de maximisation
Minimiser Z directement. Dans ce cas :
Le critre doptimalit devient
Si j 0 j = 1,n alors la SBR actuelle est optimale
Si il existe k / k 0 et aik 0 i, le problme est non born.
Le critre de choix de la variable entrante est celle qui correspond au
cot rduit le plus ngatif.

10. Mthode du simplexe deux phases


La mthode simplexe part dun PL sous la forme canonique. Cela suppose quon peut
facilement identifier une SBR initiale. Parfois ce nest pas vident de trouver une SBR
initiale. Dans ce cas, on applique la mthode du simplexe deux phases
Soit le (PL) :
Max Z = 4x1 + 3x2
s.c. 2x1 - x2 15
x1 + x2 = 10
2x1 - x2 20
x1, x2 0
La forme standard est :
Max z = 4x1 + 3x2
s.c. 2x1 x2 e1 = 15
x1 + x2
= 10
2x1 x2 + s3= 20
x1, x2, e1, s3 0

19

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

A vue dil, cest difficile de trouver une SBR. Alors, quest-ce quon fait ?
On introduit des variables dites artificielles chaque contrainte et chaque contrainte =,
on obtient alors (PL):
Max z = 4x1 + 3x2
s.c.
2x1 x2 e1 +s1 = 15
x1 + x2
+s2
= 10
2x1 x2
+ s3= 20
x1, x2, e1, s3, s1,s2 0
Une SBR de (PL) est donne par les variables de base (s1,s2, s3). Or, les variables
artificielles doivent tre nulles dans une SBR de PL (si une variable artificielle est non nulle,
ceci indique que la solution est non ralisable pour PL)
On doit donc essayer dannuler les variables artificielles dans (PL)
Pour cela, nous allons appliquer la mthode simplexe pour le (PL)1 constitu des mmes
contraintes que le problme initiale et dont lobjectif sera de minimiser la somme des
variables artificielles. Cela reprsente la phase I de la mthode simplexe deux phases.
(PL)1 :
Min Z1 =s1 +s2
s.c. 2x1 x2 e1 + s1
= 15
x1 + x2
+s2
= 10
2x1 x2
+ s3
= 20
x1, x2, e1, s3,s1,s2 0
Rsultats possibles de la phase I :
Cas 1 : z1 0 au moins unesi 0 PL non ralisable
Cas 2 : z1 = 0 et aucune variable artificielle nest une VB. Dans ce cas:
on limine toutes les colonnes du tableau optimal de la phase I, qui correspondent aux
variables artificielles.
On introduit la fonction objectif de (PL) avec les autres lignes de ce tableau.
On met jour la dernire ligne de telle manire avoir j = 0 pour les VB.
do le tableau canonique initial de (PL). On continue alors la rsolution avec la
mthode de Simplexe (Phase II).
Cas 3 : z1= 0 et au moins une si est une VB du tableau optimal de la phase I. Dans ce cas, le
problme original (PL) a au moins une contrainte redondante
Eliminer les contraintes redondantes ;
Rintroduire de la fonction objectif initiale
commencer la phase II.
Dans le cas 3, on trouve une ou plusieurs lignes o tous les coefficients sont nuls sauf ceux
des variables artificielles ces lignes sont redondantes et peuvent tre limines.
Exemple

20

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

x3
s2
x5

x1
3
0
2

x2
-1
0
1

x3
1
0
0

x4
1
0
2

x5
0
0
1

s2
0
1
0

6
0
5

La ligne 2 peut tre limine.


Nous revenons lexemple plus haut et nous appliquons la mthode du simplexe deux
phases.

Phase I :

x2
-1
1
-1
0
0

# 2 x1
x1 1
s2 0
s3 0
0

x2
e1 s3 s1 s2 bi
-1/2 -1/2 0 1/2 0 25/2
3/2 1/2 0 -1/2 1 5/3
0
1
1 -1
0
5
3/2 1/2 0 -3/2 0 5/2

# 3 x1
x1 1
x2 0
s3 0
0

x2
0
1
0
1

e1
-1
0
0
0
-1

s3 s1 s2
0 1
0
0 0
1
1 0
0
0 -1 -1
0 0
0

# 1 x1
s1 2
s2 1
s3 2
0
3

bi
15
10
20
0
25

e1 s3 s1 s2 bi
-1/3 0 1/3 1/3 25/3
1/3 0 -1/3 2/3 5/3
1
1 -1
0
5
0
0 -1
-1
0

Tableau optimal de la phase I


La solution optimale de la phase I est : z = 0 et aucune variable artificielle nest une variable
de base. On omet alors les colonnes correspondant aux variables artificielles, on met la
fonction objectif de PL la dernire ligne et on procde sa mise jour pour obtenir un
premier tableau canonique de PL. Puis, on entame la phase II de la rsolution.

21

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

Phase II :
#4
x1
x2
s3

x1
1
0
0
4
0

x2
0
1
0
3
0

e1
-1/3
1/3
1
0
1/3

s3
0
0
1
0
0

bi
25/3
5/3
5

0
-115/3

#5
x1
x2
e1

x1
1
0
0
0

x2
0
1
0
0

e1
0
0
1
0

s3
1/3
-1/3
1
-1/3

bi
10
0
5
-40

Tableau optimal de la phase II


La solution optimale est : z*=40 avec x*1=10, x*2=0, e*1=5 et s*3=0.

11. Cas particulier


11.1 PL non born
Des solutions ralisables peuvent tre trouves et la valeur de z peut toujours tre amliore.
Dans le cadre du simplexe, ce cas est reprsent par le fait qu'il est impossible de faire entrer
dans la base des variables telles que j > 0. Ceci est d au fait que dans chacune de ces
colonnes j, aij 0 pour tout i. Gomtriquement, cela correspond un rayon extrmal (une
demi-droite) sur lequel z(x) peut augmenter infiniment.
Soit xe la variable vrifiant le 1er critre de DANTZIG :
xe = xi = bi aie i= 1, , m
Si pour tout i, aie 0, on pourra augmenter la valeur de xe infiniment tout en respectant
xi =bi aie 0.

22

pente = -aie
i

Hanen Bouchriha

Cours de recherche oprationnelle


Rsolution de programmes linaires laide de la mthode simplexe

Le rayon extrmal est donn par :


b1
- Le point de coordonnes


b
m
a1,e

- La direction
a
m ,e
Exemple:
max z = x1 + 2x2
s.c.
7x1 + 2x2 28
x1 + 6x2 12
x1, x2 0
11.2 PL ayant une infinit de solution
Dans le tableau canonique optimal, lune des variables hors base correspond un j =0. Si on
fait entrer xj dans la base, on obtient une autre SBR sans que la valeur de la fonction objectif
change. Le segment form par ces deux SBRs optimales contient toutes les solutions
optimales du problme.
Exemple
Max Z = 3x1 + 2x2
s.c. 3x1 + 2x2 120
x1 + x2 50
x1, x2 0

23

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

Chapitre 3 : Dualit
1. Introduction
Soit (P) le programme linaire suivant :
Max Cx
Sc Ax = b
x0
A chaque programme P (dit problme primal) on associe un programme D (dit problme
dual) o chaque variable du dual est associe une contrainte du problme primale.
La dualit est une relation trs importante car :
- Elle permet de caractriser loptimum.
- Proposer des algorithmes de rsolution rapide.
- Permet davoir une interprtation conomique importante.

2. Interprtation conomique de la dualit


2.1

Le dual dun problme de Maximisation

Une compagnie de meuble produit des :


- bureaux
- tables
- chaises
Elle utilise des ressources :
- Matire premire (exprime en plaque de bois)
- Activit de menuiserie (exprime en heure)
- Activit de finition (exprime en heure)
Le tableau suivant prsente les donnes du problme
Produit
Ressources
Bois (plaque)
Menuiserie (h)
Finition (h)
Prix de revient (D/unit)

bureau table chaise


8
2
4
60

6
1,5
2
30

Quantit disponible

1
0,5
1,5
20

48
8
20

Lobjectif est de dterminer les quantits produire de faon maximiser le profit.


Les variables de dcision sont dfinies comme suit :
x1 : nombre de bureau
x2 : nombre de table
x3 : nombre de chaise
Le programme linaire (P) qui correspond ce problme est :
24

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

Max 60x1 + 30x2 + 20x3


SC 8x1 + 6x2 + x3 48
Bois
2x1 + 1.5x2 + 0.5x3 8 Menuiserie
4x1 + 2x2 + 1.5x3 20 Finition
x1, x2, x3 0
On suppose quun entrepreneur peut acheter la compagnie de meuble et ses ressources. Pour
cet entrepreneur :
- Lobjectif : le prix total de ces ressources est minimal mais
- Les contraintes il doit payer suffisamment pour convaincre meuble de lui vendre ses
ressources (au moins couvrir le prix de revient de chaque produit.
Le problme linaire qui correspond ce nouveau problme est comme suit :
- Variables de dcision
y1 : prix dune plaque de bois.
y2 : prix dune heure de menuiserie.
y3 : prix dune heure de finition.
- Fonction Objectif :
Lentrepreneur paye w(y) = 48y1 + 8y2 + 20y3
Minimiser w(y).
- Contraintes :
Meubles peut utiliser 8 units de bois pour fabriquer un bureau et le vendre 60D pour
convaincre la compagnie de vendre, lentrepreneur doit payer cette combinaison un prix
dau moins 60D. Do :
8y1 + 2y2 + 4y3 60
De mme, on a :
6y1 + 1.5y2 + 2y3 30
y1 + 0.5y2 + 1.5y3 20
De plus, on a les contraintes de signe :
y1, y2, y3 0
y1, y2, y3 sont dits Cots fictifs ou prix dombre
Min w = 48y1 + 8y2 + 20y3
8y1 + 2y2 + 4y3
60
6y1 + 15y2 + 2y3 30
y1 + 0.5y2 + 1.5y3 20
y1, y2, y3 0

(D)

(D) est le programme linaire associ (P).

25

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

2.2

Le dual dun problme de minimisation (Problme de rgime alimentaire)

Une famille peut prparer un menu quilibr cot minimal. Le menu est constitu de 6
aliments et doit contenir au moins 9 units de vitamine A et 19 units de vitamines B.
La composition des diffrents aliments en vitamine est reprsente par le tableau suivant :

Vitamine A
Vitamine C
Cot de
l'aliment
(x10M/kg)

Nombre d'units de vitamine /Kg


d'aliment
1 2 3
4
5
6
1 0 2
2
1
2
0 1 3
1
3
2
35 30 60

50

27

Nombre minimum d'units requises


/jour
9
19

22

On dsigne par xi = nombre de kg daliments i prpar


Le programme linaire correspondant ce problme est :
Min 35x1 + 30x2 + 60x3 + 50x4 + 27x5 + 22x6 (* 10 M)
Sv x1 + 2x3 + 2x4 + x5 + 2x6 9
x2 + 3x3 + x4 + 3x5 + 2x6 19
xi 0, i = 1 .6
Un fabriquant compte lancer un projet. Il propose de fabriquer des comprims de chaque
vitamines et les vendre la famille. Le fabriquant doit convaincre la famille dobtenir les
quantits requises des vitamines en utilisant ses comprims au lieu des aliments tout assurant
un prix comptitif des vitamines par rapport aux aliments que cette famille utilisait.
Nous dfinissons ainsi le programme linaire suivant associ ce nouveau problme :
-

Variables de dcision :
y1 : prix dune unit de vitamine A
y2 : prix dune unit de vitamine B

- Fonction objectif :
Le fabriquant dsire maximiser son profit. Do la fonction objectif :
Max w(y) = 9y1 + 19y2
- Contraintes :
Si on prend laliment 5 ; il contient 1 unit du vitamine A et 3 du vitamine B. Pour
convaincre la famille dacheter il faut que le prix quelle paye pour les comprims
correspondant cet aliment soit infrieur ou gale 27 (prix de prparation de laliment).
Do :
y1 + 3y2 27
De mme pour les autres aliments.
26

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

Le problme Dual associ est donc :


Max w(y) = 9y1 + 19y2
Sc y1
35
y2
30
2y1 + 3y2 60
2y1 + y2 50
y1 + 3y2 27
2y1 + 2y2 22
y1, y2 0
2.3

Constatations sur les formes du Primal et du Dual :

A partir des exemples ci-dessous, nous pouvons conclure quil y a des relations entre le
problme primal (P) et le problme dual (D) correspondant dfinies comme suit :
-

La matrice des coefficients des contraintes de D est la transpose de P et vice-versa.

Les composants du second membre de D sont les coefficients de la fonction objective de P


et vice-versa.

Les coefficients de la fonction objectif de D sont les coefficients de second membre de P


et vice-versa

Chaque colonne (ou variable) de P rsulte en une contrainte dans D et vice-versa.

Chaque contrainte de P correspond une variable dans D et vice-versa.

Si P est un problme de maximisation avec contraintes alors D est un problme de


minimisation avec contraintes et vice-versa.

Si on considre le second exemple, la famille ne va acheter les comprims que sils


contiennent la quantit ncessaire de vitamine et que le prix quelle paye et au plus au
mme prix que le prix de prparation des aliments normaux. Do la relation : Max W(y)
Min Z(x) (Faible dualit)

27

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

3. Rgles de dtermination du dual partir dun programme linaire :


Dual partir dune forme normale :

3.1

Nous dfinisson deux formes normales pour un programme linaire :


- maximisation avec contraintes 0, x 0
- minimisation avec contraintes 0, x 0
Soit (P) :

Max Cx
Sc Ax b
x 0,
Avec A une matrice (m n)
.

b R m ; C, x R n

Alors le dual (D) associ est

Min w yb
yA C
y 0,

Sc
Avec

y R m : un vecteur ligne
3.2

Dtermination du dual partir dun LP contraintes mixtes

Si le primal (P) est sous forme gnrale, on peut construire son dual (D) de deux faons
diffrentes :
a- Mettre P sous la forme normale
Exemple : Pour un problme de maximisation
- Multiplier chaque contrainte par (-1)
- Remplacer aix = bi par aix bi et - aix - bi
-

Remplacer chaque xj rel (xj<>0) par ( x j x j )

b- Appliquer les rgles suivantes :


Primal
Dual
Fonction maximiser
Fonction minimiser
ime contrainte 0
ime variable 0
ime contrainte 0
ime variable 0
ime contrainte = 0
ime variable <> 0
jme variable 0
jme contrainte 0
jme variable 0
jme contrainte 0
jme variable <> 0
ime contrainte = 0
28

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

Exemple 1 :

M ax Z 2 x1 x 2

(P)

x1 x 2 2

Sc

2 x1 x 2 3
x1 x 2 1
x1 0 ; x 2 0

(D)

Min W = 2y1 + 3y2 + y3


Sc
y1 + 2y2 + y3 2
y1 - y2 - y3 = 1
y1 0, y2 0, y3 0

Exemple 2 :

M in Z 5 x1 6 x2 7 x3 x4

(P)

Sc

x1 2 x2 x3 x4 7
6 x1 3x2 x3 7 x4 14
- 2 x1 17 x2 4 x3 2 x4 3
x1 0 ; x2 0 ; x3 0 ; x4 0

Max w = 7y1 + 14y2 3y3


Sc
y1 + 6y2 2y3
2y1 3y2 - 17y3
-y1 + y2 + 4y3
-y1 + 7y2 + 2y3
y1 <> 0, y2 0

(D)

5
-6
= 7
= 1
y3 0

4. Dualit et condition doptimalit :


Soit :
(P) Max Cx
Sc Ax = b
x0
4.1

(D) Min w = yb
Sc
yA C
y=0

Lemme fondamental (faible dualit) :

Soit K1 et K2 Domaine ralisable de P et D respectivement


xK1, yK2
Yb Cx
29

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

Dmonstration
yK2 yA c
x K1 x 0
yAx cx do yb cx
Implications:
w* Z(x) x K1
w(y) Z* y K2
En particulier, on aura : w* z*
Faible dualit Si on connat une solution ralisable quelconque de lun des problmes (P
ou D), la faible dualit peut tre utilise pour obtenir une borne (inf ou sup) sur la valeur de la
fonction objectif de lautre
4.2

Thorme de la forte dualit :

Soit x*K1, loptimum de P


des solutions x*K1 et y*K2 /
Cx*=y*b
Et on peut dmontrer dans ce cas que y* nest que loptimum de D
Dmonstration :
?
x* est loptimum de P
= C CB B-1 A 0 => CB B-1 A C
et Z* = CB B-1 b = Cx*
On pose y* = CB B-1
On vrifie :
y* A = CB B-1 A C do y* est bien une solution ralisable de D
y* b = CB B-1 b = Cx*
Maintenant dmentions que y* est loptimum de D
y* est solution ralisable pour D
=> w* y* b
Daprs la faible dualit w* z* = Cx* = y*b
Do w* y* b et w* y*b
w* = y* b do y* est la solution optimale de D
?
Il existe x* K1, y* K2 avec Cx* = y* b (y* est loptimum de D)
Soit x K1, daprs la faible dualit :
30

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

Cx y* b
Comme y* b = Cx* donc Cx Cx* x K
Ainsi x* est loptimum de P
Rsultat important :
Si x* est la solution optimale pour P alors CBB-1 est la solution optimale de D o B est la base
associ x*

5. Comment dterminer la solution du dual partir du primal?


5.1

partir des cots marginaux :

Cas dun problme de maximisation avec contraintes mixtes


On a = C CB B-1 A
j = Cj CB B-1 Aj
On considre B la base optimale du primal alors CB B-1 est la solution optimale du dual.
On cherche dterminer [(CB B-1)1, (CB B-1)2, (CB B-1)n ]. En effet, chaque contrainte du P
est associ une variable de D.
Pour tout i : 1n
Si la contrainte i est de type 0 on doit avoir Si dans le primal avec
0

...
-1
-1
Si = CSi - (CB B )ASi = - (CB B ) 1 = - (CB B-1)i

...
Contrainte i
0

En effet, CSi = 0 car Si est une variable dcart donc son cfficient est nul dans le vecteur C
(Fonction objectif).
-

Si la contrainte i est de type 0 on doit avoir ei dans le primal

...
ei = 0 (CB B-1) 1

...
0

Contrainte i

(CB B-1)i = ei

31

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

pour toute contrainte de type = il faut utiliser la forte dualit Cx* = y*b

5.2

A partir du tableau canonique :

Comment dterminer (B-1) partir du tableau canonique ?


Cas dun problme de maximisation avec contraintes 0
Tableau initiale : B0 est forme par les variables dcarts => une matrice identit qui
correspond aux variables de base (Forme canonique)
Tableau optimale : La base B est obtenue en effectuant des transformations linaires sur le
tableau initial. Il sagit de multiplier par B-1 gauche pour la partie relative aux contraintes
(ainsi on a Im qui correspond au variables de base).
XB
B
CB

XN
N
CN

* B-1

b
0

XB
I

Xn
B-1N

Si on a la forme standard, on aura N = I(n-m) (les variables dcarts correspondent aux


variables de base dans le tableau initiale). Do B-1 est la matrice du tableau actuel qui
correspond aux variables de base dans le tableau initial.
Exemple :
B1 = (S1, S2, S3) = I3
B1-1 = I3

#1
S1
S2
S3
j

#2
S1
X1
S3
j

X1
8
2
4
60

X2
6
1.5
2
30

X1
0
1
0
0

1 8 0

B2 0 2 0
0 4 1

32

X3
1
0.5
1.5
20

S1
1
0
0
0

S2
0
1
0
0

S3
0
0
1
0

48
8
20
0

X3
-1
0.25
0.5
5

S1
1
0
0
0

S2
-4
0.5
-2
-30

S3
0
0
1
0

16
4
4
-240

X2
0
0.75
-1
-15

4 0

0
2 1

B21 0 1 / 2
0

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

La base B2 est forme par (S1, x1, S3)


#3
S1
X1
X3
j

X1
0
1
0
0

X2
-1
1.25
-2
-5

X3
0
0
1
0

S1
1
0
0
0

S2
-8
1.5
-4
-10

S3
2
-0.5
2
-10

24
2
8
-280

Cest le tableau optimal


B3 est la base forme par S1, x1, x3

1 8 1

B3 0 2 1 / 2
0 4 3 / 2

8
2

3 / 2 1/ 2
0 4
2

B31 0

B31 intervient dans le calcul de y*

CB3 = [0, 60, 20]

2
1 8

CB B = [0 60 20] 0 3 / 2 1 / 2
0 4
2

-1

= [0
= [0

(3/2 * 60 4 * 20)
10

(-1/2 * 60 + (2 * 20))]
10

y1 = 0
y2 = 10
y3 = 10
On vrifie avec le calcul des
S1 = 0 = -y1
S2 = -10 = -y2
S3 = -10 = -y3

33

Hanen Bouchriha

Cours de recherche oprationnelle


Dualit

5.3

Thorme de complmentarit :

(P) Max Cx
(D) Min yb
Sc ax b
Sc ya c
x0
y0

x1, x2 .xn
y1, y2,yn
n contraintes
n contraintes
Sn, S2.Sn (variables dcarts) e1, e2,.en (variables dcarts)
x D (P)
y D (D)
x et y sont optimaux de (P) et (D) respectivement Si yi = 0 i 1.m
ej xj = 0 j 1.n

Preuve :
Si aij xj < bi (Si > 0) => ressources partiellement utilise => yi 0
Si xj > 0 => il ne faut pas offrir des prix assez leve sinon cela va coter cher lentreprise
=> le juste ncessaire yi aij = cj (ej = 0)
Application de ce thorme celle dusine de meubles
Rsolution du primal => S1 > 0 => y1 = 0
x1 = 2 > 0 => e1 = 0
X3 = 8 > 0 => e3 = 0
Do la solution du dual :
(1)
(2)
(3)

8y1 + 2y2 + 4y3 - e1 = 60


6y1 + 1.5y2 + 2y3 - e2 = 30
y1
+ 0.5y2 + 1.5y3 - e3 = 20

(1) => y2 + 2y3 = 30


(3) => y2 + 3y3 = 40
y3 = 10
y2 = 10
(2)

34

=> e2 = 5

Hanen Bouchriha

Cours de recherche oprationnelle

35

Hanen Bouchriha

Cours de recherche oprationnelle


Thorie de graphe : Dfinitions et Concepts de base

Chapitre 5 : Dfinition et concepts de base


1. Introduction
La thorie des graphes est un domaine des mathmatiques, qui constitue lun des instruments
les plus courants et les plus efficaces pour rsoudre des problmes discrets poss en
Recherche Oprationnelle (RO). Un graphe permet de reprsenter simplement diffrents
problmes ayant une criture formelle complique. De manire gnrale, cet outil de
modlisation est utilis pour reprsenter simplement la structure, les connexions, les
cheminements possibles dans un systme complexe en exprimant les relations entre ses
composantes (par exemple, un rseau de communication, un rseau routier ou ferroviaire, une
structure en chimie, diagramme de succession de tches n gestion de projet ).

2. Dfinitions et concepts de base


Graphe :
Un graphe ou rseau est un ensemble de points ou sommets relis par des lignes appeles arcs
G = (X, U) avec
X : ensemble discret, fini de sommets ou nuds
U : ensemble darcs constitu par des paires de sommets (i, j) de X
Si N = |X| est le nombre de sommets alors G est dordre N
Arc et graphe orient :

Un arc u = (i,j) est dit orient si i est son extrmit initiale et j son extrmit terminale.
- u est incident extrieurement au sommet i et incident intrieurement j.
- i est un prcdent ou prdcesseur de j et j est un suivant ou successeur de i.
Lensemble des successeurs de i est not (i) ; lensemble des prdcesseurs de i est not
-1(i).

Un graphe est dit orienter si tous ses arcs sont orients


Un arc est non orient si le flux correspondant est bidirectionnel. On parle darrte est non
plus darc.

3. Graphe partiel et sous graphe :

Graphe partiel
Un graphe Gp=(X, Up) est un graphe partiel du graphe si UpU
Exemple : G graphe reprsentant les routes de France, celui qui reprsente les routes
nationales de France est un graphe partiel

36

Hanen Bouchriha

Cours de recherche oprationnelle


Thorie de graphe : Dfinitions et Concepts de base

Sous graphe
G=(X, U) est un graphe, S X. Un sous graphe Engendr par S est constitu de sommets
contenus dans S et darcs (ou arrtes) dont les extrmits sont dans S
Exemple :
G graphe reprsentant les routes de France, celui qui reprsente les routes de la Bretagne est
un sous graphe.

4. Chane cycle chemin - circuit :


Chane cycle :
Une chane entre deux nuds est une squence dartes telle que chaque arte de la squence
ait une extrmit commune avec larte suivante
Un cycle est une chane dont les extrmits concident
Chemin circuit :
Un chemin est une chane dont les arcs sont orients dans le mme sens
Un circuit est un chemin dont les extrmits concident.
Exemple :

B
D
A
E
C

Le graphe reprsent par les arcs (C, A), (C, E) et (E, D) reprsente une chane reliant
A et D
Le graphe reprsent par les arcs (A, B), (B, C), (C, E) et (E, D) reprsente un chemin
reliant A et D
(C, B), (B, D), (E, D) et (C, E) constituent un cycle
(A, B), (B, C) et (C, A) constituent un circuit

37

Hanen Bouchriha

Cours de recherche oprationnelle


Thorie de graphe : Dfinitions et Concepts de base

5. Matrices associes un graphe :


Matrice dincidence sommets arcs
Soit G = (X,U), N = Nombre de sommets, M tant le nombre darcs
La matrice dincidence sommets arcs : A=(aij) (i=1..N et j=1..M) est dfinie par :
- Chaque colonne correspond un arc de G
- Chaque ligne correspond un sommet de G.
- A est coefficients entiers 0 ou 1 ou 1 / Si u= (i,j) U, la colonne u a tous ses
termes nuls sauf aiu = +1 et aju = -1
Matrice dincidence sommets arrte
Soit G = (X,U), N = Nombre de sommets, M tant le nombre darrte
La matrice dincidence sommets arrte : A=(aij) (i=1..N et j=1..M) est dfinie par :
- chaque colonne correspond une arrte de G
- chaque ligne correspond un sommet de G.
- A est coefficients entiers 0 ou +1 / si u=(i,j) U, la colonne u a tous ses termes
nuls sauf aiu = +1 et aju = +1
Matrice dadjacence sommets-sommets
Soit G = (X, U), N = Nombre de sommets
La matrice dadjacence sommets-sommets est une matrice carre A= (aij) (i=1..N et j=1..N)
dfinie par :
- chaque colonne correspond un sommet de G.
- chaque ligne correspond un sommet de G.
- A est coefficients entiers 0 ou +1 / sil existe un arc u= (i, j) entre les sommets i et j
alors aij = +1 sinon aij = 0

38

Hanen Bouchriha

Cours de recherche oprationnelle


Thorie de graphe : Dfinitions et Concepts de base

Exemple :

B
u4

u2

u3

u5

La matrice dincidence sommet arc est donne par :

0
0
1 1 0
1 0 1 1 0

0
0
0 1 1

0 1 1 0 1
La matrice dincidence sommet arrte est donne par :

1
1

1 0 0 0
0 1 1 0
0 0 1 1

1 1 0 1

La matrice dadjacence sommet sommet est donne par :

1
0

0 0 1
0 1 1
0 0 0

0 1 0

39

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

Chapitre 6 : Problme du pus court chemin


1. Introduction
Soit G=(X,U) ; on associe chaque arc u= (i,j)U un nombre rel quon note l(u) ou lij
appel longueur de larc u. On dit alors que le graphe G est valu par les longueurs l(u).
Les longueurs des arcs peuvent correspondre :
des distances physiques,
des cots de transport,
des dpenses de construction,
temps ncessaire une ralisation,
La longueur dun chemin joignant le sommet i au sommet j est donne par : l ()
Le problme de plus court chemin entre deux sommets i et j consiste dterminer un chemin
de i j, (i, j), de longueur minimale.
La longueur dun chemin comprenant un circuit de longueur strictement ngative est non
borne (il suffit demprunter ce circuit une infinit de fois). Ce type de circuit est appel
circuit absorbant
Labsence dun circuit absorbant constitue une condition ncessaire lexistence dun chemin
de longueur minimale

2. Exemples de modlisation par PCC


2.1

Stratgie de remplacement dquipements :

Une mine a une dure totale dexploitation de T annes. Elle utilise un quipement quelle a
acquis la date i=0 (quipement neuf).
Au dbut de chaque anne i, deux possibilits soffrent la mine :
- garder lquipement en service pendant [i, i+1]
- revendre cet quipement un prix de rcupration de v(x) avec x est son ge et acheter
un quipement neuf au prix p (i)
Le cot dune anne de fonctionnement r(x) dpend de lge.
Lquipement doit tre vendu la date T.
Dterminer la politique de remplacement de lquipement cot minimal.

40

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

Le problme peut tre reprsent par un graphe comme suit :

- Un sommet est associ chaque date (T+1 sommets).


- Un arc qui relie deux sommets i et j reprsente la dcision dacheter un quipement la date
i et le vendre j (j>i).
- La longueur dun arc = (cot dachat + cot de fonctionnement prix de vente)
j i

lij = p(i) v(j-i)+

r ( x)

x 1

- La politique de remplacement de lquipement cot minimal est reprsent par le plus


court chemin de 0 T.
2.2

Optimisation des achats

Le service dachat doit assurer lapprovisionnement pendant T priodes pour raliser un


programme de production. Le prix dachat p(t) dpend de la priode dapprovisionnement t.
Afin de tirer profit de la variation des prix, lentreprise peut :
- Acheter la matire en t et constituer des stocks. Le cot unitaire de stockage est h (t) en
la priode t.
- Reporter sa demande moyennant une pnalit de retard. p est la pnalit de reporter
une unit de la demande pendant une priode.
Dterminer le plan dapprovisionnement cot minimal.

41

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

Le problme peut tre reprsent par un graphe comme suit :

S
p(4)

p(1)
1

h(1)
))
(1)p

p(2)
2

p(3)

h(2)
p

3
p

X = S {t, t =1,.., T} (T+1 sommets)


Un arc (S,t) correspond la dcision dacheter en la priode t. lst = p(t)
Tout sommet t (t =1,.., T-1) est reli t+1. Larc (t,t+1) correspond la dcision de
stocker pendant la priode t et a une longueur de h(t)
Tout sommet t (t =2,.., T) est reli t-1. Larc (t, t-1) correspond la dcision de
reporter la demande de la priode t la priode t-1 et a une longueur de p.
La Politique optimale dapprovisionnement correspond la recherche du plus court
chemin entre S et tous les sommets du graphe

3. Algorithmes de rsolution :
3.1

Principe doptimalit de Bellman :

Thorme :
Soit un chemin entre i et j de longueur optimale. Toute partie 1 de reliant un sommet h
un sommet l est alors de longueur optimale.
Ce thorme permet de conclure que le chemin optimal est compos de sous chemins
optimaux.
Dmenstration :
Pour dmontrer ce thorme on peut raisonner par labsurde :
tant un chemin entre i et j de longueur minimale. On suppose quil existe une partie 1 de
joignant h l qui nest pas de longueur minimale. Il existe alors un chemin 2 de h l tel
que l(1)l(2). Le graphe identique sauf pour la partie 1 qui est remplace par 2, est
alors de longueur infrieure celle de ; ce qui contredit lhypothse de dpart.

42

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

Illustration :

Soit (5) : La longueur du plus court chemin entre 1 et 5


(5) = min {(2) + l25 ; (3) + l35 ; (4) + l45}
3.2

Classification des algorithmes de recherche de PCC

Les algorithmes de rsolution du problme de recherche du plus court chemin seront


diffrents suivant.

les proprits du graphe :


- graphe valu par des longueurs positives.
- graphe valu par des longueurs de signes quelconques.
- graphe sans circuit.

le problme considr :
- recherche du plus court chemin dun sommet un autre.
- recherche du plus court chemin dun sommet tous les autres.
- recherche du plus court chemin entre tous les couples de sommets.

3.3

Cas dun graphe valu par des longueurs positives : Algorithme de DijkstraMoore (1959):

Cet algorithme permet la recherche du plus court chemin partant dun sommet (not 1) tous
les autres sommets du graphe.
Les sommets sont partitionns en deux sous-ensembles
- P : ensemble de sommets ayant une tiquette permanente
- T = X-P : ensemble de sommets ayant une tiquette temporaire
chaque itration un sommet est transfr de T vers P. Lalgorithme converge en n-1
itrations (n tant lordre du graphe G=(X,U))
On dsigne par (x) : la longueur du plus court chemin entre le sommet 1 et le sommet x. Le
calcul des plus courtes distances se fait de proche en proche par ajustements successifs.

43

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

Algorithme de Dijkstra-Moore (1959):


Etape 1 : Initialisation
(1)=0
P={1}
T={2, , N}
i T, (i)= l1i si (1,i) U
= sinon
Etape 2 :
Slectionner j T tel que (j)= min (i)
iT

Faire : T=T\{j}
P=P{j}
Si T = alors fin sinon aller ltape 3.
Etape 3 :
i T tel que (j,i)U faire : (i) min ((i), (j)+ lji) (Principe doptimalit de Bellman)
Aller ltape 2.

Exemple
Une entreprise doit distribuer la marchandise ses clients situs aux nuds 2 6. La distance
parcourir dun point un autre et le sens de circulation sont indiqus dans la figure cicontre.

4
40

50
20

2
70
1

10
50

30

20

10
3

6
40

Dterminer les plus courts chemins entre 1 et 2 et entre 1 et 6 ?

44

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

Etape 1 :
(1)=0, (2)=70, (3)=10, (4)= (5)= (6)=
P= {1}, T= {2, 3, 4, 5, 6}
Etape 2 :
j=3
P= {1, 3}, T= {2, 4, 5, 6}
Etape 3 :
(2)=min {70, 10+50} = 60
(5)=min {, 10+20} = 30
(6)=min {, 10+40} = 50
Etape 2 :
j=5
P= {1, 3,5}, T= {2, 4, 6}
Etape 3 :
(2)=min {60, 30+20}= 50
(4)=min {, 30+50} = 80
(6)=min {50, 30+30} = 50
Etape 2 :
j=6
P= {1, 3,5,6}, T={2, 4}
Etape 2 :
j=2
P= {1, 3,5,6,2}, T={4}
Etape 3 :
(4)=min {30+50,50+40} = 80
Etape 2 :
j=4
P= {1, 3, 5, 6, 2,4}, T=
Fin de lalgorithme
On peut reprsenter le calcul sous forme de tableau comme suit :
Itration
1
2
3
4
5

1
-

2
70
60/3
50/5
50/5
-

3
10
-

80/5
80/5
80/5

30/3
-

50/3
50/3
-

Le plus court chemin de 1 2 est 1, 3, 5, 2 de longueur 50.


Le plus court chemin de 1 6 est 1, 3, 6 de longueur 50.

45

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

3.4

Cas dun graphe valu par des longueurs de signes quelconques

Cet algorithme sapplique pour un graphe ayant des cots quelconques. Il permet la recherche
du plus court chemin entre un sommet et tous les autres.
Il y a convergence en absence de circuit absorbant.
Il sagit de dterminer le plus court chemin de proche en proche en calculant chaque
itration le plus court chemin un sommet donn i en utilisant les plus courts chemins tous
les prdcesseurs de i (Processus itratif)
Dans lalgorithme, m reprsente lindice de litration et m (i) est le plus court chemin entre
le sommet 1 et le sommet i calcul litration m.
Algorithme de BELLMAN
Soit G = (X,U) un graphe dordre N
Etape 1 : Initialisation
- m=1
- 1(1)=0
- j # 1 1 (j) = l1j si (1,j) U
= + sinon
Etape 2 :
Tant que {m N-1} et { j / m (j) < m-1 (j) } Faire
Dbut
m+1 (j) = min (m (j) , min { m (k) + lkj } )
k# j

m=m+1
Fin
Remarque : Lalgorithme converge en N-1 itrations.
Si m=N et il existe j / m (j) < m-1 (j) il existe un circuit de longueur ngative (circuit
absorbant)

Exemple :
Un agent commercial se trouvant la ville S dcide de participer une foire la ville T. Pour
cela, il doit emprunter le rseau routier donn par la figure ci-contre. Lagent commercial a
estim le cot de son transport ainsi que les bnfices rapportes par la vente de produits aux
diffrentes villes intermdiaires. Sur le graphe, les dpenses ont t reprsentes par des
longueurs positives ; les bnfices raliss ont t reprsents par des longueurs ngatives.

46

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

A
2

-8
-5

D
4

-1
3

1
C

T
7

4
Trouver le chemin emprunt par lagent permettant de minimiser ses cots nets

Application :
Itration O A

0/O 2/O -5/O 4/O + + +

0/O 2/O -6/A 4/O -1/B -2/B +

0/O 2/O -6/A 4/O -3/E -3/B 4/D

0/O 2/O -6/A 4/O -4/E -3/B 2/D

0/O 2/O -6/A 4/O -4/E -3/B 1/D

Le chemin le plus court est O A B E D T de cot = 1


3.5

Cas dun graphe sans circuit :

Dans un graphe sans circuit, il existe au moins un sommet ne possdant aucun prcdent,
sinon G possderait un circuit. Ce sommet est appel racine du graphe. Soit 1 ce sommet
Dans un graphe sans circuit, il existe au moins un sommet ne possdant aucun successeur,
sinon G possderait un circuit.
Dans le cas dun graphe sans circuit, il y a un algorithme plus simple de recherche du plus
court chemin du sommet 1 tous les autres

47

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

Algorithme de dtermination du rang dun sommet :


Dfinition :
On dfinit le rang dun sommet i dun graphe G sans circuit par :
- rg(1) = 0,
- rg (i) = le nombre darcs dans un chemin allant de 1 i, de cardinalit maximum.
Algorithme de dtermination des rangs dans un graphe sans circuit :
Etape 1 :
Initialisation : S=X, k=0
Etape 2 :
Sk ={ensemble des sommets sans prcdent dans S}
Pour tout i Sk, rg(i) = k
Etape 3 :
S=X-Sk
Si S= fin
Sinon
Dbut
Eliminer du graphe tous les arcs ayant pour origine un sommet de Sk
k=k+1,
Retour ltape 2

Algorithme de dtermination du plus court chemin dans un graphe sans circuit :

Etape 1 : Initialisation
On pose (1)=0, k=1 et S=X-{iX / rg(i)=0}
Etape 2 :
Sk={ iX / rg(i)=k}
Pour tout i Sk faire

(i) min ( ( j ) lji)


( j ,i )U

Etape 3 :
Faire S=S- Sk
Si S= fin
Sinon faire k=k+1, retour ltape 2

48

Hanen Bouchriha

Cours de recherche oprationnelle


Problme du plus court chemin

Exemple
1
2

10

2
3

5
7

Le plus court chemin de 1 6 ?


rg(1) =0, rg(3)=1, rg(2)=rg(5)=2, rg(4)=3, rg(6)=4.
(1)=0, (3)=4, (2)=min (4+2, 3) =3, (5)=min (4+7)=11, (4)=min (3+1, 11+5)=4,
(6)=min (4+10, 11+2)=13.
Le plus court chemin de 1 6 est : 1, 3, 5 et 6.

49

Hanen Bouchriha

Cours de recherche oprationnelle


Problme de planification de projet

Chapitre 7 : Problme de planification de projet


1. Dfinition du problme :
La ralisation dun projet consiste dans lexcution de tches en utilisant des ressources
(humaines, matrielles, temps, ). Ces tches sont relies entre elles par des contraintes de
prcdence. Lobjectif de ce cours est de dterminer lordonnancement des tches de date
dachvement minimale.
A une tche i (i = 1n) nous associons une dure totale dexcution (pi).
On dfinit un arc (i,j) U si la tche i prcde la tche j c'est--dire i doit tre achev avant le
dbut de la tche.
Ainsi, il sagit de :
- identifier les tches prioritaires
- donner pour chaque tche lintervalle de temps durant lequel lexcution doit
avoir lieu pour raliser le projet au plus tt.

2. Le graphe potentiel des tches :


A partir des donnes du projet, on construit le graphe tel que :
-

chaque tche i (i = 1n) on associe un sommet du graphe.


on dfinit un arc (i,j) si la tche i prcde la tche j.
la longueur de larc (i,j) reprsente le dure dexcution de la tche i lij = pi
on dfinit deux tches fictives :
- i = 0 reprsente la tche de dbut du projet
- i = n+1 reprsente la tche de fin du projet
avec po = pn+1 = 0

Remarque 1 :
- 0 ne possde pas de prdcesseur
- (n+1) ne possde pas de successeur
Il sagit dun graphe sans circuit

50

Hanen Bouchriha

Cours de recherche oprationnelle


Problme de planification de projet

3. Mthode du chemin critique


Un chemin entre 0 et (n+1) reprsente une squence ralisable de tches. La date minimale
dachvement est donc gale la dure du plus long chemin entre les sommets 0 et n+1. Ce
chemin est dit chemin critique. Les sommets de ce chemin sont les tches critiques du projet.
Les dures de ces tches dterminent la dure minimale de ralisation du projet. Si lune des
tches critiques fait un retard, tout le projet sera retard.
3.1

Dtermination de la date minimale dachvement dun projet :

Nous appliquons lalgorithme de recherche du plus long chemin dans un graphe sans circuit
(PCC : Max Min)
Etape 0 : Initialisation
t0 = 0
tj = p0 si (0,j) U
Etape 1 :
Prendre les sommets par rang croissant
Faire ti Max {tj + pj}
j i

ti reprsente la longueur du plus long chemin entre 0 et i et reprsente aussi la date de dbut au
plus tt de la tche i, en particulier tn+1 est la date minimale dachvement du projet.
3.2

Dtermination des dates de dbut au plus tard :

Etape 0 : Initialisation
Tn+1 = tn+1
Etape 1 :
Prendre les sommets par rang dcroissant
Faire Ti Min Tj - pi
i j

Ti reprsente la date de dbut au plus tt de la tche i.


3.3
-

Marge totale et Marge libre :


Marge totale de la tche i = Date de dbut au plus tard (i) date de dbut au plus tt (i)
mi
= Ti
- ti

Ainsi, tout retard dune tche i > marge totale de i augmentera autant la date minimale
dachvement du projet.
Les tches critiques ont des marges totales nulles. En effet, les tches appartenant au plus long
chemin sont dites tches critiques. Ces tches doivent tre excutes dans les dlais prvus
(marge totale nulle) faute de quoi tout le projet sera retard.

51

Hanen Bouchriha

Cours de recherche oprationnelle


Problme de planification de projet

Marge libre de la tche i :


Mli = Min {date au plus tt de j }- pi date au plutt de i
j i

Tout retard suprieur mli retardera autant la date de dbut au plutt de lune des tches
suivantes ;
3.4

Exemple :

Tche
1
2
3
4
5
6
7
-

Tche
antrieure
1
1
2.3
2.3
5
4.6

Dure
7
4
8
2
1
2
1

Graphe potentiel tche :

7
1

4
2

2
7

7
3

Dtermination des rangs :


R0 = {1}
R1 = {2,3}
R2 = {4,5}
R3 = {6}
R4 = {7}
R5 = {8}

Date dachvement au plus tt du projet et calcul des dates de dbut au plus tt :


t1 = 0
t2 = 0 + 7 = 7
t3 = 0 + 7 = 7
t4 = Max {7 + 4, 7 + 8} = 15
t5 = 15
t6 = 16
t7 = Max {15 + 2, 16 + 2} = 18
t8 = 19 : Date minimale dachvement du projet
52

Hanen Bouchriha

Cours de recherche oprationnelle


Problme de planification de projet

Date de dbut au plus tard :


T8 = 19
T7 = 18
T6 = 16
T5 = 15
T4 = 16
T3 = Min {16 8 ; 15 8} = 7
T2 = Min {16 4 ; 15 4} = 11
T1 = Min{7 7 ; 11 7} = 0

Marge totale :
m1 = 0
m2 = 4
m3 = 0
m4 = 1
m5 = 0
m6 = 0
m7 = 0
m8 = 0

Chemin critique :
1 2 5 6 7 ( travers lalgorithme de calcul du plus long chemin ou le calcul de mi).

4. Mthode PERT (program evaluation and review technique) :


Cadre dapplication : la dure dxcution dune tche i, pi, est une variable alatoire de
moyenne i et de variance i2
Objectif : dterminer la probabilit de terminer le projet dans un dlai (deadline) sinon des
pnalits peuvent tre encourues.
Donne du problme :
A chaque tche i on associe :
- oi : Dlai optimiste de ralisation de lactivit si toutes les conditions de bon
fonctionnement sont runies.
- mi : Dlai le plus probable de ralisation de lactivit.
- pi : Dlai le plus pessimiste de ralisation de lactivit si toutes les conditions
dfavorables sont runies.
Rsolution :
a- calcul de i et i pour chaque activit :
La dure de ralisation dune activit est une variable alatoire qui peut tre approche par
une loi Bta de paramtres (oi, mi, pi).
53

Hanen Bouchriha

Cours de recherche oprationnelle


Problme de planification de projet

Figure 1 : Loi de distribution de la probabilit li au dlai dachvement dune activit

Etant donne cette approximation, on peut calculer la moyenne de la dure de ralisation


dune activit donne (i) et sa variance (i2) respectivement /

o 4m p
6
po

i2

b- Dtermination du chemin critique moyen :


Cela correspond au chemin critique (le chemin le plus long) en considrant la dure moyenne
de ralisation de chaque tche
c- Dtermination de la dure moyenne de ralisation du projet (p) et sa variance (p2)/
p = somme des moyennes des dures de ralisation des activits appartenant au chemin
critique moyen.
2p = somme des variances des dures de ralisation des activits appartenant au chemin
critique moyen (on suppose ici que les activits du chemin critique moyen sont
statistiquement indpendants).
d- Calcul de la probabilit de terminer le projet dans les dlais :
En supposant un nombre de tches assez important et daprs le thorme de la limite
centrale, le dlai de ralisation du projet (dure totale dp) suit la loi normale de moyenne p et
variances 2p
Retour lexemple :
En considrant que les tches ont des dures alatoires dont les moyennes sont celles
considres dans lexemple prcdant, quel est la probabilit de terminer le projet dans un
dlai de 21 jours
Tche
i
i

54

1
7
1.78

2
4
1.78

3
8
2.78

4
2
0.4

5
1
0.44

6
2
0.5

Hanen Bouchriha

7
1
1

Cours de recherche oprationnelle


Problme de planification de projet

On trouve p = 19 et 2p = 12,34. Ainsi dpN(19 ; 3,51)


dp 19 21 19
Prob(dp12) = prob( (

) = F(0,56) = 0,71
3,51
3,51
Avec F est la fonction de rpartition de la loi normale centre rduite.

55

Hanen Bouchriha

56

Hanen Bouchriha

Вам также может понравиться