Vous êtes sur la page 1sur 36

CHAPITRE II

programme linéaire :
méthodologie
Méthodologie de la RO
(programmation mathématique)

Identifier le problème et
Valider le modèle
collecter les données

Préparer un cahier de charge pour le


Formuler le modèle
développement d’un système d’aide à la
mathématique
décision

Implémentation du système
Résoudre le modèle
d’aide à la décision

2
Identification du problème et
collecte des données
 Les problèmes réels sont flous, non clairs
 L’équipe de RO est appelée à bien identifier le problème :
 L’objectif, les contraintes, le temps limité pour la prise

de décision, etc.
 La définition du problème est une étape cruciale
puisqu’elle affecte les décisions à prendre : on ne peut
pas avoir des « bonnes » réponses suite à un problème
« mal défini »

3
Identification du problème et
collecte des données
 L’équipe de RO est une équipe consultative :
 L’équipe présente une analyse du problème et des
recommandations aux décideurs
 Le délivrable donné aux managers contient
plusieurs alternatives correspondantes aux
différents scénarios ou différentes valeurs des
paramètres :
 ainsi l’équipe est appelée à présenter les différents
scénarios possibles

4
Identification du problème et
collecte des données

 Objectif : il faut bien choisir l’objectif approprié


 Données : la collecte des données est une phase à
ne pas négliger
 Elle prend beaucoup de temps (pas de données
disponibles ou les données disponibles ne sont pas
fiables).

5
Étape 2 : formulation
mathématique du problème
 Après avoir bien défini le problème, il faut le
formuler sous une forme facilitant l’étape de
l’analyse.
 Ainsi, l’équipe de RO est appelée à le formuler en
modèle mathématique.
 Avant d’expliquer comment formuler un
problème de décision, on présente les différents
modèles et particulièrement les modèles
mathématiques.
6
Étape 2 : formulation
mathématique du problème
 Les modèles jouent un rôle important dans la science
 les équations mathématiques décrivant les lois physiques
Ex: F (force) = m (masse)  a (accélération)
 Etc.
 Similairement, les modèles mathématiques jouent un
rôle important dans un système d’aide à la décision :
 Il s’agit d’un système d’équations et des expressions
mathématiques reliant les différentes variables et les
différents paramètres permettant de décrire le
problème.

7
Étape 2 : formulation
mathématique du problème
 Soient n décisions liées et quantifiables à prendre ; elles sont présentées
par (x1, x2, . . . , xn) : nommées les variables de décisions dont les valeurs
sont à déterminer.
 La mesure de la performance appropriée (exemple profit) est exprimée
par une fonction mathématique en fonction de ces variables de
décisions (exemple, P= 3x1 + 2x2 + …+ 5xn) : cette fonction est appelée
fonction objectif (fonction économique).
 Des restrictions sur les valeurs des variables de décisions sont exprimés
