Sunteți pe pagina 1din 21

Introduction à la recherche opérationnelle

Introduction :
Depuis toujours l’homme a eu conscience des avantages qu’il pouvait tirer de la prévision
d’une conjoncture (ensemble d’évènements/instances). Les moyens ont évolué, la complexité
des problèmes à résoudre est devenue telle qu’il n’est plus possible aujourd’hui de se fier au
seul bon sens et à l’intuition.

La solution est alors de substituer cette déduction qualitative par une analyse quantitative plus
rigoureuse permettant d’évaluer avec plus d’exactitude la décision à prendre.

La recherche opérationnelle propose une panoplie de méthodes et d’algorithmes qui


permettent de résoudre ces problèmes de prise de décision.

L’expression « recherche opérationnelle » date de seconde guerre mondiale. Elle a été


inventée au Royaume Uni et a signifié initialement : « optimisation des opérations
militaires ». Cette méthode s’est illustrée pendant la guerre sur de nombreux problèmes :
recoupement des données par les différentes stations de radar, gestion de l’équipage lors de
maintenance des avions et surtout optimisation de la stratégie d’attaque.

Faire de la recherche opérationnelle consiste en pratique à modéliser mathématiquement un


problème donné puis à résoudre le problème modélisé. La première étape demande du savoir-
faire et de l’expérience. Pour la seconde étape on dispose d’algorithmes rigoureux.

Classification des problèmes d’optimisation

a- Programmation linéaire :

La caractéristique principale des problèmes linéaires est que la fonction à maximiser (ou
minimiser) ainsi que les contraintes sont linéaires.

(linéaire : ; ).

b- Programmation non linéaire :

Contrairement à la programmation linéaire, le problème consiste cette fois à maximiser (ou


minimiser) une fonction sujet à des contraintes qui ont des expressions quelconques.
Aucun algorithme ne permet de résoudre ces problèmes dans le cas général. Néanmoins, des
solutions sont proposées dans de multitude cas spéciaux.
(L’optimisation sans contraintes, l’optimisation avec des contraintes linéaires, …)

Domaines d’application :

• Choix d’un fournisseur


• Utilisation optimale des ressources
• Définition de la production la plus rentable
• Définition d’un plan de recrutement
• …

Phases de résolution

a- Formulation générale du problème


Définir en termes clair :
- Quel est la nature exacte du problème ?
- Quel est l’objectif recherché ?
- Quels sont les conditions et contraintes d’opérations ?
- Quels sont les paramètres à tenir en compte et quelle est leur influence réelle ?
b- Mise en forme mathématique :
- Définir les variables de décision : l’ensemble des variables qui régissent la solution à
modéliser.
- Préciser la fonction objectif : la fonction mathématique composée des variables de
décision qui représente le problème physique modélisé. Cette fonction est la fonction à
optimiser.
- Préciser clairement les contraintes du problème : l’ensemble des paramètres limitant le
domaine réalisable. Ce sont des équations ou des inéquations composées de variable
de décision et qui modélisent les contraintes physiques qu’il faut respecter sans quoi le
problème n’est plus réalisable.
c- Résolution selon la technique appropriée.
d- Validation.
Optimisation Analytique
La méthode de Lagrange

Introduction

En production, très souvent on a à optimiser des fonctions (maximiser un profit ou minimiser


un coût). Ces fonctions dépendent généralement d’une ou de plusieurs variables.

Recherche d’extrema d’une fonction de plusieurs variables :

Soit Z la fonction à optimiser.

; 1, …

Dans le cas où (une seule variable)

z2 extrémum globale (max)

z1 extrémum local (max)

extrémum local (min)


extrémum globale (min)
x1 x2 x

au voisinage de

Cas d’une fonction libre : (pas de contraintes)

; 1, …

1- Il faut calculer les valeurs correspondant aux points stationnaires (extrema local ou
global)

0,


 
2- Il faut examiner la matrice Hessienne de la fonction Z.

… ; …

3- Calculer les mineurs principaux

Est obtenu en ne gardant dans que les k premières lignes et les k premières
colonnes.

