mod´elisation en programmation lin´eaire -...

59
Exemple de r´ ef´ erence Sch´ ema g´ en´ eral de la mod´ elisation esolution graphique d’un PL efinition et ´ ecriture de PL Utilisation de solveurs Mod´ elisation en Programmation Lin´ eaire Vincent Mousseau Ecole Centrale Paris, [email protected] March 3, 2009 Vincent Mousseau Mod´ elisation en Programmation Lin´ eaire

Upload: vudien

Post on 09-May-2018

239 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Modelisation en Programmation Lineaire

Vincent Mousseau

Ecole Centrale Paris,

[email protected]

March 3, 2009

Vincent Mousseau Modelisation en Programmation Lineaire

Page 2: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

ContexteModelisation du probleme

1 Exemple de referenceContexteModelisation du probleme

2 Schema general de la modelisationLes 4 etapesUne seconde illustration

3 Resolution graphique d’un PL

4 Definition et ecriture de PLDefinitions et notationsFormes standard et canoniquesNotations vectorielles et matricielles

5 Utilisation de solveurs

Vincent Mousseau Modelisation en Programmation Lineaire

Page 3: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

ContexteModelisation du probleme

1 Exemple de referenceContexteModelisation du probleme

2 Schema general de la modelisationLes 4 etapesUne seconde illustration

3 Resolution graphique d’un PL

4 Definition et ecriture de PLDefinitions et notationsFormes standard et canoniquesNotations vectorielles et matricielles

5 Utilisation de solveurs

Vincent Mousseau Modelisation en Programmation Lineaire

Page 4: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

ContexteModelisation du probleme

Exemple de reference : contexte

Une usine fabrique 2 produits finis p1 et p2 a l’aide de maind’oeuvre (r1) et 2 matieres premieres (ressources) r2 et r3.

Les procedes de fabrication sont tels que :pour fabriquer 1 unite de p1, il faut 1h de r1, 2 unites de r2 et4 unites de r3,pour fabriquer 1 unite de p1, il faut 6h de r1, 2 unites de r2 et1 unites de r3,

Les ressources quotidienne de l’usine sont limitees : 30h de r1,15 unites de r2, 24 unites de r3,

Les prix de vente unitaires sont 2e pour p1, 3e pour p2,

Le directeur de l’usine souhaite organiser sa production desorte de maximiser quotidiennement le CA,

Vincent Mousseau Modelisation en Programmation Lineaire

Page 5: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

ContexteModelisation du probleme

Modelisation du probleme

Definir les variables de decision

Ce sur quoi porte la decision, ce qui dont on doit determinerla valeur.

Dans ce cas : combien produire de p1 et p2 ?⇒ variables : x1, x2 : nombre d’unite de p1 et p2.

Vincent Mousseau Modelisation en Programmation Lineaire

Page 6: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

ContexteModelisation du probleme

Modelisation du probleme

Definir les contraintes

Il faut x1h de r1 pour fabriquer x1 unites de p1 et 6x2h de r1pour fabriquer x2 unites de p2.

On ne dispose que de 30h de r1 donc on a x1 + 6x2 ≤ 30.

En considerant les ressources r2 et r3, on obtient :

2x1 + 2x2 ≤ 154x1 + x2 ≤ 24

Contraintes de non-negativite : x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 7: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

ContexteModelisation du probleme

Modelisation du probleme

Definir la fonction objectif

L’objectif est de maximiser le CA :x1 unites produites de de p1 rapportent 2x1e

x2 unites produites de de p2 rapportent 3x2e

On souhaite maximiser 2x1 + 3x2

Le programme lineaire P associe au probleme est :

P

Max 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 8: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

1 Exemple de referenceContexteModelisation du probleme

2 Schema general de la modelisationLes 4 etapesUne seconde illustration

3 Resolution graphique d’un PL

4 Definition et ecriture de PLDefinitions et notationsFormes standard et canoniquesNotations vectorielles et matricielles

5 Utilisation de solveurs

Vincent Mousseau Modelisation en Programmation Lineaire

Page 9: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Schema general de la modelisation

4 etapes de la modelisation

Definir les variables de decision.

Specifier les contraintes associees au probleme.

Definir la fonction objectif a optimiser.

Ecrire le programme lineaire complet.

Vincent Mousseau Modelisation en Programmation Lineaire

