57
1 Partie I : Programmation linéaire Pr : E. EL GUARMAH

Programmation lineaire.ppt

Embed Size (px)

Citation preview

1

Partie I : Programmation

linéaire

Pr : E. EL GUARMAH

2

Principe :

• Forme canonique• Résolution graphique• Méthode du simplexe• Dualité• Complément : variables artificielles

3

Principe :

La programmation linéaire a pour objet de résoudre un problème économique :

• Optimiser (recherche d’un maximum ou d’un minimum) une fonction économique de forme linéaire,

• Compte tenu de contraintes (équations et/ou inéquations linéaires).

4

I. Forme canonique

Il s’agit de l’étape la plus importante de la résolution. Elle consiste à exprimer sous une forme mathéamtiques un problème énoncé de façon littéraire.

Forme canonique

(Mathématisation du problème)1- Définir de façon précise les variables.

2- Exprimer les contraintes.

3- Exprimer la fonction économique.

5

I. Exemple 1 : problème de maximisation comportant deux variables

Une entreprise fabrique deux produits P1 et P2. les ressources requises pour la fabrication d’une tonne de chaque produit et le profit unitaire sont données par le tableau suivant :

Ressources Produit P1 Produit P2 Disponibilité de chaque ressource

Espace (m2)

Main d’ouvre

(homme - semaine)

Matériaux (tonne)

Matériaux2

2

1

1

1

1

2

1

3

10

10

6

12

Profit sur chaque produit

1 2

Question : Quelle quantité de chaque produit l’entreprise devrait elle fabriquer afin de maximiser son profit ?

6

I. Modélisation du problème

• Définition des variables :

Soit : x : le nombre de tonne de P1 qu’on fabrique

y : le nombre de tonne de P2 qu’on fabrique

• Contraintes :

• Fonction économique :

Maximiser x + 2y

