• Aucun résultat trouvé

ƒ Programmation linéaire

N/A
N/A
Protected

Academic year: 2022

Partager "ƒ Programmation linéaire"

Copied!
100
0
0

Texte intégral

(1)

OPTIMISATION OPTIMISATION

R. Chelouah :

R. Chelouah : rachid.chelouah@insa-toulouse.fr

2 2 ème ème année Pré orientation MIC année Pré orientation MIC

(2)

OPTIMISATION OPTIMISATION

ƒ Concepts de base: recherche opérationnelle

ƒ Programmation linéaire

ƒ Programmation en nombre entier

ƒ Logiciels

9 Eclipse 9 LINDO

9 Solveur Excel 9 OPL Sudio

(3)

RECHERCHE OPÉRATIONNELLE RECHERCHE OPÉRATIONNELLE

ƒ DÉFINITIONS

• Application de méthodes, techniques, instruments

scientifiques pour modéliser et résoudre les problèmes dans tous les domaines

• Application de la méthode scientifique pour modeliser et résoudre les problèmes dans tous les domaines

• Art de donner des mauvaises réponses à des problèmes

auxquels autrement de pires réponses seraient données

(4)

RECHERCHE OPÉRATIONNELLE RECHERCHE OPÉRATIONNELLE

ƒ ORIGINES

• Développement durant la seconde guerre mondiale

ƒ

applications aux opérations militaires

répartition des troupes, du matériel, des ressources

approvisionnement en vivres, en pièces, en armement

• Scientifiques et ingénieurs: applications civiles

ƒ

programmation linéaire (1

ère

publication en 1939)

ƒ

développement du simplexe par G. Dantzig (1947)

ƒ

développement des techniques classiques en

programmation linéaire, non-linéaire, dynamique, théorie des files d’attente, etc.

ƒ

ralentissement des recherches généré par le manque

d’outils de calcul

(5)

RECHERCHE OPÉRATIONNELLE RECHERCHE OPÉRATIONNELLE

ƒ APPLICATIONS

• Applications aux problèmes réels de grande envergure

ƒ arrivée des processeurs rapides

ƒ développement des bases de données

ƒ techniques d ’optimisation appliquées à de nombreux domaines

• Domaines d’utilisation

ƒ militaire

ƒ transport

aéroport

route, trajet, livraison

horaire

ƒ contrôle des réseaux

infrastructures, distribution

ƒ etc.

(6)

RECHERCHE OPÉRATIONNELLE RECHERCHE OPÉRATIONNELLE

ƒ MÉTHODES

• Techniques mathématiques

• Techniques statistiques

• Modèles de gestion des stocks

• Modèles d’affectation

• Modèles de programmation dynamique

• Modèles de files d’attente

• Modèles séquentiels

• Modèles de remplacement

• Modèles de compétition

• Techniques de simulation

• Méthodes heuristiques

(7)

RECHERCHE OPÉRATIONNELLE RECHERCHE OPÉRATIONNELLE

ƒ MODÈLE

• Moyen pour mieux comprendre la réalité utilisée pour représenter les propriétés fondamentales d’un certain phénomène

• Problèmes de gestion souvent complexes

• Nécessité fréquente d’ignorer certains paramètres pour

tirer une version idéale, épurée: c’est un modèle

(8)

RECHERCHE OPÉRATIONNELLE RECHERCHE OPÉRATIONNELLE

ƒ Modèles mathématiques

• Modèles déterministes

ƒ

Incertitude négligeable

ƒ

Résultats du phénomène prévu avec certitude

• Modèles probabilistes ou stochastiques

ƒ

Incertitude considérée comme facteur important du phénomène ou système analysé

ƒ Classe de modèles déterministiques

• Modèles de programmation linéaire

ƒ

Équations ou inéquations du premier degré représentant les contraintes du problème

ƒ

Fonction économique qui traduit l’objectif de l’entreprise

(9)

RECHERCHE OPÉRATIONNELLE RECHERCHE OPÉRATIONNELLE

ƒ Formulation du modèle mathématique

• Définir le problème

ƒ

Quelle est la nature exacte du problème?

ƒ

Quel est l’objectif recherché?

ƒ

Quelles sont les conditions d’opération?

ƒ

Quels sont les paramètres à considérer? Quelle influence?

ƒ

Quel est le degré de précision requis?

(10)

Optimisation Optimisation

ƒ Introduction

En mathématiques, l'optimisation est l’étude des problèmes qui sont de la forme : Étant donné : une fonction d’un ensemble A aux nombre réels Recherché : un élément x0 en A

tel que pour tous les x en A (« maximisation ») ou tel que pour tous les x en A(« minimisation »).

Typiquement, A est un sous-ensemble donné de l’espace euclidien , souvent spécifié par un ensemble de contraintes, des égalités ou des inégalités que les membres de A doivent satisfaire. Les éléments de A sont appelées les solutions possibles et la fonction f est appelée la fonction objectif. Une solution possible qui maximise (ou minimise, si c’est le but) la fonction objectif est appelée une solution optimale . Dans le cas particulier où A est un sous-ensemble de ou de