Page 10: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Schema general de la modelisation

Definir les variables de decision

Etape souvent la plus la plus delicate.

Il faut identifier :

ce sur quoi porte la decision et qui n’est pas fixe,ce dont on a besoin pour exprimer la fonction objectif et lescontraintes.

Pour un meme probleme, on peut avoir differents systemes devariables de decision.

Il est important de specifier les unites pour ces variables.

Vincent Mousseau Modelisation en Programmation Lineaire

Page 11: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Schema general de la modelisation

Definir les contraintes et la fonction objectif associees au probleme

Ne pas oublier (selon le contexte) la contrainte de positivitedes variables.

Les contraintes et la fonction objectif ne doivent faireintervenir que des variables de decision definies auparavant.

Respecter l’homogeneite des termes des contraintes et de lafonction objectif (les unites doivent etre coherentes).

Les contraintes et la fonction objectif doivent etre sous formelineaire.

Vincent Mousseau Modelisation en Programmation Lineaire

Page 12: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Schema general de la modelisation

Modeliser un probleme lineaire n’est possible que si

la contribution de chaque var. a la fonction objectif estproportionnelle a sa valeur (la marge unitaire de p1 diminue avec

x1, e.g. 2√

x1.

La contribution de chaque var. dans la fonction objectif (etdans les contraintes) est independante des valeurs des autresvar. Pas d’independance avec des termes produits xixj .

un PL ne permet pas de prendre en compte des effets dedependance entre variable, on a alors recours a la PNL.

la resolution d’un PNL est beaucoup plus difficile qu’un PL(on ne sait pas toujours trouver une solution optimale).

Vincent Mousseau Modelisation en Programmation Lineaire

Page 13: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Une seconde illustration

Un probleme de raffinage

Une raffinerie produit de l’essence e1 (SP98) et e2 (SP95) apartir de 3 composants c1, c2 et c3.

Les limitations sont de

30000 barils/jours pour c1,20000 barils/jours pour c2,10000 barils/jours pour c3.

Certaines proportions doivent etre respectees dans laproduction de SP95 et SP98 :

un baril de SP95 doit contenir au plus 50% de c1 et au moins10% de c2,un baril de SP98 doit contenir au plus 30% de c1, au moins40% de c2 et au moins 50% de c3.

Vincent Mousseau Modelisation en Programmation Lineaire

Page 14: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Une seconde illustration

Un probleme de raffinage (suite)

Les prix d’achat par baril sont de36e pour le composant c1,48e pour le composant c2,60e pour le composant c3.

Les prix de vente aux distributeurs par baril sont de54e pour le SP95,66e pour le SP98.

La demande maximum des stations de distribution est de15000 barils pour le SP95,35000 barils pour le SP98.

Probleme : quelle est la structure de production journalierequi maximise la marge d’exploitation.

Vincent Mousseau Modelisation en Programmation Lineaire

Page 15: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : modelisation

Il faut recenser les quantites a connaıtre pour exprimer ce quiest recherche.

les quantites journalieres de SP95 et SP98,les quantites journalieres de c1, c2 et c3.

Les contraintes concernent :

les limitations des quantites de composants,les proportions de composants dans la composition de SP95 etSP98.

Vincent Mousseau Modelisation en Programmation Lineaire

Page 16: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : definition les variable de decision

xij : quantite journaliere de composant ci intervenant dansl’essence ej (en barils), i=1,2,3, j=1,2 ⇒ 6 variables(rappel : e1 = SP98 et e2 = SP95)

ui : qte journaliere de composant ci utilisee (en barils), i=1,2,3

vj : qte journaliere d’essence ej fabriquee (en barils), j=1,2

Les variables ui et vj peuvent s’exprimer en fonction des xij

ui = xi1 + xi2 =∑2

j=1 xij , i = 1, 2, 3,

vj = x1j + x2j + x3j =∑3

i=1 xij , j = 1, 2.

En fait, on n’a besoin que des xij .Les ui et vj sont des variables auxiliaires et servent a exprimerle modele de facon plus claire.

Vincent Mousseau Modelisation en Programmation Lineaire

Page 17: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : specification des contraintes

Contraintes liees a la disponibilite des composants :

u1 ≤ 30000u2 ≤ 20000u3 ≤ 10000

ou bien

x11 + x12 ≤ 30000x21 + x22 ≤ 20000x31 + x32 ≤ 10000

Contraintes liees au respect des proportions :

Proportion de c1 dans e1 inferieure a 30% : x11

v1≤ 30%

Il faut ecrire cette contraintes en fonction des variable dedecision sous forme lineaire.x11

v1= x11

x11+x21+x31≤ 0.3 or x11 + x21 + x31 ≥ 0

⇔ x11 ≤ 0.3(x11 + x21 + x31)⇔ 0.7x11 − 0.3x21 − 0.3x31 ≤ 0

⇔ 7x11 − 3x21 − 3x31 ≤ 0 [1]

Vincent Mousseau Modelisation en Programmation Lineaire

Page 18: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : specification des contraintes

Au moins 40% de c2 dans e1 :x21

v1= x21

x11+x21+x31≥ 0.4

⇔ x21 ≥ 0.4(x11 + x21 + x31)⇔ −0.4x11 + 0.6x21 − 0.4x31 ≥ 0⇔ 2x11 − 3x21 + 2x31 ≤ 0 [2]

Au moins 50% de c3 dans e1 :x31

v1= x31

x11+x21+x31≥ 0.5

⇔ x31 ≥ 0.5(x11 + x21 + x31)⇔ −0.5x11 − 0.5x21 + 0.5x31 ≥ 0⇔ x11 + x21 − x31 ≤ 0 [3]

La premiere contrainte est redondante (immediat dans l’enonce)

[2]+[3] 3x11 − 2x21 + x31 ≤ 0 [4]or [4] implique 7x11 − 3x21 − 3x31 ≤ 0 [1]

Vincent Mousseau Modelisation en Programmation Lineaire

Page 19: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : specification des contraintes

Au plus 50% de c1 dans e2 :x12

v2= x12

x12+x22+x32≤ 0.5

⇔ x12 ≤ 0.5(x12 + x22 + x32)⇔ 0.5x12 − 0.5x22 − 0.5x32 ≤ 0⇔ x12 − x22 − x32x ≤ 0

Au moins 10% de c2 dans e2 :x22

v2= x22

x12+x22+x32≥ 0.1

⇔ x22 ≥ 0.1(x12 + x22 + x32)⇔ 0.1x12 − 0.9x22 + 0.1x32 ≤ 0⇔ x12 − 9x22 + x32 ≤ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 20: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : specification des contraintes

Contraintes liees a la demande max des distributeurs :{

v1 ≤ 35000v2 ≤ 15000

ou bien

{

x11 + x21 + x31 ≤ 35000x12 + x22 + x32 ≤ 15000

Vincent Mousseau Modelisation en Programmation Lineaire

Page 21: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : specification de la fonction objectif

Marge = Gain - Cout

Max (66v1 + 54v2) − (36u1 + 48u2 + 60u3)

Max 66(x11 + x21 + x31) + 54(x12 + x22 + x32)−36(x11 + x12) − 48(x21 + x22) − 60(x31 + x32)

Max 30x11 + 18x21 + 6x31) + 18x12 + 6x22 − 6x32

Vincent Mousseau Modelisation en Programmation Lineaire

Page 22: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : PL a resoudre

Max 30x11 + 18x21 + 6x31 + 18x12 + 6x22 − 6x32

s.t. x11 + x12 ≤ 30000x21 + x22 ≤ 20000x31 + x32 ≤ 100007x11 − 3x21 − 3x31 ≤ 0 (redondante)2x11 − 3x21 + 2x31 ≤ 0x11 + x21 − x31 ≤ 0x12 − x22 − x32 ≤ 0x12 − 9x22 + x32 ≤ 0x11 + x21 + x31 ≤ 35000x12 + x22 + x32 ≤ 15000xi ,j ≥ 0, i = 1, 2, 3, j = 1, 2

Vincent Mousseau Modelisation en Programmation Lineaire

Page 23: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : une variante

On souhaite en fait maintenir l’activite simultanement surSP98 et SP95.

On veut maximiser la marge la plus faible sur les deuxproduits.

Comment “lineariser” cet objectif non lineaire ?

On introduit une variable de decision auxiliaire y quirepresente la plus petite des deux marges sur SP98 et SP95

que l’on cherche a maximiser.

Pour s’assurer que y represente bien la plus petite des deuxmarges, on ajoute les contraintes :

{

y ≤ 66(x11 + x21 + x31) − (36x11 + 48x21 + 60x31)y ≤ 54(x12 + x22 + x32) − (36x12 + 48x22 + 60x32)

Vincent Mousseau Modelisation en Programmation Lineaire

Page 24: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Les 4 etapesUne seconde illustration

Probleme de raffinage : variante du PL a resoudre

Max y

s.t. y ≤ 66(x11 + x21 + x31) − (36x11 + 48x21 + 60x31)y ≤ 54(x12 + x22 + x32) − (36x12 + 48x22 + 60x32)x11 + x12 ≤ 30000x21 + x22 ≤ 20000x31 + x32 ≤ 100007x11 − 3x21 − 3x31 ≤ 0 (redondante)2x11 − 3x21 + 2x31 ≤ 0x11 + x21 − x31 ≤ 0x12 − x22 − x32 ≤ 0x12 − 9x22 + x32 ≤ 0x11 + x21 + x31 ≤ 35000x12 + x22 + x32 ≤ 15000xi ,j ≥ 0, i = 1, 2, 3, j = 1, 2

Vincent Mousseau Modelisation en Programmation Lineaire

Page 25: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

1 Exemple de referenceContexteModelisation du probleme

2 Schema general de la modelisationLes 4 etapesUne seconde illustration

3 Resolution graphique d’un PL

4 Definition et ecriture de PLDefinitions et notationsFormes standard et canoniquesNotations vectorielles et matricielles

5 Utilisation de solveurs

Vincent Mousseau Modelisation en Programmation Lineaire

Page 26: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

Valable pour des PL ayant au plus 3 variables.

Resolution en 2 etapes :1 representer le domaine des solutions realisables,2 trouver une solution optimale.

Illustrons la resolution sur l’exemple :

P

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 27: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Representation du domaine des solutions realisables

chaque solution est un point x = (x1, x2) ∈ R2

Contrainte de positivite ⇒ x = (x1, x2) ∈ R+2.

Considerons la premiere contrainte x1 + 6x2 ≤ 30, la droitex1 + 6x2 = 30 separe le plan en deux 1/2 plans (x1 + 6x2 ≤ 30et x1 + 6x2 ≥ 30)

En eliminant, pour chaque contrainte, le 1/2 plan exclu par lacontrainte, on obtient un polyedre de solutions realisables.

P

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 28: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 29: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 30: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 31: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 32: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 33: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Trouver la solution optimale d’un PL

Tous les points sur la droite 2x1 + 3x2 = k donnent la meme valeura la fonction objectif.

La droite 2x1 + 3x2 = 12 passe par les points (0,4) et (6,0).

En augmentant la valeur de k , on observe que la plus grande valeurde k compatible avec le domaine des solutions realisable est al’intersection des contraintes x1 + 6x2 ≤ 30 et 2x1 + 2x2 ≤ 15.

la solution optimale est x∗ = (3, 4.5) et la valeur de la fonctionobjectif a l’optimum est f ∗ = 19.5

PL

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 34: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

2x1 +

3x2 =

12

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 35: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

2x1 +

3x2 =

13.5

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 36: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

2x1 +

3x2 =

15

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 37: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

2x1 +

3x2 =

16.5

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 38: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

2x1 +

3x2 =

18

x2

x1

Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 39: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7 8

2x1 +

3x2 =

19.5

x2

x1

x∗ = (3, 4.5)Max f (x) = 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24

x1 ≥ 0, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 40: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Resolution graphique d’un PL

Cas general

Comment choisir la direction de deplacement des droites ?

Soit ∇f (x1, x2) = (δf /δx1, δf /δx2) le vecteur gradient dontles composantes sont les coefficients de la fonction objectif.

La direction du gradient de la fonction objectif donne ladirection d’augmentation de cette fonction.

Pour un probleme de maximisation (de minimisation resp.) ladirection est ∇f (x1, x2) (−∇f (x1, x2) resp.).

Vincent Mousseau Modelisation en Programmation Lineaire

Page 41: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Gradient

Dans notre exemple

-3 -2 -1 0 1 2 3 4 5 6 7-2

-1

0

1

2

3

4

5x2

x1

∇f = (2, 3)

∇f

Vincent Mousseau Modelisation en Programmation Lineaire

Page 42: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

1 Exemple de referenceContexteModelisation du probleme

2 Schema general de la modelisationLes 4 etapesUne seconde illustration

3 Resolution graphique d’un PL

4 Definition et ecriture de PLDefinitions et notationsFormes standard et canoniquesNotations vectorielles et matricielles

5 Utilisation de solveurs

Vincent Mousseau Modelisation en Programmation Lineaire

Page 43: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Definition et notations

Un programme lineaire est caracterise par :

n variables reelles x1, . . . , xn (possiblement soumises a des

conditions de signe).

p contraintes lineaires sur ces variables

∑nj=1 aijxj

≤=≥

di , i = 1, . . . , p

Une fonction objectif lineaire f (x) =∑n

j=1 cjxj a maximiserou minimiser.

Vincent Mousseau Modelisation en Programmation Lineaire

Page 44: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Definition et notations

Max(Min) f (x) =∑n

j=1 cjxj

s.t.

∑nj=1 aijxj ≤ di , i ∈ I1

∑nj=1 aijxj = di , i ∈ I2

∑nj=1 aijxj ≥ di , i ∈ I3

xj ≥ 0, j ∈ I1xj ≤ 0, j ∈ I2xj sans condition de signe, j ∈ I3

I1, I2, I3, J1, J2, J3 sont des sous-ensembles d’indices

Vincent Mousseau Modelisation en Programmation Lineaire

Page 45: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Definition et notations

x = (x1, . . . , xn) ∈ Rn est une solution realisable si les xi

verifient toutes les contraintes.

R = {solutions realisables}.

Une solution x∗ est optimale s’il n’existe pas dans R desolution donnant a la fonction une valeur strictement plusgrande pour une maximisation (strictement plus petite pourune minimisation).∀x ∈ R ,

∑nj=1 cjxj ≤

∑nj=1 cjx

j .

R∗ = {solutions realisables optimales}

Vincent Mousseau Modelisation en Programmation Lineaire

Page 46: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

4 cas a distinguer

Cas 1. R = ∅ pas de solution realisable ⇒ pas d’optimum

-3 -2 -1 0 1 2 3 4 5-2

-1

0

1

2

3

4

5x2

x1

Max 2x1 + x2

s.t. x1 + x2 ≤ 2

x1 ≥ 3

x1, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 47: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

4 cas a distinguer

Cas 2. R∗ = ∅ le polyedre des solutions realisables est non borne.

-3 -2 -1 0 1 2 3 4 5-2

-1

0

1

2

3

4

5

R

x2

x1

∇f

Max x1 + x2

s.t. x1 + x2 ≥ 2

x1 ≤ 1

x1, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 48: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

4 cas a distinguer

Cas 3. R∗ = {x∗} une seule solution optimale.

-2 -1 0 1 2 3 4 5 6 7 8-2

-1

0

1

2

3

4

5

6x2

x1

∇f

Max 2x1 + 3x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24x1, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 49: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

4 cas a distinguer

Cas 4. R∗ contient une infinite de solution optimale.

-2 -1 0 1 2 3 4 5 6 7 8-2

-1

0

1

2

3

4

5

6x2

x1

∇f

Max x1 + x2

s.t. x1 + 6x2 ≤ 302x1 + 2x2 ≤ 154x1 + x2 ≤ 24x1, x2 ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 50: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Formes standard et canoniques

Forme standard

toutes les variables sont positives ou nulles,toutes les contraintes sont sous forme d’egalite,

Forme canonique

toutes les variables sont positives ou nulles,toutes les contraintes sont des inegalites de meme sens,

Vincent Mousseau Modelisation en Programmation Lineaire

Page 51: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Forme standard

Min (ou Max)∑n

j=1 cjxj∑n

j=1 aijxj = di , i = 1, . . . , pxj ≥ 0, j = 1, . . . , n

On transforme chaque contrainte d’inegalite en contrainted’egalite par l’introduction d’une variable d’ecart.

n∑

j=1

aijxj ≤ di est remplace par

{ ∑nj=1 aijxj + xe

i = di

xei ≥ 0

∑nj=1 aijxj ≥ di est remplace par

{ ∑nj=1 aijxj − xe

i = di

xei ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 52: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Forme standard

Pour les variables :

si xj ≥ 0, rien a faire

si xj ≥ 0, poser yj = −xj et remplacer chaque occurrence dexj par −yj dans les contraintes et la fonction objectif, puisremplacer la contrainte xj ≤ 0 par yj ≥ 0.

cas ou xj est sans contrainte de signe :

poser xj = x+j − x−

j avec x+j = max(xj , 0) et

x−

j = max(−xj , 0)

remplacer chaque occurrence de xj par x+j − x−

j dans lescontraintes et la fonction objectif, .remplacer la contrainte xj sans contrainte de signe par x+

j ≥ 0

par x−

j ≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 53: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Forme standard : exemple

Min 3x1 − x2

x1 − 2x2 + x3 ≥ −2

2x1 + 2x3 = 4x1 + 3x2 ≤ 5x1, x3 ≥ 0x2 sans contrainte de signe

Min 3x1−x+2 + x−

2

x1−2x+2 + 2x−

2 + x3−x4 = −2

2x1 + 2x3 = 4x1+3x+

2 − 3x−

2 +x5 = 5x1, x

+2 , x−

2 , x3, x4, x5 ≥ 0On peut toujours mettre un PL sous forme standard

Vincent Mousseau Modelisation en Programmation Lineaire

Page 54: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Forme canonique

Il existe deux formes canoniques

Min f (x) =∑n

j=1 cjxj

s.t.

{ ∑nj=1 aijxj ≥ di , i = 1, . . . , p

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

Max f (x) =∑n

j=1 cjxj

s.t.

{ ∑nj=1 aijxj ≤ di , i = 1, . . . , p

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

Propriete : on peut toujours mettre un PL sous forme canonique

Vincent Mousseau Modelisation en Programmation Lineaire

Page 55: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Forme canonique

Pour modifier le sens d’une contrainte d’inegalite, il fautmultiplier les deux membres par -1,

Une contrainte d’egalite est transformee en 2 contraintesd’inegalite :

n∑

j=1

aijxj = di devient

{ ∑n

j=1 aijxj ≥ di∑n

j=1 aijxj ≤ diet donc

{ ∑n

j=1 −aijxj ≤ −di∑n

j=1 aijxj ≤ di

Pour la fonction objectif, on passe de max a min par :Minx f (x) ⇔ −Maxx (−f (x)) etMaxx f (x) ⇔ −Minx (−f (x)) (meme x∗ pour les deux pb),

Remarque : on a aussi Maxx f (x) ⇔ Maxx f (x) + c etMaxx f (x) ⇔ Maxx λf (x),

Vincent Mousseau Modelisation en Programmation Lineaire

Page 56: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Definitions et notationsFormes standard et canoniques

Forme canonique

Min 3x1 − x2

x1 − 2x2 + x3 ≥ −2

2x1 + 2x3 = 4x1 + 3x2 ≤ 5x1, x3 ≥ 0x2 sans contrainte de signe

Min 3x1−x+2 + x−

2

x1−2x+2 + 2x−

2 + x3 ≥ −2

2x1 + 2x3 ≥ 4−2x1 − 2x3 ≥ −4−x1−3x+

2 + 3x−

2 ≥ −5x1, x

+2 , x−

2 , x3,≥ 0

Vincent Mousseau Modelisation en Programmation Lineaire

Page 57: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

1 Exemple de referenceContexteModelisation du probleme

2 Schema general de la modelisationLes 4 etapesUne seconde illustration

3 Resolution graphique d’un PL

4 Definition et ecriture de PLDefinitions et notationsFormes standard et canoniquesNotations vectorielles et matricielles

5 Utilisation de solveurs

Vincent Mousseau Modelisation en Programmation Lineaire

Page 58: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Utilisation de solveurs

Vincent Mousseau Modelisation en Programmation Lineaire

Page 59: Mod´elisation en Programmation Lin´eaire - lgi.ecp.frmousseau/Cours/S4/pmwiki/uploads/Main/PL.pdf · Vincent Mousseau Mod´elisation en Programmation Lin´eaire. Exemple de r´ef´erence

Exemple de referenceSchema general de la modelisation

Resolution graphique d’un PLDefinition et ecriture de PL

Utilisation de solveurs

Utilisation de solveurs

Vincent Mousseau Modelisation en Programmation Lineaire