Vous êtes sur la page 1sur 75

Programmation Linéaire

A.Belcaid

ENSA-Safi

May 18, 2022

MII
A.Belcaid 1/21
Introduction

Ce chapitre est réservé a l’étude des Programme linéaire (LP).


Ils sont omniprésents en pratique.
Ils possedent des propriétés mathématiques tres utiles.
Constituent un excellent début pour la RO.
Nous allons etudier:
Quels types de problèmes peuvent être formulés comme un LP.
Comment formuler un LP dans sa forme compacte.

MII
A.Belcaid 2/21
Table de matière

1 Terminologie

2 Méthode graphique.

MII
A.Belcaid 3/21
Programme linéaire

La Programmation linéaire est le processus de formuler et de


résoudre un Programme linéaire (LP).

MII
A.Belcaid 4/21
Programme linéaire

La Programmation linéaire est le processus de formuler et de


résoudre un Programme linéaire (LP).

Un LP est un programme mathématique avec des propriétés bien


definies.

MII
A.Belcaid 4/21
Programme linéaire

La Programmation linéaire est le processus de formuler et de


résoudre un Programme linéaire (LP).

Un LP est un programme mathématique avec des propriétés bien


definies.
Avant on va introduire certains concepts d’un programme
mathematique.

MII
A.Belcaid 4/21
Elements basiques d’un programme lineaire

La forme générale d’un programme mathématique est:

min f(x1 , x2 , . . . , xn ) (fonction objective)


s.t. gi (x1 , x2 , . . . , xn ) 6 bi ∀i = 1, . . . , m (contraintes)
xj ∈ R ∀j = 1, . . . , n (variables decision)

MII
A.Belcaid 5/21
Elements basiques d’un programme lineaire

La forme générale d’un programme mathématique est:

min f(x1 , x2 , . . . , xn ) (fonction objective)


s.t. gi (x1 , x2 , . . . , xn ) 6 bi ∀i = 1, . . . , m (contraintes)
xj ∈ R ∀j = 1, . . . , n (variables decision)

On possèdent m contraintes et n variables.

MII
A.Belcaid 5/21
Elements basiques d’un programme lineaire

La forme générale d’un programme mathématique est:

min f(x1 , x2 , . . . , xn ) (fonction objective)


s.t. gi (x1 , x2 , . . . , xn ) 6 bi ∀i = 1, . . . , m (contraintes)
xj ∈ R ∀j = 1, . . . , n (variables decision)

On possèdent m contraintes et n variables.


x1 , . . . , xn sont tous des réels.

MII
A.Belcaid 5/21
Elements basiques d’un programme lineaire

La forme générale d’un programme mathématique est:

min f(x1 , x2 , . . . , xn ) (fonction objective)


s.t. gi (x1 , x2 , . . . , xn ) 6 bi ∀i = 1, . . . , m (contraintes)
xj ∈ R ∀j = 1, . . . , n (variables decision)

On possèdent m contraintes et n variables.


x1 , . . . , xn sont tous des réels.
On peut écrire:
x1
 
 . 
x =  ..  = x1 . . .

xn
xn
est le vecteur de décision

MII
A.Belcaid 5/21
Elements basiques d’un programme lineaire

La forme générale d’un programme mathématique est:

min f(x1 , x2 , . . . , xn ) (fonction objective)


s.t. gi (x1 , x2 , . . . , xn ) 6 bi ∀i = 1, . . . , m (contraintes)
xj ∈ R ∀j = 1, . . . , n (variables decision)

On possèdent m contraintes et n variables.


x1 , . . . , xn sont tous des réels.
On peut écrire:
x1
 
 . 
x =  ..  = x1 . . .

xn
xn
est le vecteur de décision
f : R → R et gi : Rn → R: des fonctions réelles.
n

MII
A.Belcaid 5/21
Transformation

Et si on veut maximiser?

MII
A.Belcaid 6/21
Transformation

Et si on veut maximiser?

max f(x) ⇐⇒ min −f(x)

MII
A.Belcaid 6/21
Transformation

Et si on veut maximiser?

max f(x) ⇐⇒ min −f(x)

