12

Click here to load reader

programmation linéaire bon cours

Embed Size (px)

Citation preview

Page 1: programmation linéaire bon cours

Semestre : 5 Module : Techniques Quantitatives Matière : Recherche Oppérationnelle Enseignant : Mr EZZEHAR

Numérisation & Conception Mr Lehcen HABCHI

� Programme Linéaire

� Résolution du Simplexe

� Notion de Dualité

� Exemples avec corrigés

Eléments du cours

Le Portail des Etudiant d’Economie

www.e-tahero.net

[email protected]

Page 2: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 2 -

© w

ww

.e-t

aher

o.ne

t

Résolut ion S implexe

Soit le programme linéaire (P) suivant :

Max z =500 x1 +300 x2 20 x1 +10 x2 ≤ 2000 10 x1 + 45 x2 ≤ 5400 40 x1 + 30 x2 ≤ 4800 x1 ≥0, x2 ≥ 0

1ère étape : Mettre le P.L sous sa forme standard :

Max z =500 x1 +300 x2+0 e1 + 0 e2 + 0 e3 20 x1 +10 x2+1 e1 + 0 e2 + 0 e3 = 2000 10 x1 + 45 x2 +0 e1 + 1 e2 + 0 e3 = 5400 40 x1 + 30 x2 +0 e1 + 0 e2 + 1 e3 = 4800 x1 ≥0, x2 ≥ 0 ; e1≥0, e2≥0 , e3≥ 0

2ème étape : Solution de base initiale : HB : x1 =0, x2 =0 B : e1=0, e2=0, e3= 0 Z = 0Dh 3ème étape : La saisie du problème

