Vous êtes sur la page 1sur 12

UNIVERSITÉ IBN ZOHR

Ecole Nationale de Commerce et de Gestion


Dakhla

Recherche Opérationnelle S7

Pr. Elouali AAILAL

Chapitre : 1

Programmation linéaire

Année universitaire :
2023 - 2024
1

1 Modélisation linéaire
1.1 Introduction
La recherche opérationnelle est un ensemble d’outils et de méthodes mathématiques
ainsi que de techniques algorithmiques (informatiques) d’aide à la prise de décision,
efficaces et optimales en situa tions pratiques et éventuellement complexes, tout en
négligeant une partie du phénomène réel étudié, en le transformant en un modèle
formel (modélisation).
La recherche opérationnelle pourrait être très utile dans de nombreux domaines de
notre quotidien, par exemple, elle a des applications dans : la planification de tâches
et de projets, le processus de production industrielle, l’allocation optimale de
ressources, la recherche de distances minimales ...

1.2 Modélisation
La programmation linéaire est un cas particulier de la programmation mathématique,
où l’on cherche à trouver un optimum (maximum ou minimum) d’une fonction linéaire
à plusieurs variables, ces va riables étant soumises à un système d’inéquations
(d’équations) linéaires.

La programmation linéaire nous permet de résoudre un programme linéaire composé


d’une fonction linéaire (fonction objectif) à optimiser (maximiser ou minimiser) sous
certaines contraintes exprimées en un système d’équations ou d’inéquations
linéaires.
Voici le formalisme général d’un programme linéaire :

Définition 1.1.
On appele programme linéaire P (PL en abrégé), tout système d’inéquations
(équations) linéaires ap pellées (contraintes ≤) conditionné par l’optimisation
(maximisation ou minimisation) d’une fonction linéaire z de n variables x1, x2, x3... et
xn, cette fonction est appellée fonction objectif :


M ax (z) ou M in (z) = c1x1 + c2x2 + . . . + cnxn
a11x1 + a12x2 + . . . + a1nxn ≥ b1
a21x1 + a22x2 + . . . + a2nxn ≤ b2


..................................................
..................................................
am1x1 + am2x2 + . . . + amnxn = bm

Où ci, bj et aij sont des nombres réels avec 1 ≤ i ≤ n et 1 ≤ j ≤ m.

Définition 1.2.
On appelle forme canonique d’un programme linéaire P, tout système d’inéquations linéaires
(contraintes ≤) conditionné par la maximisation d’une fonction linéaire de n variables x1, x2, x3... et
x t
n i
, v
t e
o s
u :
t 
e
s 
p

o
s 
i
 

 

 

 

 

 

 

 

 

 

 M ax (z) = c1x1 + c2x2 + . . . + cnxn


a11x1 + a12x2 + . . . + a1nxn ≤ b1

 a21x1 + a22x2 + . . . + a2nxn ≤ b2
..................................................

..................................................

am1x1 + am2x2 + . . . + amnxn ≤ bm xi
 ≥ 0, ∀ 1 ≤ i ≤ n.

Où ci, bj et aij sont des nombres réels avec 1 ≤ i ≤ n et 1 ≤ j ≤ m.

ENCG Dakhla, RO, S7 Pr. Elouali AAILAL 2023/2024


2

Définition 1.3.
.
1. Une fonction objectif z (ou une fonction economique) est une fonction linéaire
de n variables x1, x2, x3...xn telle que z = z(x1, x2, x3...xn) = c1x1 + c2x2 + . . . + cnxn,
avec c1, c2, ... et cn sont des nombres réels.
2. Le n-uplet (x1, x2, x3...xn) est dit solution admissible (ou réalisable), s’il vérifie
toutes les contraintes du programme linéaire.
3. On appelle solution optimale toute solution admissible qui optimise la fonction
objectif z. 4. L’ensemble des solutions admissibles du programme linéaire est
appellée région des solutions admissibles.

Les hypothèses de la programmation linéaire :


