Vous êtes sur la page 1sur 159

MATHÉMATIQUES ET APPLICATIONS

DE RECHERCHE OPÉRATIONNELLE

Ronan CARDIN Agrégé Génie Mécanique


Arts et Métiers ParisTech
1
Objectifs du cours
Le cours a pour but d’introduire les principales notions de recherche
opérationnelle et leurs implémentations techniques dans le domaine de
l'optimisation appliquée à l’entreprise.

À la fin du cours (5 séances) vous serez capable de :


• formuler un modèle d'optimisation pour représenter un système ;
• identifier la technique appropriée pour résoudre un modèle d'optimisation ;
• utiliser des outils informatisés pour déterminer la solution optimale à un
problème donné ;
• interpréter les résultats.

Ce cours a été réalisé en collaboration avec Mr TAMAYO PhD Mines


ParisTech

2 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Organisation
Introduction :
5 Séances
Modélisation et optimisation
1
Programmation linéaire :
résolution graphique, algorithme du simplexe
2
Optimisation :
Etudes de cas et analyse post-optimale
3
Graphes :
Théorie des graphes, problèmes de réseaux
4
Programmation en nombres entiers et optimisation
combinatoire : introduction et études de cas
5

3 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Règles du jeu

4
Supports pédagogiques

Ouvrages de référence :
TAMAYO Simon, CARDIN Ronan, ECHEVERRI Sebastian, PINO Daniel
Recherche opérationnelle appliquée à la gestion industrielle, 1ère édition 2016,
Industrial Optimization Press

NOBERT Yves, OUELLET Roch et PARENT Régis, La recherche opérationnelle,


3e édition, 2001, Gaëtan Morin éditeur

Documents informatiques :
Copie des cours pdf
Polycopié d'études de cas pdf

5 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Contact

Rona
n
ronan CARDIN
.cardi
n@en
+33 (0
151 b
)14 4 24 6 s am .eu
o 2 44
Escali ulevard de
e r G , er l’
1 éta hôpital, Pa
ge, en ris
sortan , 75013
t 1 ème
porte
àg auc he

6 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
MATHÉMATIQUES ET APPLICATIONS
DE RECHERCHE OPÉRATIONNELLE

Séance1 : Introduction
Modélisation et optimisation
Arts et Métiers ParisTech

7
Introduction :
notions basiques
de modélisation
et d’optimisation

8
Historique
Opérations
Combinatoire et Mesure du
Blaise Pascal espérance Daniel Bernoullirisque et notion Patrick Blackett militaires et
organisation des
(1623-1662) mathématique (1700-1782) d’utilité (1897-1974) convois

Calcul
Gestion de Algorithme du
infinitésimal et
stock, solution simplexe
équations non
optimal (1947)
linéaires

Isaac Newton Ford Whitman Harris George Dantzig


(1642-1727) (Formule EOQ en 1913) (1914–2005)

9 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Définition de recherche opérationnelle (RO)

Ensemble des méthodes et des techniques quantitatives d'analyse et


de synthèse, orientées vers la recherche de la meilleure manière
d'effectuer des choix, ou bien de prendre les meilleures décisions, en
vue d'aboutir au meilleur résultat possible

• Branche des mathématiques appliquées


• Problèmes d'aide à la décision
Aide à
• Problèmes d'optimisation la décision

10 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
RO : une discipline carrefour
Mathématiques
Théorie des systèmes
Méthodes d'optimisation
Méthodes statistiques

Traitement du Élaboration
modèle du modèle

RO
Informatique Économie
Algorithmes Économie d'entreprise
Structures de données Analyse économique

11 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Problèmes typiques de la RO
Problème combinatoire : 1. Modélisation
Représentation /
Nombreuses solutions admissibles traduction de problèmes
réels en équations
Problème aléatoire : mathématiques
2. Simulation
Problème dont certaines données sont Reproduction du
fonctionnement d'un
incertaines système complexe par
un ordinateur
Problème concurrentiel :
Problème dont les termes dépendent de
l'interaction entre plusieurs décideurs

3. Optimisation
Identification de la
meilleure configuration
possible d'un système
Obtenir une solution optimale
ou proche de l'optimum

12 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple de problème combinatoire

30 sites d'implantation possibles :

Où implanter
judicieusement 5 centres
de distribution ?

• 17 100 720 solutions !


• Besoin de méthodes…

13 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple de problème aléatoire

Taux de service d'une plateforme

Stats sur l'arrivée des Stats sur le temps de


camions traitement d'un camion

Quel est le nombre de quais à ouvrir pour qu'il soit peu


probable qu'un camion attende plus de 20 minutes ?

14 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple de problème concurrentiel

Pour un même produit, nous... et un concurrent

Nous
Vs
Concurrent

Quelle politique de vente adopter ?

15 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Grandes étapes de résolution
Problème

Formulation
Objectifs, contraintes,
données disponibles ?
Modèle

Algorithme
Création ou adaptation
Logiciel ou programmation
Solution(s) Choix du type de
modèle et des
hypothèses
Validation simplificatrices ?
Vérification des
Mise en oeuvre
contraintes ?

16 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Modèle mathématique

Représentation mathématique d'un phénomène physique,


économique, humain, etc., réalisée afin de pouvoir mieux étudier
celui-ci.
• Il s’agit d’une démarche scientifique rationnelle basée sur des concepts
et des outils mathématiques
• Un modèle mathématique comporte toujours 3 éléments :

Variables Fonction
Contraintes
de décision objectif

17 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Définitions
Variables de décision :
c'est le décideur qui contrôle leurs valeurs
Paramètres :
valeur connue mais que le décideur ne contrôle pas (Ex. météo, coûts matières
premières, cadences de production, etc.)
Variables de conséquence :
mesurent l'impact des variables de décision sur le système (Ex. retards pour un
ordonnancement donné)
Mesure de performance :
mesure le degré d'atteinte des objectifs du décideur correspondant à une valeur
des variables de décision.

18 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Éléments à considérer dans un modèle

Niveau de détail des « données » : Stratégique / tactique / opérationnel


Fiabilité des données

Aspect aléatoire des données :


