Vous êtes sur la page 1sur 26

Université de Bordj Bou Arreridj

Faculté des Mathématiques et de l’informatique

Département d’Informatique

3 ème Année Informatique


Option: SI
Module :
Programmation linéaire

2021

1
Background à la Programmation Linéaire
(PL)
• Développée en 1947 dans les travaux pour U.S Air Force lors de la
guerre mondiale.

• Développement rapide de PL grâce au développement de


l’informatique (hard et soft).

• Plusieurs applications en pratique (les finances, les transports, la


distribution, la sidérurgie… etc.)

2
Définition

- L'adjectif "linéaire" indique que toutes les fonctions mathématiques

de ce modèle sont linéaires tandis que le terme "programmation"

signifie essentiellement planification.

3
Définition
- Un outil qui permet de :

• modéliser

• résoudre

- Toute les classe de problèmes d’optimisation.

- Avant l’étude d’un problème d’optimisation, il est nécessaire de comprendre le

problème étudier ensuite le transformé en un modèle mathématique bien représenté

avec tous les variable de problème. Après cela trouver une solution pour ce modèle.

4
Définition
Méthodologie d’approche PL
1- Analyse du système dans
lequel le problème est

2- Identifier les facteurs


(Contrôlables et non contrôlables) et les
objectifs

3- Construire le modèle (Graphe, Réseaux


de Pétri, Mathématiques, Simulation etc.)

4) Elaborer une approche de résolution


(exacte ou approchée)

5- Concevoir et implémenter les algorithmes


de l’approche de résolution
5
Introduction par l’exemple
Exemple 1

Une unité de production laitière produit deux types de yaourt à la fraise A et B à


partir de fraise, de lait et de sucre. Pour fabriquer ce produit, ils ont besoin de lait, de
fraises et de sucre. Chaque yaourt se compose de:
Yogourt A Yogourt B
fraise 2 1
lait 1 2
sucre 0 1

la quantité maximal de chaque composition est 800 kg de fraise, 700 Kg de Lait et


300 Kg de sucre.
La vente par type de yaourt - Yaourt A : 4 DA/kilo - Yaourt B : 5 DA/kilos
Le fabricant cherche la quantité maximal de compositions pour obtenir un
bénéfice maximal?????
6
Introduction par l’exemple
Exemple 1

✔ Variables de décision ? (Ce que l’on doit décider)

Nombres de yaourts de type A et de type B : xA, xB (Variables)

✔ Objectif ? (Ce que l’on doit optimiser)

max : Z = 4xA + 5xB

✔ Contraintes ? (Quelles sont les contraintes du probleme)

- Quantité maximale de fraises : 2xA + xB ≤ 800

- Quantité maximale de lait : xA + 2xB ≤ 700

- Quantité maximale de sucre : xB ≤ 300

7
Programme linéaire
-La programmation linéaire permet la résolution d'un programme linéaire.

Un programme linéaire est un système d'équations ou d'inéquations


appelées "contraintes" qui sont linéaires (c'est-à-dire que les variables ne
sont pas élevées au carré, ne servent pas d'exposant, ne sont pas
multipliées entre elles...). Et à partir de ces contraintes, on doit optimiser
une fonction également linéaire appelée objectif.

8
Formulation Mathematique d’un (PL)
Définition 1: Un programme linéaire est un problème qui consiste à optimiser (maximiser ou
minimiser) une fonction objectif linéaire à plusieurs variables soumise à un ensemble de
contraintes linéaires. En général , ce PL s’exprime comme suit:
Opt Z= c1 x1+ c2 x2 + ….+ cnxn

a11 x1 + …..+ a1n xn R1 b1


a21 x1 + …..+ a2n xn R2 b2
.
.
.
am1 x1 + …..+ amn xn Rm bm
R1 ,…, Rm sont des égalités ou inégalités
c1, …, cm et b1, …, bm sont des réels
 

9
Quelques exemples de modélisation (1)
Exemple 1

Une unité de production fabrique de brique 20, 10, 15 cm

Pour les fabrique il faut de sable, gravier, ciment et eau, disponible en


quantité 500, 300, 200 unité et eau illimité.

Quelle est la quantité maximal de produit P1, P2, P3 pour avoir un bénéfice
maximal ? avec prix 10, 5, 8 DA.