, on parle d'optimisation combinatoire

(11)

Optimisation Optimisation

Minimum global

0 0 .2 0 .4 0 .6 0 .8 1

0 0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9 1

S : domaine de recherche

Minimum local

(dimension n)

¾ Sur un ensemble ''continu'' de solutions S, on cherche à optimiser une fonction f, appelée " fonction objectif ".

¾ On cherche le (ou un) minimum ou maximum global. Dans la suite, on recherche un minimum global.

(12)

Optimisation combinatoire Optimisation combinatoire

ƒ Multitude d’algorithmes d’optimisation combinatoire

Méthodes exactes

ƒ programmation dynamique

ƒ recherche arborescente

ƒ ...

Méthodes approchées - heuristiques / métaheuristiques

ƒ recuit simulé et variantes

ƒ algorithmes évolutionnaires

ƒ Algorithme de recherche tabou

ƒ algorithmes de colonies de fourmis

ƒ algorithme pas essaim particulaire

ƒ

(13)

Optimisation continue Optimisation continue

ƒ Multitude d’algorithmes d’optimisation combinatoire

Méthodes exactes

ƒ Programmation linéaire en nombres réels (simplexe)

ƒ ...

Méthodes approchées - heuristiques / métaheuristiques

ƒ recuit simulé et variantes

ƒ algorithmes évolutionnaires

ƒ Algorithme de recherche tabou

ƒ algorithmes de colonies de fourmis

ƒ algorithme pas essaim particulaire

ƒ

(14)

CLASSIFICATION DES ALGORITHMES CLASSIFICATION DES ALGORITHMES

D’OPTIMISATIONPTIMISATION

D’OPTIMISATIONPTIMISATION

(15)

PRINCIPE DE LA PROGRAMMATION PRINCIPE DE LA PROGRAMMATION

LINEAIRE LINEAIRE

Résolution du problème théorique Formulation

mathématique

Solution théorique (3)

Situation réelle Problème réel en

programmation linéaire Formulation

du problème réel

Détermination d’une solution réelle (2) (4)

Solution réelle

Vérification (5)

Identification du problème

(1)

(16)

PROGRAMME LINÉAIRE PROGRAMME LINÉAIRE

ƒ PL

• problème d’optimisation consistant à

• maximiser (ou minimiser) une fonction objectif linéaire

• de n variables de décision

• soumises à un ensemble de contraintes exprimées sous forme d’équations ou d’inéquations linéaires

ƒ Différentes programmations linéaires

• Programmation Linéaire classique

• Programmation Linéaire en Nombre Entiers

• Programmation Linéaire en 0-1

• Programmation Linéaire Mixte

ƒ La terminologie est due à George B. Dantzig, inventeur

de l’algorithme du simplexe (1947)

(17)

PROGRAMMATION LINÉAIRE PROGRAMMATION LINÉAIRE

ƒ Hypothèses:

• La linéarité des contraintes et de la fonction objectif

• La proportionnalité des gains/coûts et des consommation de ressources

• La divisibilité des variables

• Le déterminisme des données

ƒ Lors de la modélisation d'un problème réel, l'impact de ces hypothèses sur la validité du modèle mathématique doit être étudié

ƒ Cette analyse peut mener à choisir un modèle différent (non

linéaire, stochastique, ...) et est essentielle pour la phase

d'interprétation des résultats fournis par le modèle

(18)

MISE EN FORME MATHÉMATIQUE MISE EN FORME MATHÉMATIQUE

ƒ Définir les variables de décision

• ensemble des variables qui régissent la situation à modéliser

• variables réelles, entières, binaires

ƒ Préciser la fonction objectif

• fonction mathématique composée des variables de décision qui représente le modèle physique modélisé

• fonction linéaire, non-linéaire

ƒ Préciser les contraintes du problème

• ensemble des paramètres qui limitent le modèle réalisable

• équations ou inéquations composées des variables de décision

ƒ Préciser les paramètres du modèle

• constantes associées aux contraintes et à la fonction objective

(19)

PROGRAMMATION LINÉAIRE PROGRAMMATION LINÉAIRE

ƒ Validation du modèle et des résultats

• S’assurer

ƒ

que le modèle développé est conforme à la réalité

ƒ

que les résultats sont valides dans toutes les conditions

ƒ Conception du système d’application

• Possibilité d’utiliser des logiciels spécialisés

ƒ Implantation

(20)

FORMULATION MATHÉMATIQUE D’UN FORMULATION MATHÉMATIQUE D’UN

PROGRAMME LINÉAIRE PROGRAMME LINÉAIRE

ƒ FONCTION OBJECTIF

• Maximiser ou minimiser

• z = c

1

x

1

+ c

2

x

2

+ c

3

x