Comme toute opération visant à modéliser des phénomènes concrets et réels de
notre quotidien, la programmation linéaire suppose que certaines hypothèses soient
vérifiées afin que le programme linéaire final décrivant le problème soit valable :
1. La contribution de chaque variable à la valeur de la fonction objectif est
proportionnelle à la valeur de cette variable.
2. La contribution de chaque variable est indépendante de la valeur des autres
variables.
3. Les variables de décision du problème x1, x2... sont positives et ils prennent des
valeurs réelles non entières.
4. Les paramètres du problème autres que les variables de décision ont une valeur
connue avec certitude.
5. La fonction objectif est décrite par une fonction linéaire des variables de décision.
Les étapes de formulation d’un PL :
Généralement, il y a trois étapes à suivre pour modéliser un problème concret via un
programme linéaire :
1. Identifier les variables de décision du problème et les représenter sous forme
symbolique : x1, x2... 2. Identifier les contraintes du problème et les exprimer par un
système d’équations ou d’inéquations linéaires.
3. Identifier la fonction objectif à maximiser ou à minimiser et la représenter sous
forme linéaire en fonction des variables de décision.

Exemple 1.1.
Un atelier utilise en série trois machines M1, M2 et M3, pour fabriquer deux produits
P1 et P2. Les durées nécessaires pour fabriquer ces deux produits sont donnés par
le tableau suivant :
P1 P2

M1 11 mn 9 mn

M2 7 mn 12
mn

M3 6 mn 16
mn

On supposera que les machines n’ont pas de temps d’inactivité.


La disponibilité pour chaque machine est :

165 heures (9900 minutes) pour la machine M1 ;


140 heures (8400 minutes) pour la machine M2 ;
160 heures (9600 minutes) pour la machine M3.

Le produit P1 donne un profit unitaire de 900 DH et le produit P2 un profit unitaire de

1000 DH. ENCG Dakhla, RO, S7 Pr. Elouali AAILAL 2023/2024

Modélisons ce problème en un PL :

1. Les variables de décisions sont :


x1 : le nombre d’unités du produit P1 à fabriquer
x2 : le nombre d’unités du produit P2 à fabriquer.
2. Les contraintes du problème sont :
Contraintes techniques :
11x1 + 9x2 ≤ 9900 pour la machine M1.
7x1 + 12x2 ≤ 8400 pour la machine M2.
6x1 + 16x2 ≤ 9600 pour la machine M3.
Contraintes de positivité :
x1 ≥ 0.
x2 ≥ 0.
3. La fonction objectif :
Dans ce problème on cherche à savoir combien doit-on fabriquer mensuellement de
produits P1 et P2 pour avoir un profit total maximum ? Donc la fonction objectif à
maximiser est le profit z = 900x1 + 1000x2.
Finalement, le programme linéaire résultant est :


M ax (z) = 900x1 + 1000x2
11x1 + 9x2 ≤ 9900
7x1 + 12x2 ≤ 8400


6x1 + 16x2 ≤ 9600
x1 ≥ 0
x2 ≥ 0

Proposition 1.1.
Tout programme linéaire peut être mis sous forme canonique.

Si un programme linéaire n’est pas sous sa forme canonique, alors on le transforme à cette
forme en suivant les règles suivantes :
1. Pour toute fonction z = z(x1, x2, x3...xn), on a : M in(z) = −M ax(−z).
i aijxi ≥ bj ⇔ (−aij )xi ≤ −bj
2. X=n i=1 i =n
X i=1

(aij )xi ≤ bj et (−aij )xi ≤ −bj


i =n i =n
i aijxi = bj ⇔ (
X i=1 X i=1 )
3. X=n i=1

4. (xi ≤ 0 ⇔ −xi ≥ 0) ⇒ changement de variable dans le PL : x0i = −xi.


5. Si une variable xi est une variable libre ( n’a pas de condition de signe), on pose : xi = x0i −
x00i, avec x0i ≥ 0 et x00i ≥ 0.

Exemple 1.2.
Soit le programme linéaire suivant :
 + 3x2 ≥ 8


x1 − x2 = 2

x2 ≥ 0
M in (z) =
x1 + 2x2 x1
ENCG Dakhla, RO, S7 Pr. Elouali AAILAL 2023/2024
4