exp : ∆ mineur principal d’ordre 1.

∆ mineur principal d’ordre 2.

4- Discussion
• Si les mineurs principaux de H sont strictement positifs pour le point stationnaire
alors le point est un minimum local de Z.
• Si on a ∆ 0; ∆ 0; ∆ 0 ; … une alternance stricte du signe de type 1 ∆
pour le point stationnaire , alors dans ce cas, le point est un maximum local de
Z.
• Si ∆ ou bien ∆ 0; ∆ 0; ∆ 0 ; … alors on ne peut rien dire sur le
point , s’il s’agit d’un maximum ou d’un minimum, local ou global de Z.
• Si aucune des contraintes précédentes n’est vérifiée, le point n’est pas un extrémum.

Exemple :

Soit , 2 2

Question : donnez les extrema de cette fonction.


 
1
0 6 2 0
3
0 2 2 0

0
0

12 2
;
2 2

∆ 12
∆ 24 4

∆ ∆
, 0,0 0 4 N’est pas un extrémum
, , 4 4 4 Minimum local de Z

Conclusion , est un minimum local de Z, comme cet extremum est unique, il est donc un

minimum global de Z.

Cas d’une fonction liée (avec contrainte)

Dans ce cas il y a des relations entre les variables et les contraintes.

; 1, …
; 1, …

Dans ce cas on utilise le multiplicateur de Lagrange.

Définir le Lagrangien :

Obj (condition nécessaire)

0; 1, … ,

0; 1, … ,


 
1- Calculer les points stationnaires
2- Etablir une matrice bordée

0
: J : matrice Jacobéenne des contraintes (matrice des dérivées premières)

3- Discussion
• Si les derniers mineurs principaux sont :
- Tous strictement positif quant m est pair
- Tous strictement négatif quant m est impair

pour alors est un minimum local de Z.

• Si les (n-m) derniers mineurs principaux alternent de signe.


- Le premier étant strictement positif quand m est impair
- Le premier étant strictement négatif quand m est pair

pour alors est un minimum local.

• Si les (n-m) derniers mineurs principaux sont tous 0 ou bien ∆ 0 ; ∆


0; ∆ 0 ; … pour alors est un extremum mais on ne peut pas savoir si c’est
un maximum ou un minimum.
• Si aucune des conditions précédentes n’est vérifiée, le point n’est pas un
extremum.

Exemple :

, , 3
On considère :
, , 125 1

Le Lagrangien 125

0 1
0 2
1-
0 3
125 0 4

1 2 0
 
2 3 0

4 1 2 3 125 √125 5  


 
1 2  
5

Nous avons 3 et 1, donc 2.

Nous aurons besoin de calculer Δ et Δ

25 25 25

0 1 1
1 0 1
1 1 0

0
0 1 1
1 0 1
1 1 0

0 25 25 25
Δ 25 0 1 1 1875
25 1 0 1
25 1 1 0

0 25 25
Δ 25 0 1 1250
25 1 0

5
Conclusion : Δ 0 et Δ 0 et m est impaire 5 est un minimum local, et comme
5
il est unique donc c’est un minimum global.


 
Programmation linéaire
Méthode graphique

Introduction :

La programmation linéaire est une méthode de recherche opérationnelle appliquée à la gestion

de production qui permet de résoudre les problèmes d’optimisation (maximisation des

bénéfices ou minimisation des coûts ou des délais) sous des contraintes technique de

production en utilisant les techniques de résolution de système d’équation ou d’inéquation.

La méthode développée dans ce chapitre est la méthode graphique.

Etapes de résolutions :

• Choix du système d’axes :

Une des conditions de la réussite de notre représentation graphique est le choix d'un système

d’axes. Un mauvais choix peut rendre notre représentation non claire et imprécise.

A cause des contraintes de non-négativité des variables de décision, nous nous intéressons

seulement au cadran positif

Cadran
positif


 
Un bon choix se base sur une lecture des différents paramètres du programme linéaire à

résoudre.

• Représentation graphique des contraintes