3

+ … + + c

n

x

n

ƒ Contraintes

• a

11

x

1

+ a

12

x

2

+ a

13

x

3

+ … + a

1n

x

n

(≤, =, ≥) b

1

• a

21

x

1

+ a

22

x

2

+ a

23

x

3

+ … + a

2n

x

n

(≤, =, ≥) b

2

• a

m1

x

1

+ a

m2

x

2

+ a

m3

x

3

+ … + a

mn

x

n

(≤, =, ≥) b

m

ƒ Contraintes de non-négativité

• x

j

≥ 0 ; j = 1, 2, 3, … n

ƒ avec

• x

j

variables de décision (inconnues)

• a

ij

, b

i

, c

j

paramètres du programme linéaire

(21)

TERMINOLOGIE DE LA SOLUTION TERMINOLOGIE DE LA SOLUTION

ƒ Solution réalisable

• Solution où toutes les contraintes du modèle sont satisfaites

ƒ Zone de solution

• Ensemble de toutes les solutions réalisables

ƒ Solution optimale

• Solution réalisable où la fonction objectif atteint la meilleure valeur, maximum ou minimum

• Plusieurs solutions optimales possibles

(22)

PROGRAMMATION LINÉAIRE PROGRAMMATION LINÉAIRE

ƒ Résolution selon les techniques appropriées

• Exemple

ƒ

MAXIMISER z = 3x

1

+ 5x

2

ƒ

SUJET À

x1 ≤ 4

2x2 ≤ 12

3x1 + 2x2 ≤ 18

x1 ≥ 0 ; x2 ≥ 0

• Solutions optimales

ƒ

programmation linéaire: simplexe

ƒ

programmation en nombre entier: branch-and-bound

ƒ

programmation dynamique

• Solutions sous-optimales: heuristiques

(23)

ZONE DE SOLUTION RÉALISABLE ZONE DE SOLUTION RÉALISABLE

Zone limitée par l’ensemble des équations de contraintes du problème et par les limites des variables de décision

2 4 6 8 10

2 4 6 8 x2

x1 0

18 x

2 x

3 1 + 2 =

12 x

2 2 = 4

x1 =

(24)

FONCTION OBJECTIVE FONCTION OBJECTIVE

Déplacement de la fonction objective à l’intérieur de la zone de solution réalisable pour atteindre un extremum

2 4 6 8 10

2 4 6 8 x2

x1 0

2 1 5x x

3 36

z = = +

2 1 5x x

3 10

z = = +

2 1 5x x

3 20

z = = +

Solution x1 = 2 x2 = 6 z = 36 (2,6)

(25)

PROGRAMMATION LINÉAIRE PROGRAMMATION LINÉAIRE

ƒ PHASES D’UNE ÉTUDE DE R.O.

• Formulation du problème

• Construction du modèle mathématique

ƒ

Identification des variables associées au problème

ƒ

Formulation des contraintes qui délimitent les valeurs que peuvent prendre les variables

ƒ

Formulation de la mesure d’efficacité associée aux variables (fonction linéaire dite fonction objectif)

• Obtention d’une solution optimale à partir du modèle

• Vérification du modèle et de la solution

• Établissement de contrôles sur la solution

• Mise en œuvre de la solution

(26)

RÉSULTAT D’UNE RÉSULTAT D’UNE

OPTIMISATION LINÉAIRE OPTIMISATION LINÉAIRE

Le domaine admissible d’un PL peut être

• vide: dans un tel cas, le problème est sans solution admissible (pas de solution optimale)

• borné (et non vide): le problème possède toujours au moins une solution optimale

• non borné: dans ce cas, selon la fonction objectif

ƒ

le problème peut posséder des solutions optimales

ƒ

il peut exister des solutions admissibles de valeur arbitrairement grande (ou petite)

ƒ

dans un tel cas, le PL n'admet pas de solution optimale

finie et est dit non borné

(27)

PROBLÈME DE MAXIMISATION PROBLÈME DE MAXIMISATION

ƒ Maximiser

Z = x

1

+ 2x

2

Sujet à

2x

1

+ x

2

≥ 4 x

1

+ x

2

≤ 8 -x

1

+ x

2

≤ 4

x

1

≤ 5

x

1

≥ 0, x

2

≥ 0

(28)

PROBLÈME DE MAXIMISATION PROBLÈME DE MAXIMISATION

2 4 6 8 10 x1

2x1 + x2 = 4

x1 = 5

x1 + x2 = 8 -x1 + x2 = 4

x2

X

1

= 2 X

2

= 6 Z = 14

8

6

4

2

0

(29)

PROBLÈME DE MINIMISATION PROBLÈME DE MINIMISATION

ƒ Minimiser

Z = x

1

- x

2

Sujet à

½x

1

+ x

2

≥ 8 -x

1

+ 8x

2

≤ 40

x

1

≥ 8

x

2

≤ 8

x

1

≥ 0, x