• Modèles déterministes (tout est connu avant de prendre les
décisions) : moins réalistes mais beaucoup plus faciles à résoudre
• Modèles stochastiques (certaines informations/événements ne
deviennent connus qu'après la prise des décisions) : plus réalistes
mais beaucoup plus complexes

19 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple télécommunications

Positionnement d'une antenne


• Connexion de 4 nouveaux clients
• Priorité aux meilleurs clients
• Antennes existantes : A1(-5,10) et A2(5,0)
• Interdiction de placer la nouvelle à moins de 10 km des antennes
existantes

Où placer la nouvelle antenne ?

20 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple télécommunications (suite)

Client Coord. Heures

C1 5 , 10 200

C2 10 , 5 150

C3 0 , 12 200

C4 12 , 0 300

21 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple télécommunications (suite)

Client Coord. Heures A1(-5,10)

C1 5 , 10 200

C2 10 , 5 150

C3 0 , 12 200

C4 12 , 0 300 (X1,X2)
A2(5,0)

22 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple James Bond

Mission : désamorcer une bombe nucléaire sur un yacht


• Yacht amarré à 50 mètres de la plage
• James Bond se trouve à 100 mètres du point le plus proche du yacht sur la
plage
• Bond court à 18 km/h (5m/s) et il nage à 10km/h (2.78m/s)
• Temps de désamorçage : 30 secondes
• Explosion dans 65 secondes

James Bond pourra-t-il sauver le monde libre?

23 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple James Bond (suite)

24 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple James Bond (suite)

50m

x 100-x

100m

1 1
Min Z(x) = x + 50 2 + (100 − x)2
5 2.78
avec x ≥ 0 , x ≤ 100

25 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Optimisation et convexité
Optimisation : Branche des mathématiques, cherchant à analyser et à résoudre
analytiquement ou numériquement les problèmes qui consistent à déterminer le
meilleur élément d'un ensemble, en fonction d'un critère quantitatif donné.
Fonctions du problème convexes ou non-convexes ?

Convexes : Si l'objectif et toutes les contraintes Non-convexes : S'il y a des fonctions non-
sont convexes, on peut déterminer s'il existe convexes, le problème est beaucoup plus
une solution réalisable, de trouver la solution difficile et on ne peut pas être certain de toutes
globalement optimale, et de résoudre des ces choses.
problèmes de grande taille.

Définition : Un ensemble E non vide est dit convexe si et seulement si pour tout élément x et y
de E et pour tout λ ∈ [0,1], λ x + (1- λ ) y ∈ E.

26 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Problèmes et outils : panorama
Problèmes d'optimisation

Fonctions convexes Fonctions non-convexes

Méthodes d'optimisation convexe Méthodes d'optimisation globale (GO)

Problèmes Contraintes Fonctions Programmation


Optimisation
linéaires et quadratiques et régulières en nombres
non-régulière
quadratiques coniques non-linéaires entiers

PL : Z = 75 X1 + 50 X2 + 35 X3 Z = 75 X1 + 50 X2 + 35 X3 Z = 2 X12 + X23 + log X3 Z = 75 X1 + 50 X2 + 35 X3 Z = F(x) s.c. x ∈X


PQ: Z = 2 X12 + 3 X22 + 4 X1 X2 s.c. AX = b ; X ∈ Cône convexe s.c. x ∈Rn AX = b ; Xi ∈ N X trop grand pour énumérer

Méthodes d'exploration linéaire Méthodes de décente Méthodes d'optimisation combinatoire


(PL : Simplexe & Co. ; méthodes de (algorithme du gradient GRD, (algorithmes évolutionnistes GA, méthodes de
points intérieurs SOCP) méthode de Newton, etc.) voisinage, branch and bound B&B, etc.)

27 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Dans la gestion industrielle

Production : Logistique
• Allocation de ressources • Localisation des dépôts
• Ordonnancement • Approvisionnement des clients
• Planification MT & LT • Choix des meilleurs itinéraires
• Dimensionnement • Problème de tournées
• Affectation Économie
Gestion des stocks • Politique de vente
• Choix des quantités de commande • Définition des investissements
• Choix des niveaux de SS

28 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Success Stories
1987 : Citgo, Programmation linéaire, Opérations d'une raffinerie (-70M€/an)
1989 : San Francisco, Programmation linéaire, Horaire de policiers (-11M€/an)
1995 : Digital, Modèle en nombres entiers, Restructuration de la chaîne
d'approvisionnement (-800M€/an)
1995 : Chine, Modèle en nombres entiers, Choix des projets d'investissement
d'énergie (-425 M€/an)
1997 : Procter & Gamble, Modèle de transport, Production et distribution en Amérique
du Nord (-200M€/an)
2003 : Hewlett-Packard, Modèle en nombres entiers, Restructuration de la chaîne
d'approvisionnement de 2 divisions (-130 M€/an)
2005 : Motorola, optimisation des achats (-30% des dépenses d'achat)
2010 : MSF (médecins sans frontières), optimisation du processus des soins contre
la tuberculose (-25% du taux de mortalité du à la TB)

29 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Le chapelier Beau-Brummel
2 Modèles de chapeaux :
Profit de 12€ pour le chapeau 1
Profit de 20€ pour le chapeau 2

La fabrication des chapeaux passe par deux ateliers A et B


temps en heures heures disponibles le mois
prochain
chapeau 1 chapeau 2
atelier
A 0,2 0,4 400
B 0,2 0,6 800

Combien je dois fabriquer de chapeaux le mois prochain si je suis


assuré de vendre toute ma production ?

30 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Chaises de Mr Eugène
2 chaises : chaise en porte à faux et la chaise Barcelone
Etapes de fabrication : brasage, laquage, capitonnage
Engagement de Mr Eugène pour ses clients livraison de 42 chaises porte à faux et 53
chaises barcelone d’ici 3 semaines. Marché potentiel 100 unités pour chaque type de
fauteuil.
Le profit par siège 450$ porte à faux et 800$ barcelone
Données de fabrication :

31 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Marchand de fruits
Un primeur veut optimiser son chargement :
Il peut transporter 800 caisses de citrons mais peut vendre au maximum 200
caisses de citrons.
Son carnet de commandes lui impose:
- 200 caisses d’oranges
- 100 caisses de pamplemousses

Une caisse de pamplemousses occupe 2 fois plus d’espace qu’une caisse


d’oranges ou 1,5 fois l’espace occupée par une caisse de citrons
Les oranges, pamplemousses et citrons lui rapportent respectivement 6€, 5€
et 10€ à la caisse
Comment réaliser le meilleur chargement?

32 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Pétrole – problèmes de mélange
Brut à Produits finis ?

Combien faut-il mettre de chacun des ingrédients disponibles dans


chaque mélange pour maximiser les profits tout en minimisant les
coûts de production ?

Un industriel se voit proposer en début de mois 4 liquides A, B, C, D


A 8000 litres coût 5,5$, B 4250 litres coût 4,5$, C 16000 litres à 7,5$ et
D 2000 litres à 11,25$
Ventes sans transformations bénéfice de 0,5$ par litre
Mélange possible avec la création de 3 produits : E, F, G
33 Mathématiques et Applications de Recherche Opérationnelle
Ronan CARDIN
Pétrole – problèmes de mélange
Dosage à respecter :

Prix de vente $/L:


E 11$, F 15$, G 14$
Commande à respecter :
400 litres E, 800 litres F et 200 litres G
Dernier mélange P :
Mélange P = 2 G + 1 E se vend 22$
Profit max?

34 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Pétrole – problèmes de mélange

35 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Papetier – Coupe de bobines-mères
Les papetiers fabriquent des rouleaux de papier dont la largeur est
fixée par les caractéristiques des machines appelés bobines-mères.
Les clients réclament des rouleaux de diverses largeurs et parfois
diverses longueurs. àchutes ?
Papetier :
Bobines-mères largeur 215 cm longueur 250 cm
Commandes acceptées par le papetier :
Largeur (en cm) Longueur (en m) Nombre de rouleaux

64 250 360
60 250 180
35 250 180

36 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Papetier – Coupe de bobines-mères

Quel objectif ?
Satisfaire les commandes acceptées ?
Utiliser le moins de bobines-mères ?
Minimiser les chutes ?
Même objectif ?

37 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Papetier – Coupe de bobines-mères

Plan de coupe ?

Chutes ?

38 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Papetier – Coupe de bobines-mères
Plan de coupe
1 2 3 4 5 6 7 8 9 10

Largeur
64 cm 3 2 2 1 1 1 0 0 0 0
60 cm 0 1 0 2 1 0 3 2 1 0
35 cm 0 0 2 0 2 4 1 2 4 6
Chutes 23 27 17 31 21 11 0 25 15 5

Plan de coupe avec chutes inférieures à 35 cm

Minimiser le nombre de bobines-mères


Minimiser les chutes

39 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
MATHÉMATIQUES ET APPLICATIONS
DE RECHERCHE OPÉRATIONNELLE

Séance 2
Programmation linéaire
Arts et Métiers ParisTech

40
Programmation
linéaire

41
Optimisation linéaire

Problème d'optimisation dans lequel on minimise une fonction linéaire


sur un polyèdre convexe. La fonction objectif et les contraintes sont
décrites par des fonctions linéaires.
Objectif : maximiser ou minimiser des quantités telles que les profits, la
marge et les coûts.
• Restrictions dues au manque de moyens en quantités
suffisantes, d'où la présence de contraintes.
• Le problème résultant (programme linéaire : PL) peut
se résoudre de plusieurs manières, telles que la
méthode graphique, la méthode algébrique, la méthode
du simplexe, la méthode du gradient projeté, etc.

42 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Modèle linéaire général
Min ou Max Z = c1x1 + c2x2 + … + cjxj + … + cnxn
Soumise à
a11x1 + a12x2 + a13x3 + … + a1nxn ( ≤, =, ≥ ) b1
a21x1 + a22x2 + a23x3 + … + a2nxn ( ≤, =, ≥ ) b2

ai1x1 + ai2x2 + aijxj + … + ainxn ( ≤, =, ≥ ) bi

am1x1 + am2x2 + amjxj + … + amnxn ( ≤, =, ≥ ) bm

x1 ≥ 0 , x2 ≥ 0 , x3 ≥ 0 , … , xn ≥ 0
b1 ≥ 0 , b2 ≥ 0 , b3 ≥ 0 , … , bm ≥ 0 i = ligne
j = colonne
n variables et m équations où n > m

43 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Forme compacte

Min ou Max

Soumise à

44 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
45
Attention Mathématiques
à la faisabilité de votre solution!
et Applications de Recherche Opérationnelle
Ronan CARDIN
Forme matricielle
Min ou Max CT X C : Vecteur des paramètres de la fonction-objectif
Soumise à : A : Matrice des paramètres des contraintes contenant les

AX = B variables de décision, d'écart, de surplus et artificielles


X : Vecteur des variables de décision
X≥0

CT

X n m A X = B X ≥0

46 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Résolution
graphique

47
Méthode de résolution

a) Définir la région faisable


• Tracer les contraintes
• Déterminer les demi-plans admissibles
• Tracer la FO pour une valeur arbitraire : Z = Z0 = constante

b) Translater la FO (ses courbes de niveau) jusqu’au dernier point


admissible du domaine faisable
• Résoudre le système d'équations en ce point (X1*, X2*)

c) Substituer la solution dans Z pour connaître la valeur optimale (Z*)

48 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple : Fournisseur de tuyauterie

But : Planifier la production de la semaine prochaine

Produits fabriqués :
• Tuyaux
• Robinets

On ne fabrique pas pour stocker…

49 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Fournisseur de tuyauterie

Profits :
• 1 000€ / tonne de Tuyaux
• 1 200€ / tonne de Robinets
Quantités (limites) à produire :
• Nombre de tonnes de Tuyaux : au plus 34 T
• Nombre de tonnes de Robinets : au plus 14 T
Ressources :
• Capacité hebdomadaire de l'ébarbage = 200h
• Gammes ébarbage : 10h / T Tuyaux, 5h / T Robinets
• Capacité hebdomadaire de la peinture = 60h
• Gammes peinture : 2h / T Tuyaux, 3h / T Robinets

50 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Fournisseur de tuyauterie : Modèle linéaire

Max Z = 1000 * Tuyaux (x1) + 1200 * Robinets (x2)

10 *Tuyaux (x1) + 5 * Robinets (x2) <= 200


2 * Tuyaux (x1) + 3 * Robinets (x2) <= 60
1 * Tuyaux (x1) + 0 * Robinets (x2) <= 34
0 * Tuyaux (x1) + 1 * Robinets (x2) <= 14

Tuyaux (x1) >= 0


Robinets (x2) >= 0

51 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Fournisseur de tuyauterie
Définition du domaine (Zone valide hachurée)

X2 X2 X2
X1 <= 34

X2 >= 0