P1 P2 P3 Qt
M1 2 2 3 500

M2 1 3 2 300
M3 5 1 1 200
M4 1 4 2 /
10
Solution
x1,x2,x3 Quantité de produit P1,P2,P3

Le but pour la direction si d’avoir le maximent de revenu


Max: f(x1,x2,x3)= 10x1+5x2+8x3

Fonction objective ou but, bénéfice

2x1+2x2+3x3<=500
x1+3x2+2x3<=300
x1+x2+x3<=200
x1,x2,x3>=0

11
Quelques exemples de modélisation (2)
Exemple d’un problème de production.
Un artisan fabrique deux articles A et B nécessitant une opération d'usinage. Il possède un stock hebdomadaire de 100
kg de matières premières. Toutes les semaines, l'artisan peut disposer de la machine d'usinage pendant 21 h.
Par ailleurs, la fabrication :
- d'un article A demande 600 grammes de matières premières et 10 mn de fabrication.
- d'un article B demande 900 grammes de matières premières et 10 mn de fabrication.
Quelles quantités de A et de B, l'artisan doit-il fabriquer par semaine pour respecter les différentes contraintes de
production et maximiser sa marge, si la marge bénéficiaire qu'il peut dégager et de 3000 DA pour un article A et 4000
DA pour un article B ?

a-  Ecriture du programme linéaire


i) On présente les données de l'énoncé sous forme de tableau.
 
  article A article B disponibilité
 
maximum

usinage 10 mn 10 mn 21 h
matières premières 600 g 900 g 100 kg
marge 3 000 DA 4 000 DA  

12
Quelques exemples de modélisation (2)
ii) choix des inconnues
Appelons x la quantité d'articles A à fabriquer et y la quantité d'articles B à fabriquer par semaine. x et y
sont les niveaux d'activités et le couple (x, y) le programme de fabrication ou programme de production.
 
iii) Ecriture de la fonction économique
C'est la fonction dont on recherche le maximum  (ou le minimum). Ici, il s'agit de maximiser la marge
dégagée par de x articles de A et y articles de B. C'est donc la fonction
 F(x, y) = 3000 x + 4000 y.
 
iv) Ecriture des contraintes
. x et y désignent des quantités. On a donc x   0 et y   0.
. On ne peut pas utiliser la machine plus de 21 h. On a donc une contrainte économique d'usinage :
10 x + 10 y    1260
(10 x + 10 y représentant le temps d'usinage pour x articles de A et y articles de B)
. De même, on écrit une contrainte économique de matière première :
                        600 x + 900 y    100 000
 
v) Ecriture du programme linéaire :

13
Exemple 03
Une direction de menuiserie produit des tables et des chaises, pour fabriqué une table il
faut 5 Kg de bois et 1 heure, pour produire une chaise en besoin de 2 kg de bois et 40
min.
Pour une semaine la direction n’a que 40 heures de travail et 180 kg de bois, son profil pour
une table est 800 DA et pour une chaise 600 DA.
Quelle est le programme de production pour maximiser sans profils ?

14
Solution
X1: Nombre de table
X2: Nombre de chaise
Le profil est donc Max Z = 800 X1 + 600 X2
Contrainte du temps X1+2/3 X2 ≤ 40
Contrainte de matière bois 5X1+2X2 ≤ 180
X1,X2 ≥ 0

15
Quelques exemples de modélisation (4)
Exemple 3: Problème de répartition de ressources
Une usine fabrique trois types de pièces p1, p2 et p3 à l’aide de deux
machines M1 et M2 dans un ordre indifférent et pendant les temps
suivants (en minutes)
p1 p2 p3

M1 45 62 75

M2 25 43 22

On suppose que la machine M1 est disponible t1 =4 heures, la machine


M2 est t2 =3 heures. Le profit réalisé sur une pièce de p1 est 6 DA et
sur une pièce de p2 est de 8 DA et enfin sur une pièce de p3 est de 3
DA.
Combien doit on fabriquer de pièces en p1, p2 et p3 pour avoir un profit
16
maximum?
Modélisation de l’Exemple 4
Objectif: Maximiser le profit total
Contraintes (facteurs non contrôlables):
Disponibilités des machines M1 et M2
Non négativité des variables de décision
Facteurs contrôlables (variables de décision)
Soient xj le nombre d’unités à fabriquer de la pièce j (j=1, 2, 3)