2

≥ 0

(30)

PROBLÈME DE MINIMISATION PROBLÈME DE MINIMISATION

2 4 6 8 10

x1 = 8 -x1 + 8x2 = 40

½x1 + x2 = 8

12 14 16 18 20

X

1

= 8 X

2

= 6 Z = 2

x2

x2 = 8 8

6

4

2

0 x1

(31)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ INTRODUCTION

• développée initialement par George Dantzig en 1947

• seule méthode exacte pour solutionner des problèmes linéaires de grande taille

• méthode itérative algébrique où l’on circule

séquentiellement sur les sommets à l’intérieur de la

zone de solution jusqu’à l’obtention de la solution

optimale

(32)

PROPRIÉTÉS DU SIMPLEXE PROPRIÉTÉS DU SIMPLEXE

ƒ Zone de solution du problème linéaire toujours convexe

• une surface est convexe si elle est située toute entière du même coté d ’un plan tangent

ƒ S’il existe une seule solution optimale au problème linéaire, elle est obligatoirement localisée sur un sommet de la zone de solution

ƒ S’il existe de multiples solutions optimales, au moins deux d’entre elles doivent être localisées sur des

sommets adjacents

ƒ Le nombre de sommets de la zone de solution est fini

ƒ Si la solution réalisable localisée à un sommet donné n’a pas de voisin adjacent dont la solution est

supérieure, ce sommet est la solution optimale

(33)

ALGORITHME DU SIMPLEXE ALGORITHME DU SIMPLEXE

1. Déterminer une solution de base réalisable 2. Vérifier si la solution actuelle est optimale

3. Déterminer la variable hors base qui va devenir variable de base

4. Déterminer la variable de base qui sortira de la solution

5. Effectuer les opérations linéaires (pivots) selon la

technique de Gauss-Jordan

(34)

ALGORITHME DU ALGORITHME DU

SIMPLEXE

SIMPLEXE

(35)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

DÉFINITIONS DÉFINITIONS

ƒ Systèmes d’équations équivalents

• Systèmes qui possèdent le même ensemble de solutions

ƒ Variable de base

• Variable qui a un coefficient unitaire positif dans une des équations du système et un coefficient nul partout ailleurs

ƒ Opérations pivot

• Opération de Gauss-Jordan pour transformer un système

d’équations équivalent dans lequel une variable devient de base

ƒ Système canonique

• Système d’équations où il y a une variable de base par équation

ƒ Solution de base

• Système d’équations où les variables hors base sont fixées à zéro résolu pour les variables de base

(36)

FORME CANONIQUE FORME CANONIQUE

ƒ PROBLÈME DE MAXIMISATION

ƒ PROBLÈME DE MINIMISATION

,...,n j

x

, ...,m i

b x

a

x c

j

i n

j

j ij

n j

j j

1 0

1 à

sujet Max

1 1

=

=

=

=

,...,n j

x

, ...,m i

b x

a

x c

j

i n

j

j ij

n j

j j

1 0

1

à sujet Min

1 1

=

=

=

=

(37)

FORME NORMALISÉE FORME NORMALISÉE

ƒ PROBLÈME DE MAXIMISATION

ƒ PROBLÈME DE MINIMISATION

,...,n j

x

, ...,m i

b x

a x c

j

i n

j

j ij n j

j j

1 0

1

à sujet Max

1 1

=

=

=

=

=

,...,n j

x

, ...,m i

b x

a

x c

j

i n

j

j ij n j

j j

1 0

1

à sujet Min

1 1

=

=

=

=

=

(38)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ FORME CANONIQUE Max Z = 3 x

1

+ 5 x

2

sujet à

x

1

≤ 4

2 x

2

≤ 12 3 x

1

+ 2 x

2

≤18 et

x

1

≥ 0, x

2

≥ 0

(39)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ FORME NORMALISÉE Max Z

Z - 3 x

1

- 5 x

2

= 0 (0)

x

1

+ x

3

= 4 (1)

2 x

2

+ x

4

= 12 (2)

3 x

1

+ 2 x

2

+ x

5

= 18 (3) avec

x

j

≥ 0, pour j =1, 2, 3, 4, 5

(40)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ ÉTAPE D’INITIALISATION

• Déterminer une solution de base réalisable

• Porter les variables hors base à zéro

• Solutionner les variables de base

• Exemple:

ƒ

z, x

3

, x

4

et x

5

sont les variables de base

ƒ

x

1

et x

2

sont les variables hors base

• On obtient:

ƒ

x

1

= 0 et x

2

= 0

ƒ

x

3

= 4, x

4

= 12 et x

5

= 18

ƒ

z = 0

(41)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ VARIABLE ENTRANT DANS LA BASE

• Variable hors base entrant dans la base

• Celle qui sera choisie fera augmenter la valeur de la fonction objective le plus rapidement possible

• Variable ayant le plus grand coefficient négatif (cas de maximisation) de l’équation (0)

