\'Etude de Probl\emes d'Optimisation Combinatoire\a Multiples ...

22 juin 2016 - Étude de Problèmes d'Optimisation Combinatoire à Multiples ... et les grandes lignes pour des approches de résolution sont brievement.
390KB taille 7 téléchargements 187 vues
Étude de Problèmes d’Optimisation Combinatoire à Multiples Composantes Interdépendantes Mohamed El Yafrani1 , Belaïd Ahiod1 1 LRIT,

arXiv:1606.06797v1 [cs.AI] 22 Jun 2016

associated unit to CNRST (URAC 29) Mohammed V University in Rabat B.P. 1014 Rabat, Morocco [email protected], [email protected]

Résumé – Ce résumé étendu présente une vue générale sur les problèmes d’optimisation NP-difficiles à multiples composantes interdépendantes. Ces problèmes se présentent dans plusieurs cas réels: industrie, ingénierie, et logistique. Le fait que ces problèmes sont souvent composés de deux ou plusieurs sous-problèmes NP-difficiles les rend plus difficiles à résoudre avec les méthodes exactes. Ceci est principalement à cause de la complexité élevée de ces algorithmes et la difficulté des problèmes eux-mêmes. La source principale de difficulté de ces problèmes est la présence de dependances internes entre les sous-problèmes. Cet aspet d’interdependance entre les composantes est présenté, et les grandes lignes pour des approches de résolution sont brievement introduites dans le contexte de (meta)heuristiques et calcul évolutionnaire. Mots-clés: Interdépendance, Optimisation combinatoire, Métaheuristiques, Calcul évolutionnaire.

Abstract – This extended abstract presents an overview on NP-hard optimization problems with multiple interdependent components. These problems occur in many real-world applications: industrial applications, engineering, and logistics. The fact that these problems are composed of many sub-problems that are NP-hard makes them even more challenging to solve using exact algorithms. This is mainly due to the high complexity of this class of algorithms and the hardness of the problems themselves. The main source of difficulty of these problems is the presence of internal dependencies between sub-problems. This aspect of interdependence of components is presented, and some outlines on solving approaches are briefly introduced from a (meta)heuristics and evolutionary computation perspective. Keywords: Interdependence, Combinatorial optimization, Metaheuristics, Evolutionary computation.

1

Motivation

Les problèmes d’optimisation combinatoire interviennent dans plusieurs domaines. Parmi les domaines d’applications on retrouve l’ingénierie, les transports, et l’optimisation de la chaine d’approvisionnement. Ces problèmes sont souvent très difficiles à résoudre dans un temps raisonnable dû au fait qu’ils soient NP-difficiles. Néanmoins, ceci n’est pas le seul défi. Dans plusieurs cas réels le problème à optimiser est souvent composé de plusieurs sousproblèmes (dits composantes) qui sont eux-mêmes NPdifficiles. De plus, ces sous-problèmes sont interdépendants ce qui rend la tâche encore plus compliquée. Ainsi, la difficulté dans les problèmes réels est due à plusieurs facteurs : NP-complétude, taille, et interdépendance. D’autres facteurs peuvent intervenir dans un problème réel [9] tels que la dynamique de l’environnement, l’existence de contraintes, l’incertitude, pour ne citer que

quelques-uns. Le but de ce travail est d’étudier ces facteurs, particulièrement l’interdépendance entres les composantes et la taille du problème, afin de concevoir des algorithmes efficaces de résolution.

2

Problèmes à multiples composantes interdépendantes

2.1

L’interdépendance entre composantes

Un problème d’optimisation est dit à multiples composantes s’il se compose de deux ou plusieurs sous-problèmes. Une composante B est dite dépendante d’une autre composante A (On note B ←− A) si les deux condition suivantes sont satisfaites [2] : 1. Générer une solution (non-forcement optimale) pour A est possible sans l’aide de données produites par B. 2. Changer une solution de A peut changer l’espace