Ce programme linéaire n’est pas en forme canonique, transformons le sous cette


forme : Nous avons M in(z) = −M ax(−z), donc M in (z) = x1 + 2x2 devient M ax(−(x1 +
2x2)) (Il faut multiplier par la suite cette valeur par -1).
L’inéquation x1 + 3x2 ≥ 8 devient −x1 − 3x2 ≤ −8.
 x1 − x2 ≤ 2

L’équation x1 − x2 = 2 est −x1 + x2 ≤ −2.
équivalente à : 
La variable x1 est une variable libre, donc elle s’écrit sous la forme x1 = x01 − x001, avec x01 ≥ 0 et x001
≥ 0.
Donc, on obtient x01 − x001 − x2 ≤ 2
  −x01 + x001 + x2 ≤ −2
:   x01 ≥ 0, x001 ≥ 0, x2 ≥ 0.
M ax (z) = (−x01 + x001 − 2x2)
−x01 + x001 − 3x2 ≤ −8
Finalement, après changement de variables x01 = x1 et x001 = x2 et x2 = x3, voici la forme canonique du
programme linéaire précédent
  M ax (z) = −x1 + x2 − 2x3 −x1 + x2
:   − 3x3 ≤ −8 x1 − x2 − x3 ≤ 2
−x1 + x2 + x3 ≤ −2 x1 ≥ 0, x2 ≥ 0,
2 Méthode x3 ≥ 0.
graphique.

La méthode graphique (résolution graphique) est une alternative pour résoudre un programme
linéaire de deux variables de décision, grâce à la représentation graphique du programme linéaire,
ce qui nous permet de le visualiser et de le résoudre facilement. La méthode graphique devient
moins intéressante lorsque le nombre de variables de décision est supérieur à deux. Dans le PL
chaque inéqualité ou contrainte correspond a une droite d’équation a1x1 + a2x2 + b = 0 qui divise
géométriquement le plan en deux demi-plans, a1x1 + a2x2 + b ≥ 0 et a1x1 + a2x2 + b ≤ 0.
L’intersection de tous les demi plans représentatifs des contraintes forme la région des solutions
admissibles, cet ensemble est convexe (polygne convexe).

Proposition 2.1.
Si un programme linéaire admet une solution optimale bornée, alors cette solution optimale est
atteinte sur au moins un des sommets de la région des solutions admissibles.

Voici les étapes de la méthode graphique :


1. Tracer un repère cartésien orthonormé.
2. Représenter graphiquement chacune des droites représentatives des équations limites des
contraintes. 3. Déterminer la région des solutions admissibles.
4. Trouver la ou les solutions optimales en utilisant l’une de méthodes :
Pour maximiser (minimiser) la fonction objectif d’équation z(x1, x2) = c1x1 + c2x2 + d, sous les
contraintes a1jx1 + a2jx2 + bj ≤ 0 ou a1jx1 + a2jx2 + bj ≥ 0, on utilise l’une de deux méthodes : (a)
La méthode des droits parallèles : On translate vers le haut (Max) ou vers le bas (Min)
la droite parallèle à la fonction objectif et passant par l’origine, jusqu’au sommet (point
ou segment) le plus éloigné (Max) ou le plus proche (Min) de la région des solutions
admissibles. Cette intersection, si elle existe, est la solution optimale pour PL, donc la
solution est parmi les sommets de l’ensemble des solutions admissibles (Si une telle
intersection n’existe pas, cela veut dire que la solution est infinie). Notez que toutes les
droites parallèles à la fonction objectif ont le même pent (coefficient directeur) égal à −c1
c2, avec c2 6= 0.

ENCG Dakhla, RO, S7 Pr. Elouali AAILAL 2023/2024


5

(b) La méthode d’énumération des sommets : Nous évaluons la valeur de la


fonction objectif dans chaque sommet de la région des solutions admissibles, la
solution maximale (minimale) est où la fonction objectif est maximale (minimale) sur
les sommets de la région des solutions admissibles.
Cette méthode a des limites lorsque le nombre de sommets est relativement grand
ou lorsque la région des solutions admissibles n’est pas bornée.