• Exemple:

ƒ

X

2

devient variable de base

(42)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ VARIABLE SORTANT DE LA BASE

• Variable qui limitera le plus rapidement la progression de la nouvelle variable de base

• Exemple

ƒ

si x

2

entre dans la base

ƒ

équation (2)

2 x2 + x4 = 12

x2 max = 6

ƒ

équation (3)

3 x1 + 2 x2 + x5 = 18

x2 max = 9

ƒ

limite maximale de x

2

égale 6 sinon x

4

devient négatif

(43)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ OPÉRATIONS PIVOT

• Système d’équations original (

variables de base en gras

)

Z - 3 x1 - 5 x2 = 0 (0)

x1 + x3 = 4 (1)

2 x2 + x4 = 12 (2)

3 x1 + 2 x2 + x5 = 18 (3)

• Pour revenir à la forme canonique, il faut que les

variables de base aient un coefficient unitaire dans une équation et nul dans les autres

• Équation (2) multipliée par ½

2 x2/2 + x4/2 = 12 /2 (2)

x

2

+ ½ x

4

= 6 (2)

• Il faut éliminer les termes x

2

des autres équations

(44)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ OPÉRATIONS PIVOT (suite)

• Équation (0) = ancienne (0) + 5 équation (2)

Z - 3 x1 - 5 x2 = 0 (0)

5 x2 + 5/2 x4 = 30 (2)

Z - 3 x1 + 5/2 x4 = 30 (0)

• Équation (3) = ancienne (3) – 2 équation (2)

3 x1 + 2 x2 + x5 = 18 (3)

- 2 x2 - x4 = -12 (2)

3 x1 - x4 + x5 = 6 (3)

(45)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ OPÉRATIONS PIVOT (suite)

• Nouveau système équivalent d’équations

Z - 3 x1 - 5/2 x4 = 30 (0)

x1 + x3 = 4 (1)

x2 + ½ x4 = 6 (2)

3 x1 - x4 + x5 = 6 (3)

(46)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ CRITÈRE D’OPTIMALITÉ

• Optimalité assurée lorsqu’il est impossible de faire augmenter (cas de maximisation) la valeur de z

• Exemple:

ƒ

x

1

peut faire augmenter z

ƒ

Variable entrante x

1

ƒ

Variable sortante x

5

équation (1)

x1 + x3 = 4

x1 max = 4

équation (3)

3 x1 – x4 + x5 = 6

x1 max = 2

(47)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ SOLUTION OPTIMALE

• Système équivalent d’équations

Z + 3/2 x4 + x5 = 36 (0) x3 + 1/3 x4 - 1/3 x5 = 2 (1)

x2 + ½ x4 = 6 (2)

x1 - 1/3 x4 +1/3 x5 = 2 (3)

• Variables hors base

ƒ

x

4

= 0, x

5

= 0

• Variables de base

ƒ

x

1

= 2, x

2

= 6, x

3

= 2

• Fonction objective

ƒ

z = 36

(48)

SIMPLEXE SOUS FORME TABULAIRE SIMPLEXE SOUS FORME TABULAIRE

ƒ Méthode essentiellement identique

ƒ Informations

• Coefficients des variables

• Constantes des équations

• Variables de base de chaque équation

(49)

SIMPLEXE SOUS FORME TABULAIRE SIMPLEXE SOUS FORME TABULAIRE

ƒ Initialisation

ƒ Critère d’optimalité

• Coefficients de l’équation (0) non négatifs ?

ƒ Itération # 1

Dans la dernière ligne, on a 2 coefficients négatifs. On prends le plus grands en valeur absolue c’est-à-dire –5, et on définit la variable entrante

Variable entrante x2

ƒ Entourer la colonne pivot

Variable sortante x4

ƒ Entourer la ligne pivot

ƒ Point pivot à l’intersection

Transformation de Gauss-Jordan

(50)

SIMPLEXE SOUS FORME TABULAIRE SIMPLEXE SOUS FORME TABULAIRE

ƒ Itération #1 (suite)

9 Diviser la ligne pivot par le nombre pivot 9 Appliquer les transformations

9 Nouvelle solution

z z = 30

z Solution (0, 6, 4, 0, 6)

(51)

SIMPLEXE SOUS FORME TABULAIRE SIMPLEXE SOUS FORME TABULAIRE

ƒ Itération # 2

Dans la dernière ligne, on trouve encore un coefficient négatif (-3)

Cette colonne nous donne x1 comme variable entrante

La variable x5 est sortante

Le pivot est 3

(52)

SIMPLEXE SOUS FORME TABULAIRE SIMPLEXE SOUS FORME TABULAIRE

ƒ Ensemble complet

ƒ Solution

• (2, 6, 2, 0, 0)

• z = 36

(53)

SIMPLEXE SIMPLEXE

SOUS FORME MATRICIELLE SOUS FORME MATRICIELLE

ƒ Forme canonique