Extended abstract presented at the URAC days meeting in Rabat, Morocco. The meeting site is available at https://sites.google.com/site/lriturac29/j-urac-2015

de recherche pour B. En d’autres termes, ceci peut changer la meilleure solution possible pour B dans le contexte du problème général. Un problème à multiples composantes peut être représenté à l’aide d’un diagramme de dépendance. La figure 1 illustre un problème à trois composantes interdépendantes. Dans cette figure, C est dépendant de A, et A et B sont dépendants l’un de l’autre.

L’interdépendance dans cet exemple est claire (dépendance dans les deux sens). Il est aussi clair que la résolution du sudoku en isolation ne résout pas le killer sudoku. De même, la résolution du kakuro sans prendre en compte les règles du sudoku ne résout pas le problème global.

3 3.1

Figure 1 – Un problème à trois composantes Dans un problème à plusieurs composantes interdépendantes, il ne suffit pas de résoudre les problèmes en isolation afin de résoudre le problème global. Une bonne stratégie de résolution doit prendre en considération l’interdépendance entre les différentes composantes du problème. Parmis les problèmes à plusieurs composantes interdépendantes nous retrouvons : le problème de l’assemblage du trafic, routage, et affectation de longueur d’onde [5] ; le problème du voyageur voleur [1, 11] ; le problème de localisation-routage [10] ; et le problème de routage de véhicules sous contraintes de chargement [6].

2.2

Un exemple illustratif : Killer Sudoku

Le Killer Sudoku est un jeu de grille qui combine les deux jeux sudoku et kakuro [12]. Le but est de remplir la grille en respectant les règles du sudoku mais aussi celles du kakuro. La figure 2 illustre une instance de killer sudoku, ainsi qu’une solution possible.

Jointure des voisinages

Une première approche de résolution utilise la notion de voisinage dans un problème d’optimisation. L’approche consiste à appliquer un produit cartésien entre les voisinages des composantes afin de créer un voisinage propre au problème global. Le voisinage résultant pourrait être utilisé dans le contexte d’une recherche locale ou de métaheuristiques telles que la recherche locale itérative [8] et le recuit simulé [7]. L’algorithme 1 illustre une telle approche pour le problème de la figure 1. Algorithm 1 Un exemple d’un simple algorithme de recherche locale pour le problème de la figure 1 1: (a, b, c) ← solutioninitiale 2: tant que condition d’arrêt faire 3: pour a0 voisin de a dans A faire 4: pour b0 voisin de b dans B faire 5: pour c0 voisin de c dans C faire 6: évaluer (a0 , b0 , c0 ) 7: si (a0 , b0 , c0 ) est meilleure que (a, b, c) alors 8: (a, b, c) ← (a0 , b0 , c0 ) 9: fin si 10: fin pour 11: fin pour 12: fin pour 13: fin tant que Le problème de cette approche est la complexité de l’algorithme, ce qui induit un temps de calcul énorme pour les instances à grande taille.

3.2

Figure 2 – Un exemple de killer sudoku. Original images by Toon Spin (Toon81) (Own work) [Public domain], via Wikimedia Commons. Available at https://en.wikipedia.org/wiki/Killer_sudoku# /media/File:Killersudoku_color.svg

Solutions proposées

Cosolver

Cosolver est un framework proposé exclusivement pour les problèmes à deux composantes interdépendantes [3]. L’idée est d’isoler le traitement de chaque composante et de gérer une communication entre les solveurs : lorsque le solveur d’une composante A trouve une meilleure solution, il la transmet au solveur de la composante B. De cette manière, l’interdépendance est gérée dans un processus itératif entre les deux "sous-solveurs". Ce processus est illustré dans le pseudo-code 2. Cette approche est de nature parallélisable. En effet, le fait que les sous-solveurs actent de manière isolée permet de facilement de distribué le traitement.

