Vous êtes sur la page 1sur 40

3 ème Année Informatique

Option: SI

Module : Programmation linéaire

Chapitre 2
Introduction à la Programmation Linéaire
(PL)

1
Définition de la Recherche Opérationnelle
Operations Research (OR) is a discipline that deals with
application of advanced analytical methods to help make better
decisions. (Wikipédia).
Advanced analytical methods include mathematical logic, graph
theory, Network Analysis, Petri Net, Queuing Theory, simulation
etc.

Concevoir et implémenter des approches pour résoudre des


problématiques liées à des domaines diverses (informatique,
médecine, économie, finance, militaire …etc.) jusqu’à
satisfaction du (des) décideur (s).

2
Programmation Linéaire
• La première révolution industrielle avait remplacé la force musculaire de

l'homme par celle des machines. La seconde étape la machine se

commander elle-même.

• Les ordinateurs se sont introduits dans les entreprises et les pouvoirs

publics pour traité des problèmes de grande envergure auxquels les

directions n'étaient pas préparées. La caractéristique essentielle de la

Recherche Opérationnelle est le recours à la méthode scientifique. Le

chercheur de la R.O. construit une représentation qu'il appelle un "modèle

mathématique".
3
Programmation Linéaire

Il peut manipuler les modèles et les étudier plus facilement que le

système réel. Les modèles sont parfois très difficiles à construire et

peuvent prendre la forme d'expressions mathématiques fort

compliquées. Lorsqu'ils mettent leur modèle en formule, les

chercheurs doivent énoncer formellement quelles sont les

variables, l'objectif, les paramètres.

4
Programmation Linéaire
La programmation linéaire est une technique mathématique permettant de

détermine la meilleure solution d’un problème dont les données et les

inconnues satisfont à un série d’équations et d’inéquations linéaires. La

programmation linéaire a été formulé par Dantzig en 1947 et connaît un

développement rapide par suite de son application directe à la gestion

scientifique des entreprises. Le facteur expliquant l’essor de la P.L est la

construction d’ordinateurs puissants qui ont permis de traiter les

problèmes concrets de taille très grande.


5
Domaine d’application
On l’applique surtout en gestion et en économie appliquée.

On peut citer les domaines d’application de la programmation


linéaire qui sont :

les transports, les banques, les industries lourdes et légères,


l’agriculture, le chaînes commerciales, la sidérurgie, et même le
domaine des applications militaire.

Les méthodes de résolution sont

la méthode du simplexe, méthode duale du simplex méthodes des


potentiels, méthode lexicographique et des méthodes récentes
appelée méthodes des points intérieurs.
6
Introduction à la Programmation Linéaire (PL)

• Développée en 1947 dans ses travaux pour U.S Air Force lors de la
seconde 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.)

7
Définition

Avant l’étude d’un problème d’optimisation linéaire 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.

8
Méthodologie d’approche
1- Analyse du système dans
lequel le problème est posé
(Approche CATWOE)

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

9
Approches de résolution (1)
• Méthodes exactes:
– Programmation linéaire (Simplexe et ses variantes)
– Programmation non linéaire avec ou sans contraintes (relaxation
de Lagrange, Khun Tecker..)
– Programmation en nombres entiers et bivalentes (Branch and
Bound)
– Arbre recouvrant (Algorithme Glouton: Kruskal)
– Cheminement (Algorithme Glouton:Djikstra, Bellman, Ford)
– Flôt (Ford et Fulkerson)
– Etc.

10
Approches de résolution (2)

• Méthodes approchées
– Heuristique (plus proche voisin, meilleur insertion etc.)
– Meta heuristique (algorithme génétique, recherche
taboo, recuit simulé etc.)

• Programmation dynamique
• Programmation mathématique

11
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.

12
Exemple 1: Le problème du sac à dos
• On dispose de n objets ayant chacun un poids aj et un coût Cj ( j = 1, …, n ).
Il faut effectuer une sélection, déterminer un sous ensemble de n objets,
dont le poids total soit inférieur ou égal à un nombre donné b, et dont la
valeur, somme des valeurs des objets sélectionnés, soit maximum.

• Déterminer J ⊂ { 1, 2, …, n } / ΣCj /j∈J soit maximum sous la contrainte

Σa j ≤ b/j∈J .

• On cherche à maximiser l’utilité totale de son chargement tout en limitant


son poids.

C’est un problème difficile ?