=









=









=









=

=

mn m

m

n n m n

a a

a

a a

a

a a

a

b b b

x x x Z

...

..

...

...

...

...

...

...

0 ...

0 0 ...

...

où à sujet Max

2 1

2 22

21

1 12

11

2 1 2

1

A

0 b

x 0 x

b Ax

cx

(54)

SIMPLEXE SIMPLEXE

SOUS FORME MATRICIELLE SOUS FORME MATRICIELLE

[ ]

 

 

 

 

=

×

=

 ≥

 

 =

 

=

+ + +

m n n n

s

x x x Z

...

m m

identitée matrice

où ,

à sujet Max

2 1

x I

x 0 x

x b I x A

cx

s

s

ƒ Forme normalisée

(55)

SIMPLEXE SIMPLEXE

SOUS FORME MATRICIELLE SOUS FORME MATRICIELLE

[ ] [ ]

 

 

 =

 

= 

 

 

=

 

 

=

=

5 4 3

2 1

18 12 4

1 0

0 2

3

0 1

0 2

0

0 0

1 0

1 ,

5 3

x x x x

x

x s

x b

I A

ƒ Problème c

(56)

SIMPLEXE SIMPLEXE

SOUS FORME MATRICIELLE SOUS FORME MATRICIELLE

ƒ Itération 0

ƒ X

2

entre

ƒ X

4

sort

[ ] [ ] 0

18 12 4 0

0 0

0 0

0

18 12 4 18

12 4 1

0 0

0 1

0

0 0

1 x

x x

1 0

0

0 1

0

0 0

1 1

0 0

0 1

0

0 0

1 x

x x

5 4 3

1

5 4 3

=

 

 

=

=

 

 

=

 

 

 

 

=

 

 

=

 

 

=

 

 

=

 

 

=

B

Z

B B

c x

B B

x

(57)

SIMPLEXE SIMPLEXE

SOUS FORME MATRICIELLE SOUS FORME MATRICIELLE

ƒ Itération 1

ƒ X

1

entre

ƒ X

5

sort

[ ] [ ] 30

6 6 4 0 5

0 0

5 0

6 6 4 18

12 4 1

1 0

0 5

, 0 0

0 0

1 x

x x

1 1

0

0 5

, 0 0

0 0

1 1

2 0

0 2

0

0 0

1 x

x x

5 2 3

1

5 2 3

=

 

 

=

=

 

 

=

 

 

 

 

=

 

 

=

 

 

=

 

 

=

 

 

=

B

Z

B B

c x

B B

x

(58)

SIMPLEXE SIMPLEXE

SOUS FORME MATRICIELLE SOUS FORME MATRICIELLE

ƒ Itération 2

[ ] [ ] 36

2 6 2 3 5 0 3

5 0

2 6 2 18

12 4 33

, 0 33

, 0 0

0 50

, 0 0

33 , 0 33

, 0 1

x x x

33 , 0 33

, 0 0

0 50

, 0 0

33 , 0 33

, 0 1

3 2 0

0 2 0

1 0 1 x

x x

1 2 3

1

1 2 3

=

 

 

=

=

 

 

=

 

 

 

 

=

 

 

=

 

 

=

 

 

=

 

 

=

B

Z

B B

c x

B B

x

(59)

RÉSOLUTION AVEC

RÉSOLUTION AVEC

MICROSOFT EXCEL

MICROSOFT EXCEL

(60)

RÉSOLUTION AVEC LINDO

RÉSOLUTION AVEC LINDO

(61)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ SITUATIONS PARTICULIÈRES

• Égalité des profits relatifs

ƒ

Choix aléatoire de la variable

• Égalité des ratios

ƒ

Choix aléatoire

ƒ

Situation de dégénérescence: remonter à l’étape des ratios identiques

• Solution non bornée

ƒ

En pratique, une contrainte est absente

• Solutions multiples

ƒ

Variables hors base avec des coefficients nuls dans la

fonction objective

(62)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ VARIABLES ARTIFICIELLES

• Cas ≥

ƒ

a

i1

x

1

+ a

i2

x

2

+ a

i3

x

3

+ … + a

in

x

n

≥ b

i

ƒ

Ajout d’une variable d’écart

ƒ

a

i1

x

1

+ a

i2

x

2

+ a

i3

x

3

+ … + a

in

x

n

– x

m

= b

i

ƒ

Coefficient de la variable d’écart négatif ne peut servir comme variable de base

ƒ

Ajout d’une variable artificielle => PL auxiliaire

ƒ

a

i1

x

1

+ a

i2

x

2

+ a

i3

x

3

+ … + a

in

x

n

– x

m

+ x

a

= b

i

(63)

MÉTHODE DU SIMPLEXE MÉTHODE DU SIMPLEXE

ƒ VARIABLES ARTIFICIELLES

• Cas =

ƒ

L’ajout d’une variable artificielle permet l’insertion d’une variable de base dans la solution de départ