mathématiquement, particulièrement par des inégalités (exemple,
x1+3x1x2+ 2x2≤10) : appelées des contraintes.
 Les constantes (coefficients et les valeurs du côté droite: RHS (Right
Hand Side) dans les contraintes et la fonction objectif sont appelés des
paramètres.
8
Étape 2 : formulation
mathématique du problème

Le modèle mathématique correspondant à un


problème de décision, consiste à déterminer les
variables de décisions qui maximisent une fonction
objectif tout en respectant des contraintes : ce sont
les modèles utilisées en Recherche Opérationnelle.

9
Étape 2 : formulation
mathématique du problème

 La détermination des paramètres n’est pas si


évidente !
 Ces paramètres seront estimés lors de la phase

de collecte des données


 Ainsi, c’est important d’étudier le comportement
du système si les paramètres varient : on parle
d’analyse de sensibilité.

10
Étape 2 : formulation
mathématique du problème
 Une des formulations mathématiques :
programmation linéaire
 Toutes les équations sont linéaires

 Avantages :
 Possibilité de l’obtention de la solution optimale.

 Possibilité d’étudier la relation cause / effet :

comment un changement de paramètre peut-il


influer sur la solution optimale ?

11
Programmation Linéaire : Exemple*

 Une entreprise fabrique deux types de jouets en bois : des


soldats et des trains
 Un soldat est vendu pour 27 D et utilise l’équivalent de 10 D de
matière première. Chaque soldat fabriqué coûte 14 D (main
d’œuvre et les frais généraux).
 Un train peut être vendu pour 21 D et utilise 9 D de matière
première. Chaque train coûte 10 D ( MO et les frais généraux).
 Chaque semaine l’entreprise peut obtenir toute la matière
première nécessaire, cependant, seulement 80 heures de
menuiserie et 100 heures de finition peuvent être disponibles.
La demande pour les trains est illimitée, mais au plus 40 soldats
sont vendus.
*Giapetto’s Woodcarving (Operations Research Applications and Algorithms) 12
Programmation Linéaire : Exemple

La fabrication de ces deux jouets nécessite deux types


d’opération spécialisées : menuiserie et finition

Prix de vente Matière première Coût Menuiserie Finition


Soldat 27 D 10 D 14 D 1h 2h

Train 21 D 9D 10 D 1h 1h

13
Programmation Linéaire : Exemple

 La compagnie désire maximiser son profit (revenus-


coûts) hebdomadaire
 On veut formuler un modèle mathématique de la
situation de la compagnie, qui peut être utilisé pour
maximiser le profit hebdomadaire
 En développant le modèle, on va explorer les
caractéristiques communes à tous les programmes
linéaires (PL)

14
Forme du Programme Linéaire
 (PL) est un problème mathématique de la forme :
 Max ct x
 s.c Ax≤b
 x≥0
 ″Max″ signifie maximiser, c ∊ ℜn, b ∊ ℜm
 A est une matrice réelle (m, n).
 La fonction à maximiser (ct x) : fonction objectif ou fonction
économique.
 Les inégalités définies par le système linéaire (A x ≤ b) : les
contraintes du problèmes.
 Les n composantes du vecteur x : les variables de décision.
 Une solution réalisable x* est optimale si la valeur de ct x* est la
meilleure des valeurs de ct x pour tous les vecteurs réalisables. 15
Variables de décisions
 Dans un PL, les variables de décisions doivent
complètement décrire les décisions à prendre
 La compagnie doit déterminer le nombre de
soldats et de trains à fabriquer par semaine
 On définit alors :
 X1 = nombre de soldats fabriqués par semaine,
 X2 = ˶ trains ˶ ˶

16
Fonction objectif
Dans n’importe quel programme linéaire :
 Le responsable de décision veut :

 maximiser (en général, le revenue ou profit) ou

 minimiser (en général le coût)

 Une fonction des variables de décisions

 Cette fonction est appelée « fonction objectif »

« fonction économique»

17
Fonction objectif
 Profit hebdomadaire
= contribution des soldats au profit hebd. +
contribution des trains au profit hebd.
= (contr. Au profit/soldat) x1 + contr. au profit/train) x2

 Contribution au profit/soldat = 27-10-14 = 3 D


 Contribution au profit/train = 21-9-10 = 2 D

18
Fonction objectif
 Profit hebdomadaire
 Z(x)= 3x1 + 2x2
 où x = (x1, x2)
 L’objectif de la compagnie consiste à choisir
les quantités x1 et x2 qui maximisent la
fonction 3x1 + 2x2
 Max Z(x) = 3x1 + 2x2 (1)

19
Contraintes

Si la compagnie est libre de choisir n’importe


quelles valeurs pour x1 et x2, elle peut avoir un
très large profit en choisissant des grandes
valeurs de x1 et x2. Malheureusement, ces
valeurs sont limitées par certaines contraintes.

20
Contraintes
Chaque semaine, pas plus que 80 heures
de menuiserie peuvent être effectuées :
 Contraintes de ressources

 x1 + x2 ≤ 80 (2)

21
Contraintes
Chaque semaine, pas plus que 100
heures de finition peuvent être effectuées :

 2x1 + x2 ≤ 100 (3)

 2, 1: coefficients technologiques (LHS : Left-Hand Side)


 100: second membre (RHS : Right-Hand Side)

22
Contraintes
Contrainte dû à la limitation de la demande, au
plus 40 soldats doivent être produits par
semaine :

 Contraintes d’environnement

 x1 ≤ 40 (4)

23
Contraintes

Contraintes de signes
 Pour compléter la formulation d’un PL, on doit
répondre à la question suivante :
 Est-ce que les variables de décision peuvent
prendre seulement des valeurs non-négatives (≥ 0),
ou
 Est-ce qu’elles n’ont pas de restriction de signe ?
 Exemple: il est clair que x1 et x2 ≥ 0
24
Le Programme Linéaire
En combinant:
 La fonction objectif avec

 Les contraintes (2), (3) et (4) et les restrictions de signe

 On obtient le modèle d’optimisation ou le programme