13
Exemple 2. Le problème du voyageur de commerce
• Un voyageur de commerce ayant n villes à visiter souhaite établir une
tournée qui lui permette de passer une fois et une seule fois dans chaque
ville pour revenir à son point de départ, ceci en minimisant le chemin
parcouru.
• Etant donné un réseau R = ( X, U, d ) dont les sommets représentent les
villes et d : U → R, qui à chaque arc associe sa longueur ( ou son coût de
parcours), trouver un circuit Hamiltonien ( circuit élémentaire passant par
tous les sommets ) dont la longueur, égale à la somme des longueurs des
arcs constituant le circuit soit minimum. Il peut se formuler par la donnée
d’une matrice D : n x n, D = (dij ) où
dij = dij distance de la ville i à la ville j s' il existe un moyen d' aller
directement de i à j
sinon +
Le problème consiste à trouver une permutation σ sans cycles de n objets
ou villes telle que
Σ= di σi soit minimum.
C’est un problème difficile.
14
Exemples
Contraintes linéaires:
5x1 - 2x2 + 4x3 = 8
x1 + 3x2 + 8x3 >= 25
9x1 + 6x2 - 3x3<= 17
Contraintes non linéaires:
5X12 + 2x2 + 4x3 = 8
x1x2 + 8x3 >= 25
Objectifs:
max: z = 3x1 - 2x2 + 8x3 (signifie maximiser z)
min: z = -3x1 + x3 (signifie minimiser z)

15
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
16
M4 1 4 2 /
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

17
Quelques exemples de modélisation (2)
Exemple d’un problème de production.
Une usine fabrique 2 produits P1 et P2 nécessitant des ressources
d’équipement, de main d’oeuvre et de matières premières disponibles en
quantité limitée.

P1 P2 disponibilite
équipement 3 9 81
main d’œuvre 4 5 55
matiere première 2 1 20

P1 et P2 rapportent à la vente 6 DA et 4 DA par unité.

Quelles quantités (non entières) de produits P1 et P2 doit produire l’usine


pour maximiser le bénéfice total venant de la vente des 2 produits ? 18
Variables : x1 et x2 sont les quantités des produits P1 et P2
fabriqués (x1, x2 ∈ R).