ƒ

Les variables artificielles sont éliminées de la solution en leur assignant une pénalité importante dans la fonction objective

ƒ RÉSOLUTION

• Méthode du grand M

• Méthode des deux phases

ƒ SOLUTION OPTIMALE DU PL AUXILIAIRE EST

SOLUTION DE BASE POUR LE PL INITIAL

(64)

DUALITÉ DUALITÉ

PROBLÈME PRIMAL PROBLÈME DUAL

,...,m i

y

et

, ...,n cj j

yi a

y b Y

i m i

ij

m i

i i

1 0

1 à

sujet Min

1

1 0

=

=

=

=

=

,...,n j

x

et

, ...,m i

b x

a

x c Z

j

i n

j

j ij

n j

j j

1 0

1 à

sujet Max

1

1

=

=

=

=

=

(65)

EXEMPLE DE DUALITÉ EXEMPLE DE DUALITÉ

Le problème dual du programme

Max z = x

1

+ 4x

2

Sujet à :

ƒ

x

1

– x

2

≤ 2

ƒ

2x

1

+ x

2

≤ 5

ƒ

x

2

≤ 3

ƒ

x

1

, x

2

≥ 0

est Min w = 2y

1

+ 5y

2

+ 3y

3

Sujet à :

ƒ

y

1

+ 2y

2

≥ 1

ƒ

-y

1

+ y

2

+ y

3

≥ 4

ƒ

y

1

, y

2

, y

3

≥ 0

(66)

DUALITÉ

DUALITÉ

(67)

THEOREME DUALITE THEOREME DUALITE

ƒ Soient (P) et (D) deux problèmes duaux

(P) de la forme (D) de la forme Max CX min Yb

sc AX = b sc YA ≥ C

X ≥ 0 Y de signe quelconque

Si dans le primal, les contraintes sont de type alors les yi variables du dual seront de signe quelconque

Preuve

Dans le dual correspondant, la fonction objectif est biui – bivi =bi (ui-vi) = biyi yi= ui– vi varie dans R entier

ij j i

a x b

=

ij j i i

ij j i

ij j i i

a x b u

a x b a x b v

= ⇔  ≤ −

∑ ∑− ∑

(68)

THEOREME des écarts complémentaires THEOREME des écarts complémentaires

ƒ Yb ≥ cX (donc min Yb max cX)

ƒ Yb = cX si et seulement si

ƒ Si des contraintes dans le primal ne sont pas saturées alors les variables équivalentes dans le dual sont nulles

ƒ Si des variables du primal sont non nulles alors les contraintes équivalentes dans le dual sont saturées

1

1

0 1.. , 0 0

1.. , 0 0

0

m

i i

i i i

n j j

j j j

y s i m y ou s

et j n t ou x t x

=

=

 = 

   ∀ = = = 

  ⇔

    ∀ = = =  

 = 

 

 

(69)

PROGRAMMATION LINÉAIRE EN NOMBRE PROGRAMMATION LINÉAIRE EN NOMBRE

ENTIER ENTIER

ƒ Max Z = 10 x

1

+ 50 x

2

• Sujet à

ƒ

-x

1

+ 2 x

2

≤ 5

ƒ

x

1

+ 2 x

2

≤ 14

ƒ

x

1

≤ 8

• et

ƒ

x

1

≥ 0, x

2

≥ 0

ƒ

x

1

, x

2

entiers

(70)

PROGRAMMATION LINÉAIRE EN NOMBRE PROGRAMMATION LINÉAIRE EN NOMBRE

ENTIER (Méthode arborescentes) ENTIER (Méthode arborescentes)

ƒ Appelées aussi méthodes de séparation et évaluation (Branch and Bound)

ƒ Le principe est de choisir une variable x et de séparer le problème en 2 sous problèmes selon les valeurs de cette variable x

ƒ Pour le PLNE général, on sépare en considérant un entier P et les 2 sous problèmes x ≤ p et x ≥ p + 1

ƒ Pour un PL en 0-1, on sépare en considérant les 2 cas x = 0 et x = 1

ƒ Les PLNE des sous problèmes peuvent à leur tour être séparés, ce qui forme progressivement une arborescence dont chaque nœud correspond à un sous problème

ƒ La majorité des sous problèmes sont en effet éliminés grâce à une évaluation

ƒ Dès que la recherche arborescente a trouvé une prmière solution entiere, ayant un certain coût z, on peut ignorer un nœud P si eval(P) ≥ z (cas minimisation)

ƒ Pour le PLNE général, nous utiliserons la méthode de Dakin qui utilise le PL relaxé pour évaluer les solutions

ƒ Pour le PL 0-1, nous utiliserons la méthode de Balas, plus sophistiquée

(71)

PROGRAMMATION LINÉAIRE EN NOMBRE PROGRAMMATION LINÉAIRE EN NOMBRE

ENTIER ENTIER

le domaine des solutions réalisables