MII
A.Belcaid 6/21
Transformation

Et si on veut maximiser?

max f(x) ⇐⇒ min −f(x)

qu’en est-il des autres contraintes?

MII
A.Belcaid 6/21
Transformation

Et si on veut maximiser?

max f(x) ⇐⇒ min −f(x)

qu’en est-il des autres contraintes?


gi (x) > bi ⇐⇒ −gi (x) 6 −bi

MII
A.Belcaid 6/21
Transformation

Et si on veut maximiser?

max f(x) ⇐⇒ min −f(x)

qu’en est-il des autres contraintes?


gi (x) > bi ⇐⇒ −gi (x) 6 −bi
gi (x) = bi ⇐⇒ gi (x) 6 bi et gi (x) > bi

MII
A.Belcaid 6/21
Transformation

Et si on veut maximiser?

max f(x) ⇐⇒ min −f(x)

qu’en est-il des autres contraintes?


gi (x) > bi ⇐⇒ −gi (x) 6 −bi
gi (x) = bi ⇐⇒ gi (x) 6 bi et gi (x) > bi

MII
A.Belcaid 6/21
Transformation

Et si on veut maximiser?

max f(x) ⇐⇒ min −f(x)

qu’en est-il des autres contraintes?


gi (x) > bi ⇐⇒ −gi (x) 6 −bi
gi (x) = bi ⇐⇒ gi (x) 6 bi et gi (x) > bi
Par exemple:

max x1 − x2
s.t −2x1 + x2 > −3 ⇐⇒
x1 + 4x2 = 5

MII
A.Belcaid 6/21
Transformation

Et si on veut maximiser?

max f(x) ⇐⇒ min −f(x)

qu’en est-il des autres contraintes?


gi (x) > bi ⇐⇒ −gi (x) 6 −bi
gi (x) = bi ⇐⇒ gi (x) 6 bi et gi (x) > bi
Par exemple:

max x1 − x2
s.t −2x1 + x2 > −3 ⇐⇒
x1 + 4x2 = 5

MII
A.Belcaid 6/21
Transformation

Et si on veut maximiser?

max f(x) ⇐⇒ min −f(x)

qu’en est-il des autres contraintes?


gi (x) > bi ⇐⇒ −gi (x) 6 −bi
gi (x) = bi ⇐⇒ gi (x) 6 bi et gi (x) > bi
Par exemple:

max x1 − x2
max x1 − x2
s.t 2x1 − x2 6 3
s.t −2x1 + x2 > −3 ⇐⇒
x1 + 4x2 6 5
x1 + 4x2 = 5
−x1 − 4x2 6 −5

MII
A.Belcaid 6/21
Contraintes de signe

On va distinguer selon deux types de Contraintes.


Contraintes de signe comme xi > 0 ou xi 6 0.

Contraintes : les autres.

Pour une variable xi :


Elle est positive si xi > 0.

Elle est négative si xi 6 0.

Elle est sans contrainte sinon.

MII
A.Belcaid 7/21
Solution faisables

Pour un programme mathématique:

MII
A.Belcaid 8/21
Solution faisables

Pour un programme mathématique:


On dit qu’une solution est réalisable si elle satisfait toutes les contraintes.

MII
A.Belcaid 8/21
Solution faisables

Pour un programme mathématique:


On dit qu’une solution est réalisable si elle satisfait toutes les contraintes.
Dans le cas contraire, elle est dite non realisable.

MII
A.Belcaid 8/21
Solution faisables

Pour un programme mathématique:


On dit qu’une solution est réalisable si elle satisfait toutes les contraintes.
Dans le cas contraire, elle est dite non realisable.

MII
A.Belcaid 8/21
Solution faisables

Pour un programme mathématique:


On dit qu’une solution est réalisable si elle satisfait toutes les contraintes.
Dans le cas contraire, elle est dite non realisable.

min 2x1 + x2
s.t. x1 6 10
x1 + 2x2 6 12
x1 − 2x2 > −8
x1 > 0
x2 > 0

MII
A.Belcaid 8/21
Solution faisables

Pour un programme mathématique:


On dit qu’une solution est réalisable si elle satisfait toutes les contraintes.
Dans le cas contraire, elle est dite non realisable.

min 2x1 + x2
s.t. x1 6 10
x1 + 2x2 6 12
x1 − 2x2 > −8
x1 > 0
x2 > 0

MII
A.Belcaid 8/21
Solution faisables

Pour un programme mathématique:


On dit qu’une solution est réalisable si elle satisfait toutes les contraintes.
Dans le cas contraire, elle est dite non realisable.

min 2x1 + x2
s.t. x1 6 10 Réalisable?
x1 + 2x2 6 12
x1 − 2x2 > −8
x1 > 0
x2 > 0

MII
A.Belcaid 8/21
Solution faisables

Pour un programme mathématique:


On dit qu’une solution est réalisable si elle satisfait toutes les contraintes.
Dans le cas contraire, elle est dite non realisable.

min 2x1 + x2
s.t. x1 6 10 Réalisable?
x1 + 2x2 6 12 x1 = (2, 3)
x1 − 2x2 > −8
x1 > 0
x2 > 0

MII
A.Belcaid 8/21
Solution faisables

Pour un programme mathématique:


On dit qu’une solution est réalisable si elle satisfait toutes les contraintes.
Dans le cas contraire, elle est dite non realisable.

min 2x1 + x2
s.t. x1 6 10 Réalisable?
x1 + 2x2 6 12 x1 = (2, 3)
x1 − 2x2 > −8 x2 = (6, 0)
x1 > 0
x2 > 0

MII
A.Belcaid 8/21
Solution faisables

Pour un programme mathématique:


On dit qu’une solution est réalisable si elle satisfait toutes les contraintes.
Dans le cas contraire, elle est dite non realisable.

min 2x1 + x2
s.t. x1 6 10 Réalisable?
x1 + 2x2 6 12 x1 = (2, 3)
x1 − 2x2 > −8 x2 = (6, 0)
x1 > 0
x3 = (6, 6)
x2 > 0

MII
A.Belcaid 8/21
Région réalisable et solution optimale

on appelle Région réalisable l’ensemble de toutes les solutions


réalisable.
Cette région peut être vide!

Une Solution optimale est une solution qui:


Atteint la valeur maximale pour le problème mathématique.
Plus simplement, on peut pas trouver de meilleure solution.

Une solution optimale n’est pas forcement unique.


On peut avoir plusieurs solution optimales.
Comme on peut avoir aucune solution optimale.

MII
A.Belcaid 9/21
Contraintes Saturée

Pour une solution, on dit qu’une contraintes est saturée1 :

MII
1
on peut aussi trouver le vocabulaire active/non active
A.Belcaid 10/21
Contraintes Saturée

Pour une solution, on dit qu’une contraintes est saturée1 :

Définition
Soit g(.) 6 b une contrainte et x une solution.
La contrainte g(.) 6 b est saturée si g(x) = b.

MII
1
on peut aussi trouver le vocabulaire active/non active
A.Belcaid 10/21
Contraintes Saturée

Pour une solution, on dit qu’une contraintes est saturée1 :

Définition
Soit g(.) 6 b une contrainte et x une solution.
La contrainte g(.) 6 b est saturée si g(x) = b.

Une inégalité est dite non saturée si elle est stricte dans ce point.

MII
1
on peut aussi trouver le vocabulaire active/non active
A.Belcaid 10/21
Contraintes Saturée

Pour une solution, on dit qu’une contraintes est saturée1 :

Définition
Soit g(.) 6 b une contrainte et x une solution.
La contrainte g(.) 6 b est saturée si g(x) = b.

Une inégalité est dite non saturée si elle est stricte dans ce point.
Une contrainte d’égalité est toujours saturée dans une solution.

MII
1
on peut aussi trouver le vocabulaire active/non active
A.Belcaid 10/21
Contraintes Saturée

Pour une solution, on dit qu’une contraintes est saturée1 :

Définition
Soit g(.) 6 b une contrainte et x une solution.
La contrainte g(.) 6 b est saturée si g(x) = b.

Une inégalité est dite non saturée si elle est stricte dans ce point.
Une contrainte d’égalité est toujours saturée dans une solution.