Le modèle mathématique (PL) est:


Max Z= 6 x1 + 8 x2 + 3 x3
45 x1 + 62 x2 + 75 x3  60 t1
25 x1 + 432 x2 + 22 x3  60 t2
x1 , x2 , x3  0

17
Différentes formes d’un PL (1/2)
Définition 2: Forme standard
n
Max Z   c j x j
j 1
n
 aij x j  bi bi  0
j 1
xj  0 j  1,..., n
Ou encore:
Max Z = c x
A x= b
x0

18
Différentes formes d’un PL (2/2)
Définition 3: Forme canonique
n
Max Z   c j x j
j 1
n
 aij x j  bi bi  0
j 1
x j  0 Oujencore: Maxn
 1,..., Z=cx
Axb
x0
Définition 4: Forme mixte
Même fonction objectif que les deux précédentes formes sauf
que certaines contraintes sont des « = » d’autres sont des
inégalités «  »

19
Comment convertir entre les formes
Il y a plusieurs règles à mettre en place pour passer du forme
standard au forme canonique.
En effet, il suffit de faire les règles suivantes:
R1) Min f(c1 x1+ c2 x2 + ….+ cnxn)= - Max {-f(c1 x1+ c2 x2 + ….+ cnxn)}
R2) Lorsque une contrainte est sous forme d’une inégalité. Deux
cas se présentent:
a1 x1 + …..+ an xn  bi . On peut remplacée par les relations
a1 x1 + …..+ an xn + si = bi
a1 x1 + …..+ an xn  bi . On peut remplacée par les relations
a1 x1 + …..+ an xn - si = bi
On introduit une variable d’écart si
20
Proposition (2/2)
R3) Lorsqu’une contrainte est sous forme d’une égalité:
a1 x1 + …..+ an xn = bi
On la transforme en deux inégalités
a1 x1 + …..+ an xn  bi
et
a1 x1 + …..+ an xn  bi  -a1 x1 + …..- an xn  -bi

R4) Si un bi est négatif


a1 x1 + …..+ an xn = bi avec bi < 0
- ai1 x1 …..- an xn = - bi et - bi > 0

R5) Si une variable xj est quelconque


On pose xj= x’j – x’’j avec x’j  0 et x’’j  0

21
Exemple 1
Soit le PL sous sa forme suivant
Min Z = 2 x1 + x2 – x3 + x4
3 x1 – x 2 5
x1 + 3 x4  8
2 x1 – x3 1
X1 x2 x3 x4  0
Écrivez la formule standard de ce PL avec maximisation la fonction Z

22
Exemple 1

Forme standard:
Min Z  Max (-Z) . On introduit les variables d’écart s1, s2
et s3 aux trois contraintes respectives et on obtient
Max Z’ = - 2 x1 - x2 + x3 - x4
3 x1 – x 2 - s1 = 5
x1 + 3 x 4 + s2 = 8
2 x1 – x3 -s3 = 1
X1, x2, x3, x4, s1, s2, s3  0
23
Exemple 2
Soit le problème de programmation linéaire suivant :
Max Z = 6 x1 - 3 x2 + x3
4 x1 + 2 x 2 + x 3  65
x1 + x2 - x3  5
x1 + x2 = 10
x1  0 , x 2  0
Ecrire la forme canonique de ce PL

24
Exemple 2

Forme canonique:
Max Z  Min (-Z) . La forme canonique de notre problème
est finalement et on obtient
Min Z’ = - 6 y1 – 3y2 - y3 + y4
-4 y1 + 2 y2 - y3 + y4  -65
y 1 – y 2 - y3 + y4  5
y 1 – y2  10
-y1 + y2  -10 25
Concepts et définitions (1)
Espace de solution
Soit le PL mis sous sa forme standard (S):
Max Z = c x (i)
A x= b (ii) A= A(mxn)
x0 (iii) r(A)= m

Une solution est dite solution réalisable lorsque un vecteur (x1,


…, xn )Rn de (ii) vérifie (iii).
Une base du système représente tout ensemble de m vecteurs
linéairement indépendants.
Les m variables associées aux vecteurs de base sont appelées
variables de base, on les désigne par xB.
Les autres variables sont dites hors base, nous les notons xHB.
26

Vous aimerez peut-être aussi