INTRODUCTION LA PROGRAMMATION
LINAIRE
Dans cette sance nous introduirons un des outils les plus puissants et les plus utiliss
de la recherche oprationnelle: la programmation linaire.
l'aide de deux exemples nous verrons:
Chaque modle requiert pour sa fabrication certaines quantits des 3 types de ressources
suivantes :
Main duvre
Mtal
Verre
Types de cadres
Heures de main
d'uvre
Qt de mtal (oz/
cadre)
Qt de verre
(oz/cadre)
Prix de vente unitaire
6
$28,50
2
$12,50
1
$29,25
2
$21,50
Salaire horaire
Cot du mtal ($/oz)
Cot du verre ($/oz)
$8,00
$0,50
$0,75
Ventes maximales
1000
2000
500
1000
Question :
Quelle quantit de chaque type de cadre devrait-on produire afin de maximiser les
profits ?
multiplie entre eux les lments correspondants des vecteurs puis additionne ces
produits !
renvoie un nombre
Rem : Faire rfrence globale pour cellules des Qts ( en utilisant la fonction F4)
Copier et coller plus facile pour chaque type de pices
3. Calculer les consquences conomiques pour obtenir les Profits
Revenus = Somme ( Qts Prix de vente unitaire )
Cots
2 PROGRAMMATION LINAIRE
Dans lexemple de Monet on a vu que certains plans de production navaient aucun sens, par
exemple ceux qui utilisaient plus de ressources que disponible. Pour viter a on va formuler des
Programmes Linaires avec nos variables de dcisions
(Modles mathmatiques)
Outil mathmatique qui sert trouver la solution optimale dun problme compte tenu
dun ensemble de conditions contraignantes.
Applications:
Contraintes
Elles restreignent les V.Dcision prendre uniquement des valeurs qui ont du sens par
rapport au problme rel tudi
Ex :
Si on avait eu un contrat avec un distributeur pour lui fournir au moins 1000 cadres du
type 2 alors on aurait eu la contrainte suivante
Qt type 2 1000
PL
Max Profits
ou
Min Cots
Il existe des techniques trs efficaces de rsolution pour ces modles (algorithme du
simplexe)
Les rsultats obtenus aprs rsolution du modle fournissent des informations sur la
sensibilit de la solution optimale par rapport des changements dans les paramtres ou
les coefficients du problme.
Remarque : sil y a des cots fixes mais quils ne sont pas influencs par les dcisions alors il ne
sert rien de les inclure dans le modle en tenir compte uniquement pour le calcul final de la
valeur de la fonction objectif
Main duvre
2 X1 +
Mtal
4 X1 + 2 X2 + X3 + 2 X4 6000
Verre
6 X1 + 2 X2 + X3 + 2 X4 10000
Demande
Nb Max cadres type 1
X1 1000
X2 2000
X3
X4 1000
500
Rem. :
A. Dans une contrainte toutes les variables sont places du ct GAUCHE de la relation
(convention dcriture)
B. Le ct DROIT est souvent appel Membre de droite ou ``Right Hand Side (RHS) en
anglais. Il contient
ne pas y inscrire une formule utilisant les variables de dcision car alors il y
aura des problmes d'interprtation avec les rapports que fournit le Solveur
ET si ncessaire
3. Contraintes de non ngativit
X1 0,
4.
X2 0,
X3 0,
X4 0
Contraintes dintgralit (si besoin pour forcer les variables ne prendre que des
valeurs entires !)
5. Fonction objectif :
Max Z = Profits = 6 X1 + 2 X2 + 4 X3 + 3 X4
Note : les coefficients correspondent au profit unitaire de chaque type de cadre
Cadre 1 Prix de vente = 28,50$
E9 travaux de construction
F9 exploitation forestire
E9
Profits unitaires
5000$
F9 4000$
F9
Atelier A
10h
15h
150h
Atelier B
20h
10h
160h
Tests vhicules
E9
Total Disponible
F9 10h
30h
Entente syndicale : le nombre dheures de tests ne peut baisser plus que 10% en dessous
de 150h
Nb minimum de F9 permis 0
Ratio
1 /1
1/2
1/3
2/4
2/5
2/6
3/7
F/E
0/0
10 E + 15 F 150
Atelier B
20 E + 10 F 160
Test
30 E + 10 F 135
Ratio E / F 3 E 3 F E 3 F 0
Commandes E + F 5
3. Contraintes de non ngativit
E 0 et F 0
4.
Contraintes dintgralit (si besoin pour forcer les variables ne prendre que des
valeurs entires !)
E et F entiers
5. Fonction objectif :
Max Z = Profits = 5000 E + 4000 F
ou crit en 1000$
Max Z = 5 E + 4 F
Modle PROTRAC
Max
s.l.c.
Z = 5000 E + 4000 F
s.l.c. = sous les contraintes
10 E + 15 F 150
20 E + 10 F 160
30 E + 10 F 135
E - 3F 0
Souvent appeles
contraintes technologiques
E + F 5
E, F 0 et entiers
Exemple Monet
Aller dans le menu "Outils" et cliquer sur la rubrique "Solveur". Vous obtiendrez la fentre
suivante:
2.
Indiquer dans cette fentre la cellule contenant le calcul du profit (B39) et cliquer sur
Max.
3.
4.
5.
Cliquer sur le bouton "Option". Vous obtiendrais alors la fentre suivante. Remplissez-l
en cochant les cases:
i) "Modle suppos linaire" pour indiquer au Solveur qu'il peut utiliser l'algorithme du
Simplexe
ii) "Suppos non-ngatif" pour indiquer au Solveur que toutes les variables doivent tre
non ngatives. Noter qu'avec ceci, il n'y a pas besoin de les inclure dans les contraintes
explicites du modle (cf. item 4 ci-dessus).
iii) "chelle automatique" afin que le Solveur ajuste les units des diffrentes valeurs
numriques (donnes du problme) de manire rduire les chances d'avoir des
problmes d'instabilit numrique (situation qui peut facilement se produire si parmi
les donnes du problme on retrouve de trs grandes valeurs en mme temps que des
trs petites.
6.
Cliquer ensuite sur le bouton "OK" puis dans la fentre prcdente sur le bouton
"Rsoudre".
7.
8.
On clique alors sur les rapports "Rponses" et "Sensibilit" afin que le Solveur les
imprime (voir fichier Excel de l'exemple Monet).
4 RSOLUTION GRAPHIQUE
cause des contraintes de non ngativit, seul le premier quadrant du plan est admissible
Dfinitions :
Rgion admissible (RA) : intersection des parties admissibles correspondant toutes les
contraintes
Zone o toutes les contraintes du problme sont satisfaites
Remarques :
1.
Les points sur les frontires de la RA (i.e. sur les droites associes) sont admissibles !
2.
En un point situ sur une des frontires de la RA (i.e. sur une des droites associes)
la contrainte associe est satisfaite galit
on dira quelle est active
3.
Les contraintes qui ne sont pas actives en un point donn sont dites inactives
4. Si une contrainte ne touche pas la RA ou y touche mais sans liminer de solutions admissibles
alors elle ne sert rien on dira quelle est redondante !
1.
2.
Tracer une 2e courbe de niveau pour dterminer le sens de variation de la fonction objectif
3.
4.
F
10
P a y o f f : 5 0 0 0 .0 E + 4 0 0 0 .0 F = 5 0 5 0 0 .0
9
8
3 : 3 0 .0 E + 1 0 .0 F = 1 3 5 .0
1 : 1 0 .0 E + 1 5 .0 F = 1 5 0 .0
6
5
2 : 2 0 .0 E + 1 0 .0 F = 1 6 0 .0
4
3
5:
1 .0 E +
1 .0 F =
5 .0
4:
1 .0 E -
3 .0 F =
0 .0
0
0
1 : 1 0 .0 E + 1 5 .0 F < = 1 5 0 .0
2 : 2 0 .0 E + 1 0 .0 F < = 1 6 0 .0
3 : 3 0 .0 E + 1 0 .0 F > = 1 3 5 .0
4 : 1 .0 E - 3 .0 F < = 0 .0
5:
1 .0 E +
1 .0 F > =
5 .0
Dfinitions :
Point frontire : point admissible satisfaisant une contrainte galit (i.e. il est sur la
frontire de la RA)
Point extrme : point admissible situ lintersection de 2 droites associes (ou plus)
satisfait 2 contraintes (ou plus) galit
coin de la RA
Il trouve d'abord une premire solution de coin, gnralement le point o les variables de
dcision sont toutes 0 (s'il est admissible).
2.
Puis il identifie quelle variable actuellement ayant une valeur de 0 donnera la plus grande
amlioration de la fonction objectif.
3.
4.
Il retourne en 2 pour trouver une nouvelle variable actuellement gale 0 qu'il serait
avantageux d'augmenter. S'il n'y en a pas, on s'arr
Remarque: l'efficacit du Simplexe vient du fait qu'on examine seulement les solutions de coin,
qui sont peu nombreuses par rapport l'ensemble de toutes les solutions admissibles. Pour une
illustration du parcours de l'algorithme du simplexe voir le fichier SimplexeA01.doc .
Attention, il se peut que le changement du membre de droite soit tel que la contrainte ne
soit plus active loptimum. Il faudra alors identifier quelle est la contrainte qui devient
active sa place avant de calculer les coordonnes de la nouvelle solution optimale.
F
10
P a y o f f : 5 0 0 0 .0 E + 4 0 0 0 .0 F = 6 3 3 3 3 .3
9
8
3 : 3 0 .0 E + 1 0 .0 F = 1 3 5 .0
1 : 1 0 .0 E + 1 5 .0 F = 1 5 0 .0
6
5
2 : 2 0 .0 E + 1 0 .0 F = 2 4 3 .2
4
3
5:
1 .0 E +
1 .0 F =
5 .0
4:
1 .0 E -
3 .0 F =
0 .0
0
0
1 : 1 0 .0 E
2 : 2 0 .0 E
3 : 3 0 .0 E
4 : 1 .0 E
5:
+ 1 5 .0 F
+ 1 0 .0 F
+ 1 0 .0 F
- 3 .0 F <
1 .0 E +
< = 1 5 0 .0
< = 2 4 3 .2
> = 1 3 5 .0
= 0 .0
1 .0 F > =
5 .0
P a y o f f : 5 0 0 0 .0 E + 1 0 0 0 0 .0 F = 9 7 5 0 0 .0
9
8
3 : 3 0 .0 E + 1 0 .0 F = 1 3 5 .0
1 : 1 0 .0 E + 1 5 .0 F = 1 5 0 .0
6
5
2 : 2 0 .0 E + 1 0 .0 F = 1 6 0 .0
4
3
5:
1 .0 E +
1 .0 F =
5 .0
4:
1 .0 E -
3 .0 F =
0 .0
0
0
1 : 1 0 .0 E + 1 5 .0 F < = 1 5 0 .0
2 : 2 0 .0 E + 1 0 .0 F < = 1 6 0 .0
3 : 3 0 .0 E + 1 0 .0 F > = 1 3 5 .0
4 : 1 .0 E - 3 .0 F < = 0 .0
5:
1 .0 E +
1 .0 F > =
5 .0
P a y o f f : 5 0 0 0 .0 E + 7 5 0 0 .0 F = 7 5 0 0 0 .0
9
8
3 : 3 0 .0 E + 1 0 .0 F = 1 3 5 .0
1 : 1 0 .0 E + 1 5 .0 F = 1 5 0 .0
6
5
2 : 2 0 .0 E + 1 0 .0 F = 1 6 0 .0
4
3
5:
1 .0 E +
1 .0 F =
5 .0
4:
1 .0 E -
3 .0 F =
0 .0
0
0
O p t im a l D e c is io n s ( E ,F ) : ( 4 .5 , 7 .0 ) ( 1 .5 , 9 .0 )
1 : 1 0 .0 E + 1 5 .0 F < = 1 5 0 .0
2 : 2 0 .0 E + 1 0 .0 F < = 1 6 0 .0
3 : 3 0 .0 E + 1 0 .0 F > = 1 3 5 .0
4 : 1 .0 E - 3 .0 F < = 0 .0
5:
1 .0 E +
1 .0 F > =
5 .0
Remarque : La droite associe la fonction objectif est parallle un des cts de la Rgion
admissible. Tous les points qui sont sur cette frontire ont donc la mme valeur de fonction
objectif il y a donc une infinit de solutions optimales !!!
E + F 5
E + F 5
par
F
10
P a y o f f : 5 0 0 0 .0 E + 1 0 0 0 0 .0 F = 9 7 5 0 0 .0
9
8
3 : 3 0 .0 E + 1 0 .0 F = 1 3 5 .0
1 : 1 0 .0 E + 1 5 .0 F = 1 5 0 .0
6
5
2 : 2 0 .0 E + 1 0 .0 F = 1 6 0 .0
4
3
5:
1 .0 E +
1 .0 F =
5 .0
4:
1 .0 E -
3 .0 F =
0 .0
0
0
1 : 1 0 .0 E + 1 5 .0 F < = 1 5 0 .0
2 : 2 0 .0 E + 1 0 .0 F < = 1 6 0 .0
3 : 3 0 .0 E + 1 0 .0 F > = 1 3 5 .0
4 : 1 .0 E - 3 .0 F < = 0 .0
5:
1 .0 E +
1 .0 F < =
5 .0
F
10
P a y o f f : 5 0 0 0 .0 E + 1 0 0 0 0 .0 F = 9 2 5 0 0 .0
9
8
3 : 3 0 .0 E + 1 0 .0 F = 1 3 5 .0
7
6
5
4
3
5:
1 .0 E +
1 .0 F =
5 .0
4:
1 .0 E -
3 .0 F =
0 .0
0
0
3 : 3 0 .0 E + 1 0 .0 F > = 1 3 5 .0
4 : 1 .0 E - 3 .0 F < = 0 .0
5:
1 .0 E +
1 .0 F > =
5 .0
Remarque :
Attention, le fait que la Rgion Admissible ne soit pas borne, ne signifie pas
obligatoirement quil ny a pas de solution optimale au problme.
Gnralement, quand un problme est non born ou non ralisable cest quil est mal
spcifi : on a mis trop ou pas assez de contraintes dans le modle mathmatique pour
reprsenter adquatement le VRAI problme ou encore, on a fait une erreur en spcifiant les
contraintes au logiciel (GLP ou EXCEL)