Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Option: SI
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.
2
Programmation Linéaire
• La première révolution industrielle avait remplacé la force musculaire de
commander elle-même.
mathématique".
3
Programmation Linéaire
4
Programmation Linéaire
La programmation linéaire est une technique mathématique permettant de
• Développée en 1947 dans ses travaux pour U.S Air Force lors de la
seconde guerre mondiale.
7
Définition
8
Méthodologie d’approche
1- Analyse du système dans
lequel le problème est posé
(Approche CATWOE)
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.
Σa j ≤ b/j∈J .
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
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
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
Contraintes :
Disponibilité de chacune des ressources :
3x1 + 9x2 ≤ 81
4x1 + 5x2 ≤ 55
2x1 + x2 ≤ 20
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
Exemple 04 : le fleuriste
24
Solution
Contraintes: sur les lys: 10x + 10y <= 50
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
Variables de décision:
xj (j=1,…, n): Nombre d’unités de l’aliment j à inclure dans
le régime alimentaire
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
x0
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
Axb
x0
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
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)
x0 (iii) r(A)= m
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:
Définition 10:
Un simplexe de Rn tout polytope convexe ayant (n+1) points
extrêmes.