Exemple 2.1.
Une coopérative d’élevage camelin située au désert de Dakhla. Chaque jour, cette
coopérative dispose de 40 heures de travail et 120 litres du lait, elle fabrique deux
produits, fromage et beurre. 1kg de fromage nécessite 1 heure de travail et 4 litres
du lait. 1kg de beurre nécessite 2 heures de travail et 3 litres du lait.
Le bénéfice est de 40 DH par kg du fromage et de 50 DH par kg de beurre.
La coopérative cherche à maximiser son profit.
Modélisons ce problème en un PL :
1. Les variables de décisions sont :
x1 : le nombre de kilogrammes de fromage à produire à partir du lait camelin. x2 : le
nombre de kilogrammes de beurre à produire à partir du lait camelin. 2. Les
contraintes du problème sont :
x1 + 2x2 ≤ 40, contrainte de temps ou de travail(de main-d’oeuvre).
4x1 + 3x2 ≤ 120, contrainte de disponibilité de matière première (du lait).
x1 ≥ 0 et x2 ≥ 0, contraintes de positivité.
3. La fonction objectif :
Dans ce problème on cherche à savoir combien doit-on produire quotidiennement de
fromage et du beurre à partir de 120 litres du lait camelin, pour avoir un profit total
maximum ? Donc la fonction objectif à maximiser est le profit z = 40x1 + 50x2.
Finalement, le programme linéaire résultant est :
 x1 + 2x2 ≤ 40
 4x1 + 3x2 ≤
 120

M ax (z) = x1 ≥ 0
40x1 + 50x2 x2 ≥ 0.
Appliquons la méthode graphique pour résoudre ce programme linéaire (pour trouver les solutions
optimales (x1, x2)).

1.) Tracer un repère cartésien orthonormé.


Tout d’abord, sur le plan, on trace un repère orthonormé dans lequel l’axe des x1 représente le
nombre de kg de fromage, tandis que l’axe des x2 représente le nombre de kg de beurre.

ENCG Dakhla, RO, S7 Pr. Elouali AAILAL 2023/2024


6

2.) Représenter graphiquement chacune des droites représentatives des équations


limites des contraintes. La droite x1 + 2x2 = 40 (droite de contrainte de travail ou de
main-d’oeuvre)divise le plan en deux demi-plans, le premier est l’ensemble des
points (x1, x2) où x1 + 2x2 ≤ 40 et le second est l’ensemble des points (x1, x2) où x1 +
2x2 ≥ 40.
Pour connaître la zone du plan où x1 + 2x2 ≤ 40 (toute la zone au dessous de la droite
x1 + 2x2 = 40), nous pourrions, par exemple, tester le signe de l’expression x1 + 2x2 −
40 = −40 < 0 sur le point (0, 0), cette expression conserve alors le même signe (ici
négatif) que le point (0, 0) sur tous les points du même demi-plan que ce point, sur
l’autre demi-plan cette expression prend le signe opposé.
Donc x1 + 2x2 ≤ 40 sur tous les points du même côté que le point (0, 0), par rapport à
la droite x1 + 2x2 = 40. Sur l’aute demi-plan qui ne contient pas le point (0, 0), on x1 +
2x2 ≥ 40 (toute la zone au dessus de la droite x1 + 2x2 = 40).
De même que ci-dessus, nous dessinons la zone du plan où 4x1 + 3x2 ≤ 120.
3.) Déterminer la région des solutions admissibles.
Notez que, en raison de l’hypothèse de positivité (contrainte de positivité), la
représentation graphique
des programmes linéaires sera sur le premier sont vérifiées en même temps.

quart du plan où x1 ≥ 0 et x2 ≥ 0. 
x1 + 2x2 ≤ 40 4x1 + 3x2 ≤ 120 x1 ≥ 0
La région des solutions admissibles est
l’ensemble des points où toutes les contraintes : x2 ≥ 0,


Donc, la région des solutions admissibles est l’intersection de tous les demi-plans représentant les
contraintes, cette intersection est soit vide, soit un ensemble convexe dont la frontière (le bord) est
un polygone (encerclé par un polygone).