linéaire suivant :
Max z  3 x1  2 x2
 s.c. x1  x2  80

 2 x1  x2  100
(PL) 
 x1  40
 x1  0 , x 2  0


“ S.c. ” veut dire que x1 et x2 doivent répondre à toutes les contraintes
25
Étape 3 : résolution du
problème
 Après avoir développé un modèle
mathématique décrivant le problème, l’équipe
de RO est appelée à développer une procédure
pour trouver des solutions de ce modèle.
 Il semble que c’est la phase la plus importante,
or ce n’est pas le cas !

26
Étape 3 : résolution du
problème
 Il s’agit d’une étape simple, dans laquelle on
applique des algorithmes standards (des
logiciels et des outils existants déjà (cplex,
lingo, lindo, Solveur D’Excel etc.)).

27
Étape 3 : résolution du
problème
 La recherche d’une solution optimale peut être
dans certains cas coûteuse en termes de temps
(donc argent)
 Il suffit de trouver une solution satisfaisante
 On recourt à des heuristiques ou des métaheuristiques
 Le travail le plus important ce sont les étapes
suivantes plus particulièrement la post-optimalité.

28
Étape 3 : résolution du
problème
 La post-optimalité : analyse faite après
avoir trouvé la solution optimale
 La solution optimale peut ne pas être la
meilleure solution dans la réalité puisque le
modèle ne reflète pas vraiment la réalité
 Donc, il faut se poser la question : quand un
paramètre change, quel serait son effet sur la
solution optimale ?

29
Étape 3 : résolution du
problème
 L’analyse post-optimalité comprend l’analyse
de sensibilité : il s’agit de déterminer quels
sont les paramètres critiques (paramètres
sensibles) ?
 Dans un modèle mathématique, un
paramètre est sensible, si une modification
de sa valeur est accompagnée par un
changement de la solution optimale.
30
Étape 3 : résolution du
problème
 L’identification des paramètres sensibles est importante : ceci
permet d’identifier les paramètres auxquels une attention
particulière est accordée afin d’éviter l’obtention des solutions
erronées.
 La valeur d’un paramètre est dans la plupart du temps estimée
(ex. profit/unité). Les paramètres sensibles seront identifiés
qu’après avoir développé le modèle mathématique et l’avoir
résolu.
 Ainsi, une fois identifié, on tente d’estimer plus efficacement ces
paramètres ou déterminer dans quel intervalle de valeur, il se
situe.
 On cherche donc les solutions correspondantes à toute
combinaison des paramètres sensibles. 31
Étape 4 : validation du modèle
 Développer un modèle mathématique est analogue au
développement d’un programme informatique.
 La première version d’un programme informatique contient
souvent des erreurs (bugs). Ainsi, ce programme doit subir
beaucoup de corrections et des modifications, des
améliorations afin qu’il fournisse à la fin des résultats
logiques
 C’est la même chose pour une première version d’un modèle
mathématique. Elle contient des erreurs. Certaines
modifications seront incorporées (ajout d’une équation
exprimant une relation entre variables de décisions oubliées,
paramètres mal estimés…) 32
Étape 4 : validation du modèle
 Ainsi, avant d’utiliser le modèle, on le teste afin de
corriger, améliorer jusqu’à ce qu’on obtienne des
résultats logiques.
 Le processus de test et d’amélioration du modèle afin
qu’on obtienne des résultats logiques : validation du
modèle.

33
Étape 5 : préparer l’application
 L’étape suivante consiste à préparer la
documentation : modèle, procédure pour
l’obtention de la solution, l’analyse post-
optimale, la procédure d’implémentation
 Ainsi, si le personnel change, le système peut être
utilisé régulièrement
 La documentation prépare à l’implémentation
d’un outil informatique d’aide à la décision.

34
Étape 6 : implémentation
 Il s’agit de concevoir un outil informatique
d’aide à la décision
 Former le personnel à l’exploitation de cet
outil
 Suivre la performance de l’outil (en cas de
nécessité, intégrer des modifications).

35
Conclusion
 Nous avons présenté une démarche pour la
résolution d’un problème de décision en
utilisant un outil de la RO : la
programmation linéaire
 Ce cours s’intéresse particulièrement à
l’étape 3:
 Procédure pour la résolution du problème
 Analyse post-optimalité
36

Vous aimerez peut-être aussi