X2 >= 0
X2 <= 14

X1 X1 >= 0 X1 X1 >= 0 X1

10 X1 + 5 X2 <= 200
X2 X2
10 X1 + 5 X2 <= 200
X1<= 34
X1<= 34 X2 <= 14
X2 >=0

X2 >=0
X2 <= 14
2 X1 + 3 X2 <= 60

X1 >=0 X1 X1 >=0 X1

52 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Fournisseur de tuyauterie
Courbes de niveau de la fonction-objectif Z = 1000 x1 + 1200 x2
X2

x1<= 34
Z* = 27000
Z = 25800
Z = 20000
Z = 16800

x2 <= 14

Z=0
x2 >=0

0 = 1000 x1 + 1200 x2
X2 = - (1 / 1.2) x1 x1 >=0 X1

53 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Fournisseur de tuyauterie

27000 €
25800 €
20000 €

16800 €

0€

54 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Solution optimale

Deux méthodes sont disponibles :


a) Translation de la fonction-objectif
(Courbe de niveau Z0)
Z = c1 x1 + c2 x2 = Z0 = courbe de niveau Z0
Si x1 = 0 alors x2 = Z0/c2 Les courbes de niveau se tracent comme
Si x2 = 0 alors x1 = Z0/c1 les contraintes après avoir choisi Z0.

b) Évaluation de chaque intersection admissible


(2 équations à 2 inconnues) et sélection de la meilleure
… Et si on avait beaucoup plus d'équations ?

55 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Méthode matricielle : Intersections
Système de 2 équations à 2 variables
ai1 x1 + ai2 x2 = bi
ai'1 x1 + ai'2 x2 = bi'

A = ai1 ai2 X = x1 B = bi
ai'1 ai'2 x2 bi'

AX=B X = A-1 B

A X = B X = A-1 B

56 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
La méthode algébrique : Intersections
2 X1 + 3 X2 = 60
Méthode intuitive : substitution 10 X1 + 5 X2 = 200

À partir de:
ai1 x1 + ai2 x2 = bi X1 = ( 60 – 3X2 ) / 2
ai'1 x1 + ai'2 x2 = bi'
a) Isoler une variable dans une des contraintes 10 [ ( 60 – 3X2 ) / 2 ] + 5 X2 = 200
x1 = ( bi - ai2 x2 ) / ai1 300 – 15X2 + 5 X2 = 200

b) Substituer dans l'autre contrainte


ai'1 [ ( bi - ai2 x2 ) / ai1 ] + ai'2 x2 = bi' X2 = ( 300 – 200 ) / 10
X2 = 10
c) Solutionner avec la variable restante
x2 = ( bi' - ai'1 * bi / ai1 ) / ( ai'2 - ai'1*ai2 / ai1 ) X1 = ( 60 – 3(10) ) / 2
X1 = 15
d) Déterminer la première
x1 = (bi - ai2 [ ( bi' - ai'1 * bi / ai1 ) / ( ai'2 – ai'1 * ai2 / ai1 ) ] ) / ai1

57 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Algorithme du
Simplexe

58
Le meilleur outil à nos jours!

Seule méthode exacte pour résoudre des problèmes linéaires de grande


taille. Développée initialement par George Dantzig en1947.
Méthode itérative algébrique : parcours séquentiel des sommets à
l'intérieur de la zone de solution jusqu'à l'obtention de la solution optimale.
George Dantzig
(1914–2005)

Stop ✓

Oui

Solution
A) Tableau B) Choix de la C) Choix de la
optimale D) Pivotage
initial ? variable entrante variable sortante
Non

59 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Mise en forme standard

Un PL peut avoir des contraintes d'égalité (=) et des contraintes


d'inégalité ( ≥ et ≤ ).

Avant l'application de Simplexe, le PL doit être converti en un PL


équivalent où :
• toutes les contraintes sont des égalités,
• toutes les variables sont non négatives (≥ 0),
• le second membre est non négatif (AX ≤ b, b≥0).

Un tel PL est dit sous la forme standard. Il est noté (PL=).

60 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Variables d’écart et d'excédent

On utilise les variables d'écart et d'excédent pour convertir le PL en


équivalent :
• Contraintes de type (≤) : Pour chaque contrainte ≤ de ce type, on
rajoute une variable d'écart ei, tel que ei est une variable positive ou
nulle.
Exemple : 3x1 + 2x2 ≤ 2 se transforme en 3x1 + 2x2 + e1 = 2
• Contraintes de type (≥) : Pour chaque contrainte ≥ de ce type, on
retranche une variable d'excédent ei, tel que ei est une variable
positive ou nulle.
Exemple : 3x1 + 2x2 ≥ 2 se transforme en 3x1 + 2x2 – e2 = 2

61 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Variables de base et variables hors base
Considérons un système d'équations à n variables et m équations où n
> m. Une solution de base pour ce système est obtenue de la manière
suivante :
a) On pose n - m variables égales à 0. Ces variables sont appelées
variables hors base (V.H.B.).
b) On résout le système pour les m variables restantes. Ces variables
sont appelées les variables de base (V. B.)
c) Le vecteur de variables obtenu est appelé solution de base (il
contient les variables de base et les variables hors base)

Une solution de base est admissible si toutes les variables de la solution de base sont ≥ 0.

62 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Résolution du PL
(PL) (PL=)
Max Z = 1000 x1 + 1200 x2 Max Z = 1000 x1 + 1200 x2
S.c. 10 x1 + 5 x2 ≤ 200 S.c. 10 x1 + 5 x2 + e1 = 200
2 x1 + 3 x2 ≤ 60 2 x1 + 3 x2 + e2 = 60
x1 ≤ 34 x1 + e3 = 34
x2 ≤ 14 x2 + e4 = 14
x1 , x2 ≥ 0 x1 , x2 , e1 , e2 , e3 , e4 ≥ 0

Variables de hors base Variables de base


n = 6 et m = 4 e1 = 200
(6 - 4) = 2 e2 = 60
V.H.B. x1 et x2 e3 = 34
Si x1 = x2 = 0 Alors… e4 = 14

63 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Etape A : Tableau initial

Base 1000 1200 0 0 0 0


Coeff. Var. X1 X2 e1 e2 e3 e4 bi (Valeur)
02 e1 10 5 1 0 0 0 1 2004
0 e2 2 3 0 1 0 0 60
0 e3 1 0 0 0 1 0 34
0 e4 0 1 0 0 0 1 14
Zj 0 0 0 0 0 0 3 5
Cj - Zj 1000 1200 0 0 0 0 0

1 Coefficients aij des contraintes du « PL= »


0*200 + 0*60 + 0*34 + 0*14 = 0
2 Coefficients Z des variables présentes dans la base
3 Valeur des zj : c'est‐à‐dire les coefficients Z (dans la base) multipliés par la colonne xi
4 Valeur des variables de base 0*10 + 0*2 + 0*1 + 0*0 = 0
5 Valeur de Z (la valeur de la fonction objectif)

64 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Etape B : choix de la variable entrante
Maximum des Cj - zj pour des problèmes de max.
Minimum des Cj - zj pour des problèmes de min.
Dans notre exemple : x2 a le plus grand Cj - zj donc, il entre dans la base.

Base 1000 1200 0 0 0 0


Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur
0 e1 10 5 1 0 0 0 200
0 e2 2 3 0 1 0 0 60
0 e3 1 0 0 0 1 0 34
Tableau 0

0 e4 0 1 0 0 0 1 14
Zj 0 0 0 0 0 0
Cj - Zj 1000 1200 0 0 0 0 0

65 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Etape C : choix de la variable sortante

Dans un problème de min OU de max, la variable sortante sera le


minimum des bi / aik > 0
*K coefficient de la colonne de la variable entrante

Base 1000 1200 0 0 0 0


Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur
0 e1 10 5 1 0 0 0 200
0 e2 2 3 0 1 0 0 60
0 e3 1 0 0 0 1 0 34
Tableau 0

0 e4 0 1 0 0 0 1 14
Zj 0 0 0 0 0 0
Cj - Zj 1000 1200 0 0 0 0 0

66 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Etape C : choix de la variable sortante
200 / 5 = 40
60 / 3 = 30
14 / 1 = 14 c'est le minimum, donc e4 est la variable sortante

Base 1000 1200 0 0 0 0


Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur
0 e1 10 5 1 0 0 0 200
0 e2 2 3 0 1 0 0 60
0 e3 1 0 0 0 1 0 34
Tableau 0

0 e4 0 1 0 0 0 1 14
Zj 0 0 0 0 0 0
Cj - Zj 1000 1200 0 0 0 0 0

67 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Etape D : pivotage

La cellule bleue est nommée le pivot.


On commence par diviser la ligne du pivot par le chiffre du pivot

Base 1000 1200 0 0 0 0


Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur
0 e1 10 5 1 0 0 0 200
0 e2 2 3 0 1 0 0 60
0 e3 1 0 0 0 1 0 34
Tableau 0

0 e4 0 1 0 0 0 1 14
Zj 0 0 0 0 0 0
Cj - Zj 1000 1200 0 0 0 0 0

68 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Etape D : pivotage

Nous poursuivons avec la matrice identité pour les variables de base.


Nous inscrivons 1 à l'intersection de chaque variable et 0 ailleurs.

Cj : Coeff. Dans Z 1000 1200 0 0 0 0

Base x1 x2 e1 e2 e3 e4 bi

Coef. Z Var. Base

0 e1 10 0 01 0 0 0 200

0 e2 2 0 0 1 0 0 60