Parmi les solutions possibles d’un problème, il y a ceux qui vont satisfaire toutes les

contraintes du programme linéaire. Ces solutions sont appelés solutions réalisables. Il y a

aussi ceux qui vont satisfaire une partie ou aucune de ces contraintes. Ces solutions sont

appelés solutions non réalisables. Une représentation graphique des contraintes va nous

permettre de déterminer l’ensemble des solutions réalisables.

Comment représenter une contrainte ?

Prenant l’exemple de la contrainte suivante : 2x1 + x2 ≥ 12 .

L’ensemble des solutions qui vérifient cette inégalité est le même que celui qui vérifie

2x1 + x2 = 12 et 2x1 + x2 > 12 .

L’idée est de représenter la droite 2x1 + x2 = 12 . Cette droite va diviser le plan en deux

demi-plans ouverts. Quel est le demi-plan à choisir ?

Pour ce faire, il suffit de prendre un point de l’un des demi-plans (c’est à dire n’appartenant

pas à la droite x2 = −2x1 + 12 ) et voir s’il vérifie l’inégalité 2x1 + x2 > 12 .


 
x2

P2

P1
2

2 x1

Le demi-plan non hachuré (P2) représente l’ensemble des solutions réalisables.

• Représentation graphique de la fonction objectif

Soit par exemple la fonction objectif suivante : z = x1 + x 2  

Pour z = 2 , nous pouvons tracé la droite 1.

Pour z = 2,5 , nous pouvons tracé la droite 2.

Pour z = 4 , nous pouvons tracé la droite 3.


 
Nous pouvons tracer une infinité de droites qui représente les différentes valeurs de la

fonction objectif. Ces droites sont parallèles entres elles. Le problème est de connaitre qu’elle

droite correspond à la valeur optimale de la fonction objectif.

• Recherche de la solution optimale

Une méthode de résolution du programme linéaire consiste à déterminer les solutions

réalisables de base (les points d’intersection des droites qui forment les contraintes) et à

calculer pour chaque point la valeur de la fonction objectif. La solution du programme linéaire

est la solution à qui on associe la valeur optimale de la fonction objectif.

• Cas de solution graphique possible

- Solution unique :

Le point de base à qui on associe la valeur optimale de la fonction objectif est unique.

x2

B C

2
D
A
E x1
2


 
- Solution non bornée :

On peut augmenter la valeur de la fonction objectif dans la direction des flèches indéfiniment

donc la solution est non bornée

x2

x1
2

- Solution impossible :

L’espace des solutions réalisable est vide.


 
- Solution multiple :

L’ensemble des points décrits par un segment qui représente des solutions optimales du

problème linéaire.

x2

B C

2
D
A
E x1
2

Z optimale

- Solution dégénérée :

La solution est dite dégénérée si trois contraintes concourent dans la solution optimale.

x2

B C

2
A D
x1
2

C : solution optimale


 
Exemple :

Une société fabrique du fil à tricoter à partir d’un mélange de laine et du fibre acrylique.

Selon la demande, il faut fabriquer au moins 600 tonnes de fils par semaine. La production

d’une tonne du fil nécessite la consommation d’une tonne de matière première. Le traitement

d’une tonne de laine exige 2 journées d’ouvriers, celui d’une tonne de fibre acrylique

nécessite une journée d’ouvrier. La capacité de travail dans les ateliers ne peut pas dépasser

1000 journées d’ouvriers par semaine (maximum de personnel) et ne peut être inférieure à

800 journées d’ouvriers par semaine (minimum de personnel). La qualité du fil fabriqué

impose l’emploi d’au moins 50% de fibre acrylique. Le coût d’une tonne de laine est de 70DT

et le coût d’une tonne de fibre acrylique est de 50DT. Les coûts finis de fabrication s’élèvent à

90000DT/ semaine.

Déterminer le programme de fabrication à coût minimum

Résolution :

- Variables de contrôles

QL : poids (en tonne) de laine

QA : poids (en tonne) de fibre acrylique

- Fonction objectif

Minimiser les coûts

min
Z = 90000 + 70QL + 50QA

- Contraintes

