540 likes | 824 Views
30 ANS DE RECHERCHE OPERATIONNELLE ET D’OPTIMISATION. Yves Crama Ecole d’Administration des Affaires. PLAN : 1. Quelques notions de complexité algorithmique 2. Impact en optimisation 3. Retombées industrielles. Intro… HOMER SIMPSON A CYBERLAND. P = NP. PLAN :
E N D
30 ANS DE RECHERCHE OPERATIONNELLEET D’OPTIMISATION Yves Crama Ecole d’Administration des Affaires
PLAN: • 1. Quelques notions de complexité algorithmique • 2. Impact en optimisation • 3. Retombées industrielles
Intro… • HOMER SIMPSON • A CYBERLAND
PLAN: • 1. Quelques notions de complexité algorithmique • 2. Impact en optimisation • 3. Retombées industrielles
Vieille question: • Pourquoi certains problèmes mathématiques sont-ils (ou semblent-ils) intrinsèquement plus difficiles à résoudre que d’autres ?
Gödel, Turing, Von Neumann • ~1965: Jack Edmonds introduit la notion de « bonne caractérisation » des solutions et d’algorithme «polynomial». • ~ 1972: Stephen Cook définit les classes de problèmes P et NP
P et NP • Idée : distinguer entre les problèmes • 1) pour lesquels on peut « facilement » trouver la réponse; • 2) pour lesquels on peut « facilement » vérifier qu’une réponse est correcte, lorsqu’elle est connue; • 3) les autres….
Exemple 1: • Déterminer si l’équation du second degré • 5x2 - 4x - 3 = 0 • possède deux racines distinctes. Facile à résoudre… (« oui »)
Exemple 2: • Déterminer si • N1 = 281472829095937 • est un nombre premier. Pas très facile à résoudre… La réponse est « non ».
Preuve: • 281472829095937 • = 131071 2147483647
Exemple 3 (voyageur de commerce): • Déterminer si il existe une tournée de longueur inférieure à 1650 kms visitant 67 grandes villes de Belgique. Pas très facile à résoudre… La réponse est « oui ».
Preuve: • Il suffit que je donne la tournée:
Exemple 3 (suite): • Déterminer si il existe une tournée de longueur inférieure à 1500 kms visitant 67 grandes villes de Belgique. Pas très facile à résoudre… La réponse est « non ».
Preuve: • ????
Problèmes de décision • Un problème de décision est une question qui admet une réponse « Oui » ou « Non ».
P et NP • Un problème de décision est dans P (polynomial)si il peut être résolu par un algorithme efficace, c’est-à-dire un algorithme dont le temps de calcul n'augmente pas trop rapidement (polynomialement)avec la taille du problème à résoudre.
P et NP • Un problème de décision est dans NP (polynomial non déterministe)si il existe une preuve permettant de vérifier efficacement la validité de la réponse lorsque cette réponse est « Oui ». • (par exemple, « existe-t-il une tournée de longueur au plus 1650…? »)
P vs NP • Il est à peu près évident que P et NP sont deux classes différentes de problèmes. • En fait, P contient par définition des problèmes « faciles » à résoudre, alors que certains problèmes très difficiles sont dans NP.
NP • problème du voyageur de commerce • programmation linéaire en variables binaires • ordonnancement d’ateliers • localisation d’entrepôts • etc.
P = NP ? • Cook (1972) a conjecturé que P n’est pas égal à NP. • Mais personne n’a pu le démontrer rigoureusement !! • Il s’agit d’un des problèmes ouverts les plus célèbres des maths et de l’informatique théorique.
P = NP ? • A l’occasion du passage à l’an 2000, le Clay Mathematics Institute a offert 1 million de dollars pour la solution de cette question (et de l’hypothèse de Riemann, etc.) De là l’intérêt d’Homer Simpson…
PLAN: • 1. Quelques notions de complexité algorithmique • 2. Impact en optimisation • 3. Retombées industrielles
Programmation linéaire (PL) • Min S cj xj • s.c. Sjaij xj ≤ bi (i = 1,…,m) • Résolu par l’algorithme du simplexe (Dantzig 1947). • Archétype du modèle d’optimisation en RO.
Complexité de la PL • Les travaux d’Edmonds, Cook et al. soulèvent de nouvelles questions: • PL est-il dans NP ? • Oui (quand une solution est connue, il est facile de calculer sa valeur).
Complexité de la PL • PL est-il dans P ? • Oui (parce que la méthode du simplexe est efficace)? Pas évident… • Klee et Minty (1972) observent que la méthode du simplexe peut effectuer un nombre exponentiel d'itérations sur certains exemples et n'est donc pas un algorithme polynomial (« efficace »).
Complexité de la PL • PL est-il dans P ? • Cette question a généré un nouvel intérêt pour la PL et un important courant de résultats.
Complexité de la PL • Khachiyan (1979) propose un algo polynomial pour la PL – mais inefficace en pratique! • Karmarkar (1984) décrit un algo polynomial et efficace en pratique: méthode de point intérieur.
Retombées algorithmiques • Développement de nouvelles méthodes de points intérieurs, de plus en plus efficaces • Suscite des améliorations spectaculaires de la méthode du simplexe.
État des lieux • Empiriquement, méthodes du simplexe et de point intérieur sont complémentaires (selon les caractéristiques du problème à résoudre).
État des lieux • De 1987 à 2002, réduction du temps de calcul pour la solution de grands problèmes: facteur de 1.000.000 (1 an 30 sec), dont • facteur de 1000 dû au « hardware » • facteur de 1000 dû aux algorithmes
Heuristiques • Puisque certains problèmes ne peuvent pas être résolus en temps polynomial: • Heuristiques: méthodes approchées efficaces • Métaheuristiques: stratégies génériques de développement d’heuristiques
Heuristiques • Exemples: • - recuit simulé (simulated annealing) • - exploration tabou (tabu search) • - algorithmes génétiques • - arrondi déterministe ou stochastique, voisinages variables, algorithmes de fourmis, réseaux de neurones, …
PLAN: • 1. Quelques notions de complexité algorithmique • 2. Impact en optimisation • 3. Retombées industrielles
Tendance lourde: • Développement simultané et « symbiotique » de l’informatique (micro-informatique, structures de données, bases de données, systèmes embarqués,…) et de la RO. • Intégration croissante des algos d’optimisation dans les systèmes d’information et d’aide à la décision.
Exemples: • - calcul de routes et de tournées (navigateurs GPS, transport routier, Géoroute, …) • - construction d’horaires (écoles, infirmiers, équipes d’ouvriers,…) • - planification de production (affectation aux unités de production, gestion des stocks, ordonnancement, projets,…)
Exemples: • optimisation des achats (localisation, rabais, …) • optimisation des recettes de production (pétrochimie, agro-alimentaire,…) • découpe de matériaux (verre, métal, tissu) • électronique (conception et production de circuits intégrés)
Exemples: • yield management (optimisation des réservations et pricing pour les compagnies de transport, hôtels, …) • optimisation de portefeuilles financiers • moteurs de recherche Internet • - bioinformatique (identification de structures génétiques) • - etc.
Un exemple d’intégration:ERP - APS • 1970-80: Systèmes MRP • aide à la gestion des matières (approvisionnement des stocks, lancements de production) • comportent des fonctionnalités d’optimisation, peu utilisées
Un exemple d’intégration:ERP - APS • 1990: Systèmes ERP • systèmes d’information couvrant les différentes fonctions de l’entreprise (production, stocks, achats, clients, personnel, comptabilité, …) • peu de capacité d’optimisation
Un exemple d’intégration:ERP - APS • 2000: Systèmes APS (Advanced Planning Systems) • compléments aux ERP • optimisation de l’allocation des ressources, planification de production, ordonnancement d’ateliers, etc
Un exemple d’intégration:ERP - APS • Rendus possibles grâce à l’adoption des systèmes ERP (dont ils utilisent les bases de données) et à l’amélioration des performances des algorithmes d’optimisation (programmation linéaire, programmation en variables entières, heuristiques, …)