0 e3 1 0 0 0 1 0 34
Tableau 0

0 e4 0 1 0 0 0 1 14

zj 0 0 0 0 0 0
0
Cj-zj 1000 1200 0 0 0 0

69 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Etape D : pivotage - méthode du rectangle

Les nouveaux coefficients se calculent comme suit :


Ceux de la ligne du pivot s'obtiennent en divisant les anciens par le pivot ;
Les autres de la colonne du pivot sont nuls ;
Pour ceux des autres rangées, on utilise l'équation suivante :

« Automatisation » des
opérations de Gauss-Jordan

Remarque:
b a
« a » est toujours opposé au pivot.
Pivot c « b » et « c » peuvent être permutés.

70 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Etape D : pivotage (à partir du tableau initial)

200 – (14*5) / 1 = 130


b a
Pivot c
0 – (3*1) / 1 = -3

Base 1000 1200 0 0 0 0


Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur
0 e1 10 5 1 0 0 0 200
0 e2 2 3 0 1 0 0 60
0 e3 1 0 0 0 1 0 34
Tableau 0

0 e4 0 1 0 0 0 1 14
Zj 0 0 0 0 0 0
Cj - Zj 1000 1200 0 0 0 0 0

71 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Etape D : pivotage (bis)
On doit calculer les zj, les Cj - zj, et la valeur de Z : l'algorithme s'arrête lorsque :
• Cj – zj ≤ 0 pour un problème de max
• Cj – zj ≥ 0 pour un problème de min

Base 1000 1200 0 0 0 0


Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur
0 e1 10 0 1 0 0 -5 130
0 e2 2 0 0 1 0 -3 18
0 e3 1 0 0 0 1 0 34
Tableau 1

1200 X2 0 1 0 0 0 1 14
Zj 0 1200 0 0 0 1200
Cj - Zj 1000 0 0 0 0 -1200 16800

Dans la 2ème itération de pivotage on fera entrer la variable X1 et on sortira e2

72 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Fournisseur de tuyauterie
Base 1000 1200 0 0 0 0
Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur
Tableau 0

0 e1 10 5 1 0 0 0 200
0 e2 2 3 0 1 0 0 60
0 e3 1 0 0 0 1 0 34
0 e4 0 1 0 0 0 1 14
Zj 0 0 0 0 0 0 O
Cj - Zj 1000 1200 0 0 0 0 0 C
B
Base 1000 1200 0 0 0 0
Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur A
0 e1 10 0 1 0 0 -5 130
Tableau 1

0 e2 2 0 0 1 0 -3 18
0 e3 1 0 0 0 1 0 34
1200 X2 0 1 0 0 0 1 14
O
Zj 0 1200 0 0 0 1200 A
Cj - Zj 1000 0 0 0 0 -1200 16800

Base 1000 1200 0 0 0 0 Base 1000 1200 0 0 0 0


Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur Coeff. Var. X1 X2 e1 e2 e3 e4 Valeur
0 e1 0 0 1 -5 0 10 40 0 e4 0 0 0.1 -0.5 0 1 4
Tableau 2

Tableau 3
1000 X1 1 0 0 0.5 0 -1.5 9 1000 X1 1 0 0.15 -0.25 0 0 15
0 e3 0 0 0 -0.5 1 1.5 25 0 e3 0 0 -0.15 0.25 1 0 19
1200 X2 0 1 0 0 0 1 14 1200 X2 0 1 -0.1 0.5 0 0 10
Zj 1000 1200 0 500 0 -300 B Zj 1000 1200 30 350 0 0 C
Cj - Zj 0 0 0 -500 0 300 25800 Cj - Zj 0 0 -30 -350 0 0 27000

73 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
MATHÉMATIQUES ET APPLICATIONS
DE RECHERCHE OPÉRATIONNELLE

Séance 3
Optimisation: Etudes de cas
et analyse post-optimale
Arts et Métiers ParisTech

74
Modèles sur Excel : conseils

• Disposition claire et logique de l'information:


• Décision et paramètres regroupés et identifiés (étiquettes, titres, etc.)
• Résultats clairement identifiés
• Unités de mesure indiquées où appropriées
• Résultats physiques / Calculs intermédiaires séparés des résultats
économiques
• Soyez « Lean » : codes de couleurs & Co.
• Associer des noms aux cellules
• Utiliser des commentaires de cellules et zones de texte
• Séparer les différentes parties du modèle

75 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Optimisation :
Étude de cas

76
WindowFlash : gammes
Découpe Finition Soudure
Capacité = 22h Capacité = 24h Capacité = 16h

Ville Poste 1 = 1h Poste 2 = 0h Poste 3 = 0,5h 5€

Jardin Poste 1 = 0,5h Poste 2 = 2h Poste 3 = 0,5h 6€

Neige Poste 1 = 1h Poste 2 = 0,5h Poste 3 = 1h 8€

77 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
WindowFlash
Deux types de fenêtres sont fabriqués
• X1 le type ville, X2 le type jardin et X3 le type neige
• X1 rapporte 5€, X2 rapporte 6€ et X3 rapporte 8€
Les trois postes de travail nécessaires sont :
Poste Capacité MAX (h) Gamme X1 (h) Gamme X2 (h) Gamme X3 (h)
P1 22 1 0.5 1
P2 24 0 2 0.5
P3 16 0.5 0.5 1

Quel est le plan de production optimal ?


• Hypothèse : Demande illimitée
• Hypothèse : Matières premières illimitées

78 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
WindowFlash

Fonction objectif : maximiser le bénéfice

Max f (x) = 5 * x1 + 6 * x2 + 8 * x3

Avec
1 * x1 + 0,5 * x2 + 1 * x3 ≤ 22
2 * x2 + 0,5 * x3 ≤ 24
0,5 * x1 + 0,5 * x2 + 1 * x3 ≤ 16

x1 ≥ 0 ; x2 ≥ 0 ; x3 ≥ 0

79 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
WindowFlash : Modèle sur Excel
Bénéfices
Gain City W 5
Gain Garden W 6
Gain Snow W 8