(72)

PROGRAMMATION LINÉAIRE EN NOMBRE PROGRAMMATION LINÉAIRE EN NOMBRE

ENTIER

ENTIER

(73)

METHODE DE DAKIN POUR PLNE METHODE DE DAKIN POUR PLNE

ƒ Méthode de séparation et d’évaluation

progressive (Branch-and-Bound Technique)

• Choix de la variable de séparation

ƒ

Critère de la variable la plus distante

ƒ

Critère du meilleur c

j

(74)

le domaine des solutions réalisables

Critère de la

variable la plus distante

Séparation

selon x

1

(75)

le domaine des solutions réalisables

Critère de la

variable la plus distante

Séparation à partir

de P

2

(76)

le domaine des solutions réalisables

Critère de la

variable la plus distante

Séparation à partir

de P

1

(77)

le domaine des solutions réalisables

Critère du

meilleur c

j

(78)

METHODE DE BALAS POUR PL EN 0 ou 1 METHODE DE BALAS POUR PL EN 0 ou 1

ƒ Soit le PL suivant Min z = CX

Ax ≥ b

X ∈ { 0, 1}

ƒ La méthode de Balas est une méthode arborescente fixant progressivement à 0 ou à 1 les variables xj

ƒ Comme toutes les méthodes générale, cette méthode ne peut traiter que de

problèmes pas trop grand (n = 200), comparer à la méthode du simplexe en PL continu qui peut traiter des dizaines de milliers de variables.

Algorithme

ƒ Conversion du problème initial sous la forme standard d’un problème à minimiser CX = zmin- k ou c ≥ 0 sous les contrainte Ax ≥ b

ƒ Utilisation du test d’admissibilité classique :

si max(AX)-b n’est pas supérieur ou égal à 0 alors le problème n’a pas de solution

ƒ Test d’implication : test donnant une affectation d’une variable libre à 0 ou 1 dans le cas où l’autre affectation conduirait à un sous problème non admissible

(79)

Exemple : PL en 0 Exemple : PL en 0 - - 1 1

min -5x1+7x2+10x3-3x4+x5 = z -x1-3x2+5x3-x4-4x5 ≥ 0 C1 2x1+6x2-3x3+2x4+2x5 ≥ 4 C2 -x2+2x3+x4-x5 ≥ 2 C3 xi ∈ { 0, 1}

ƒ Conversion du problème initial

On veut avoir Z = CX avec C ≥ 0. On remplace les xi de coefficient négatif dans la fonction objectif (1- xi). On pose x1 =(1- x1 ) et x4 =(1- x4 ).

Le problème devient :

Min 5x1+7x2+10x3+3x4+x5 = z+ 8 x1-3x2+5x3+x4-4x5 ≥ 2 C1 -2x1+6x2-3x3-2x4+2x5 ≥ 0 C2 -x2+2x3-x4-x5 ≥ 1 C3

(80)

Exemple : PL en 0 Exemple : PL en 0 - - 1 1

ƒ Test d’admissibilité classique

Chacune des 3 contraintes est de la forme Ci(X) ≥ bi. Pour trouver le maximum des Ci(X) – bi, dans chaque contrainte, on donne au variable la valeur 0 si leur coefficient dans la contrainte est négatif, et la valeur de 1 dans le cas contraire.

Ici le maximum est :

7 – 2 = 5 pour C1 8 – 0 = 8 pour C2 2 – 1 = 1 pour C3

Alors le problème a au moins une solution

ƒ Test d’implication

On impose donc x3 =1 (conséquence de la 3ème contrainte : coefficient (x3) =2 ≥ 1

Références

Documents relatifs

prise sur le contour d'un cercle de rayon très-grand, est une solu- tion de l'équation sans second membre, se réduisant à zéro ainsi que ses n — 2 premières dérivées pour x = o

on peut l’adapter pour des équations aux dérivées partielles d’ordre 2 et plus. sous licencehttp

Très souvent (et en particulier dans les exemples de la dernière partie), on ne prendra pas cette précaution et on conservera le même symbole pour

Leçon 0603C La programmation linéaire 2 le simplexe.doc 5/5 Bernard Auge – Alexandre Vernhet Choisir la variable à enlever de la base (rapport : second membres / coefficient de

Effectue à chaque itération un pivot, passant ainsi à une solution de base réalisable adjacente (un point extrême adjacent). S’arrête lorsqu’elle identifie une solution de

Siskos et Despotis [8 ? 9] pour arriver à une solution satisfaisante à des problèmes en PLMO ont présenté une méthode interactive dans laquelle ils utilisent aussi l'algorithme

par X. — Un algorithme d'optimisation mixte permettant de traiter des problèmes à grande échelle, soumis à des contraintes non linéaires, est présenté dans cet article. En

Uoptimum du problème de programmation quadratique posé, pour lequel les conditions de Kuhn et Tucker sont nécessaires et suffisantes, est atteint quand toutes les