ENCG Dakhla, RO, S7 Pr. Elouali AAILAL 2023/2024


7
4.) Trouver la ou les solutions optimales, en utilisant la méthode des droits
parallèles.
Puisque on cherche à maximiser la fonction objectif M ax (z) = 40x1 + 50x2, donc, il faut tracer les
lignes de niveau de cette fonction 40x1 + 50x2 = d = constante , pour chaque constante d, nous
obtenons une droite différente, mais toutes ces droites sont parallèles. Par exemple, prenons d =
0, la droite 40x1 + 50x2 = 0, qui passe par le point (0, 0) et parallèle à la fonction obectif. Pour
trouver le maximum de la fonction objectif, en tenant compte de toutes les contraintes, nous
devons tracer la droite la plus éloignée du point (0, 0), en restant à la fois parallèle à la fonction
obectif et en intersection avec la région de solutions admissibles. Cette intersection, si elle existe,
est la solution optimale. Graphiquement (visuellement), nous trouvons que la solution optimale est
sur le sommet B. Pour déterminer les coordonnées de ce sommet, nous remarquons que ce point
est l’intersection de deux droites


x1 + 2x2 = 40
4x1 + 3x2 = 120, donc, on trouve que x1 = 24 kg et x2 = 8 kg.

Donc, pour que cette coopérative réalise un profit maximum sur ses ventes quotidiennes de
fromage et de beurre, elle doit produire exactement x1 = 24 kg de fromage et x2 = 8 kg de beurre.
le profit maximum quotidien est de 40x1 + 50x2 = 40 × 24 + 50 × 8 = 1360 DH.
Exemple 2.2.
On considère le PL suivant 81
 4x1 + 5x2 ≤ 55
:  2x1 + x2 ≤ 20

 x1 ≥ 0
M ax (z) = 6x1 + 4x2 3x1 + 9x2 ≤ x2 ≥ 0.
Après avoir appliqué les trois premières étapes de la méthode graphique, voici ci-dessous la
représenta tion graphique du PL :

ENCG Dakhla, RO, S7 Pr. Elouali AAILAL 2023/2024


8

Pour la quatrième étape, celle de déterminer les solutions optimales de ce PL, cette fois çi, on va
utiliser la méthode d’énumération des sommets.
Nous voyons graphiquement qu’il y a 4 sommets A, B, C et D (le sommet (0,0) non inclus) dans le
polygone de la région de solutions admissibles. Nous allons évaluer la fonction objectif dans
chacun de ces sommets, la solution maximale sera le sommet où la fonction objectif prend son
maximum. Nous déterminerons les coordonnées des sommets A, B, C et D, en partant du fait que
chaque sommet
est l’intersection d’au moins deux des droites de contraintes 
contraintes. x = 0 et x = 9 et z(x , x ) = z(0, 9) = 36.
1 2 1 2


Le sommet A est l’intersection de droites de deux
Le sommet D est l’intersection de droites de
deux contraintes 
x1 = 10 et x2 = 0 et z(x1, x2) = z(10, 0) = 60.


3x + 9x2 = 81
Le sommet B est l’intersection de droites de deux 1
contraintes  x1 = 0, donc, on trouve que
x1 =307et x2 =537et z(x1, x2) = z(307,537) = 56.
3x1 + 9x2 = 81
4x1 + 5x2 = 55, donc, on trouve que

4x1 + 5x2 = 55
2x1 + x2 = 20, donc, on trouve que


 2x1 + x2 = 20
Le sommet C est l’intersection de droites de
x2 = 0, donc, on trouve que
deux contraintes 
x1 =152et x2 = 5 et z(x1, x2) = z(152, 5) = 65.


Sommet A B C D

z(x1, x2) 36 56 65 60

Finalement, la solution maximale de ce PL se trove au sommet C et égale à 65 (la fonction objectif


z prend son maximum au sommet C).

ENCG Dakhla, RO, S7 Pr. Elouali AAILAL 2023/2024

Vous aimerez peut-être aussi