Vous êtes sur la page 1sur 14

Chapitre 4 : Programmation linéaire en nombres entiers

Recherche Opérationnelle

Bassem Ben Hamed & Boukthir Haddar

Ecole Nationale d’Électronique et des Télécommunications de Sfax


Auditoire : 1 ING IDSD & 1 ING GT

Avril 2020

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 1 / 14
Introduction

Plan

1 Introduction

2 Méthodes de résolution

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 2 / 14
Introduction

Problème de programmation linéaire en nombres entiers.



X n
min Z = cj xj






  n j=1
(P)  X
  aij xj = bi , i = 1, . . . , m,
 s.c



  j=1
xj ≥ 0, entier, j = 1, . . . , n.
 

On note par F (P) le domaine réalisable de (P).

Exemple : 

  Z = −x1 − 5x2
min
 x1 + 10x2 ≤ 20,

(P)

 s.c x1 ≤ 2,
x1 , x2 ≥ 0, entier.
 

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 3 / 14
Sujet à Introduction
x1 + 10 x2 ≤ 20
x1 ≤2
i = 1, ⋯ , m x1 , x2 ≥ 0, entier
x1 = 2
j = 1, ⋯ , n
x1 + 10 x 2 = 20

able de P

F ( P) = {( 0, 0 ) , (1, 0 ) , ( 2, 0 ) , ( 0,1) , (1,1) , ( 2,1) , ( 0, 2 )}

Idée : Pourquoi ne pas résoudre le problème relaxé et arrondir la solution ?

On note par (P) le problème (P) où les contraintes d’intégrité sur les
variables sont relaxées.

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 4 / 14
Introduction

 n
X
min Z = cj xj







  n j=1
P  X
  aij xj = bi , i = 1, . . . , m,
s.c



 j=1
 
xj ≥ 0, j = 1, . . . , n.
 

On note par F (P) le domaine réalisable de (P).

Exemple : 

  Z = −x1 − 5x2
min
 x1 + 10x2 ≤ 20,
 
P

 s.c x1 ≤ 2,
x1 , x2 ≥ 0.
 

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 5 / 14
Sujet à Introduction
x1 + 10 x 2 ≤ 20
x1 ≤2
= 1, ⋯ , m x1 , x 2 ≥ 0, entiers
x1 = 2
= 1, ⋯ , n
x1 + 10 x 2 = 20
FP ()

ir la Solution du problème relaxé:  


9
(2, 9/5) et z = –11
L’unique solution du problème relaxé (P) est 1, et Z = −11.
5
Solution
La solution arrondie est (2,arrondie:
1) et Z =(2, −7,1)oret(0,z 2)
= –7
est réalisable pour le
problème initial (P) avec Z = −10.
Or (0, 2) est réalisable avec z = –10

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 6 / 14
Méthodes de résolution

Plan

1 Introduction

2 Méthodes de résolution

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 7 / 14
Méthodes de résolution

Principe de base : Générer un ensemble de contraintes linéaires que nous


ajoutons à (P) pour engendrer un nouveau problème (PR) tel que

F (PR) ⊂ F (P) et F (PR) = F (P).

De plus en résolvant le problème relaxé (PR), la solution optimale est


entière et donc une solution optimale pour (P).

Exemple :

min Z = −x1 − 5x2




x1 + 10x2 ≤ 20,

 

 

(PR)
 x1 ≤ 2,
s.c
x1 + 2x2 ≤ 4,



 

 
x1 , x2 ≥ 0, entiers.

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 8 / 14
er un nouveau x1 + 2 x 2
Méthodes de résolution ≤4
R) tel que x1 , x 2 ≥ 0, entiers
x1 = 2
⊂ F (P)
x1 + 10 x 2 = 20
= F ( P) FP ()
solvant le problème
la solution optimale
donc une solution x1 + 2 x 2 = 4
r (P).
Méthode des coupes de Gomory
Principe : Introduire de nouvelles contraintes linéaires au problème
pour réduire le domaine réalisable du problème relaxé sans pour
autant éliminer de points du domaine réalisable du problème avec des
contraintes d’intégrité.
La procédure consiste à résoudre une suite de problèmes relaxés
jusqu’à ce qu’une solution optimale en nombres entiers soit obtenue.
Un problème à la suite est obtenu du précédent en lui ajoutant une
contrainte linéaire (coupe) supplémentaire.
Bassem Ben Hamed & Boukthir Haddar (Université
Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 9 / 14
Méthodes de résolution

Considérons le problème de programmation linéaire en nombres entiers.



X n
min Z = cj xj






  n j=1
(P)  X
  aij xj = bi , i = 1, . . . , m,
s.c



 j=1
 
xj ≥ 0, entier, j = 1, . . . , n.
 

Comment construire une coupe de Gomory?

Soit B une base optimale de (P) et xk la variable de base dans la i ème


ligne du tableau optimal prenant une valeur qui n’est pas entière.

La ligne correspondante du tableau optimal est de la forme


X
xk + tij xj = b i , (1)
j∈J

où J = {j : j est l’indice d’une variable hors base} et b i n’est pas entier.
Bassem Ben Hamed & Boukthir Haddar (Université
Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 10 / 14
Méthodes de résolution

Notons bdc le plus grand entier (plancher) ≤ d.

Puisque xj ≥ 0, ∀ j, alors
X X
btij cxj ≤ tij xj ,
j∈J j∈J

et par conséqeunt
X X
xk + btij cxj ≤ xk + tij xj = b i . (2)
j∈J j∈J

Si on considère la contrainte d’intégrité des variables xj , il découle de (2)


que X
xk + btij cxj ≤ bb i c. (3)
j∈J

Ainsi toute solution de (P) satisfait (3).

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 11 / 14
Méthodes de résolution

Considérons maintenant la relation obtenue en faisant la différence entre


(3) et (1) X 
(btij c − tij ) xj ≤ bb i c − b i . (4)
j∈J

Notons que 
(btij c − tij ) ≤ 0 et bb i c − b i ≤ 0.
Puisque toute solution de (P) satisfait (1) et (3), alors elle satisfait (4), et
son introduction dans (P) n’élimine aucune solution de (P).

Par contre, la solution actuelle du problème relaxé (P) où xj = 0, ∀ j, ne


satisfait pas (4) et son introduction réduit le domaine réalisable du
problème relaxé (P).

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 12 / 14
Méthodes de résolution

Pour poursuivre la résolution, il suffit d’introduire la contrainte


X  X 
(btij c − tij ) xj ≤ bb i c − b i ⇔ (btij c − tij ) xj + xτ = bb i c − b i ,
j∈J j∈J

où xτ est une variable d’écart avec coût nul, au dernier tableau du
simplexe pour générer une solution de base au nouveau problème en
considérant xτ comme la variable de base de la nouvelle ligne du tableau.

Il suffit de poursuivre la résolution avec l’algorithme dual du simplexe ou


avec du simplexe (direct) sur le primal.

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 13 / 14
Méthodes de résolution

Remarques
Notons que
1 Si btij c = tij (i.e. tij est un entier), ∀ j ∈ J, et si b i n’est aps entier,
alors l’équation (1) indique que (P) n’est pas réalisable puisque le
terme de gauche prend une valeur entière pour toute solution
réalisable de (P) alors que le terme de droite n’est aps entier.
2 Une dérivation similaire s’applqiue à toutes les itérations.

Bassem Ben Hamed & Boukthir Haddar (Université


Chapitre de4Sfax)
: Programmation linéaire en nombres entiers Avril 2020 14 / 14