Voici quelque exemples:

MII
1
on peut aussi trouver le vocabulaire active/non active
A.Belcaid 10/21
Contraintes Saturée

Pour une solution, on dit qu’une contraintes est saturée1 :

Définition
Soit g(.) 6 b une contrainte et x une solution.
La contrainte g(.) 6 b est saturée si g(x) = b.

Une inégalité est dite non saturée si elle est stricte dans ce point.
Une contrainte d’égalité est toujours saturée dans une solution.

Voici quelque exemples:


x1 + x2 6 10 est saturée dans (x1 , x2 ) = (2, 8).

MII
1
on peut aussi trouver le vocabulaire active/non active
A.Belcaid 10/21
Contraintes Saturée

Pour une solution, on dit qu’une contraintes est saturée1 :

Définition
Soit g(.) 6 b une contrainte et x une solution.
La contrainte g(.) 6 b est saturée si g(x) = b.

Une inégalité est dite non saturée si elle est stricte dans ce point.
Une contrainte d’égalité est toujours saturée dans une solution.

Voici quelque exemples:


x1 + x2 6 10 est saturée dans (x1 , x2 ) = (2, 8).
2x1 + x2 > 6 n’est saturée dans (x1 , x2 ) = (2, 8).

MII
1
on peut aussi trouver le vocabulaire active/non active
A.Belcaid 10/21
Contraintes Saturée

Pour une solution, on dit qu’une contraintes est saturée1 :

Définition
Soit g(.) 6 b une contrainte et x une solution.
La contrainte g(.) 6 b est saturée si g(x) = b.

Une inégalité est dite non saturée si elle est stricte dans ce point.
Une contrainte d’égalité est toujours saturée dans une solution.

Voici quelque exemples:


x1 + x2 6 10 est saturée dans (x1 , x2 ) = (2, 8).
2x1 + x2 > 6 n’est saturée dans (x1 , x2 ) = (2, 8).
x1 + 3x2 = 9 est saturée dans (x1 , x2 ) = (6, 1).

MII
1
on peut aussi trouver le vocabulaire active/non active
A.Belcaid 10/21
Contrainte strictes

Une inegalite peut etre stricte ou faible:

MII
A.Belcaid 11/21
Contrainte strictes

Une inegalite peut etre stricte ou faible:


Elle est stricte si les deux membres ne peuvent pas être gaux
x + +x2 > 5.

MII
A.Belcaid 11/21
Contrainte strictes

Une inegalite peut etre stricte ou faible:


Elle est stricte si les deux membres ne peuvent pas être gaux
x + +x2 > 5.
Elle est dite faible, si on peut avoir l’égalité. x1 + x2 > 4.

MII
A.Belcaid 11/21
Contrainte strictes

Une inegalite peut etre stricte ou faible:


Elle est stricte si les deux membres ne peuvent pas être gaux
x + +x2 > 5.
Elle est dite faible, si on peut avoir l’égalité. x1 + x2 > 4.

En pratique, dans un programme linéaire, toutes les inégalités sont


faible.

MII
A.Belcaid 11/21
Contrainte strictes

Une inegalite peut etre stricte ou faible:


Elle est stricte si les deux membres ne peuvent pas être gaux
x + +x2 > 5.
Elle est dite faible, si on peut avoir l’égalité. x1 + x2 > 4.

En pratique, dans un programme linéaire, toutes les inégalités sont


faible.
Avec des contraintes strictes, il se peut qu’on atteint pas la solution.

MII
A.Belcaid 11/21
Contrainte strictes

Une inegalite peut etre stricte ou faible:


Elle est stricte si les deux membres ne peuvent pas être gaux
x + +x2 > 5.
Elle est dite faible, si on peut avoir l’égalité. x1 + x2 > 4.

En pratique, dans un programme linéaire, toutes les inégalités sont


faible.
Avec des contraintes strictes, il se peut qu’on atteint pas la solution.
Penser a l’exemple:
min x
s.t. x > 0?

MII
A.Belcaid 11/21
Programme Linéaire

MII
A.Belcaid 12/21
Programme Linéaire