Algorithm 2 Une implémentation simplifiée de Cosolver 1: (a, b) ← solutioninitiale 2: tant que condition d’arrêt faire 3: a0 ← solveurA(a, b) 4: b0 ← solveurB(a0 , b) 5: (a, b) ← (a0 , b0 ) 6: fin tant que

3.3

Algorithmes évolutionnaires

Les algorithmes évolutionnaires [4] sont bien adaptés pour attaquer les problèmes à multiples composantes interdépendantes. Ces méthodes offrent une excellente flexibilité, ils peuvent être utilisés de plusieurs manières. On pourrait concevoir un algorithme purement évolutionnaire pour résoudre le problème général, ou bien hybrider avec d’autres heuristiques. Par exemple, des opérateurs génétiques peuvent être inclus dans Cosolver afin d’améliorer sa performance en terme d’exploration de l’espace de recherche.

4

Conclusion et perspectives

Les problèmes réels sont bien plus difficiles que les problèmes académiques. Pourtant, la plupart des articles continuent de traiter des problèmes de benchmark (problème du sac-a-dos, bin packing, problème du voyageur de commerce, etc.) qui n’interviennent que sous forme de composantes d’un problème global. Peu de travaux se concentrent sur les spécificité de ces problèmes réels [9]. Dans une perspective à court terme, nous nous engageons à concevoir des solutions heuristiques pour des cas particuliers de problèmes mono-objectifs à deux composantes. Nous voulons également continuer dans cette voie et généraliser nos approches pour des problèmes à plusieurs composantes. Nous avons prévu d’autres pistes de recherches prometteuses pour traiter ce type de problèmes telles que le parallélisme, le calcul distribué, et l’hybridation.

Références [1] Mohammad Reza Bonyadi, Zbigniew Michalewicz, and Luigi Barone. The travelling thief problem : the first step in the transition from theoretical problems to realistic problems. In Evolutionary Computation (CEC), 2013 IEEE Congress on, pages 1037–1044. IEEE, 2013. [2] Mohammad Reza Bonyadi, Zbigniew Michalewicz, Frank Neumann, and Markus Wagner. Evolutionary computation for multi-component problems : Opportunities and future directions. 2014. [3] Mohammad Reza Bonyadi, Zbigniew Michalewicz, Micha˘ o Roman Przyby˘ oek, and Adam Wierzbicki. Socially inspired algorithms for the travelling thief problem. In Proceedings of the 2014 conference on Genetic and evolutionary computation, pages 421–428. ACM, 2014.

[4] John Henry Holland. Adaptation in natural and artificial systems : an introductory analysis with applications to biology, control, and artificial intelligence. MIT press, 1992. [5] Jian-Qiang Hu and Brett Leida. Traffic grooming, routing, and wavelength assignment in optical wdm mesh networks. In INFOCOM 2004. Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies, volume 1. IEEE, 2004. [6] Manuel Iori and Silvano Martello. Routing problems with loading constraints. Top, 18(1) :4–27, 2010. [7] Scott Kirkpatrick, C Daniel Gelatt, Mario P Vecchi, et al. Optimization by simmulated annealing. science, 220(4598) :671–680, 1983. [8] Helena R Lourenço, Olivier C Martin, and Thomas Stützle. Iterated local search. Springer, 2003. [9] Zbigniew Michalewicz and David B Fogel. How to solve it : modern heuristics. Springer Science & Business Media, 2013. [10] Jossef Perl and Mark S Daskin. A warehouse locationrouting problem. Transportation Research Part B : Methodological, 19(5) :381–396, 1985. [11] Sergey Polyakovskiy, Mohammad Reza, Markus Wagner, Zbigniew Michalewicz, and Frank Neumann. A comprehensive benchmark set and heuristics for the traveling thief problem. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO), Vancouver, Canada, 2014. [12] YATO Takayuki and Seta Takahiro. Complexity and completeness of finding another solution and its application to puzzles. IEICE transactions on fundamentals of electronics, communications and computer sciences, 86(5) :1052– 1060, 2003.