Fonction objectif `a maximiser : La fonction objectif F correspond au


bénéfice total : F (x1, x2) = 6x1 + 4x2. On cherche donc

max [F (x1, x2) = 6x1 + 4x2] .


(x1,x2)

Contraintes :
Disponibilité de chacune des ressources :
3x1 + 9x2 ≤ 81
4x1 + 5x2 ≤ 55
2x1 + x2 ≤ 20

Positivité des variables: x1, x2 ≥ 0.

19
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 ?

20
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

21
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
maximum? 22
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
x 1 , x2 , x 3  0
23
Quelques exemples de modélisation (5)

Exemple 04 : le fleuriste

Donnée. En stock: 50 lys, 80 roses, 70 jonquilles.

Composition des bouquets au catalogue:

10 lys, 10 roses, 20 jonquilles: 4 DA -----x bouquets

10 lys, 20 roses, 10 jonquilles: 5 DA ------y bouquets

Problème :Quels bouquets préparer si on est assuré de tout


vendre ?

24
Solution
Contraintes: sur les lys: 10x + 10y <= 50

sur les roses: 10x + 20y <= 80

sur les jonquilles: 20x + 10y <= 70

Fonction économique à maximiser: max(4x + 5y).

Lorsqu'on a les contraintes xi > 0 on peut toujours penser en


termes économiques: produits finis, matières premières,
bénéfice.

25
Quelques exemples de modélisation (6)
Exemple : Problème de régime alimentaire
Supposons que les régimes alimentaires acceptables pour
certains animaux sont décrits par les quantités journalières
minimales des divers éléments nécessaires à la nutrition
(calories, vitamines, éléments minéraux etc.).
Supposons que nous disposons de n aliments et m éléments
nutritifs. La disponibilité de chaque aliment j est bj (j=1, …, n)
unités de poids. Les besoins pour chaque élément nutritif i
(i=1,…, m) est ai (mg).
Soient aij la quantité d’éléments nutritifs i contenue dans une
unité de poids de l’aliment j et cj le coût unitaire de l’aliment j.
Quelle est la composition minimale à inclure dans le régime
alimentaire ?
26
Modélisation de l’Exemple 6
Objectif: Minimiser le coût total du régime alimentaire

Contraintes: Besoins totaux du régime alimentaire en éléments nutritifs

Disponibilité de chaque aliment

Variables de décision:
xj (j=1,…, n): Nombre d’unités de l’aliment j à inclure dans
le régime alimentaire

Le modèle mathématique est:


n
MinZ   c j x j
j 1
n
 aij x j  ai i  1,..., m
j 1
0  xj  bj j 1,..., n 27
Exercice: (Généralisation de ce problème)

• Une entreprise dispose de m ressources r1, r2, …, rm


disponibles en b1, b2, …bm. Ces ressources sont combinées
pour produire n sorte de biens B1, …, Bn. Soit aij (i=1, …, m; j=1,
…, n) le nombre d’unités de la ressource i nécessaire pour
fabriquer une unité du bien j. Chaque unité du bien j procure
un bénéfice j.
• Modéliser mathématiquement ce problème.

28
Définition d’un Programme Linéaire (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
29
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
30
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
xj  0 j  1,..., n
Ou encore: Max Z = c x
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 «  »
31
Proposition (1/2)
Tout programme linéaire PL peut se mettre sous la forme
standard ou canonique.
En effet, il suffit de faire les transformations suivantes:
T1) Min Z= - Max (-Z)
T2) Lorsque une contrainte est sous forme d’une inégalité. Deux
cas se présentent:
ai1 x1 + …..+ ain xn  bi . On introduit une variable d’écart ei et on
obtient: ai1 x1 + …..+ ain xn + ei = bi
ai1 x1 + …..+ ain xn  bi . On introduit une variable d’écart ei et on
obtient: ai1 x1 + …..+ ain xn - ei = bi

32
Proposition (2/2)
T3) Lorsqu’une contrainte est sous forme d’une égalité:
ai1 x1 + …..+ ain xn = bi
On la transforme en deux inégalités
ai1 x1 + …..+ ain xn  bi
et
ai1 x1 + …..+ ain xn  bi  -ai1 x1 + …..- ain xn  -bi

T4) Si un bi est négatif


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

T5) Si une variable xj est quelconque


On pose xj= x1j – x2j avec x1j  0 et x2j  0
33
Exemple
Soit le PL suivant
Min Z = 2 x1 + x2 – x3 + x4
3 x1 – x2 5
x1 + 3 x4  8
2 x1 – x3 1
Ecrire la forme standard de la forme canonique de ce PL

Forme standard:
Min Z  Max (-Z) . On introduit les variables d’écart e1, e2
et e3 aux trois contraintes respectives et on obtient
Max Z’ = - 2 x1 - x2 + x3 - x4
3 x1 – x2 - e1 = 5
x1 + 3 x4 + e2 = 8
2 x1 – x3 -e3 = 1

34
Concepts et définitions (1)
Définition 5: 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 du PL est un vecteur (x1, …, xn )Rn (ii). Si de plus,


elle vérifie (iii) elle est dite solution réalisable.
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.
35
Concepts et définitions (2)
Notons par:
I: l’ensemble des indices des variables de base
J: l’ensemble des indices des variables hors base
AB = (aj) j I, AHB=(aj) j J, cB=(cj) j I et cHB=(cj) j J
Alors (S) peut être réécrit sous la forme suivante:
Max Z = cB xB + cHB x HB
AB xB + AHB xHB = b
xB , xHB  0
Or xHB = 0 et r(AB ) = m on aura AB xB = b  x’B= A-1B b
La solution (A-1B b , 0) est appelée solution de base de (S). Elle
est dite solution de base réalisable si x’B  0. Une solution de
base réalisable est dite optimale si elle maximise Z.

36
Concepts et définitions (3)
Définition 6: Un ensemble C de Rn est dit convexe s’il vérifie:
 x1, x2 C, 0    1 alors  x1 + (1- ) x2  C
Exemples:
Ensembles convexes:

Ensembles non convexes

Proposition: L’ensemble des solutions réalisables de S est un


ensemble convexe.
37
Concepts et définitions (4)
Définition 7: On appelle combinaison convexe des points
(solutions) x1, …, xn de Rn toute combinaison linéaire de ces
points, ie,

1 x1 + 2 x2 +…+ n xn avec 1+…+ n =1


Définition 8: Un point x d’un ensemble convexe C est dit point
extrême si x ne peut pas s’exprimer comme combinaison linéaire
convexe des autres points de C.
Définition 9: Un hyperplan de Rn est l’ensemble suivant:

H = {x Rn: 1 x1 + 2 x2 +…+ n xn = }


Un hyperplan est de dimension (n-1), dim (H)= (n-1)

L’ensemble H+= {x Rn: 1 x1 + 2 x2 +…+ n xn } est appelé


demi-espace fermé. 38
Concepts et définitions (5)
Définition 9:
L’intersection d’un nombre fini de demi-espace est appelé
polyèdre. S’il est non vide et borné, il est appelé polytope.

Définition 10:
Un simplexe de Rn tout polytope convexe ayant (n+1) points
extrêmes.

Théorème: L’ensemble des solutions réalisables du problème S


est un polyèdre convexe fermé.

Théorème: L’ensemble des points extrêmes du polyèdre convexe


S est l’ensemble des solutions de base réalisables.
39
Concepts et définitions
Théorème:
La fonction objectif du problème S atteint son maximum en un
point extrême (une solution de base réalisable).
Si la fonction objectif atteint son maximum en plusieurs points
extrêmes elle possèdera cette valeur maximale en tout point
combinaison linéaire de ces points extrêmes.
Exercice: Soit le programme linéaire mis sous sa forme standard:
Max Z= 6 x1 + 5 x2
x1 + x 2 + x 3 = 8
-2 x1 + 3 x2 + x4 = 6
x1 – x2 +x5 = 2
x 1 , x2 , x 3 , x 4 , x 5  0
Déterminer toutes les solutions de base réalisable.. Quelle est la
40
solution optimale?

Vous aimerez peut-être aussi