TAB 0 : (

Base x1 x2 e1 e2 e3 Rés Rés/Coeff e1 20 10 1 0 0 2000 2000/20 =100 e2 10 45 0 1 0 5400 5400/10 =540 e3 40 30 0 0 1 4800 4800/40 =120 Zk 500 300 0 0 0 Z=0

V.E qui correspond au Max de Z ici le Max =500 V.S qui correspond au Min de Rés/Coeff ici le Min =100

TAB 1 :

Base x1 x2 e1 e2 e3 Rés Rés/Coeff x1 1 1/2 1/20 0 0 100 100/(1/2) =200 e2 0 40 -1/2 1 0 4400 4400/40 =110 e3 0 10 -2 0 1 800 800/10 = 80 Zk 0 50 -25 0 0 Z= -5000

V.E qui correspond au Max de Z ici le Max = 50 V.S qui correspond au Min de Rés/Coeff ici le Min = 80

Comment on a arriver à faire ce Calcul : c’est simple ☺ regardez : 1. D’abord x1 va entrer comme base alors il va remplacer la variable Sortante qui correspond à e1

100,540 ;120 500,300 ;0,0,0,0

V.E

V.E

V.S

C’est la ligne du Pivot qui correspond à V.E ∩ V.S ici c’est 20

V.S

200,110 ;80 0 ;50 ;-25 ;0 ;0

C’est la ligne du Pivot qui correspond à V.E ∩ V.S ici c’est 10

Page 3: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 3 -

© w

ww

.e-t

aher

o.ne

t

Donc : Base x1 x2 e1 e2 e3 Rés Rés/Coeff

x1 1 e2 0 e3 0 Zk 0

2. Ensuite, on fait les calcules correspondant à la ligne du Pivot Comme indique les tableau ci-dessous : à savoir :

Nouveau valeur =Valeur (Ancien ligne du pivot) / Pivot Donc : Base x1 x2 e1 e2 e3 Rés Base x1 x2 e1 e2 e3 Rés

x1 1 10/20 1/20 0/20 0/20 2000/20 x1 1 1/2 1/20 0 0 100 e2 0 càd e2 0 e3 0 e3 0 Zk 0 Zk 0

En fin, on complète le tableau on utilisant le règle de pivotage à savoir : Nouveau valeur = Ancien Valeur - Exemple : pour l’ancien valeur du tableau 0 : 30 Sa Valeur correspond (V.E) = 40 Sa Valeur correspond (V.S) = 10

Base x1 x2 e1 e2 e3 Rés Rés/Coeff e1 10 e2 e3 40 30 Zk

Donc : maintenant si vous avez compris, on va compléter le tableau : Base x1 x2 e1 e2 e3 Rés

x1 1 1/2 1/20 0 0 100

e2 0 20

)10)(10(45−

20

)1)(10(0−

20

)0)(10(1−

20

)0)(10(0−

20

)2000)(10(5400−

e3 0 20

)10)(40(30−

20

)1)(40(0−

20

)0)(40(0−

20

)0)(40(1−

20

)2000)(40(4800−

Zk 0 20

)10)(500(300−

20

)1)(500(0−

20

)0)(500(0−

20

)0)(500(0−

20

)2000)(500(0−

Alors :

Base x1 x2 e1 e2 e3 Rés x1 1 1/2 1/20 0 0 100 e2 0 40 -1/2 1 0 4400 e3 0 10 -2 0 1 800 Zk 0 50 -25 0 0 Z= -5000

V. correspond (V.E) * V. correspond (V.S) Pivot

V.S

V.E

Page 4: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 4 -

© w

ww

.e-t

aher

o.ne

t

Remarque : Concentrez vous sur les valeurs de e1, e2 et e3, qui ce que vous remarquez ? Base x1 x2 e1 e2 e3 Rés

x1 1 1/20 0 0 e2 0 -1/2 1 0 e3 0 -2 0 1 Zk 0 -25 0 0

Dans la base, il n y a pas de e1 c’est pourquoi vous remarquez qu’il y a un changement dans ces valeurs anciens ; Alors que e2 et e3 sont tjrs dans la base, donc ils ont gardé les anciennes valeurs autant que base. La prochaine fois essayer de distinguer les variables qui sont de la base pour ne pas faire des calculs inutiles. Càd : Tu dois procéder comme suit : Base x1 x2 e1 e2 e3 Rés

x1 1 1/2 1/20 0 0 100

e2 0 20

)10)(10(45−

20

)1)(10(0−

1 0 20

)2000)(10(5400−

e3 0 20

)10)(40(30−

20

)1)(40(0−

0 1 20

)2000)(40(4800−

Zk 0 20

)10)(500(300−

20

)1)(500(0−

0 0 20

)2000)(500(0−

Alors : Situation initial du TAB 1 : HB : x2 =0, e1=0 B : x1 =0, e2=4400, e3= 800 Z = |-5000| = 5000Dh

TAB 2 : Base x1 x2 e1 e2 e3 Rés

x1 1 0 ///// 0 ///// 60 e2 0 0 ///// 1 ///// 1200 x2 0 1 -1/5 0 1/10 80 Zk 0 0 -15 0 -5 Z= -5400

Voila comment on a fait ce calcul ?

Base x1 x2 e1 e2 e3 Rés

x1 1 0 ///// 0 ///// 10

)800)(2/1(100−

e2 0 0 ///// 1 ///// 10

)800)(40(4400−

x2 0 1 -2/10 0 1/10 800/10

Zk 0 0 10

)2)(50(25

−−− 0 10

)1)(50(0 −

10

)800)(50(5000−−

Conclusion :

Toutes les valeurs de la ligne Zk du TAB 2 sont ≤ 0 donc la solution optimale est atteinte dans ce tableau (TAB 2)

Page 5: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 5 -

© w

ww

.e-t

aher

o.ne

t

La solution de base optimale primale est : HB : e1 = 0 e3= 0 B : x1 = 60, x2= 80, e2= =1200 Zmax = |-5400| = 5400Dh

Interprétation économique de la solution optimale primale:

Pour réaliser une Marge bénéficiaire Max de 5400Dh, on doit produire et vendre 60 unité de Bien A et 80 Unités de Bien B avec plein emploi en facteurs F1 et F3 et sous-emploi de 1200 de F2.

Ils sont nuls car ils ne sont pas dans la colonne de Base

Page 6: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 6 -

© w

ww

.e-t

aher

o.ne

t

o Notion de dualité :

Exemple de Travail :

Soit le même programme linéaire (P) ou encore programme primale :

Max z = 500 x1 +300 x2 20 x1 + 10 x2 ≤ 2000 (F1) (1) 10 x1 + 45 x2 ≤ 5400 (F2) (2)

40 x1 + 30 x2 ≤ 4800 (F3) (3) Avec x1 ≥0, x2 ≥ 0

Remarque :

1. Max z = 500 x1 +300 x2 est dite fonction économique primale 2. x1, x2,

e1, e2, e3 sont dites des variables primales 3. les contraintes de (P) : (1), (2) et (3) sont dites contraintes primales

Le dual (P’) du primal (P) s’écrit comme :

Min Z’ =2000 y1 + 5400 y2 + 4800 y3 20 y1 + 10 y2 + 40 y3 ≥ 500 (1’) 10 y1 + 45 y2 + 30 y3 ≥ 300 (2’) Avec y1 ≥0, y2 ≥0, y3 ≥0

Remarque :

4. Min Z’ =2000 y1 + 5400 y2 + 4800 y3 est dit Objectif dual ; 5. y1, y2,

y3 sont dites des variables duales 6. les contraintes de (P’) : (1’), (2’)) sont dites contraintes duales.

Problème :

On cherche maintenant la solution optimale duale y*= (y1*, y2

*, y3*) à partir de la résolution simplexe

du primal ‘ ce qu’on a déjà fait’

1ère étape : écrivons la forme standard du dual (P’) :

Min Z’ =2000 y1 + 5400 y2 + 4800 y3 + e1’+ e2

’ 20 y1 + 10 y2 + 40 y3 - e1

’ = 500 (1’) 10 y1 + 45 y2 + 30 y3 - e2

’ = 300 (2’) Avec y1 ≥0, y2 ≥0, y3 ≥0, e1≥0, e2

’≥0

A partir du dernier tableau simplexe primal on peut avoir le tableau de dualité permettant la déduction de la solution duale.

Page 7: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 7 -

© w

ww

.e-t

aher

o.ne

t

Base x1 x2 e1 e2 e3 Rés p Primal x1 x2 e1 e2 e3

x1 1 0 ///// 0 ///// 60 Dual e1’ e2

’ y1 y2 y3

e2

0

0

/////

1

/////

1200

Valorisation Marginale des facteurs de P on primale 0 0 15 0 5

x2 0 1 -1/5 0 1/10 80 Zk 0 0 -15 0 -5 Z= -5400 Ça devient, On utilisant les valeurs absolus

Conclusion :

La solution optimale duale est y*= (y1*, y2

*, y3*) = (15DH, 0DH, 5DH)

Avec : Z *min = (2000 * 15DH) + (5400*0DH) + (4800*5DH) = 5400Dh

(On a utilisé la relation : Min Z’ =2000 y1 + 5400 y2 + 4800 y3) et on remarque que Z *

min = Z max Interprétation économique de la solution optimale duale en tant que valorisation marginale des facteurs de P° primale :

y1*= 15DH, valorisation marginale de facteur de P° : ‘F1’ ; càd si on augmente notre disponibilité en

facteur de P° primale ‘F1’ d’une unité, notre Marge bénéficiaire Max 5400 augmente de 15DH et inversement ;

y2*= 0DH, valorisation marginale de facteur de P° : ‘F2’qui est sous-employé de 1200 unités ;

y3*= 5DH, valorisation marginale de facteur de P° : ‘F3’ ; càd si on augmente notre disponibilité en

facteur de P° primale ‘F3’ d’une unité, notre Marge bénéficiaire Max 5400 augmente de 5DH et inversement

Exercice :

Une société S.A fabrique et vend 2 Produits P1 et P2, exprimés en Kilo, dont les prix de vente unitaire respectif sont 75Dh et 45Dh. Le temps d’emploi maximum des machines de fabrication est de 150 heures dans l’atelier A1 et de 250 heures dans l’atelier A2. Le temps de passage dans les ateliers de chaque unité de produit P1 et P2, exprimé en heure, est résumé dans le tableau suivant :

P1 P2 ATELIER 1 3 1 ATELIER 2 2 4

Travail à faire :

1. Formuler le problème de l’entreprise qui cherche à maximiser son chiffre d’affaires. 2. Donner la solution optimale du problème primale par une résolution simplexe. 3. donner l’interprétation économique de la solution optimale. 4. En déduire votre solution optimale duale. 5. Donner la l’interprétation économique de votre solution optimal dual en terme de valorisation

marginal des facteurs de Production primales.

Page 8: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 8 -

© w

ww

.e-t

aher

o.ne

t

Correction :

1. Formulation : D’où le programme linéaire (P) (programme primale) à résoudre :

Max z = 75 x1 + 45 x2 3 x1 + 1 x2 ≤ 150 (Disponibilité en h dans l’atelier A1) 2 x1 +4 x2 ≤ 250 (Disponibilité en h dans l’atelier A2) Avec x1 ≥0, x2 ≥ 0

2. Résolution simplexe du primal de (P)

1ère étape : forme standard de (P):

Max z = 75 x1 + 45 x2+ 0 e1 + 0 e2 3 x1 + 1 x2 + 1 e1 + 0 e2 =150 (Disponibilité en h dans l’atelier A1) 2 x1 +4 x2 + 0e1 + 1 e2 =250 (Disponibilité en h dans l’atelier A2) Avec x1 ≥0, x2 ≥ 0 ; e1≥0, e2≥0

2ème étape : Solution de base initiale : HB : x1 =0, x2 =0 B : e1=150, e2=250 Z = 0Dh

3ème étape : Les tableaux : TAB 0 : ( Base x1 x2 e1 e2 Rés Rés/Coeff

e1 3 1 1 0 150 150/3 =50 e2 2 4 0 1 250 250/2 =125 Zk 75 45 0 0 Z=0

TAB 1 : Base x1 x2 e1 e2 Rés Rés/Coeff

x1 1 1/3 1/3 0 50 50/(1/3 =150 e2 0 10/3 -2/3 1 150 150/(10/3) =45 Zk 0 20 -25 0 Z=-3750

TAB 2 : Base x1 x2 e1 e2 Résultat

x1 1 0 ///// ///// 35 X2 0 1 -1/5 3/10 45 Zk 0 0 -21 -6 Z=-4650

Variables économiques :

x1 : Qté de P1 à produire x2 : Qté de P2 à produire

V.E

V.E

Base x1 x2 e1 e2 Rés X1 1 1/3 1/3 0 50

e2 0 3

)1)(2(4 −

3

)1)(2(0 −

1 3

)150)(2(250−

Zk 0 3

)1)(75(45−

3

)1)(75(0 −

0 3

)150)(75(0 −

Voilà pourquoi ?

Base x1 x2 e1 e2 Rés

x1 1 0 1/3 0 3/10

)3/1)(150(50−

x2 0 1 (-2/3)/(10/3) 1/(10/3)

Zk 0 0 3/10

)3/2)(20(25

−−− 3/10

)1)(20(0 −

3/10

)20)(150(3750−−

Voilà pourquoi ?

Page 9: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 9 -

© w

ww

.e-t

aher

o.ne

t

Conclusion :

Toutes les valeurs de la ligne Zk du TAB 2 sont ≤ 0 donc la solution optimale est atteinte dans ce tableau (TAB 2)

La solution de base optimale primale est : HB : e1 = 0 e2= 0 B : x1 = 35, x2= 45 Zmax = |-4650| = 4650Dh

3. Interprétation économique de la solution optimale primale:

Pour réaliser une chiffre d’affaire Maximum de 4650Dh, on doit produire et vendre 35 kilos de P1 et 45 kilos de P2 avec plein emploi en facteurs heures machine dans les ateliers A1 et A2.

4. Déduction de la solution optimale duale:

Base x1 x2 e1 e2 Résultat p Primal x1 x2 e1 e2

x1 1 0 ///// ///// 35 Tableau correspondance par

dualité Dual e1’ e2

’ y1 y2

X2 0 1 -1/5 3/10 45

Valorisation Marginale des facteurs de P on primale 0 0 21 6

Zk 0 0 -21 -6 Z=-4650

Conclusion :

La solution optimale duale est y*= (y1*, y2

*) = (21DH, 6DH)

Avec : Z *min = (150 * 21DH) + (250*6DH) = 4650Dh = Z max

(On a utilisé la relation : Min Z’ = 150 y1 + 250 y2 )

5. Interprétation économique de la solution optimale duale en tant que valorisation marginale des facteurs de Pon primale :

y1*= 21DH, valorisation marginale de l’heure machine A1; càd si on augmente notre disponibilité dans

A1 d’une heure, notre Chiffre d’affaire Max (4650) augmente de 21DH et inversement ; y2

*= 6DH, valorisation marginale de l’heure machine A2; càd si on augmente notre disponibilité dans A2 d’une heure, notre Chiffre d’affaire Max (4650) augmente de 6DH et inversement

Page 10: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 10 -

© w

ww

.e-t

aher

o.ne

t

Exercice N°2:

Une entreprise fabrique deux articles A et B à partir de deux facteurs de production F1 et F2. Le tableau des divers renseignements techniques et financières relatifs aux deux articles à fabriquer est le suivant : A B Coût d’un facteur de Production

utilisé (En Dh) Capacité maximum mensuelle en F1 et F2

F1 2 3 20 240 F2 8 4 40 400

Prix de vente unitaire en Dh de chaque articles A et B

600 400

Travail à faire : 1. Formuler le problème de l’entreprise qui cherche à maximiser sa marge sur coût total en respectant les

contraintes de production. 2. Donner la solution optimale du problème primale par une résolution simplexe. 3. Donner l’interprétation économique de la solution optimale. 4. En déduire votre solution optimale duale. 5. Donner la l’interprétation économique de votre solution optimal dual en terme de valorisation

marginal des facteurs de Production primales. Correction :

1. Formulation : Sachant que : MCV/1unité = prix de vente/1unité – les différents charge de P°/1unité D’où la fonction économique : (M/CV globale)

Max z = MCV/ Ax1 + MCV/ Bx2

• MCV/ 1A = 600-[(2*20) + (8*40)] • MCV/ 1A =240Dh

• MCV/ 1B =400-[(3*20) + (4*40)] • MCV/ 1B =180Dh

Donc : Max z = 240x1 + 180x2

D’où le programme linéaire (P) à résoudre :

Max z = 240x1 + 180x2 2 x1 + 3x2 ≤ 240 (Disponibilité F1) 8 x1 + 4 x2 ≤ 400 (Disponibilité F2) Avec x1 ≥0, x2 ≥ 0

Variables économiques :

x1 : Qté de A à produire x2 : Qté de B à produire

Page 11: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 11 -

© w

ww

.e-t

aher

o.ne

t

2. Résolution simplexe du primal de (P)

1ère étape : forme standard de (P):

Max z = 240x1 + 180x2+ 0 e1 + 0 e2 2 x1 + 3 x2 + 1 e1 + 0 e2 = 240 (Disponibilité F1) 8 x1 + 4 x2+ 0e1 + 1 e2 = 400 (Disponibilité F2) Avec x1 ≥0, x2 ≥ 0; e1≥0, e2≥0

2ème étape : Solution de base initiale : HB : x1 =0, x2 =0 B : e1=240, e2=400 Z = 0Dh

3ème étape : Les tableaux : TAB 0 :

Base x1 x2 e1 e2 Rés Rés/Coeff e1 2 3 1 0 240 240/2 =120 e2 8 4 0 1 400 400/8 = 50 Zk 240 180 0 0 Z=0

TAB 1 :

Base x1 x2 e1 e2 Rés Rés/Coeff e1 0 2 1 -1/4 140 140/2 =70 x1 1 1/2 0 1/8 50 50/(1/2) =100 Zk 0 60 0 -30 Z=-12000

TAB 2 :

Base x1 x2 e1 e2 Résultat x2 0 1 ///// ///// 70 x1 1 0 ///// ///// 15 Zk 0 0 -30 -45/2 Z=-16200

Conclusion :

Toutes les valeurs de la ligne Zk du TAB 2 sont ≤ 0 donc la solution optimale est atteinte dans ce tableau (TAB 2)

La solution de base optimale primale est : HB : e1 = 0 e2= 0 B : x1 = 15, x2= 70 Zmax = |-16200| = 16200Dh

V.E

V.S

V.E

V.S

Page 12: programmation linéaire bon cours

Synthèse de Cours Recherche Opérationnelle

Portail des Etudiants d’Economie - 12 -

© w

ww

.e-t

aher

o.ne

t

3. Interprétation économique de la solution optimale primale:

Pour réaliser une Marge bénéficiaire Maximum de 16200Dh, on doit produire et vendre 15 unités de l’article A et 70 unités de l’article B avec plein emploi en facteur de production F1 et F2.

4. Déduction de la solution optimale duale:

Base x1 x2 e1 e2 Résultat p Primal x1 x2 e1 e2

x2 0 1 ///// ///// 70 Tableau correspondance par

dualité Dual e1’ e2

’ y1 y2

x1 1 0 ///// ///// 15

Valorisation Marginale des facteurs de P on primale

0

0

-30

-22.5

Zk 0 0 -30 -45/2 Z=-16200 Conclusion :

La solution optimale duale est y*= (y1*, y2

*) = (30DH, 22.5DH)

Avec : Z *min = (240 *30 DH) + (400*22.5DH) = 16200Dh = Z max

(On a utilisé la relation : Min Z’ = 240 y1 + 400 y2 )

6. Interprétation économique de la solution optimale duale en tant que valorisation marginale des facteurs de Pon primale :

y1*= 30DH, valorisation marginale de Facteur F1 ; càd si on augmente notre disponibilité d’une unité

de ce facteur, notre Marge bénéficiaire Max (16200Dh) augmente de 30DH et inversement ; y2

*= 22.5DH, valorisation marginale de Facteur F2 ; càd si on augmente notre disponibilité d’une unité de ce facteur, notre Marge bénéficiaire Max (16200Dh) augmente de22.5DH et inversement ;