Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Recherche OpØrationnelle
Nour Houda Dougui
(cid:201)cole Nationale des Sciences de l’Informatique
deuxiŁme annØe (2012-2013)
Nour Houda Dougui
Recherche OpØrationnelle
1
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
RØfØrences
1. S. Bradley, A. Hax, and T. L.Magnanti. Applied
Mathematical Programming.
Addison-Wesley, 1977. Available on line :
http ://web.mit.edu/15.053/www/.
2. I. Charon, A. Germa, and O. Hudry. MØthodes
d’optimisation combinatoire. Masson, 1996.
3. V. ChvÆtal. Linear Programming. Freeman, 1983.
4. C. GuØret, C. Prins, and M. Sevaux. Programmation
linØaire. Eyrolles, 2000.
5. C. Papadimitriou and K. Steiglitz. Combinatorial
optimization, algorithms and complexity.
Prentice-Hall, 1982.
Nour Houda Dougui
Recherche OpØrationnelle
2
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Vue gØnØrale
Le problŁme d’optimisation :
Minimiser f (x) sous la contrainte x ∈ S oø :
- f : fonction-objectif.
- S : domaine rØalisable.
Cursus traditionnel en optimisation :
Optimisation numØrique : f et S donnØs par des fonctions deux
fois di(cid:27)Ørentiables.
algorithmes : basØs sur l’exploitation d’une information locale
(dØrivØes) pour trouver un optimum local.
logiciels : l’utilisateur doit fournir des sous-routines : x → f (x)
et x → ˙f (x) et de mŒme pour les fonctions contraintes.
Nour Houda Dougui
Recherche OpØrationnelle
3
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Vue gØnØrale
Optimisation discrŁte (recherche opØrationnelle) :
programmation linØaire : f a(cid:30)ne et S polyØdral (contraintes
d’(in)ØgalitØ a(cid:30)nes).
programmation linØaire en nombres entiers (PLNE) : idem +
contrainte x ∈ N.
thØorie des graphes : plus court chemin, voyageur de
commerce, rØseaux etc.
Nour Houda Dougui
Recherche OpØrationnelle
4
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Plan
1 Programmmation linØaire
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
2 Programmmation linØaire en nombres entiers
Introduction
Exemple : le problŁme du voyageur de commerce (TSP)
PLNE Øquivalents (cid:224) leur relaxation continue
ModØlisation PLNE
MØthodes gØnØrales
Nour Houda Dougui
Recherche OpØrationnelle
5
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Plan
1 Programmmation linØaire
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
2 Programmmation linØaire en nombres entiers
Nour Houda Dougui
Recherche OpØrationnelle
6
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Plan
1 Programmmation linØaire
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
2 Programmmation linØaire en nombres entiers
Nour Houda Dougui
Recherche OpØrationnelle
7
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
On considŁre dans ce cours le problŁme d’optimisation :
minimiser f (x) sous la contrainte x ∈ S,
oø on cherche (cid:224) dØterminer x ∈ S ⊂ Rn, le vecteur dont les
composantes sont les variables de dØcision (ou d’optimisation)
qui minimise f : Rn → R qui est appelØe fonction-objectif (ou
fonction coßt ou critŁre ou encore fonction Øconomique,selon
les domaines d’application) parmi tous les points de l’ensemble S,
appelØ le domaine rØalisable (ou admissible).
ProblŁme de production dans une usine
Un exemple d’application typique consiste (cid:224) trouver un plan de
production (quantitØs (cid:224) produire par machines), reprØsentØs par le
vecteurs des variables de dØcision x ∈ Rn, minimisant le coßt parmi
tout les plans de production satisfaisant des contraintes de capacitØ
et de demande.
Nour Houda Dougui
Recherche OpØrationnelle
8
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
ModØlisation d’un problŁme d’optimisation
La modØlisation d’un problŁme d’optimisation se fait en trois
Øtapes :
1 DØ(cid:28)nition des variables de dØcision (ou d’optimisation).
2 Expression de la fonction-objectif en termes de ces variables de
dØcision.
3 Expression des contraintes en termes de ces variables de
dØcision (gØnØralement sous la forme d’(in)ØgalitØs).
Minimisation ↔ Maximisation
On montre facilement que, sans perte de gØnØralitØs, il nous su(cid:30)ra
d’Øtudier le problŁme de minimisation. D’ailleurs, de nombreux
logiciels ne traitent que le problŁme de minimisation (il nous su(cid:30)t
de changer le signe de notre fonction-objectif pour la maximiser !).
Nour Houda Dougui
Recherche OpØrationnelle
9
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Nombreux sont les problŁmes susceptibles d’Œtre formulØs en
tant que maximisation ou minimisation d’un objectif en
fonction de ressources limitØes et de contraintes mutuellement
rivales.
Si l’on arrive (cid:224) exprimer l’objectif sous la forme d’une fonction
linØaire de certaines variables et que l’on peut spØci(cid:28)er les
contraintes concernant les ressources sous la forme d’ØgalitØs
ou d’inØgalitØs sur ces variables, alors on a un problŁme de
programmation linØaire.
La Programmation LinØaire (P.L.) a pour objet l’Øtude et la
rØsolution de programmes linØaires.
Nour Houda Dougui
Recherche OpØrationnelle
10
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
DØ(cid:28)nition
Un programme linØaire est un problŁme dans lequel les variables
sont des rØels qui doivent satisfaire un ensemble d’Øquations et/ou
d’inØquations linØaire dites contraintes linØaires et oø la valeur
d’une fonction linØaire de ces variables appelØe fonction objective
doit Œtre rendue maximale ou minimale.
Un programme linØaire prend donc la forme suivante :
Max (ou Min) z = C t × X sous contraintes :
AX ≤ b, HX = d , X ≥ 0
avec z = z(x) ∈ R, C ∈ Rn, X ∈ Rn, A(m, n), b ∈ Rm, H(p, n),
d ∈ Rp.
AX ≤ b ⇔ (AX )i ≤ bi , i ∈ [1, .., m]
Nour Houda Dougui
Recherche OpØrationnelle
11
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Exemples de problŁmes de programmation linØaire
De nombreux problŁme concrets provenant de domaines divers
peuvent Œtre modØlisØs sous forme de programmation linØaire :
Dans l’industrie : optimisation de la production ou du pro(cid:28)t,
ordonnancement des machines (i.e. la rØpartition optimale des
t(cid:226)ches sur plusieurs machines)
Dans les transports : optimisation d’un plan de transport,
rØpartition des voitures sur un rØseau routier, optimisation d’un
parcours entre deux points A et B.
Dans la construction : plani(cid:28)cation d’un chantier (i.e.
l’Øtude de la durØe totale du chantier en respectant l’ordre
logique des t(cid:226)ches ⇒ minimiser le temps de b(cid:226)tir un immeuble
par exemple).
Nour Houda Dougui
Recherche OpØrationnelle
12
1 Variables de dØcision : xi quantitØ de l’aliment ai .
2 Fonction-objectif : Min z = (cid:80)n
i=1 ci xi = (c1...cn)(x1...xn)t.
3 Contraintes linØaires : (cid:80)n
i=1 ei xi ≥ E , (cid:80)n
i=1 vi xi ≥ V ,
(cid:80)n
i=1 pi xi ≥ P.
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
ProblŁme de nutrition
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
ProblŁme
DonnØes : n types d’aliments sont disponibles sur le marchØ :
a1, ..., an. Une unitØ d’un aliment ai procure ei calories, vi
vitamines, pi protØines et coßte ci .
Objectif : On dØsire acheter des aliments parmis les n disponibles
procurant au moins E calories, V vitamines et P protØines au
moindre coßt.
ModØlisation du problŁme
Nour Houda Dougui
Recherche OpØrationnelle
13
2 Fonction-objectif : Min z = (cid:80)n
i=1 ci xi = (c1...cn)(x1...xn)t.
3 Contraintes linØaires : (cid:80)n
i=1 ei xi ≥ E , (cid:80)n
i=1 vi xi ≥ V ,
(cid:80)n
i=1 pi xi ≥ P.
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
ProblŁme de nutrition
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
ProblŁme
DonnØes : n types d’aliments sont disponibles sur le marchØ :
a1, ..., an. Une unitØ d’un aliment ai procure ei calories, vi
vitamines, pi protØines et coßte ci .
Objectif : On dØsire acheter des aliments parmis les n disponibles
procurant au moins E calories, V vitamines et P protØines au
moindre coßt.
ModØlisation du problŁme
1 Variables de dØcision : xi quantitØ de l’aliment ai .
Nour Houda Dougui
Recherche OpØrationnelle
13
3 Contraintes linØaires : (cid:80)n
i=1 ei xi ≥ E , (cid:80)n
i=1 vi xi ≥ V ,
(cid:80)n
i=1 pi xi ≥ P.
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
ProblŁme de nutrition
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
ProblŁme
DonnØes : n types d’aliments sont disponibles sur le marchØ :
a1, ..., an. Une unitØ d’un aliment ai procure ei calories, vi
vitamines, pi protØines et coßte ci .
Objectif : On dØsire acheter des aliments parmis les n disponibles
procurant au moins E calories, V vitamines et P protØines au
moindre coßt.
ModØlisation du problŁme
1 Variables de dØcision : xi quantitØ de l’aliment ai .
2 Fonction-objectif : Min z = (cid:80)n
i=1 ci xi = (c1...cn)(x1...xn)t.
Nour Houda Dougui
Recherche OpØrationnelle
13
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
ProblŁme de nutrition
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
ProblŁme
DonnØes : n types d’aliments sont disponibles sur le marchØ :
a1, ..., an. Une unitØ d’un aliment ai procure ei calories, vi
vitamines, pi protØines et coßte ci .
Objectif : On dØsire acheter des aliments parmis les n disponibles
procurant au moins E calories, V vitamines et P protØines au
moindre coßt.
ModØlisation du problŁme
1 Variables de dØcision : xi quantitØ de l’aliment ai .
2 Fonction-objectif : Min z = (cid:80)n
3 Contraintes linØaires : (cid:80)n
i=1 ei xi ≥ E , (cid:80)n
i=1 ci xi = (c1...cn)(x1...xn)t.
i=1 vi xi ≥ V ,
(cid:80)n
i=1 pi xi ≥ P.
Nour Houda Dougui
Recherche OpØrationnelle
13
1 Fonction-objectif : z = 3x1 + 24x2 + 19x3 + 9x4 + 20x5 + 19x6
2
s.c. : 110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 ≥ 2000
4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6 ≥ 55
2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6 ≥ 800
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0 et x6 ≥ 0.
Programmmation linØaire
Publicité
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Instance du problŁme
E = 2000, V = 800 et P = 55.
Aliment Calories ProtØines Vitamines Coßt
4
a1
32
a2
13
a3
8
a4
4
a5
14
a6
2
12
54
285
22
80
110
205
160
160
420
260
3
24
19
9
20
19
Nour Houda Dougui
Recherche OpØrationnelle
14
2
s.c. : 110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 ≥ 2000
4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6 ≥ 55
2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6 ≥ 800
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0 et x6 ≥ 0.
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Instance du problŁme
E = 2000, V = 800 et P = 55.
Aliment Calories ProtØines Vitamines Coßt
4
a1
32
a2
13
a3
8
a4
4
a5
14
a6
110
205
160
160
420
260
2
12
54
285
22
80
3
24
19
9
20
19
1 Fonction-objectif : z = 3x1 + 24x2 + 19x3 + 9x4 + 20x5 + 19x6
Nour Houda Dougui
Recherche OpØrationnelle
14
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Instance du problŁme
E = 2000, V = 800 et P = 55.
Aliment Calories ProtØines Vitamines Coßt
4
a1
32
a2
13
a3
8
a4
4
a5
14
a6
2
12
54
285
22
80
110
205
160
160
420
260
3
24
19
9
20
19
2
1 Fonction-objectif : z = 3x1 + 24x2 + 19x3 + 9x4 + 20x5 + 19x6
s.c. : 110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 ≥ 2000
4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6 ≥ 55
2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6 ≥ 800
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0 et x6 ≥ 0.
Nour Houda Dougui
Recherche OpØrationnelle
14
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Plan
1 Programmmation linØaire
Introduction
RØsultats fondamentaux de la P.L.
Di(cid:27)Ørentes formes de programmes linØaires
DØ(cid:28)nitions
ThØorŁmes fondamentaux
RØsolution graphique
MØthode du Simplexe
DualitØ
2 Programmmation linØaire en nombres entiers
Nour Houda Dougui
Recherche OpØrationnelle
15
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Dans cette section, nous prØsentons les fondements thØoriques
de la programmation linØaire. Nous commencerons par voir les
di(cid:27)Ørentes formes de programmes linØaires. Puis, nous
demontrerons quelques rØsultats thØoriques avant de
considØrer les mØthodes de rØsolutions.
Dans le cadre de ce cours, nous nous bornerons (cid:224) l’application
de la mØthode graphique et l’Øtude de l’algorithme du
simplexe, bienque d’autres mØthodes existent.
En e(cid:27)et, il existe plusieurs algorithmes (cid:224) temps polynomial
pour la programmation linØaire, comme les mØthodes de
point intØrieur. D’un aute c(cid:244)tØ, l’algorithme du simplexe qui
est le plus vieil algorithme de programmation linØaire ne
s’exØcute pas en temps polynomial dans le cas le plus
dØfavorable, mais il est relativement e(cid:30)cace et largement
utilisØ en pratique.
Nour Houda Dougui
Recherche OpØrationnelle
16
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Plan
1 Programmmation linØaire
Introduction
RØsultats fondamentaux de la P.L.
Di(cid:27)Ørentes formes de programmes linØaires
DØ(cid:28)nitions
ThØorŁmes fondamentaux
RØsolution graphique
MØthode du Simplexe
DualitØ
2 Programmmation linØaire en nombres entiers
Nour Houda Dougui
Recherche OpØrationnelle
17
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Max (ou Min) z = C tX
AX = b
X ≥ 0
Le programme linØaire est dit Øcrit sous forme standard : les
contraintes autres que les contraintes de signe sont toutes des
contraintes d’ØgalitØs et toutes les variables sont ≥ 0
Max (ou Min) z = C tX
AX ≤ b
X ≥ 0
Ce programme linØaire est dit Øcrit sous forme canonique : les
contraintes autres que les contraintes de signe sont des inØgalitØs
du type ≤ et toutes les variables sont ≥ 0.
Nour Houda Dougui
Recherche OpØrationnelle
18
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
PropriØtØ
Tout programme linØaire sous forme standard peut s’Øcrire sous
forme canonique. (RØciproquement : tout programme linØaire sous
forme canonique peut s’Øcrire sous forme standard).
⇒
Soit le programme linØaire (p.l)
AX = b ⇔
(cid:40)
(cid:40)
AX ≥ b
AX ≤ b
⇔
Max (ou Min) z = C tX
AX = b
X ≥ 0
− AX ≤ −b
AX ≤ b
donc le p.l. ⇔
Max (ou Min) z = C tX sous contraintes : X ≥ 0
(cid:18) −b
(cid:18) −A
b
A
A(cid:48)X ≤ b(cid:48) avec A(cid:48) =
et b(cid:48) =
(cid:19)
(2m,n)
Nour Houda Dougui
Recherche OpØrationnelle
(cid:19)
2m
19
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
⇐
(cid:40)
Soit le p.l
Max (ou Min) z = C tX sous contraintes : X ≥ 0
AX ≤ b
AX ≤ b ⇔ (AX )i ≤ bi , i ∈ [1..m]
⇔ ∃yi ≥ 0 telque (AX )i + yi = bi , i ∈ [1..m]
⇔ ∃Y ∈ Rm telque AX + Y = b, Y ≥ 0
donc le p.l. ⇔
Max (ou Min) z = C (cid:48)tX (cid:48)
A(cid:48)X (cid:48) = b(cid:48)
X (cid:48) ≥ 0
⇔
Max (ou Min) z = C tX
AX + Y = b
X ≥ 0, Y ≥ 0
(cid:18) X
Y
(cid:19)
n+m
avec X (cid:48) =
, A(cid:48) = (A, I )(m,n+m) et C (cid:48) =
(cid:19)
(cid:18) C
0
n+m
On appelle (yi )1≤i≤m des variables d’Øcarts.
Nour Houda Dougui
Recherche OpØrationnelle
20
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Remarque :
Max z = - Min(-z)
Les contraintes de signe peuvent s’inclure dans les autres
contraintes de type AX ≤ b (ou AX = b).
Exemple :
A(cid:48) =
(cid:18) A
−I
Publicité
(cid:40)
⇔
(cid:40)
AX ≤ b
X ≥ 0
(cid:19)
et b(cid:48) =
AX ≤ b
− X ≤ 0
(cid:18) b
(cid:19)
0
(m+n,n)
m+n
⇔ A(cid:48)X ≤ b(cid:48) avec
Nour Houda Dougui
Recherche OpØrationnelle
21
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Exercice
Mettez sous forme standard le programme linØaire suivant :
Min (5x1 − 3x2)
s.c. :
x1 − x2 ≥ 2
2x1 + 3x2 ≤ 4
−x1 + 6x2 = 10
x1 ≥ 0, x2 ≥ 0
Nour Houda Dougui
Recherche OpØrationnelle
22
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Correction
x1 − x2 ≥ 2 ⇔ x2 − x1 ≤ −2 ⇔ ∃x3 telque x2 − x1 + x3 = −2
2x1 + 3x2 ≤ 4 ⇔ ∃x4 telque 2x1 + 3x2 + x4 = 4
⇒ le p.l. sous forme standard est :
Min z = c tX avec z = 5x1 − 3x2, X =
x1
x2
x3
x4
, C =
5
−3
0
0
−1 1 1 0
3 0 1
2
−1 6 0 0
x1
x2
x3
x4
=
−2
4
10
X ≥ 0
Nour Houda Dougui
Recherche OpØrationnelle
23
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Tout programme linØaire se met sous forme standard ou canonique.
1 − x −
1 avec x +
1 = − min(x1, 0)
1 , x −
Si on a AX ≥ b alors AX ≥ b ⇔ −AX ≤ −b
⇔ ∃Y ≥ 0 telque − AX + Y = −b
Si une plusieurs variable n’a pas de contraintes de signe : on
suppose que x1 est de signe quelconque ⇒ on pose
x1 = x +
1 ≥ 0 et x −
et x −
X t → X (cid:48)t = (x +
⇒ Max z = C tX = C (cid:48)tX (cid:48) avec C (cid:48)t = (c1, −c1, c2, ..., cn)n+1
et AX = b ⇔ (AX )i = bi , i ∈ [1..m]
⇔ (cid:80)n
j=1 aij xj = bi , i ∈ [1..m]
⇔ ai1x1 + (cid:80)n
⇔ ai1x +
j=2 aij xj = bi , i ∈ [1..m]
1 ≥ 0 telque x +
j=2 aij xj = bi , i ∈ [1..m]
1 , x2, ..., xn)
1 − ai1x −
1 + (cid:80)n
1 = max(x1, 0)
Nour Houda Dougui
Recherche OpØrationnelle
24
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
a11 −a11
a21 −a21
.
.
.
⇔
a12
a22
...
...
a1n
a2n
X (cid:48) = b
am1 −am1
am2
⇒ A → A(cid:48) ∈ R(m,n+1)
... amn
Nour Houda Dougui
Recherche OpØrationnelle
25
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Plan
1 Programmmation linØaire
Introduction
RØsultats fondamentaux de la P.L.
Di(cid:27)Ørentes formes de programmes linØaires
DØ(cid:28)nitions
ThØorŁmes fondamentaux
RØsolution graphique
MØthode du Simplexe
DualitØ
2 Programmmation linØaire en nombres entiers
Nour Houda Dougui
Recherche OpØrationnelle
26
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
On considŁre un programme linØaire sous forme standard avec
n variables et m contraintes.
On suppose que A (matrice de contraintes) est de rang m. ⇔
∃ une matrice B(m,m) de A de dØt (cid:54)= 0 ⇔ les m contraintes sont
indØpendantes.
On appelle (P)
Max z = C tX
AX = b
X ≥ 0
On appelle solution admissible ou rØalisable de (P) tout vecteur
X de Rn vØri(cid:28)ant les contraintes de (P).
L’ensemble des solutions admissibles ou rØalisables est l’ensemble
des X ∈ Rn telque X ≥ 0 et AX = b.
Nour Houda Dougui
Recherche OpØrationnelle
27
Le vecteur
X = (x1 = 0, x2 = 0, x3 = 0.5, x4 = 0.5, x5 = 0.5, x6 = 0, x7 = 0.5)
est une solution rØalisable du problŁme (E). La valeur de la
fonction objectif correspendante est −0.5.
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Exemple
ProblŁme de programmation linØaire (E)
max(z) = x1 + 2x2 + 3x3 − 4x4
sous conditions :
x1 − x2 + x3 + x5 = 1
x1 − x3 − x4 + x6 = −1
x2 + x3 + x4 + x7 = 1
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0, x6 ≥ 0 et x7 ≥ 0.
Nour Houda Dougui
Recherche OpØrationnelle
28
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Exemple
ProblŁme de programmation linØaire (E)
max(z) = x1 + 2x2 + 3x3 − 4x4
sous conditions :
x1 − x2 + x3 + x5 = 1
x1 − x3 − x4 + x6 = −1
x2 + x3 + x4 + x7 = 1
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0, x6 ≥ 0 et x7 ≥ 0.
Le vecteur
X = (x1 = 0, x2 = 0, x3 = 0.5, x4 = 0.5, x5 = 0.5, x6 = 0, x7 = 0.5)
est une solution rØalisable du problŁme (E). La valeur de la
fonction objectif correspendante est −0.5.
Nour Houda Dougui
Recherche OpØrationnelle
28
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
On appelle base du problŁme (P) toute matrice B(m,m) inversible de
A.
En supposant que les m premiers vecteurs de A forment une base B
(on pourra toujours changer l’ordre des colonnes de A), on pourra
Øcrire A = (B, N) oø N(m,n−m) et B(m,m).
Une solution X rØalisable sera notØe
(cid:19)
X =
m composantes
(cid:18) XB }
XN } n − m composantes
d’oø AX = b ⇔ BXB + NXN = b
.
DØ(cid:28)nition :
Si une solution rØalisable X vØri(cid:28)e XN = 0, X est appelØe solution
rØalisable de base associØe (cid:224) la base B ⇒ X =
XB = B −1b (B base ⇒ inversible).
Nour Houda Dougui
Recherche OpØrationnelle
(cid:19)
(cid:18) XB
0
et
29
Une solution rØalisable qui maximise la fonction objectif (ou qui
minimise selon la forme du problŁme) est une solution optimale.
La valeur correspendante de la fonction objectif est la valeur
optimale du problŁme.
Exemple (E)
Le vecteur X = (x1 = 0, x2 = 0, x3 = 1, x4 = 0, x5 = 0, x6 = 0,
x7 = 0) est la solution optimale du problŁme (E). La valeur
optimale du problŁme est 3.
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Exemple (E)
Le vecteur X = (x1 = 0, x2 = 0, x3 = 0, x4 = 1, x5 = 1, x6 = 0,
x7 = 0) est une solution rØalisable de base du problŁme (E)
associØ (cid:224) la base (c4, c5, c6) (ou la base (x4, x5, x6)). La valeur de la
fonction objectif correspendante est −4.
Nour Houda Dougui
Recherche OpØrationnelle
30
Exemple (E)
Le vecteur X = (x1 = 0, x2 = 0, x3 = 1, x4 = 0, x5 = 0, x6 = 0,
x7 = 0) est la solution optimale du problŁme (E). La valeur
optimale du problŁme est 3.
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Publicité
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Exemple (E)
Le vecteur X = (x1 = 0, x2 = 0, x3 = 0, x4 = 1, x5 = 1, x6 = 0,
x7 = 0) est une solution rØalisable de base du problŁme (E)
associØ (cid:224) la base (c4, c5, c6) (ou la base (x4, x5, x6)). La valeur de la
fonction objectif correspendante est −4.
Une solution rØalisable qui maximise la fonction objectif (ou qui
minimise selon la forme du problŁme) est une solution optimale.
La valeur correspendante de la fonction objectif est la valeur
optimale du problŁme.
Nour Houda Dougui
Recherche OpØrationnelle
30
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Exemple (E)
Le vecteur X = (x1 = 0, x2 = 0, x3 = 0, x4 = 1, x5 = 1, x6 = 0,
x7 = 0) est une solution rØalisable de base du problŁme (E)
associØ (cid:224) la base (c4, c5, c6) (ou la base (x4, x5, x6)). La valeur de la
fonction objectif correspendante est −4.
Une solution rØalisable qui maximise la fonction objectif (ou qui
minimise selon la forme du problŁme) est une solution optimale.
La valeur correspendante de la fonction objectif est la valeur
optimale du problŁme.
Exemple (E)
Le vecteur X = (x1 = 0, x2 = 0, x3 = 1, x4 = 0, x5 = 0, x6 = 0,
x7 = 0) est la solution optimale du problŁme (E). La valeur
optimale du problŁme est 3.
Nour Houda Dougui
Recherche OpØrationnelle
30
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Exemple
Max Z = 100x1 + 200x2
s.c. :
3x1 + 4x2 ≤ 42
x1 + 3x2 ≤ 24
x1 ≥ 0, x2 ≥ 0
−→ Forme standard
Max Z = 100x1 + 200x2
s.c. :
3x1 + 4x2 + y1 = 42
x1 + 3x2 + y2 = 24
x1 ≥ 0, x2 ≥ 0, y1 ≥ 0, y2 ≥ 0
Y = (y1, y2) : vecteur des variables d’Øcart.
Nour Houda Dougui
Recherche OpØrationnelle
31
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
(cid:201)criture matricielle :
Max (z) = (100, 200, 0, 0) ×
x1
x2
y1
y2
s.c :
(cid:18) 3 4 1 0
1 3 0 1
(cid:19)
×
x1
x2
y1
y2
(cid:19)
=
(cid:18) 42
24
⇔
Max (z) = C tX
s.c. :
AX = b
X ≥ 0
Nour Houda Dougui
Recherche OpØrationnelle
32
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
A = [B, N] : On partitionne A en deux sous matrices.
A =
(cid:18) 3 4 1 0
1 3 0 1
(cid:19)
B est inversible et B −1 =
et B −1b =
(cid:18) 3 0
1 1
(cid:19)
0
1
⇒ B =
(cid:18) 1
3
−1
3
(cid:19)
et N =
(cid:19)
(cid:18) 4 1
3 0
(cid:18) 14
10
(cid:19)
Dans ce cas :
(cid:19)
xB =
(cid:18) x1
y2
hors base.
Ce choix donne la solution de base :
les variables de base et xN =
(cid:19)
(cid:18) x2
y1
les variables
xB =
(cid:19)
(cid:18) 14
10
et xN =
(cid:19)
(cid:18) 0
0
Nour Houda Dougui
Recherche OpØrationnelle
33
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Un choix (cid:224) rejeter :
(cid:18) 3 4 1 0
(cid:19)
1 3 0 1
A =
⇒ B =
(cid:18) 4 0
3 1
B est inversible et B −1 = 1
4
(cid:18) 1
0
−3 4
(cid:19)
(cid:19)
et N =
et B −1b =
(cid:19)
(cid:18) 3 1
1 0
(cid:18) 21
2
−30
4
(cid:19)
Remarque :
La Solution Initiale (cid:201)vidente (SIE) admet la matrice identitØ
comme base. Dans le cas de l’exemple, la (SIE) est :
xB =
(cid:18) y1
y2
(cid:19)
=
(cid:18) 42
24
(cid:19)
et xN =
(cid:18) x1
x2
(cid:19)
=
(cid:18) 0
0
(cid:19)
Nour Houda Dougui
Recherche OpØrationnelle
34
Exemple de problŁmes P.L. sans solution
Le problŁme suivant n’a aucune solution rØalisable (problŁme
non-rØalisable) :
Max 3x1 − x2
s.c. :
x1 + x2 ≤ 2
−2x1 − 2x2 ≤ −10
x1 ≥ 0, x2 ≥ 0
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Les problŁme de programmation linØaire n’ont pas tous une unique
solution optimale.
Certains problŁmes ont plusieurs solutions optimales di(cid:27)Ørentes,
d’autres n’en ont aucune.
Nour Houda Dougui
Recherche OpØrationnelle
35
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Les problŁme de programmation linØaire n’ont pas tous une unique
solution optimale.
Certains problŁmes ont plusieurs solutions optimales di(cid:27)Ørentes,
d’autres n’en ont aucune.
Exemple de problŁmes P.L. sans solution
Le problŁme suivant n’a aucune solution rØalisable (problŁme
non-rØalisable) :
Max 3x1 − x2
s.c. :
x1 + x2 ≤ 2
−2x1 − 2x2 ≤ −10
x1 ≥ 0, x2 ≥ 0
Nour Houda Dougui
Recherche OpØrationnelle
35
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Exemple de problŁmes P.L. sans solution
Le problŁme suivant a des solutions rØalisables mais aucune n’est
optimale (problŁme non-bornØ) :
Max x1 − x2
s.c. :
−2x1 + x2 ≤ −1
−x1 − 2x2 ≤ −2
x1 ≥ 0, x2 ≥ 0
∀M ∈ R, ∃ solution rØalisable tq : x1 − x2 > M
Tout problŁme de P.L. appartient (cid:224) l’une des trois catØgories :
a une solution optimale.
est non-rØalisable.
est non-bornØ
Nour Houda Dougui
Recherche OpØrationnelle
36
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
Plan
1 Programmmation linØaire
Introduction
RØsultats fondamentaux de la P.L.
Di(cid:27)Ørentes formes de programmes linØaires
DØ(cid:28)nitions
ThØorŁmes fondamentaux
RØsolution graphique
MØthode du Simplexe
DualitØ
2 Programmmation linØaire en nombres entiers
Nour Houda Dougui
Recherche OpØrationnelle
37
Programmmation linØaire
Programmmation linØaire en nombres entiers (PLNE)
Introduction
RØsultats fondamentaux de la P.L.
RØsolution graphique
MØthode du Simplexe
DualitØ
ThØorŁme
1 S’il ∃ une solution rØalisable du problŁme (P), alors ∃ une
solution rØalisable de base.
2 S’il ∃ une solution optimale du problŁme (P), alors ∃ une
solution optimale rØalisable de base.
DØmonstration :
-1- Soient A1, ..., An les n vecteurs colonnes de A et soit X une
solution rØalisable de (P). On suppose que X possŁde p
composantes strictement positives et n...