Quantité (en tonne) de fil à tricoter minimale à fabriquer chaque semaine :

QL + QA ≥ 600


 
Limite sur la capacité maximale de travail par semaine

2QL + QA ≤ 1000

Limite sur la capacité minimale de travail par semaine

2QL + QA ≥ 800

Contrainte sur la qualité du fil a tricoté

QA ≥ 0.5(QL + QA)

Contraintes de positivité

QA ≥ 0 et QL ≥ 0

QA

E
C
D

100

50 QL


 
 

(QA ; QL) Z (QA ; QL)

A : (800 ; 0) 130000

B : (1000 ; 0) 140000

C : (333 ; 333) 129960

D : (300 ; 300) 126000

E : (400 ; 200) 124000 Solution optimale


 
Programmation linéaire
Méthode algébrique

Exemple :

Un industriel fabrique 2 produits P1 et P2. Le produit P1 rapporte 8DT et le produit P2 rapporte


6DT . Chacun des produits est divisé en 3 composants , , .

5 é
P1 est composé de 2 é
1 é

3 é
P2 est composé de 3 é
3 é

L’horizon économique est d’une semaine.

3000 é
Limitation hebdomadaire sur les composants au maximum 2400 é
1800 é

Le problème : quelle est la quantité de produit à fabriquer pour optimiser le bénéfice ?

Résolution :

é
Variable de contrôle :
é

Fonction objective : maximiser les bénéfices : 8 6

Contraintes :

- Limitations sur la quantité de :5 3 3000

- Limitations sur la quantité de :2 3 2400

- Limitations sur la quantité de : 3 1800

- Contraintes de positivités : 0 0


 
Résolution avec la méthode graphique :

x2

100
A D
100 x1
 

(x1 ; x2) Z (x1 ; x2)

A : (0 ; 0) 0

B : (0 ; 600) 3600

C : (300 ; 500) 5400 Solution Optimale

D : (600 ; 0) 4800

Résolution avec la méthode algébrique :

1er étape de résolution : ajout des variables d’écart :

5 3 3000
2 3 2400
3 1800

NB : les variables d’écart sont tous strictement positif.


 
Nous sommes en présence de 2 inconnues structurelles , et de 3 inconnus d’écart

, , .

Il faut partir d’une solution de base (quelconque, mais réalisable).

Choisir une solution de départ et vérifier si cette solution est réalisable.

3000 0
0
2400 0; 0
0
1800 0

Comme on veut maximiser Z ; on a intérêt à choisir de fabriquer le produit qui maximise le Z

plus rapidement : 0 (choix).

5 3000 3000 /5
2 2400 ; 2400 /2
1800 1800

1 600 0
Limitation 2 1200 0 (choix).
1 1800 0

Les solutions

600
1200 é 1 à
1800 é 1 à

Avec le choix 0 et 0 on a la solution 600

Question : serait-il intéressant de ne pas annuler les variables et ?

Pour vérifier ces choix, il faut exprimer la fonction objective en fonction de et .

8 6

3000 3
Contrainte (1)
600


 
3
8 600 6
5 5

4800 6 4800

On a intérêt à augmenter ; on n’a pas intérêt à augmenter

Donc le choix 0 est un bon choix.

( ce n’est plus un choix, c’est une donnée) !!

Contrainte 1 3 3000 5 0

Contrainte (2) 3 2400 2

3 2400 3000 3

3 1200

1200 ; 0 (choix)

666,66

Contrainte (3) 3 1800

3000 3
3 1800
5

3
3 1800 600
5

1200 ; 0 (choix)

500


 
La solution

2000
200, é 3
3
300, 500

Avec le choix 0 on a la solution 300 500

Question : est-ce que c’est intéressant d’annuler 0?

Il faut exprimer Z en fonction de .

8 6

3000 3 6
8 6 4800
5 5

Contrainte (3) 1200 1200

Donc 4800 1200

5400 .

On n’a pas intérêt à augmenter

Le choix 0 est un bon choix et la solution 300 500 est la solution

optimale.


 

S-ar putea să vă placă și