MII
A.Belcaid 12/21
Programme Linéaire

Un programme mathématique:

min f(x)
s.t. gi (x) 6 bi ∀i = 1, . . . , m

est un LP si f et tous les g sont lineaires.

MII
A.Belcaid 12/21
Programme Linéaire

Un programme mathématique:

min f(x)
s.t. gi (x) 6 bi ∀i = 1, . . . , m

est un LP si f et tous les g sont lineaires.


Chacune des ces fondions peuvent être
exprimées comme:

X
n
a1 x2 + a2 x2 + . . . + an xn = aj xj
i=j

ou aj ∈ R, j = 1, . . . , n sont des coefficients.

MII
A.Belcaid 12/21
Programme Linéaire

Un programme mathématique:

min f(x)
s.t. gi (x) 6 bi ∀i = 1, . . . , m

est un LP si f et tous les g sont lineaires.


Chacune des ces fondions peuvent être
exprimées comme:

X
n
a1 x2 + a2 x2 + . . . + an xn = aj xj
i=j

ou aj ∈ R, j = 1, . . . , n sont des coefficients.


On peut aussi écrire a = (a1 , . . . , an ) et

f(x) = aT x

.
MII
A.Belcaid 12/21
Programme Linéaire

Un programme mathématique:

min f(x)
s.t. gi (x) 6 bi ∀i = 1, . . . , m

est un LP si f et tous les g sont lineaires.


Chacune des ces fondions peuvent être
exprimées comme:

X
n
a1 x2 + a2 x2 + . . . + an xn = aj xj
i=j

ou aj ∈ R, j = 1, . . . , n sont des coefficients.


On peut aussi écrire a = (a1 , . . . , an ) et

f(x) = aT x

.
MII
A.Belcaid 12/21
Programme Linéaire

Un programme mathématique:

min f(x)
s.t. gi (x) 6 bi ∀i = 1, . . . , m

est un LP si f et tous les g sont lineaires.


Un exemple:
Chacune des ces fondions peuvent être
exprimées comme:
min x1 + x2
X
n s.t. x1 + 2x2 6 6
a1 x2 + a2 x2 + . . . + an xn = aj xj 2x1 + x2 6 6
i=j
x1 > 0, x2 > 0.
ou aj ∈ R, j = 1, . . . , n sont des coefficients.
On peut aussi écrire a = (a1 , . . . , an ) et

f(x) = aT x

.
MII
A.Belcaid 12/21
Programme Linéaire

MII
A.Belcaid 13/21
Programme Linéaire

MII
A.Belcaid 13/21
Programme Linéaire

En général, un LP peut être exprime


par:
Pn
min j=1 cj xj
Pn
s.t. j=1 Aij xj 6 bi ∀i ∈ 1, . . . , m

MII
A.Belcaid 13/21
Programme Linéaire

En général, un LP peut être exprime


par:
Pn
min j=1 cj xj
Pn
s.t. j=1 Aij xj 6 bi ∀i ∈ 1, . . . , m

Aij : les Coefficients des


contraintes.

MII
A.Belcaid 13/21
Programme Linéaire

En général, un LP peut être exprime


par:
Pn
min j=1 cj xj
Pn
s.t. j=1 Aij xj 6 bi ∀i ∈ 1, . . . , m

Aij : les Coefficients des


contraintes.
bj : Les valeurs du deuxième
membre (RHS).

MII
A.Belcaid 13/21
Programme Linéaire

En général, un LP peut être exprime


par:
Pn
min j=1 cj xj
Pn
s.t. j=1 Aij xj 6 bi ∀i ∈ 1, . . . , m

Aij : les Coefficients des


contraintes.
bj : Les valeurs du deuxième
membre (RHS).
cj : les Coefficient de la fonction
objective.

MII
A.Belcaid 13/21
Programme Linéaire

En général, un LP peut être exprime


par:
Pn
min j=1 cj xj
Pn
s.t. j=1 Aij xj 6 bi ∀i ∈ 1, . . . , m

Aij : les Coefficients des


contraintes.
bj : Les valeurs du deuxième
membre (RHS).
cj : les Coefficient de la fonction
objective.