102)1( yx102)2( yx

6)3( yx

0)5( x0)6( y

123)4( yx

dites évidentes ou implicites

7

D’où la forme canonique :

I. Forme canonique du problème

0

0

123

6

102

102

2

y

x

yx

yx

yx

yx

yxMaximiser

Ce programme est dit linéaire car les contraintes et la fonction économique sont du premier degré

8

I. Exemple 2 : problème de minimisation comportant deux variables

La Saudel envisage de confier à son unité de production du Nord-Est, l’élaboration des coussinets (A) et des paliers (B) demandés par certains industriels; cette fabrication devra répondre aux contraintes mensuelles suivantes :

- Fabrication minimale : . Coussinets (A) : 4 000 unités . Paliers (B) : 5 000 unités

- La matière première sera livré par l’unsine principale à l’unité de production qui devra traiter un minimum de 36 000 kg de matière,

- En ce qui concerne la main d’oeuvre, et compte tenu des perspectives de développement ultérieur, le maximum sera fixé à 10 000 heures.

9

I. Exemple 2 : problème de minimisation comportant deux variables

Renseignement complémentaires :

La société souhaite déterminer le programme mensuel de farication des coussinets (A) et des paliers (B), sachant que le coût des transports mis en place entre l’unité de production et l’usine principale pour l’acheminement des matières premières et le retour des produits finis devra être rendu minimal; le prix de ce transport a été estimé à 2 Euros par kilo de matière ou de produit fini transporté.

Présenter la forme canonique du programme

A B

Matière première par produit

Main d’œuvre par produit

2 kg

1 Heure

3 kg

0,5 Heure

Poids du produit fini 1,5 kg 2 kg

10

I. Modélisation du problème

• Définition des variables :

Soit : x : le nombre de coussinets A à produire chaque mois

y : le nombre de paliers B à produire chaque mois.

• Contraintes :

- Contraintes de positivité :

- Contraintes de marché :

- Contraintes techniques :

0

0

y

x

0005

0004

y

x

000105,0

0003632

yx

yx

11

• Fonction économique :

Coût du poids transporté pour un produit A : (2+1,5)2 = 7 Euros

Coût du poids transporté pour un produit B : (3+2)2 = 10 Euros

Minimiser 7x+10y

12

D’où la forme canonique :

I. Forme canonique du problème

0

0

000105,0

0003632

0005

0004

107

y

x

yx

yx

y

x

yxMinimiser

Ce programme est dit linéaire car les contraintes et la fonction économique sont du premier degré

13

La programmation mathématique suppose l’écriture d’un modèle d’optimisation sous contrainte. On la considère souvent comme un ensemble de techniques permettant la résolution de tels modèles:

I. Forme canonique du problème

n

i

Sx

nixg

xFMinimiser

,...,10)(

scontrainte les sous

)(

x=(x1,….,xn) : sont des inconnues du problème

F est appelé la fonction objectif (on dit aussi fonction économique)

et l’ensemble des conditions gi(x)≤0 (i=1,….,n) et

Sont les contraintes du problème.

Sx

14

La résolution graphique est à privilégier pour les programmes linéaires à deux variables.

II. Résolution graphique

II.1- Détermination du Domaine des Solutions Acceptables (DSA) Chaque contrainte partage le plan en deux parties. L’étude du point (0,0) permet de définir :• Le demi-plan qui respecte la contrainte.Si l’inéquation est vérifié pour (0,0), le demi-plan fait partie du domaine des solutions acceptables.

Quand l’inégalité est au sens large, les points de la droite font partie du Domaine des Solutions Acceptables (D.S.A)

200

150

100

50

00 50 100 150 200

X

Y

90056 yx

15

II. Résolution graphique

• Le demi-plan qui ne respecte pas la contrainte.

Si l’inéquation n’est pas vérifié pour (0,0), on hachure cette partie qui ne fait pas partie du domaine des solutions acceptables.

200

150

100

50

00 50 100 150 200

X

Y

Le Domaine des Solutions Acceptables (D.S.A) est l’ensemble des combinaisons (x,y) qui respecte les contraintes du programme linéaire.

80 yx

16

Pour tracer une fonction économique (ax+by), il faut étudier ax+by=k, en donnant une valeur à k (généralement 0).

Il s’agit d’une famille de droites parallèles de coefficients directeur

Exemple : étudier la fonction x+2y

II. Résolution graphiqueII.2- Tracement de la fonction économique

xb

a

K=0 K=100 K=200

Fonction

passe par

et par

valeur de F

x+2y=0

(0;0)

(100;-50)

F=0

x+2y=100

(0;50)

(100;0)

F=100

x+2y=200

(0;100)

(200;0)

F=200

17

Plus la valeur k augmente (diminue), plus la parallèle de F est éloignée (proche) de l’origine et plus la valeur de l’objectif augmente (diminue)

50 100 200

50

100

K=0

K=100K=200

18

Le résultat suivant sera admis : s’il existe au moins une solution optimale, il y a un sommet du D.S.A qui correspond à une solution optimale.Deux méthodes de recherche sont possibles :

• Méthode analytiqueLa valeur de la fonction économique ax+by doit être optimale

II. Résolution graphiqueII.3- Recherche de l’optimum

MAXIMISATION

Plus la valeur k est grande, meilleur est le résultat

La solution maximale est donc le sommet par lequel passe la parallèle de F la plus éloignée du point d’origine (0;0)

MINIMISATION

Plus la valeur k est petite, meilleur est le résultat

La solution minimale est donc le sommet par lequel passe la parallèle de F la plus proche du point d’origine (0;0)

19

• Méthode énumérative

La méthode énumérative consiste à calculer la valeur de F en chacun

des sommets du domaine des solutions acceptables et à retenir la solution optimale.

Cette méthode est à utiliser en complément de la précédente, lorsque

la translation de la fonction économique laisse un doute entre des

sommets proches.

Exemple : résolution graphique des problèmes présentés

en paragraphe 1.

I. Langage élémentaire des graphes

20

Quand la fonction économique est parallèle à un coté du domaine des solutions acceptables et ne passe plus par un seul sommet, la solution optimale n’est pas uniqueet le cas est dit dégénéré.

L’ensemble des solutions optimales est infini et se compose de toutes les combinaisonssitués sur le segment du domaine des solutions acceptables parallèles à la fonctionéconomique.

Exemple : présentation d’un cas dégénéré

II. Résolution graphiqueII.4- Cas particulier : dégénérescence

100

50

60032

0

0

600400

y

x

yx

y

x

yxFMin

21

Cette méthode, applicable quel que soit le nombre de variables, sera présenté dans ce paragraphe pour des problèmes de maximation dont les contraintes (autres que celles de positivité) sont de type ≤.

Exemple : problème de maximisation comportant trois variables.La société BETA fabrique trois modèles de meubles : classique, rustique, moderne.Les standards unitaires de production sont résumés dans le tableau suivant :

III. Méthode du simplexe

Modèle

Classique

Modèle

Rustique

Modèle

Moderne

Capacités

maximales

Bois

Main d’œuvre

Centre finition

Marges sur coûts variables

5

1

2

1000

8

2

2

960

5

3

0

1200

900

516

200

La société BETA souhaite déterminer les quantités à produire pour maximiser son résultat.

22

Forme canonique de ce programme :

III. Méthode du simplexe

)(1200960100

200022

516321

900585

0;0;0

MAXzyxF

zyx

zyx

zyx

zyx

23

La méthode du simplexe nécessite une mise sous forme standard :

Les inégalités sont transformées en égalités grâce à l’introduction de

variables d’écarts positives ou nulles notées ei.

Il y a une variables d’écart pour chaque contrainte autre que contrainte de positivité

3.1 Forme standard

24

3.1 Forme standard

)(1200960100

200022

516321

900585

0;0;0;0;0;0

: standard Forme

)(1200960100

200022

516321

900585

0;0;0

: canonique Forme

3

2

1

321

MAXzyxF

ezyx

ezyx

ezyx

eeezyx

MAXzyxF

zyx

zyx

zyx

zyx

25

Les calculs sont présentés dans des tableaux en utilisant la méthode du pivot de Gauss

3.2 Recherche de la solution optimale

3.2.1 Interprétation d’un tableau

3.2.2 Solution de départ : premier tableau

3.2.3 Détermination du pivot

3.2.4 Progression jusqu’à la solution optimale

26

3.2.1 Interprétation d’un tableau

QUEL QUE SOIT LE TABLEAU

• Les variables hors - base sont égales à zéro, • La valeur des variables dans la base est lue dans la colonne B,• L’optimum est atteint si tous les coefficients de la dernière ligne sont négatifs ou nuls

27

Le premier tableau reprend les coefficients de la forme standard

3.2.2 Solution de départ : premier tableau

Hors base

En base

x y z . . . B

e1

e2

e3

512

822

530

100

010

001

900516200

F 1000 960 1200 0 0 0 0

Lecture du tableau

Variables Variables

hors base dans la base

x=0 e1=900

y=0 e2=516

z=0 e3=200

F=0

28

Interprétation du tableau

• Il s’agit de la solution admissible de départ qui respecte toutes les contraintes.

• La production est donc nulle (x=0;y=0;z=0) et la valeur de la fonction objectif est égale à 0.

• Cette solution peut être améliorée puisque les coefficients de la ligne F ne sont pas négatifs ou nuls.

29

3.2.3 Détermination du pivot

• La variable qui entre dans la base est celle dont le coefficient positif de dernière ligne est le plus grand.

• La variable qui sort de la base est celle dont la résultante (R) positiveest la plus petite.

• Le pivot est situé à l’intersection de la variable entrante et de la variablesortante.

Remarque : si un zéro apparaît dans la colonne B et qu’il faut déterminer une variable sortante, il faut le remplacer par un nombre positif infiniment petit, noté ε, et continuer les calculs avec cette valeur. A l’optimum, cettevaleur ε sera considérée comme égale à zéro.

30

3.2.3 Détermination du pivot

Hors base

En base

x y z . . . B

e1

e2

e3

512

822

530

100

010

001

900516200

F 1000 960 1200 0 0 0 0

R

900/5=180

516/3=172 e2 sort de la base

200/ε = ∞

L1

L2

L3

L4

z entre dans la base

3

31

3.2.4 Progression jusqu’à la solution optimale

Hors base

En base

x y . . e2. B

e1

ze3

10/31/32

14/32/32

010

100

-5/31/30

001

40172200

F 600 160 0 0 -400 0 -206 400

L’1=L1-5L’p

L’2=L’p=L1/3

L’3=L3-0L’p

L’4=L4-1200L’p

z est entré dans la base, tandis que e2 en est sorti

Deuxième tableau

Valeur de F au signe près

32

Interprétation du tableau

• Les variables hors base sont nulles : x=y=e2=0.

• Les variables en base sont e1=40,z=172 et e3=200

• La production est donc égale à 172 produits z.

• L’objectif est égal à 206 400 Euros.

• Cette solution peut être améliorée puisque les coefficients de la ligne F ne sont pas négatifs ou nuls.

33

3.2.3 Détermination du pivot

R

12 e1 sort de la base

516

100

L’1

L’2

L’3

L’4

x entre dans la base

10/3

Hors base

En base

x y . . e2. B

e1

ze3

1/32

14/32/32

010

100

-5/31/30

001

40172200

F 600 160 0 0 -400 0 -206 400

34

3.2.4 Progression jusqu’à la solution optimale

Hors base

En base

x y . e1 e2. B

xze3

100

1,40,2-0,8

010

0,3-0,1-0,6

-0,50,51

001

12168176

F 0 -680 0 -180 -100 0 -213 600

L ’’1=L’’p=L’1/(10/3)

L’’2=L’2-(1/3)L’’p

L’’3=L’3-2L’’p

L’’4=L’4-600L’’p

Troisième tableau

Valeur de F au signe près

35

Interprétation du tableau

• Les variables hors base sont nulles : y=e1=e2=0.

• Les variables en base sont x=12,z=168 et e3=176

• Il s’agit de la solution optimale puisque tous coefficients de la dernière ligne (ou taux marginaux de substitution) sont négatifs ou nuls.

• La solution optimale est la production de 12 modèles classiques, 0 modèle rustique et 168 modèles modernes pour une marge sur coûts variables maximales de 213 600 Euros.

36

Exemple :

IV. Dualité

zyxFMIN

zyx

zyx

zyx

120160195

105.115.2

16121

0;0;0 1- La résolution graphique n’est pas applicable puisque le programme comporte plus de deux variables

2-La méthode du simplexe n’a été présentée que pour des contraintes ≤

37

La dualité permet de résoudre les problèmes de minimisation dont les contraintes

(autres que celles de positivité) sont de sens ≥ :

IV. 1 Du programme primal au programme dual

• Le nombre de variables du dual est égal au nombre de contraintes (autres que celles de positivité) du primal. Elles doivent être différenciées de celles du primal.

• Le nombre de contraintes du dual est égal au nombre de variables du primal.

• Les coefficients des colonnes (lignes) du primal sont les coefficients des lignes (colonnes) du dual. • Les inégalités du dual sont de sens opposé à celles du primal.• Les coefficients de la fonction économique du primal sont les contraintes du dual.• Si le primal est une minimisation, le dual est une maximisation, et inversement.• Les coefficients de la fonction économique du dual sont les contraintes du primal.

ELABORATION DU DUAL

Remarque : le dual du dual est le primal

38

IV. 1 Du programme primal au programme dual

)(

0;0;0

primal programmedit est résoudre à programme Le : PRIMAL

321

321

321

321

zdydxdMIN

Czcycxc

Bzbybxb

Azayaxa

zyx

)(

0;0;0

DUAL

3333

2222

1111

CwBvAuMAX

dwcvbua

dwcvbua

dwcvbua

wvu

La résolution du dual impose de retrouver les solutions du primal

39

IV. 2 Interprétation du problème dual

)1016(

1205.11

16012

1955.21

0;0

DUAL

)120160195(

105.115.2

16121

0;0;0

PRIMAL

vuMAX

vu

vu

vu

vu

zyxMIN

zyx

zyx

zyx

40

IV. 3 Résolution du problème

)0001016(

1205.11

16012

1955.21

0;0;0

0;0

:dualdu standard Forme

321

3

2

1

321

eeevuMAX

evu

evu

evu

eee

vu

Il s’agit de résoudre le primal. Il faudra donc déterminer la solution du programme primal à partir de la résolution du programme dual.

41

Premier tableau

Hors base

En base

u v . . . B

e1

e2

e3

1

1

2.51

1.5

100

010

001

195160120

F 16 10 0 0 0 0

R

195/1=195

160/2=80 e2 sort de la base

120/1 = 120

L1

L2

L3

L4

u entre dans la base

2

42

Deuxième tableau

Hors base

En base

. v . e2 . B

e1

ue3

010

20.5

100

-0.50.5-0.5

001

1158040

F 0 2 0 -8 0 -1280

R

115/2=57,5

80/0,5=160

40/1 = 40 e3 sort de la base

L’1=L1-1L’p

L’2= L’p=L2/2

L’3=L3-1L’p

L’4=L4-16L’p

u entre dans la base

1

43

Troisième tableau

Hors base

En base

. . . e2 e3 B

e1

uv

010

001

100

-0.50.5-0.5

001

356040

F 0 0 0 -7 -2 -1360

L ’’1=L’1-2L’’p

L’’2= L’2-0,5L’’p

L’’3=L’’p=L’3/1

L’’4=L’4-2L’’p

x y z

44

L’optimum du dual est atteint, mais il s’agit de résoudre le programme primal :

IV. 3 Résolution du problème

• A l’optimum, la solution du programme primal est, au signe près, lue sur la dernière ligne du tableau dans les colonnes des variables d’écart.

Remarque : à l’optimum, la valeur de la fonction économique du dual est égale à celle du primal.

SOLUTIONS DU PRIMAL

La solution du primal est donc :

x=0

y=7

z=2

F=1360

45

L’introduction de variables artificielles permet de résoudre le problème poséPar les contraintes ≥ :

V. COMPLEMENT : VARIABLES ARTIFICIELLES

1- Introduire une variable artificielle par contrainte ≥.La variable d’écart de la contrainte, affectée du coefficient -1, est mise hors base.2- Elles permettent simplement l’égalité dans la forme standard et ne sont pas une donnée du problème. En conséquence, elles doivent être nulles à l’optimum.Pour cela, il faut les faire sortir de la base en leur donnant un coefficient fortement Pénalisant dans la fonction économique :• S’il s’agit d’une maximisation, le coefficient affecté à la variable est très négatif : -M.• S’il s’agit d’une minimisation, le coefficient affecté à la variable est très positif : +M

VARIABLES ARTIFICIELLES

46

V.1 Résolution d’une maximisation

zyxFMax

zyx

zyx

zyx

200500100)(

500012

1000031

;0;0;0

: linéaire programme leSoit

121

12

1

121

00200500100)(

500012

1000031

;0;0;0

;0;0;0

:est programme ce de standard forme La

MaeezyxFMax

aezyx

ezyx

aee

zyx

47

V.1 Résolution d’une maximisationD’après la deuxième contrainte : a1=5000-2x-y-z+e2

D’où F=100x+500y+200z+0e1+0e2-M(5000-2x-y-z+e2)

F=100x+500y+200z+0e1+0e2+2xM+yM+zM-e2M-5000M

48

Premier tableau

Hors base

En base

x y z . e2 . B

e1

a1

1 31

11

10

0-1

01

100005000

F 100+2M

500+1M

200+1M

0 0-1M

0 0+5000M

R

10000/1=10000

5000/2=2500

2M est le plus fort coefficient.

2

Changer le signe puisque F est lue au signe

près

49

Deuxième tableau

Hors base

En base

. y z . e2 a1 B

e1

x

01 0,5

10,5

10

0,5-0,5

-0,50,5

75002500

F 0 450+0M

150+0M

0 0+0M

-50-M

-250 000+0M

R

7500/2,5=3000

2500/0,5=5000

450 est le plus fort coefficient positif.

2,5

La sortie de la base d’une variable artificielle étant définitive, sa colonne peut être supprimée.

50

Troisième tableau

Hors base

En base

. . z e1 e2 B

yx

01

10

0,40,3

0,4-0,2

0,2-0,6

30001000

F 0 0 -30 -180 -40 -1 600 000

La solution optimale est atteinte : x=1 000; y=3 000; z=0 et F= 1 600 000.

51

V.2 Résolution directe d’une minimisation

Les principes de résolution sont les mêmes à l’exception du choix de la variable qui entre dans la base : la variable entrante est celle dont le taux marginal de substitution est le plus négatif. L’optimum est atteint quand tous les taux marginaux de substitution sont positifs ou nuls.

52

V.2 Résolution directe d’une minimisation

zyxFMin

zyx

zyx

zyx

120160195)(

105,115,2

16121

;0;0;0

: linéaire programme leSoit

2121

22

11

2121

00120160195)(

105,115,2

16121

;0;0;0;0

;0;0;0

:est programme ce de standard forme La

MaMaeezyxFMin

aezyx

aezyx

aaee

zyx

53

V.2 Résolution directe d’une minimisationD’après la première contrainte : a1=16-1x-2y-1z+e1

D’après la deuxième contrainte : a2=10-2,5x-1y-1,5z+e2

D’où F=195x+160y+120z+0e1+0e2+M(16-1x-2y-1z+e1)+M(10-2,5x-1y-1,5z+e2)

F=195x+160y+120z+0e1+0e2-3,5Mx-3My-2,5Mz+Me1+Me2+26M

54

Premier tableau

Hors base

En base

x y z e1 e2 . .

a1

a2

1 21

11,5

-10

0-1

10

01

F 195-3,5M

160-3M

120-2,5M

0+M

0+M

0 0

R

16/1=16

10/2,5=4

-3,5M est le plus négatif.

2,5

Changer le signe puisque F est lue au signe

près

B

1610

0-26M

55

Deuxième tableau

Hors base

En base

. y z e1 e2 . a2

a1

x

01 0,4

0,40,6

-10

0,4-0,4

10

-0,40,4

F 0 82-1,6M

3-0,4M

01M

78-0,4

0 -781,4M

R

12/1,6=7,5

4/0,4=10

-1,6M est le plus négatif.

1,6

B

124

-780-12M

56

Troisième tableau

Hors base

En base

. . z e1 e2 a1 a2

yx

01

10

0,25 - 0,6250,25

0,25-0,5

0,625-0,25

F 0 0 -17,5 51,25 57,5 -51,251M

R

12/0,25=30

1/0,5=2

0,5

B

7,51

-1395

57

Quatrième tableau

Hors base

En base

. . z e1 e2 a1 a2

yx

-0,52

10

01

- 0,750,5

0,5-1

F 35 0 0 60 40

B

72

-1360

L’optimum de la minimisation est atteint puisque tous les taux marginaux de substitution sont positifs ou nuls.

La variable z est hors base et en conséquence, z=0.

La solution optimale est donc x=2; y=7; z=0 pour un coût minimum égal à 1360.

Remarque : Il est préférable de passer par le programme dual qui réduit les calculs.