Gammes (nombre d'heures)


City W Garden W Snow W
P1 1 0.5 1
P2 0 2 0.5
P3 0.5 0.5 1

Variables de décision

Production type 1 (X1)


Production type 2 (X2) Zone des variables de décision qui seront modifiées par le solveur
Production type 3 (X3)

Objectif
Profit Zone de la fonction objectif qui sera modifiée par le solveur
Profit = 5 * x1 + 6 * x2 + 8 * x3
Contraintes (capacité max)
Capacité max P1 22
Capacité max P2 24
Capacité max P3 16
Charge P1 : 1 * x1 + 0,5 * x2 + 1 * x3 ≤ 22
Utilsation des postes (charge calculée) Charge P2 : 2 * x2 + 0,5 * x3 ≤ 24
Charge P1
Charge P3 : 0,5 * x1 + 0,5 * x2 + 1 * x3 ≤ 16
Charge P2
Charge P3

80 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
WindowFlash : Modèle sur Excel

Fonction objectif

Variables de décision

Contraintes de faisabilité

Contraintes de capacité

Méthode d'optimisation

81 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
WindowFlash : Modèle sur Excel
Bénéfices
Gain City W 5
Gain Garden W 6
Gain Snow W 8

Gammes (nombre d'heures)


City W Garden W Snow W
P1 1 0.5 1
P2 0 2 0.5 Si vous le souhaitez, Excel peut vous donner le détail du calcul dans
P3 0.5 0.5 1
le « Answer Report » ainsi que vous aider dans l'analyse post-
Variables de décision optimale avec le « Sensitivity Report »
Production type 1 (X1) 12.0
Production type 2 (X2) 10.9
Production type 3 (X3) 4.6

Objectif
Profit 161.7

Contraintes (capacité max)


Capacité max P1 22
Capacité max P2 24
Capacité max P3 16

Utilsation des postes (charge calculée)


Charge P1 22
Charge P2 24
Charge P3 16

82 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Analyse post-
optimale

83
Analyse post-optimale

L'analyse optimale permet de déterminer la sensibilité d'un PL par


rapport aux données :
• Une faible variation des données entraine-t-elle un changement important de
la solution optimale ?
• L'analyse optimale permet de déterminer des intervalles de variations des
données pour lesquels la base optimale B∗ n'est pas modifiée.

On modifie légèrement les coefficients de l'objectif ou des contraintes :


doit-on refaire un simplexe ?

84 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Prix caché ou Coût dual (shadow price)

Si on augmente la capacité disponible d'une ressource, quel est


l'impact sur la valeur optimale de la fonction objectif ?

Le prix cache mesure l'augmentation de la fonction objectif si l'on


accroît d'une unité la capacité disponible.
• Il représente est l'utilité marginale de l'assouplissement de la contrainte, ou
bien le coût marginal de renforcer la contrainte.
• Dans une application d'entreprise, un prix caché est le prix maximum que le
gestionnaire est prêt à payer pour une unité supplémentaire d'une ressource
limitée.

85 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Quid de WindowFlash Ltd.

Etude de la variation d'un coefficient du second membre :


• Le prix caché (shadow price) de la 1ère contrainte vaut 2.57, ce qui signifie que toute
augmentation du second membre (actuellement 22) d'une unité fait augmenter le
bénéfice de 2.57 (la valeur de la fonction objectif) et ceci pour un second membre variant
entre (22 – 6) et (22 + 4).
• Le prix caché d’une contrainte peut être nul. Cela signifie qu'il ne sert plus à rien
d'augmenter le second membre de cette contrainte. De fait, cette contrainte n'est plus
saturée.

86 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Quid de WindowFlash Ltd.

Etude de la variation d'un coefficient de la fonction objectif


• Dans l’exemple de Windowflash, le coefficient actuel de la variable x1 dans la fonction
objectif est égal à 5. Il peut augmenter de 2.4 ou diminuer de 1.3 sans que la solution
optimale ne soit modifiée.
• Il est probable qu’un coefficient puisse augmenter jusqu'à l'infini (1E+30 = 1030) ou
diminuer jusqu’à 0 sans que la solution ne soit modifiée.

87 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Étude de cas
Optimisation des
mélanges

88
Mueslix

Deux types de muesli sont fabriqués


Original, et Lux
Original rapporte $0.75 et Lux rapporte $0.95

Faits à partir de 4 matières premières


Blé : prix au kilo : $0.25 ; quantité disponible : 7500Kg
Avoine : prix au kilo : $0.35 ; quantité disponible : 10000Kg
Noix :prix au kilo : $0.85 ; quantité disponible : 8000Kg
Raisin : prix au kilo : $0.95 ; quantité disponible : 6000Kg

Les engagements commerciaux imposent de livrer au moins 8500 kilos de muesli « Original ».

89 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Mueslix
Les recettes des produits imposent des contraintes sur la
composition des matières premières :

Recette « Original » Recette « Lux »

Blé Au moins 40% Au plus 35%

Avoine Au moins 30% Au plus 35%

Noix Au plus 15% Au moins 20%

Raisin Au plus 15% Au moins 20%

Quel est le mélange de production optimal?


Hypothèse : Demande illimitée

90 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Mueslix : modèle linéaire
Variables de décision : Contraintes de respect des recettes :
X1,1 = Quantité de blé dans le muesli original X1,1 ≥ 0.40 * ( X1,1 + X1,2 + X1,3 + X1,4 )
X1,2 = Quantité d’avoine dans le muesli original X1,2 ≥ 0.30 * ( X1,1 + X1,2 + X1,3 + X1,4 )
X1,3 = Quantité de noix dans le muesli original X1,3 ≤ 0.15 * ( X1,1 + X1,2 + X1,3 + X1,4 )
X1,4 = Quantité de raisin dans le muesli original X1,4 ≤ 0.15 * ( X1,1 + X1,2 + X1,3 + X1,4 )
X2,1 = Quantité de blé dans le muesli lux X2,1 ≤ 0.35 * ( X2,1 + X2,2 + X2,3 + X2,4 )
X2,2 = Quantité d’avoine dans le muesli lux X2,2 ≤ 0.35 * ( X2,1 + X2,2 + X2,3 + X2,4 )
X2,3 = Quantité de noix dans le muesli lux X2,3 ≥ 0.20 * ( X2,1 + X2,2 + X2,3 + X2,4 )
X2,4 = Quantité de raisin dans le muesli lux X2,4 ≥ 0.20 * ( X2,1 + X2,2 + X2,3 + X2,4 )

Contraintes de disponibilité matière : Fonction objectif : Maximiser le bénéfice


X1,1 + X2,1 ≤ 7500 Max Z = Ventes – Dépenses =
X1,2 + X2,2 ≤ 10000 0.75 * ( X1,1 + X1,2 + X1,3 + X1,4 )
X1,3 + X2,3 ≤ 8000 + 0.95 * ( X2,1 + X2,2 + X2,3 + X2,4 )
X1,4 + X2,4 ≤ 6000 - 0.25 * ( X1,1 + X2,1 )
- 0.35 * ( X1,2 + X2,2 )
- 0.85 * ( X1,3 + X2,3 )
Contrainte de respect du contrat :
- 0.95 * ( X1,4 + X2,4 )
X1,1 + X1,2 + X1,3 + X1,4 ≥ 8500

91 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Mueslix
Prix de vente
Original 0.75
Muesli Lux 0.95

Coût et disponibilités (MP)


Coûts Disp. max
Ble 0.25 7500
Avoine 0.35 10000
Noix 0.85 8000 Zone des variables de décision qui seront modifiées par le solveur. Elle
Raisin 0.95 6000 représentent les quantités des composants à destiner vers les produits finis.
Contrat
Ventes de Original de min. 8500

Recettes Total acheté de chaque composant. Ex : Total Blé = QttéOriginal_Blé + QttéLux_Blé


Ble Avoine Noix Raisin
min min max max
Original
0.4 0.3 0.15 0.15
max max min min
Lux Total fabriqué de chaque produit fini. Ex :
0.35 0.35 0.2 0.2
Total Original = QttéOriginal_Blé + QttéOriginal_Avoine + QttéOriginal_Noix +QttéOriginal_Raisin
Variables de décision
Ble Avoine Noix Raisin TOT (PF)
Muesli Original
Muesli Lux Contraintes techniques du respect des recettes
TOT(MP)
Ex : la quantité du blé dans la recette Original doit être supérieure à 40%, I.E.
Calcul des totaux autorisés (en fonction des kgs fabriqués) QttéOriginal_Blé ≥ 0.4*(Total Original)
Ble Avoine Noix Raisin
Muesli Original
Muesli Lux

Fonction objectif Fonction objectif : Marge = CA – Coût des composants


Ventes Marge = 0.75*(Total Original) + 0.95*(Total Lux) – 0.25*(Total Blé) – 0.35*(Total
Dépenses Avoine) – 0.85*(Total Noix) – 0.95*(Total Raisin)
Bénéfice

92 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Mueslix

Fonction objectif

Variables de décision

Contraintes de recette

Contraintes de capacité

Contraintes de faisabilité

Méthode d'optimisation

93 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
MATHÉMATIQUES ET APPLICATIONS
DE RECHERCHE OPÉRATIONNELLE

Séance 4
Théorie des graphes
et problèmes de réseaux
Arts et Métiers ParisTech

94
Théorie des
graphes

95
Historique et intérêts des graphes

La théorie des graphes permet de représenter simplement la structure,


les connexions, les cheminements possibles d'un ensemble, en
exprimant les relations, les dépendances entre ses éléments.

• 1736 avec les travaux d'Euler.


• Un des instruments les plus efficaces pour résoudre des
problèmes discrets de RO.
• Instrument puissant en termes de modélisation.
• Structure de données appliquée en informatique.
Leonhard Euler • Précieux pour décrire des systèmes dynamiques.
(1707 - 1783)

96 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Réseaux
Réseaux routiers

Réseaux sociaux

97 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Réseaux
Réseaux de gaz

Réseaux de transports
en commun

98 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Graphe

Un graphe est une collection d'éléments mis en relation entre eux.

Géométriquement, on représente ces éléments par des points (les


sommets) reliés entre eux par des arcs de courbe (ou arêtes).

Selon que l'on choisit d'orienter les arêtes ou de leur attribuer un poids
(un coût de passage), on parle de graphes orientés ou de graphes
pondérés.

99 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Graphe orienté G = (X,U)
Un graphe orienté G = (X, U) est constitué d'un ensemble X de noeuds et d'un
ensemble U de paires de noeuds distincts, appelées arcs.

A
Sommet ou noeud

Arc
A prédécesseur de B
A successeur de D
B C
Ordre du graphe = nombre de sommets
D
Boucle

100 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Graphe non orienté G = (X,U)
A partir d'un graphe non orienté, on peut toujours se ramener à un
graphe orienté

A
Sommet ou noeud

Arête
(A,C) est incidente à A et à C

B C

Remarque : à tout graphe orienté correspond un graphe non orienté

101 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Sous graphe, graphe partiel, graphe complémentaire

Graphe partiel Sous-graphe


On ne considère qu'une partie On considère une partie des
des arcs sommets avec tous les liens induits

Graphe

Sous-graphe partiel Graphe complémentaire

102 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Matrice d'adjacence

Représentation d'un graphe par sa matrice d'adjacence


Destination

A B A B C D
A 0 1 1 0
B 0 0 0 0
Origine
C 1 1 0 1
C D
D 0 0 0 0

Pour un graphe non orienté, matrice symétrique

103 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Matrice d'incidence

Représentation d'un graphe par sa matrice d'incidence


Arcs

u1
A B u1 u2 u3 u4 u5
A -1 1 -1 0 0
u2 u3 u4
B 1 0 0 1 0
Sommets
C 0 -1 1 -1 -1
C D
u5 D 0 0 0 0 1

Pour un graphe non orienté, matrice symétrique

104 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Matrice d'incidence : Exemple
Xu1 Xu2 Xu3 Xu4 Xu5 Cu1 Cu2 Cu3 Cu4 Cu5
Q -1 1 -1 0 0 €/Q -1 1 -1 0 0

u1
A B u1 u2 u3 u4 u5
A -1 1 -1 0 0
u2 u3 u4
B 1 0 0 1 0
C 0 -1 1 -1 -1
C D
u5 D 0 0 0 0 1

Pour un graphe non orienté, matrice symétrique

105 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Définitions

Arête : Une arête est un arc dont on ignore l'orientation


Chaîne : Une suite consécutive d'arêtes est appelée une chaîne
Cycle : Une chaîne dont les deux sommets extrémités sont identiques
Chemin : Une suite consécutive d'arcs est appelée un chemin
Circuit : Un chemin qui se ferme sur lui même
Ordre du graphe : Nombre de sommets ou nœuds

106 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Parcours dans un graphe

Chaîne : (u2, u5, u6, u4) u3


A B u4
Cycle : (u4, u6, u7)
u1 u2 u6
Chemin : (u1, u3, u4, u7) C

Circuit : (u1, u3, u6, u5) E


u5
D u7

• Longueur d'un parcours


• Parcours simple, élémentaire,
hamiltonien, eulérien Problème de tournées de véhicules

107 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Chaîne eulérienne et cycle hamiltonien
A B A B

C D E

C D E F G

Chaîne eulérienne Cycle hamiltonien


Une chaîne d'un graphe est dite Un cycle d'un graphe est dit
eulérienne si elle contient toutes les hamiltonien s'il passe une fois et une
arêtes une fois et une seule (Ex : seule, par chacun des sommets
A,C,D,A,B,D,E,B) (Ex : A, B, E, G, D, F, C, A).
Un graphe est semi-eulérien s'il
contient une chaîne eulérienne.

108 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Définitions (suite)

Longueur d'un chemin : Nombre de ses arcs


Boucle : Arête de la forme (x,x), o bien un circuit de longueur = 1
Arêtes parallèles : Arêtes distinctes joignant la même paire de
sommets
Degré d'un sommet ou nœud : Nombre d'arêtes ayant une extrémité
sur lui (les boucles sont exclues)
Densité d'un graphe : Nombre d'arêtes divisé par le nombre de
sommets au carré

109 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Définitions (suite)

Forêt : Un graphe sans cycle est appelé une forêt


Graphe connexe : Un graphe G = (X,U) est connexe si, quelque soit i,j
∈ X, il existe une chaîne de i à j.
Graphe fortement connexe : Un graphe G = (X,U) est fortement
connexe si, quelque soit i,j ∈ X, il existe un chemin de i à j.
Arbre : Un graphe connexe sans cycle
Arborescence (dans un graphe orienté) : Depuis un sommet nommé r
(racine), il existe un chemin (un seul) vers tout autre sommet. Chaque
sommet a un seul précédent (sauf la racine)

110 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemples
2 3 2 3 2 3

1 6 1 6 1 6

4 5 4 5 4 5

Graphe non connexe Graphe connexe Graphe fortement connexe


mais pas fortement

2 3 2 3 2 3

1 6 1 6 1 6

4 5 4 5 4 5

Cycle Circuit Arbre

111 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Réseaux

Un réseau est un graphe, pour lequel des valeurs numériques ont été
associées aux nœuds et/ou aux arcs
• Longueur d'une route
• Capacité d'un tuyau
• Nombre de personnes habitants en un endroit
• Flot de véhicules empruntant une autoroute
• Etc.

On supposera qu'il existe au plus un seul arc reliant deux nœuds dans
une même direction (pas d’arêtes parallèles)

112 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Applications

Entrepôts - Magasins Transbordement Chaîne d'approvisionnement

Gestion de projets et planification Planification et financement.

113 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Flots et capacités
Les arcs peuvent être soumis à des contraintes de flots et à des coûts
unitaires de flot
mij : Flot minimum sur l'arc (i;j)
( mij ; Mij )
Mij : Flot maximum sur l'arc (i;j) i j
( Cij )
Cij : Coût unitaire de passage sur l'arc (i;j)

Émetteurs et récepteurs :
On indique habituellement la capacité d'un sommet émetteur à fournir des
entités sur l'arc le précédant (Source). Cet arc est virtuel, car aucun flot n'y
circule. Même chose pour les sommets récepteurs (Destination).
( mS ; MS ) ( mD ; MD )
S … … D
Sommet émetteur (source) Sommet récepteur (destination)

114 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Calcul du flot
À un sommet de transbordement,
il y a conservation du flot : FNI = FNE
Nœud
Arc
F T A

(mGU;MGU)
G U C
CGU
Sommet émetteur Sommet de transbordement Sommet récepteur

Flot Net Incident FNI(i) = (Flot total incident - Flot total émergeant), au sommet i
Flot Net Émergeant FNE(i) = (Flot total émergeant - Flot total incident), au sommet i
Flot minimum mij = Flot minimum sur l'arc(i;j)
Flot maximum Mij = Flot maximum sur l’arc(i;j)
Coût de passage Cij = Coût unitaire de passage sur l’arc(i;j)

115 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple : Nitrobec
Objectif : Minimiser le coût des transports
Deux fournisseurs de matière première (nitrocellulose)
Deux usines fabricant des explosifs
Trois arsenaux Entités circulant sur le réseau : tonnes de produits
Hypothèse : 1 t de nitrocellulose ➔ 1 t d'explosifs

Fournisseurs Usines Arsenaux

A
F T
Transport de Transport
nitrocellulose d'éxplosifs
B

G U
C

116 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Nitrobec : contraintes
Contraintes techniques :
Nitrocellulose : quantités disponibles (en t) et couts de transport (en $/t)

Fournisseur Quantité disponible Coût vers l’usine T Coût vers l’usine U

F 450 9 10

G 495 8 11

Coûts de transport (en $/t) et demande (en t)

Usine Arsenal A Arsenal B Arsenal C

T 14 5 6

U 17 6 5

Demande 350 200 395

117 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Nitrobec : contraintes
Contraintes techniques :
Limites de poids (en t/mois) sur les routes usine-arsenal

Usine Arsenal A Arsenal B Arsenal C

T 170 180 190

U 200 150 250

Coûts de transport interarsenaux (en $/t)

Arsenal A B C

A - 3 -

B 3 - 2

C - 2 -

118 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Modèle complet

(350;350)
) A
(0;170
(450;450) 14
F 9 T (0;180 3
)

5 (200;200)
B
)
(0;150 6
(495;495)
G U (0;25
2
11 0)

(395;395)
C

119 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Variables de décision
Pour chaque arc(i;j), on détermine une variable xij qui donne la valeur
du flot sur l'arc(i;j)
A
(mij;Mij) Fonction objectif F T
i j
Cij B

mij ≤ xij ≤ Mij G U

Exemple de bilan de flot


Flot net émergeant de T : FNE(T) = (xTA+xTB+xTC) - (xFT+xGT)
Flot net incident de T : FNI(T) = (xFT+xGT) - (xTA+xTB+xTC)
Donc, FNE(T) = -FNI(T)
Pour les nœuds de transbordement : FNE = FNI = 0

120 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Modèle linéaire

Objectif : Min Z = 9xFT +10xFU +...+14xTA +5xTB +...+3xBA +2xBC +2xCB

Contraintes :
xFT + xFU = 450
Disponibilité de MP
xGT + xGU = 495
xTA +xTB +xTC –xFT –xGT =0
Transbordement
xUA +xUB +xUC –xFU –xGU =0
–xAB +xTA +xUA +xBA =350
–xBA –xBC +xTB +xUB +xAB +xCB =200 Satisfaction de la demande
–xCB +xTC +xUC +xBC =395
xTA ≤ 170 ; xTB ≤ 180 ; xTC ≤ 190
Limites de poids
xUA ≤ 200 ; xUB ≤ 150 ; xUC ≤ 250
xij ≥ 0 pour tous les arcs du réseau

121 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Solution
Coûts Coefficients des coûts à minimiser dans Z
Coefficients (cij) 0 0 9 10 8 11 14 5 6 17 6 5 3 3 2 2 0 0 0

Contraintes de conservation du flotArcs ij (les « . » représentent les sources et les destinations)


Bilan
Sommet initial (i) . . F F G G T T T U U U A B B C A B C
sommet
Sommet fina (j) F G T U T U A B C A B Matrice
C B d’incidence
A C B: coefficients
. . . de « direction » indiquant si l'arc ij
Sommet F 1 -1 -1 génère un flot émergeant (-1) ou incident 0 (1). Ex: pour le sommet G,
Sommet G 1 -1 -1 l'arc « . G » génère un flot incident et les0 arcs « GT » et « GU »
Sommet T 1 1 -1 -1 -1 génèrent un flot émergent. 0
Sommet U 1 1 -1 -1 -1 0
Sommet A 1 1 -1 1 -1 0
Sommet B 1 1 1 -1 -1 1 -1 0
Sommet C 1 Bilan
1 par sommet 1 : -1
FNE = FNI ; -1la somme
0 des quantités « dirigées »

pour un sommet doit être égale à zéro. Ex: pour le sommet U,


Contraintes techniques (bornes sur le flot (1*xFU)
des arcs) + (1*xGU) + (-1*xUA) + (-1*xUB) + (-1*xUC) = 0
Bornes inférieures 450 495 0 0 0 0 0 0 0 0 0 0 0 0 0 0 350 200 395
Bornes supérieures 450 495 . . . . 170 180 190 200 150 250 . . . . 350 200 395
Contraintes capacitaires, de poids et de demande
Quantités envoyés par chaque arc (variables de décision)
Variable (xij) Zone des variables de décision qui seront modifiées par le solveur

Fonction économique coût associé à la quantité de tonnes envoyées par l'arc ij = xij*cij
coût par arc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Fonction objectif 0
Fonction objectif = Min ∑(xij*cij)

122 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Solution
Coûts
350
Coefficients (cij) 0 0 9 10 8 11 14 5 6 17 6 5 3 3 2 2 0 0 0 A
170
Contraintes de conservation du flot 14
Sommet 450 45 Bilan
initial (i)
Sommet fina (j)
.
F
F .
G
F
T
F
U
G
T
G
U9
T
A
T
B
T
C
U
A
T U
B
U
C
A
B
B B
1A80 C
C
B
A
.
B
.
C
sommet
.175 3
Sommet F 1 -1 -1 0
Sommet G 1 -1 -1 0
5 200
Sommet T
Sommet U
1
1
1
1
-1 -1 -1
-1 -1 -1
0
B0
Sommet A 1 1 -1
1150 -1 6 0
Sommet B 1 1 1 -1 -1 1 -1 0
495 0
Sommet C G 11
1 U 1 1 -1 -1
45 02
250
Contraintes techniques (bornes sur le flot des arcs)
Bornes inférieures 450 495 0 0 0 0 0 0 0 0 0 0 0 0 0 0 350 200 395
395
Bornes supérieures 450 495 . . . . 170 180 190 200 150 250 . . . . 350 200 395 C
Quantités envoyés par chaque arc (variables de décision)
Valeur de la variable
450 495 45 405 495 0 170 180 190 5 150 250 0 175 0 45 350 200 395
(xij)

Fonction économique
coût par arc 0 0 405 4050 3960 0 2380 900 1140 85 900 1250 0 525 0 90 0 0 0
Fonction objectif 15685
Coût optimal = $ 15 685

123 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
MATHÉMATIQUES ET APPLICATIONS
DE RECHERCHE OPÉRATIONNELLE

Séance 5
Programmation en nombres entiers
et optimisation combinatoire
Arts et Métiers ParisTech

124
Programmation
en nombres
entiers et
optimisation
combinatoire

125
Optimisation en nombres entiers
Un problème d'optimisation en nombres entiers est un problème
d'optimisation dont toutes les variables sont contraintes à ne prendre
que des valeurs entières.
Variables discrètes : nombre d'objets à considérer, nombre d'actions à
effectuer, etc.
• Nombres de vélos à installer sur le campus.
• Nombres d'ouvriers à affecter à un chantier.
Variables binaires (0/1) : oui / non, allumer / éteindre, etc.
• Utiliser la voiture ou pas.
• Construire un pont ou pas.
• Allumer la climatisation ou pas.

126 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Optimisation mixte en nombres entiers

Un problème d'optimisation mixte en nombres entiers (MILP*) est un


problème d'optimisation dont certaines variables sont contraintes à ne
prendre que des valeurs entières.
Mobilité :
• Décision binaire : acheter une seconde voiture ou non.
• Décision continue : nombre de kilomètres à effectuer.
Energie :
• Décision binaire : installer une nouvelle chaudière électricité / gaz.
• Décision continue : quantité de gaz à brûler.

* Mixed integer linear programming

127 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Formalisation
Problème d'optimisation linéaire en Problème d'optimisation linéaire
nombres entiers (PLNE) binaire (PLB)

Min ou Max Min ou Max

Soumise à Soumise à

xj ≥ 0 , bi ≥ 0 xj ≥ 0 , bi ≥ 0

xj entiers xj ∈ {0, 1}

128 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Qu'en pensez-vous ?
Combien faut-il de temps à un groupe de 8 amis, prenant en
commun 2 repas par jour, pour épuiser les diverses possibilités de
se grouper autour d'une table?

AMI 2 AMI 3 AMI 4

AMI 1 TABLE AMI 5

AMI 8 AMI 7 AMI 6

129 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Qu'en pensez-vous ?
8 ! = 40320 possibilités

40320 ÷ ( 2 repas par jour * 365 jours par an ) = 55.2 ans

AMI 2 RIP RIP

RIP VIELLE TABLE ! AMI 5

AMI 8 AMI 7 ENEMI

130 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Méthodes exactes vs approchées
Méthodes exactes : obtention d’un optimum avec certitude
• Techniques de séparation et évaluation progressive (Branch and Bound)
• Programmation linéaire en nombres entiers
• Programmation dynamique
Méthodes approchées : obtention d’une solution de bonne qualité en un temps de
calcul raisonnable sans garantir son optimalité
Heuristiques : dédiées aux problèmes
Méta-heuristiques : méthodes génériques avec un canevas de programme à adapter
• Recuit simulé
• Méthode tabou
• Algorithme génétique
• Colonie des fourmis
• Etc.

131 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
C’est mieux une méthode exacte, mais…
Avantages : Fournissent la (ou les) solution(s) optimale(s)
• Énumèrent les solutions de manière implicite
• Souvent basées sur une structure d'arbre
Faiblesses : temps et espace mémoire
• Difficulté pour résoudre des problèmes de taille réelle
Taille

Complexité d’un algorithme : 20 50 100 1000


Temps de calcul, espace mémoire 103 n 0.02 s 0.05 s 0.1 s 1s

≈ Nombre d’itérations à effectuer 103 n log2n 0.09 s 0.3 s 0.6 s 10 s


Complexité

100 n2 0.04 s 0.25 s 1s 3 min


avant d’identifier la solution
10 n3 0.02 s 1s 10 s 3h
optimale 2n 1s 36 ans --- ---
3n 58 min 2*1011 ans --- ---

*n = taille des données d’un problème n! 77100 ans --- --- ---

132 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Illustration graphique

Exemple : X2
Max Z = 5 x1 + 4 x2
S.c. x1 + x2 ≤ 5
10 x1 + 6 x2 ≤ 45
x1 , x2 ≥ 0 , entiers

LP :
x1 = 3.75
x2 = 1.25
Z = 23.75

X1

133 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Méthodes de Branch-and-Bound (B&B)

Aussi appelée méthode de Séparation et d'Évaluation Progressive


(SÉP) est une méthode générale pour résoudre, de manière exacte,
les modèles linéaires en nombres entiers.
Elle est basée sur une énumération « intelligente » (arborescence) des solutions
admissibles.
Idée : prouver l’optimalité d’une solution en partitionnant l’espace des solutions
• « Diviser pour régner »
• Application à la programmation linéaire en nombres entiers : utilise toute la
puissance de la programmation linéaire pour déterminer de bonnes bornes.
On appelle relaxation linéaire d’un programme linéaire en nombres entiers le
programme linéaire obtenu en supprimant les contraintes d’intégralité sur les
variables.

134 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Démarche Branch & Bound
1. Résoudre la relaxation linéaire
2. Brancher sur une variable non entière (à choisir) → 2 sous problèmes
3. Diviser à nouveau un nœud fils en deux (≠ choix possibles)
4. Continuer à séparer sur les nœuds dont la valeur est > à la borne
inférieure jusqu’à ce qu’il n’y ait plus de branchement possible

On coupe une branche si


• La relaxation linéaire n’a pas de solution
• la relaxation linéaire donne une solution entière
• la valeur de la borne supérieure est inferieure à la valeur de la meilleure
solution entière obtenue
Note : On ne peut rien couper tant qu’on n’a pas de solution disponible

135 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Application de la méthode B&B
LP0
X2
X1 = 3.75 X2 = 1.25

Z = 23.75

X1 ≤ 3 X1 ≥ 4

LP1 LP2
X1 = 3 X2 = 2 X1 = 4 X2 = 0.83

Z = 23 Z = 23.44
X1

X2 La valeur de la solution de LP , z = 23.75 est une


borne supérieure sur la valeur de la solution
optimale Z*.

La solution de LP1 est une solution admissible de


Z et donc z = 23 est une borne inférieure sur la
valeur de Z*.
X1

136 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Application de la méthode B&B
LP0
X1 = 3.75 X2 = 1.25
Le nœud correspondant peut être
Z = 23.75
éliminé vu qu’une solution entière
X1 ≤ 3 X1 ≥ 4
optimale satisfaisant x1 ≤ 3 a été
LP1 LP2
trouvée (solution de LP1).
X1 = 3 X2 = 2 X1 = 4 X2 = 0.83

Z = 23 Z = 23.44
Vu que tout les coefficients sont X2 ≤ 0 X2 ≥ 1
entiers, on peut en déduire que la LP3 LP4
valeur de la solution optimale de Z est X1 = 4.5 X2 = 0 --- ---
inférieure ou égale à 23. Z = 22.5 Pas de solution

X1 ≤ 0 X1 ≥ 5

La solution de LP1est donc optimale LP5 LP6


X1 = 4 X2 = 0 --- ---
pour Z, on a donc Z* = 23.
Z = 20 Pas de solution

137 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple : affectation des taches
A B C D
Simon 8 3 1 5
Virginie 11 7 1 6
Ronan 7 8 6 8

On doit affecter quatre tâches (A, B, C, D) à trois opérateurs (Simon,


Virginie et Ronan), chacun ayant noté par ordre de préférence leur
vœux (1 étant le plus souhaité).
• Borne inférieure : coût de l'affectation des autres opérateurs à la tâche la
plus souhaitée sans respecter les contraintes.
• Stratégie d'exploration progressive.

138 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Affectation B&B Simon
A
8
B
3
C
1
D
5
Virginie 11 7 1 6
Ronan 7 8 6 8

Objectif : minimisation du coût total


S0

S1 S2 S3 S4
Simon A Simon B Simon C Simon D
B.inf = 15 B.inf = 10 B.inf = 8 B.inf = 12

B.inf = le coût de l’affectation actuelle + les coûts les plus faibles des autres affectations

S1 : Simon→A : 8+1+6 = 15 A B C D
S2 : Simon→B : 3+1+6 = 10 Simon 8 3 1 5

S3 : Simon→C : 1+1+6 = 8 Virginie 11 7 1 6


Ronan 7 8 6 8
S4 : Simon→D : 5+1+6 = 12

139 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Exemple : affectation Simon
A
8
B
3
C
1
D
5
Virginie 11 7 1 6
Ronan 7 8 6 8
S0

S1 S2 S3 S4
Simon A Simon B Simon C Simon D
B.inf = 15 B.inf = 10
✔ B.inf = 8
✔ B.inf = 12

S8 S9 S10 S5 S6 S7
Virg A Virg C Virg D Virg A Virg B Virg D
B.inf = 20 B.inf = 10
✘ ✔ B.inf

= 15 B.inf = 18

B.inf = 14

B.inf = 13

S11
Au vue des bornes minimales des sous-ensembles. Il existe une
Ron A
seule solution optimale : Simon à B, Virginie à C et Ronan à A.
B.inf = 11
✔ Cette affectation coûte 11.

140 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Heuristiques et
Méta-
Heuristiques

141
Méthodes Heuristiques

Ne fournissent pas nécessairement une solution optimale pour un


problème d'optimisation donné.
Une bonne heuristique :
• est de complexité raisonnable ;
• fournit le plus souvent une solution proche de l'optimum ;
• a une faible probabilité d'obtenir une solution de mauvaise qualité ;
• est simple à mettre en œuvre.
Une heuristique est souvent conçue pour résoudre un type de
problème donné
Avantage : contrôle du temps de calcul

142 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Méta-heuristiques
Méthodes générales qui peuvent être adaptées à divers problèmes
d'optimisation. Généralement stochastiques et inspirées par des
analogies. Nous identifions deux grandes catégories :

Les méthodes de recherche locale Les méthodes évolutionnistes (ou à


(ou à parcours) : travaillent sur une population) : inspirées de la biologie
solution et essayent de l'améliorer et de l'éthologie, travaillent sur un
ensemble de solutions

143 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Méthodes de recherche locale

Basées sur une fonction de voisinage et un mécanisme de parcours.


Voisinage d'une solution s, noté N(s) : composé de solutions proches
de s en terme de codage.
Ex : s = ABCDE, alors, N(s) = { BACDE, CBADE, DBCAE, EBCDA }.
Mécanisme de parcours du voisinage : toute procédure qui précise
comment la recherche passe d'une configuration s ∈S à une
configuration s' ∈N(s).

1 2 Remplacer la configuration 3
Choisir une Vérifier le critère d’arrêt
courante par une voisine en
configuration (itérations ou amélioration)
tenant compte de la fonction
initiale ensuite finir ou revenir à 2
objectif

144 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Méthodes évolutionnistes
Inspirées de processus naturels, elles travaillent sur un ensemble de
solutions potentielles.
Découlent du concept de la sélection Création de la population

naturelle de Charles Darwin :


• Environnement et/où ressources limités Evaluation et Sélection ✘ ✘
• Compétition entre les individus d'une
même population pour leur survie Reproduction

• Survie d'un individu dépend de sa


capacité d'adaptation (fitness par Mutation
rapport à la fonction objectif)
• Les individus les plus aptes auront un Non Oui
Fin
taux de reproduction plus élevé ?
Résultats

145 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Mécalux

Variables de décision : ordre de passage par le poste


Liste d'ordres de fabrication (durées en jours)
OF Durée du montage Temps disponible
1 9 32
2 7 29
3 8 22 Durée cumulée pour l’ordre choisi, cette durée
4 18 21
5 9 37 represente le « temps auquel on finit l’OF »
6 6 28

Variables de décision
OF à traiter Durée Durée cumulée Temps disponible Rétard
1 9 9 32 0 Retard sur chaque OF : si la dureé cumulée est
2 7 16 29 0 supérieures au temps disponible, alors le retard est
3 8 24 22 2
4 18 42 21 21 égale à la différence des deux
5 9 51 37 14
6 6 57 28 29

Fonction Objectif
Retard total 66 Fonction objectif : minimiser le retard total

146 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Mécalux

Contrainte « alldifferent » : toutes les valeurs sont Algorithme évolutionniste : paramètres sur la taille de
entières et différentes la population et le critère d’arrêt à définir (options)

147 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Problème du sac à dos

Un randonneur prépare son sac à dos pour partir en


excursion. Il veut éviter d'avoir un sac trop lourd et décide de
se limiter dans le choix des objets qu'il emporte. Cependant, il
veut emporter le maximum de choses utiles.
Pour cela, il affecte une valeur quantitative à chaque objet en
plus de son poids (plus la valeur est importante, plus le
randonneur juge l'objet important).

Le problème peut donc se formuler de la manière suivante:


trouver l'ensemble des objets dont la somme des utilités est
maximum tout en ne dépassant pas un poids fixe.

148 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Problème d'affectation

Des modifications de postes sont effectuées dans une


entreprise.
Plusieurs personnes doivent être affectées à de nouveaux
postes. Ainsi, chacun classe par ordre de préférences les
postes qu'il veut occuper.

Le problème ici consiste à attribuer à chaque personne un


poste tout en essayant de satisfaire au mieux le souhait de
chacun.

149 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
Problème du voyageur de commerce

• Un voyageur de commerce doit démarcher dans un


certain nombre de villes.
• Il connaît, bien entendu, la distance qui sépare les villes
entre elles.
• Cependant, le voyageur de commerce veut perdre le
moins de temps possible dans ses déplacements.

Le problème est donc de trouver un chemin qui passe par


toutes les villes une et une seule fois et qui soit le plus court
possible.

150 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
CONCLUSION

151 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
PROGRAMMATION LINÉAIRE

16000
BÉNÉFICE

14000

12000

10000

8000

6000

4000

2000 220

0 200
180
160 160
140 140
120 120
100 100
80 80
60 60
40 40
UNITÉS PRODUIT 2 (x2) 20 20 UNITÉS PRODUIT 1 (x1) MÉTHODE GRAPHIQUE
0

MÉTHODE ALGEBRIQUE
SIMPLEXE

152 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
OPTIMISATION NON-LINÉAIRE LISSE
FONCTION OBJECTIF

VARIABLE DE DÉCISION 1 VARIABLE DE DÉCISION 2

GRG
MÉTHODES DE GRADIENT
ALGORITHME DE LA PLUS FORTE PENTE

153 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
FONCTION OBJECTIF
OPT. COMBINATOIRE - DISCRÈTE

VARIABLE DE DÉCISION 1 VARIABLE DE DÉCISION 2

MÉTHODES EXACTES
(BRANCH AND BOUND, FORCE BRUTE)
HEURISTIQUES ET MÉTAHEURISTIQUES
ALGORITHMES GÉNÉTIQUES

154 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
OPT. NOMBRES ENTIERS
FONCTION OBJECTIF

VARIABLE DE DÉCISION 1 VARIABLE DE DÉCISION 2


(CONTINUE) (ENTIÈRE)

MÉTHODES EXACTES
(BRANCH AND BOUND, FORCE BRUTE)
RELAXATION LINÉAIRE + SIMPLEXE

155 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
BILAN (1/2)
DÉFINITION A POSTERIORI
• RO = Ensemble des domaines scientifiques, des outils et des
problèmes touchant aux questions d'ordre décisionnel ou
d'optimisation de systèmes complexes.

IMPORTANCE DE LA MODÉLISATION
• L'expression systèmes complexes est à prendre ici au sens le
plus littéral du terme, c'est-à-dire difficile à comprendre pour un
individu sans l'aide d'un modèle et/ou d'un ordinateur.
• Les problèmes sont rendus complexes par leur dimension et/ou par
leur structure.

156 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
BILAN (2/2)
ENJEUX OPPORTUNITÉS
Entreprises • Domaine scientifique assez
• Améliorer la compétitivité des peu connu en France
entreprises • Mais très accessible et de
grande application pour la
• Innover
gestion industrielle et
Domaine Politique logistique
• Meilleures décisions • Discipline en pleine révolution
stratégiques et tactiques • Résolution de problèmes qu’on
Environnement n’imaginait pas il y a 20 ans !
• Meilleure gestion des • Domaines d’application en
ressources expansion

157 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
POUR UN AUTRE COURS
• Optimisation multi-objectif
• Front de Pareto

• Problèmes non-déterministes
• Processus stochastiques
• Monte-carlo
• Chaînes de Markov
• Optimisation robuste
• Considération de différents scenarii

• Théorie des jeux

158 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN
POUR ALLER PLUS LOIN
OPTIMISATION LINÉAIRE OPT. COMBINATOIRE
"Méthodes d'optimisation pour la gestion, 2e "Optimisation combinatoire : Théorie et
édition", Roch OUELLET Régis PARENT & Yves algorithmes", Bernhard KORTE, 2009, Springer
NOBERT, 2016, Chenelière Education, ISBN13 : Verlag, ISBN-13 : 978-2287990366.
9782765051664.
"Combinatorial Optimization", William J. COOK,
THÉORIE DES GRAPHES William H. CUNNINGHAM, William R.
"Graph Theory: Modeling, Applications, and PULLEYBLANK & Alexander SCHRIJVER, 1997,
Wiley-Interscience, ISBN-13 : 978-0471558941.
Algorithms", Geir AGNARSSON & Raymond
GREENLAW, 2006, Pearson, ISBN-13 :
978-0131423848. NOMBRES ENTIERS
"Optimization Over Integers", Dimitris
OPTI. NON LINÉAIRE LISSE BERTSIMAS & Robert WEISMANTEL, 2005,
"Méthodes Numériques : Algorithmes, analyse Dynamic Ideas, ISBN-13 : 978-0975914625.
et applications", Alfio QUARTERONI, Riccardo
SACCO & Fausto SALERI, 2006, Springer Verlag,
ISBN-13 : 978-884700495.

159 Mathématiques et Applications de Recherche Opérationnelle


Ronan CARDIN

Vous aimerez peut-être aussi