MII
A.Belcaid 13/21
Programme Linéaire

En général, un LP peut être exprime


par:
Pn Ou par une forme vectorielle:
min j=1 cj xj
Pn min cT x
s.t. j=1 Aij xj 6 bi ∀i ∈ 1, . . . , m
s.t. Ax 6 b
Aij : les Coefficients des
contraintes.
bj : Les valeurs du deuxième
membre (RHS).
cj : les Coefficient de la fonction
objective.

MII
A.Belcaid 13/21
Programme Linéaire

En général, un LP peut être exprime


par:
Pn Ou par une forme vectorielle:
min j=1 cj xj
Pn min cT x
s.t. j=1 Aij xj 6 bi ∀i ∈ 1, . . . , m
s.t. Ax 6 b
Aij : les Coefficients des
contraintes.
A ∈ Mm,n
bj : Les valeurs du deuxième
membre (RHS).
cj : les Coefficient de la fonction
objective.

MII
A.Belcaid 13/21
Programme Linéaire

En général, un LP peut être exprime


par:
Pn Ou par une forme vectorielle:
min j=1 cj xj
Pn min cT x
s.t. j=1 Aij xj 6 bi ∀i ∈ 1, . . . , m
s.t. Ax 6 b
Aij : les Coefficients des
contraintes.
A ∈ Mm,n
bj : Les valeurs du deuxième
membre (RHS). c, x, b ∈ Rn .
cj : les Coefficient de la fonction
objective.

MII
A.Belcaid 13/21
Methode graphique

Pour un LP avec juste deux variables de décision, on peut les


résoudre par la méthode Graphique.

MII
A.Belcaid 14/21
Methode graphique

Pour un LP avec juste deux variables de décision, on peut les


résoudre par la méthode Graphique.

On considère l’exemple suivant:

max 2x1 + x2
s.t. x1 6 10
x1 + 2x2 6 12
x1 − 2x2 > −8
x1 > 0
x2 > 0

MII
A.Belcaid 14/21
Etape 1

Etape 1 : Tracer la région réalisable.


Tracer la droite de chaque contrainte:

max 2x1 + x2
s.t. x1 6 10
x1 + 2x2 6 12
x1 − 2x2 > −8
x1 > 0
x2 > 0

MII
A.Belcaid 15/21
Etape 2

Tracer les lignes isolignes:


Une ligne tel que tous les points possèdent la même fonction objective.
En économie, on les appelles de lignes d’indifférence.

max 2x1 + x2
s.t. x1 6 10
x1 + 2x2 6 12
x1 − 2x2 > −8
x1 > 0
x2 > 0

MII
A.Belcaid 16/21
Etape 3

Trouver la direction pour pousser les isolignes. :


Direction qui augmente/diminue la fonction objective selon la nature de
problème d’optimisation.

max 2x1 + x2
s.t. x1 6 10
x1 + 2x2 6 12
x1 − 2x2 > −8
x1 > 0
x2 > 0

MII
A.Belcaid 17/21
Etape 4

Etape 4: Pousser l’isoligne jusqu’a la fin de la région


réalisable.

Figure: Pousser les droite pour jusque on peut plus avancer!

MII
A.Belcaid 18/21
Etape 4

Etape 5: Identifier les contraintes saturees(binding).

Figure: Identifier les contraintes saturées.

MII
A.Belcaid 19/21
Etape 6

Résoudre le système des deux équations saturées.

MII
A.Belcaid 20/21
Etape 6

Résoudre le système des deux équations saturées.


Dans l’exemple précédant, les contraintes sont:

x1 = 10
x1 + 2x2 = 12

MII
A.Belcaid 20/21
Etape 6

Résoudre le système des deux équations saturées.


Dans l’exemple précédant, les contraintes sont:

x1 = 10
x1 + 2x2 = 12

Resoudre le systeme

(x∗1 , x∗2 ) = (10, 1)

MII
A.Belcaid 20/21
Formulation compacte

La plupart des problèmes en pratique sont de large echelle.

MII
A.Belcaid 21/21

Vous aimerez peut-être aussi