Академический Документы
Профессиональный Документы
Культура Документы
Recherche Oprationnelle
Hanen Bouchriha
Hanen Bouchriha
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.
Hanen Bouchriha
Cadre aluminium
pour porte
Atelier 1
Cadre en bois
pour fentre
Assemblage
Vitre & cadre
Atelier 3
Atelier 2
Ressource
partage
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
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
Formulation mathmatique
-
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
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.
Hanen Bouchriha
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.
Hanen Bouchriha
Hanen Bouchriha
Hanen Bouchriha
Initialisation
Test
doptimalit ?
Oui
STOP
Lequel?
Quelle mthode
dnumration?
Non
Hanen Bouchriha
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
Retour lexemple :
x2
X1=4
(0,6)
(2,6)
X2=6
(4,3)
3X1+2X2 = 18
(0,0)
x1
(4,0)
Hanen Bouchriha
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
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
(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
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
Coefficient de xN dans la
dernire ligne du tableau
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
Hanen Bouchriha
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
-z
00 0
01 0
00
0
0
1 m+1 e n
bi
/ a ie 0
a ie
min i1...m
min i1...m / a ie 0
a se
a ie
16
Hanen Bouchriha
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
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
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
19
Hanen Bouchriha
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
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
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
21
Hanen Bouchriha
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
22
pente = -aie
i
Hanen Bouchriha
- 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
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.
6
1,5
2
30
Quantit disponible
1
0,5
1,5
20
48
8
20
Hanen Bouchriha
(D)
25
Hanen Bouchriha
2.2
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)
50
27
22
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
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 :
-
27
Hanen Bouchriha
3.1
Max Cx
Sc Ax b
x 0,
Avec A une matrice (m n)
.
b R m ; C, x R n
Min w yb
yA C
y 0,
Sc
Avec
y R m : un vecteur ligne
3.2
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
-
Hanen Bouchriha
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)
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
(D)
5
-6
= 7
= 1
y3 0
(D) Min w = yb
Sc
yA C
y=0
Hanen Bouchriha
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
Hanen Bouchriha
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*
...
ei = 0 (CB B-1) 1
...
0
Contrainte i
(CB B-1)i = ei
31
Hanen Bouchriha
pour toute contrainte de type = il faut utiliser la forte dualit Cx* = y*b
5.2
XN
N
CN
* B-1
b
0
XB
I
Xn
B-1N
#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
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
1 8 1
B3 0 2 1 / 2
0 4 3 / 2
8
2
3 / 2 1/ 2
0 4
2
B31 0
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
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)
34
=> e2 = 5
Hanen Bouchriha
35
Hanen Bouchriha
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).
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
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.
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
38
Hanen Bouchriha
Exemple :
B
u4
u2
u3
u5
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
1
0
0 0 1
0 1 1
0 0 0
0 1 0
39
Hanen Bouchriha
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
r ( x)
x 1
41
Hanen Bouchriha
S
p(4)
p(1)
1
h(1)
))
(1)p
p(2)
2
p(3)
h(2)
p
3
p
3. Algorithmes de rsolution :
3.1
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
Illustration :
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
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
44
Hanen Bouchriha
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
-
45
Hanen Bouchriha
3.4
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
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
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
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
Etape 3 :
Faire S=S- Sk
Si S= fin
Sinon faire k=k+1, retour ltape 2
48
Hanen Bouchriha
Exemple
1
2
10
2
3
5
7
49
Hanen Bouchriha
Remarque 1 :
- 0 ne possde pas de prdcesseur
- (n+1) ne possde pas de successeur
Il sagit dun graphe sans circuit
50
Hanen Bouchriha
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
Etape 0 : Initialisation
Tn+1 = tn+1
Etape 1 :
Prendre les sommets par rang dcroissant
Faire Ti Min Tj - pi
i j
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
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
7
1
4
2
2
7
7
3
Hanen Bouchriha
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).
Hanen Bouchriha
o 4m p
6
po
i2
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
) = 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