programmation linéaire en nombres entiers : la méthode du simplexe

19
Programmation linéaire en nombres entiers : la méthode du simplexe

Upload: maik

Post on 02-Feb-2016

45 views

Category:

Documents


2 download

DESCRIPTION

Programmation linéaire en nombres entiers : la méthode du simplexe. Introduction. On s’intéresse à un PL où les variables sont entières, A et b aussi. Méthode impraticable : énumérer toutes les sol n s réalisables entières. Méthode du simplexe : - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programmation linéaire en nombres entiers : la méthode du simplexe

Programmation linéaire ennombres entiers :

la méthode du simplexe

Page 2: Programmation linéaire en nombres entiers : la méthode du simplexe

Introduction

On s’intéresse à un PL où les variables sont entières, A et b aussi.

Méthode impraticable :énumérer toutes les solns réalisables entières.

Méthode du simplexe :en oubliant les contraintes d’intégrité, il sepeut que la soln optimale soit entière auquelcas nous avons résolu le problème demandé.

Programme linéaire entier facile :

Un PLE qui, en oubliant les contraintes d’intégrité, fournittoujours une soln optimale entière par une méthode derésolution des programmes linéaires.

Page 3: Programmation linéaire en nombres entiers : la méthode du simplexe

Unimodularité

À chaque itération de la méthode du simplexe, on veut que la baseréalisable admette une soln de base réalisable entière et vu que lasoln optimale est aussi une soln de base réalisable, elle sera entière.

De plus, à une itération quelconque, xB = B-1 b et xR = 0.

Pour que cette soln soit entière, il est nécessaire que xB soit entier.

Mais b étant entier, il suffit que B-1 soit une matrice entière.

Nous savons que : B-1 = (B*)t / det Boù B* désigne la matrice des cofacteurs.

Mais vu que A est entière, il s’ensuit que B* est entière.

Il suffit donc que det B soit égal à 1 pour que B-1 soit entière.

Page 4: Programmation linéaire en nombres entiers : la méthode du simplexe

Soit B une matrice carrée d’ordre n, B est unimodulaire sidet(B) {0, 1, -1}.

Page 5: Programmation linéaire en nombres entiers : la méthode du simplexe

Soit A une matrice m x n, A est totalement unimodulaire si toutesous-matrice carrée B d’ordre k, 1 k min(m, n), extraite de A estunimodulaire.

Note : tous les éléments d’une matrice A totalement unimodulairedoivent être 0, 1 ou –1.

Théorème :

Soit le programme linéaire entierMax z = ctx (PLE)sujet à Ax = b, x ≥ 0, x entier,

si A est totalement unimodulaire, alors le programme linéaire associéà (PLE):

Max z = ctx (PL)sujet à Ax = b, x ≥ 0.

admet une solution optimale entière qui est aussi solution optimale de

(PLE).

Page 6: Programmation linéaire en nombres entiers : la méthode du simplexe

Exemple :

Page 7: Programmation linéaire en nombres entiers : la méthode du simplexe

Théorème (conditions suffisantes pour être totalement unimodulaire)

Page 8: Programmation linéaire en nombres entiers : la méthode du simplexe

Exemple :

Page 9: Programmation linéaire en nombres entiers : la méthode du simplexe

Théorème (conditions suffisantes pour être totalement unimodulaire)

Page 10: Programmation linéaire en nombres entiers : la méthode du simplexe

Applications : problème de transport entier

Page 11: Programmation linéaire en nombres entiers : la méthode du simplexe

quantitésentières

Écrivons ce problème sous une forme plus développée.

Page 12: Programmation linéaire en nombres entiers : la méthode du simplexe
Page 13: Programmation linéaire en nombres entiers : la méthode du simplexe

On pose I = l’ensemble des lignes et J = .A est totalement unimodulaire.

Page 14: Programmation linéaire en nombres entiers : la méthode du simplexe

Applications : problème d’affectation

Page 15: Programmation linéaire en nombres entiers : la méthode du simplexe
Page 16: Programmation linéaire en nombres entiers : la méthode du simplexe

Note : Si aij = 0, on supposera que cij = + ce qui implique que xij = 0.En pratique, xij est omise dans le modèle.

Page 17: Programmation linéaire en nombres entiers : la méthode du simplexe

Programme linéaire entier à variables bivalentes 0-1.

A est totalement unimodulaire ce qui implique qu’on peut remplacerxij = 0 ou 1 par xij 0.

Page 18: Programmation linéaire en nombres entiers : la méthode du simplexe

Exemple :

Page 19: Programmation linéaire en nombres entiers : la méthode du simplexe