Académique Documents
Professionnel Documents
Culture Documents
8MAT702
Sujet spécial II en mathématique
Recherche opérationnelle
Table des matières
la recherche opérationnelle est une discipline qui apparaît pendant la seconde guerre
mondiale, son objectif était la gestion des ressources limitées dans le domaine militaire,
l’application de ces méthodes de recherche opérationnelle a fait son entrée dans les entreprises
et commence à être enseigné dans les universités et les grandes écoles à partir des années 50.
Depuis une dizaine d'années, le champ d'application de la RO s'est élargi à des domaines comme
l'économie, la finance, le marketing, et la planification d'entreprise.
Plus récemment, la recherche opérationnelle a été utilisé pour la gestion des systèmes de santé
et d'éducation, pour la résolution de problèmes environnementaux et d'autres domaines
d'intérêt public.
I- Recherche :
L’analyse des besoins, La collection des données.
La construction d’un modèle mathématique.
La résolution, la conception d’une méthode pour calculer la solution.
La validation, l’expérimentation pour tester l’adéquation de la solution au modèle, ajustements.
II– Opérationnelle :
Opération, C’est l’ensemble de méthodes à employer afin d’obtenir un résultat.
On peut dire que la recherche opérationnelle constitue un processus de prise de décisions
fondé sur des bases scientifiques, ainsi comment organiser les opérations (Production,
Transport, Construction, Communication, Planification financière, Santé, Militaire ... ) d’une
manière optimale. C’est la discipline des méthodes scientifiques utilisable pour élaborer de
meilleures décisions. Elle peut être définie comme l’ensemble des méthodes et techniques
rationnelles, orientées vers la recherche du meilleur choix dans la façon d’opérer, en vue
d’aboutir au résultat visé ou au meilleur résultat possible.
Modélisation mathématique
La modélisation mathématique est l’ensemble de démarche qui considère une situation réelle
et la transforme en un problème mathématique afin d’obtenir une solution de la situation de
départ, La programmation linéaire est une branche des mathématiques appliquées et plus
précisément de l'optimisation dont l'objectif est de minimiser ou maximiser une fonction
numérique à plusieurs variables sachant que ces dernières sont liées par des relations appelées
contraintes. Le principe de la programmation linéaire est fondé sur le fait que :
1) La fonction à optimiser appelée Fonction Objectif a une expression linéaire.
Exemple d’application :
Une entreprise fabrique deux produits A et B, en utilisant une machine m et deux matières
premières p et q.
L’objectif que poursuit l’entreprise est de maximiser le profit qu’elle pourra tirer, par jour, de
ces deux produits en utilisant au mieux ses ressources.
A B Dispo/jour
M 1h 2h 8h
P 2kg 2kg 10kg
Q 9kg 4kg 36kg
Profit unit. 50cad 60cad
Quelles sont les informations dont doit disposer le directeur de l’entreprise pour considérer que
son problème est résolu ?
• De même, la quantité X2 du produit B lui permet de faire un profit de (60* X2) CAD. Le
profit total à tirer des deux produits s’élève donc à (50* X1 + 60* X2).
Donc on note ce profit total par Z, et laisserons implicite l’unité monétaire :
Z = 50*X1 + 60*X2
• Z est une fonction qui, à chaque plan de production (une quantité de A, une quantité de
B), associe le nombre de CAD Dollar Canadien que l’entreprise retirerait comme profit si
elle adoptait ce plan. Cette fonction Z, qui traduit l’objectif de notre problème, s’appelle
fonction objectif. Maximiser Z où Z = 50*X1 + 60*X2
Temps d’utilisation de m ≤ 8
Or, ce temps utilisé est la somme des heures consacrées à chacun des types de produits, pour le
produit A, le temps nécessaire à la fabrication de la quantité de X1 calcule ainsi : 1 heure/ (unité
de A) × X1 (unité de A) = X1 heures On procède de la même manière pour le produit B ; 1 heure/
(unité de B) × X2 (unité de B) = 2×X2 heures.
2 X1 + 2 X2 ≤ 10 (p)
9 X1 + 4 X2 ≤ 36 (q)
Contrainte de positivité : Elle assure que la solution ne comporte pas des valeurs négatives
(inacceptables).
X1, X2 ≥ 0
Optimisation linéaire
Dans ce chapitre, on va aborder la problématique de la programmation linéaire, la méthode du simplexe
et la dualité. Afin de formuler un problème linéaire, on doit déterminer les variables de décision.il faut
identifier les paramètres et décrire la fonction objectif et enfin, il est important d’expliciter les
contraintes et les bornes sur les variables de décision, la fonction objectif est celle qu’on veut la
minimiser ou maximiser. Le simplex est un algorithme qui permet de résoudre un problème
d’optimisation linéaire, c’est une méthode itérative, à chaque passage d’un point extrême à l’autre
jusqu’à obtenir la solution optimale s’il y’a une, une solution de base réalisable est un point extrême qui
respecte toutes les contraintes et les bornes d’un problème.
Méthode du Simplex:
1. Première étape : forme standard
Si on augmente ⇗ Xw de 1 unité, la fonction Objectif augmente de 5.
Alors on choisit Xw :
I. Variable en base e1, e2, e3, e4, e5, e6.
Dualité:
La dualité est un concept en optimisation qui relie deux problèmes entre eux : le problème primal et le
problème dual. Le problème primal est le problème original, tandis que le problème dual est le problème
associé. Les deux problèmes ont la même fonction objectif, mais les contraintes sont inversées.
Dans un problème de minimisation, les contraintes du primal sont supérieures ou égales au membre de
droite, tandis que les contraintes du dual sont inférieures ou égales au membre de droite. Dans un
problème de maximisation, les contraintes du primal sont inférieures ou égales au membre de droite,
tandis que les contraintes du dual sont supérieures ou égales au membre de droite.
Les variables du primal et du dual sont également inversées. Dans un problème de minimisation, les
variables du primal sont positives, tandis que les variables du dual sont négatives. Dans un problème de
maximisation, les variables du primal sont négatives, tandis que les variables du dual sont positives.
La dualité peut être utilisée pour quantifier l'impact de la modification des contraintes sur la fonction
objectif. Par exemple, si nous modifions une contrainte du primal, cela aura un impact sur la solution du
problème dual. La solution du problème dual nous donnera une borne inférieure pour la solution du
problème primal.
La dualité peut également être utilisée pour résoudre des problèmes d'optimisation. Si nous pouvons
résoudre le problème dual, nous pouvons alors utiliser cette solution pour trouver une solution au
problème primal.
Chaque problème d’optimisation a un problème associé qui est nommé le dual.
Les contraintes et les variables sont inversées dans chaque problème, les coefficients de la fonction
objectif deviennent les membres de droite des contraintes dans le dual et que les membres de droites
des contraintes du primal deviennent les coefficients de la fonction objectif du dual. Les variables duales
y sont associées à chaque contrainte du problème primal. Avant d’aborder les règles de transformation,
L’étude de la dualité nécessite que le problème soit écrit sous forme canonique. Pour écrire le problème
dual associé à un problème primal, les règles suivantes s’appliquent. Si les contraintes du primal sont du
sens forme canonique, alors les variables duales auront des bornes supérieures ou égales à 0. Au
contraire, si les contraintes sont du sens inverse de la forme canonique, alors les variables duales sont
inférieures ou égales à 0. Finalement, si les contraintes du primal en sont d’égalité, alors les variables du
dual sont libres. Voici un exemple de dualité. Soit le problème primal suivant :
La relaxation linéaire est une méthode qui consiste à interpréter de façon continue un
programme linéaire en nombres entiers, lorsque l’espace des solutions admissibles passe des entiers aux
réels pour un problème linéaire et c’est le même programme linéaire dans lequel on a enlevé les
contraintes d’intégrité. La relaxation est basée sur le fait que l’ensemble des entiers est inclus dans
l’ensemble des réels.
À chaque étape, la méthode évalue la solution partielle obtenue et utilise une borne inférieure
pour éliminer les branches qui ne peuvent pas conduire à une meilleure solution que celle déjà trouvée.
Cela permet de réduire considérablement l'espace de recherche et d'obtenir une solution optimale plus
rapidement.
Elle consiste à explorer toutes les solutions possibles en divisant le problème initial en sous-
problèmes plus petits, appelés "branches". La méthode du "Branch and Bound" est une technique
utilisée en programmation linéaire pour résoudre des problèmes d'optimisation.
La solution Z0 est inacceptable car elle viole les contraintes d’inégalité des variables (Entiers naturels).
Conclusion :
On résout un problème de programmation linéaire en utilisant la bibliothèque Pulp, qui est un solveur de
problèmes d'optimisation linéaire et mixte entiers pour Python. Le problème lui-même consiste à
maximiser une fonction objective linéaire sous certaines contraintes.
Variables de décision :
W_series : Variable continue représentant la quantité de la série W.
Z_series : Variable continue représentant la quantité de la série Z.
Objectif :
Maximiser la fonction objectif suivante :
2. Application en Excel :
Objectif 21
W-series Z-series
5 4
Valeur 3 1,5
Constraints Disponibilite
Composantes A 24 6 4 ≤ 24 max 5Xw + 4Xz
Cpmposantes B 6 1 2 ≤ 6 6Xw + 4 Xz ≤ 24
Limite -1,5 -1 1 ≤ 1 1Xw + 2Xz ≤ 6
Xw + Xz ≤ 1
Bornees Min Max 0 ≤ Xz ≤ 2
W-series 0 Xw ≥ 0
Z-series 0 2
Formation en ligne:
Comment la recherche opérationnelle peut-elle éclairer nos décisions? Bien plus qu'une simple boîte à
outils pour les responsables de la planification quantitative, la recherche opérationnelle constitue une
véritable approche de pensée qui vise à améliorer chaque étape du processus, et non simplement à
accomplir des tâches de manière routinière.
L'essence de la recherche opérationnelle réside dans sa capacité à identifier les problèmes qui
nécessitent une résolution et à rechercher des perspectives novatrices, allant au-delà des simples
chiffres. Dans la réalité de notre quotidien, nous sommes souvent confrontés à des situations de
compromis. Par exemple, considérons le processus de production avec ses coûts de mise en course. À
chaque nouveau lot produit, il y a un coût de mise en route, mais si nous produisons en continu, cela
entraîne une accumulation de stocks qui engendre également des coûts. Trouver l'équilibre entre le coût
des stocks et le coût de mise en route devient alors crucial.
Un autre exemple concerne la proximité des entreprises avec leurs clients, ce qui permet d'accélérer les
livraisons et de réduire les coûts de transport. Cependant, ériger un centre de distribution en plein cœur
des villes peut s'avérer exorbitant. Comment trouver le juste milieu entre les coûts de transport et les
coûts de localisation des installations pour parvenir à une solution optimale ?
Prenons un cas concret d'une entreprise avec trois directeurs chargés des décisions relatives à la
production, à l'inventaire et à la distribution. Habituellement, ces responsables prennent leurs décisions
indépendamment les uns des autres ou bien le directeur le plus puissant impose ses décisions aux autres
départements. Malheureusement, cela peut conduire à des solutions non optimales. La recherche
opérationnelle propose une approche globale qui tient compte des interactions entre les différents
départements et décisions, permettant ainsi d'améliorer la performance et l'efficacité globales de
l'entreprise.
Conclusion :
La recherche opérationnelle sert de guide pour une prise de décision efficace grâce à ses
composants de base de modélisation mathématique, d'optimisation linéaire, d'optimisation
d'entiers et de leurs implémentations pratiques à l'aide d'Excel et de Python. Le fondement de
la recherche opérationnelle réside dans l'art de la modélisation mathématique, où des
problèmes complexes du monde réel sont distillés dans des cadres mathématiques structurés.
Optimisation linéaire : le fondement des techniques d'optimisation, l'optimisation linéaire,
s'articule autour de l'optimisation d'une fonction objectif linéaire soumise à des contraintes
linéaires. Des algorithmes comme la méthode du simplexe et les approches graphiques
dévoilent des solutions optimales dans des scénarios où des variables continues sont en jeu.
Cependant, cette approche se heurte à des limites lorsqu'il s'agit de décisions basées sur des
nombres entiers, jetant ainsi les bases de l'optimisation des nombres entiers.
L'optimisation des nombres entiers va encore plus loin en introduisant des variables de
décision discrètes, reflétant des scénarios du monde réel qui exigent des résultats en nombre
entier. Des techniques telles que les méthodes Branch and Bound permet l'exploration de
solutions discrètes, offrant une représentation plus précise des processus de prise de décision.