La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Complexité des algorithmes exponentiels : application à lordonnancement Christophe LENTE Emmanuel NERON Ameur SOUKHAL Vincent TKINDT Laboratoire dInformatique.

Présentations similaires


Présentation au sujet: "Complexité des algorithmes exponentiels : application à lordonnancement Christophe LENTE Emmanuel NERON Ameur SOUKHAL Vincent TKINDT Laboratoire dInformatique."— Transcription de la présentation:

1 Complexité des algorithmes exponentiels : application à lordonnancement Christophe LENTE Emmanuel NERON Ameur SOUKHAL Vincent TKINDT Laboratoire dInformatique (EA 2101) Dépt. Informatique - PolytechTours Université François-Rabelais de Tours Mathieu LIEDLOFF Laboratoire dInformatique Fondamental dOrléans (EA 4022) Université dOrléans

2 Complexité des méthodes exponentielles Vincent Tkindt2 Plan de la présentation Enjeux du calcul de la complexité dalgorithmes exponentiels, Présentation de techniques usuelles, Application à deux problèmes dordonnancement, –Problème dordonnancement dintervalles avec multi-compétences, –Problème dordonnancement datelier de type Flowshop à deux machines.

3 Complexité des méthodes exponentielles Vincent Tkindt3 Enjeux On sintéresse aux problèmes doptimisation combinatoire, Minimiser Z(x) sous contrainte x S avec S, lensemble des solutions (définies par un ensemble de contraintes), x, une solution, Z(x), le critère à minimiser. (P)

4 Complexité des méthodes exponentielles Vincent Tkindt4 Enjeux On sintéresse à établir la complexité du problème ( ), Classe P : temps polynomial (borné par p(Long)), Classe NP-complet : temps non borné par p(Long), * Sens faible : temps borné par p(Long, Max), * Sens fort : « exponentiel » Classe NP-difficile : problèmes non montrés dans NP,

5 Complexité des méthodes exponentielles Vincent Tkindt5 Enjeux Pour les problèmes de la classe P, étude de la complexité algorithmique : –Complexité dans le pire des cas (notation O(X)), –Un algorithme est en O(f(Long)) ssi sa complexité est bornée par un polynôme de f(Long), Exemple: un algorithme est en O(n 2 ) si sa complexité est bornée supérieurement par g(n 2 ) avec g une fonction linéaire,

6 Complexité des méthodes exponentielles Vincent Tkindt6 Enjeux Que se passe-t-il dans le pire des cas pour des problèmes NP- difficiles ? ab c d ef g Ensemble stable maximum (MAX-STABLE) Entrée : un graphe G=(V,E) Objectif : trouver un plus grand stable de G, de cardinalité maximum. Un ensemble S est stable si les sommets de S sont deux à deux non adjacents.

7 Complexité des méthodes exponentielles Vincent Tkindt7 Enjeux Dans lexemple du problème « Ensemble stable maximum », –Le problème est NP-difficile, –Objectif : est-il possible de calculer une borne supérieure à la complexité dans le pire des cas dune méthode exponentielle ? Trivialement, par énumération exhaustive : O(f(n).2 n ) O*(2 n ), Peut-on faire mieux ? … oui en O*( n ) ! Kneis, J., Langer, A., Rossmanith, P. (2009). A fine-grained analysis of a simple independent set algorithm, Proceedings of the 29th Foundations of Software Technology and Theoretical Computer Science Conference (FSTTCS 2009).

8 Complexité des méthodes exponentielles Vincent Tkindt8 Enjeux Létude de la complexité dalgorithmes exponentiels connait un intérêt grandissant, Applications : problèmes issus de la théorie des graphes, Idée du projet : étudier comment les techniques de calcul peuvent être appliquées au domaine de lordonnancement, Union de compétences, –LIFO : compétences spécifiques en « algorithmes exponentiels », Mathieu Liedloff, –LI : compétences spécifiques en « ordonnancement », Christophe Lenté, Emmanuel Néron, Ameur Soukhal, Vincent Tkindt Projet subventionné par le GDR Recherche Opérationnelle (2009- ).

9 Complexité des méthodes exponentielles Vincent Tkindt9 Quelques techniques usuelles Un certain nombre de techniques ont déjà été utilisées, –Brancher & Réduire, –Inclusion-Exclusion, –Trier et Chercher, –Programmation dynamique, –Compression itérative, –Diviser pour Régner, –Recherche Locale, –… techniques utilisées par la suite

10 Complexité des méthodes exponentielles Vincent Tkindt10 Quelques techniques usuelles Les principes de la méthode Brancher & Réduire, –Une des premières méthodes (début 1960), –Basée sur la construction dun arbre de recherche, –On doit disposer dune fonction dévaluation du temps de calcul T, P0P0 P1P1 P2P2 Branchement : Décomposition du problème T(P 0 ) T(P 1 ) + T(P 2 ) Réduction : Règle permettant à un nœud de réduire la taille de linstance associée Arrêt : règle définissant quand on sait résoudre en temps polynomial un sous problème P j ou décider quil ny a pas de solution pour P j

11 Complexité des méthodes exponentielles Vincent Tkindt11 Quelques techniques usuelles Les principes de Inclusion-Exclusion, –Méthode particulière inspirée du dénombrement déléments présents dans lunion dun nombre fini densembles, Exemple à 3 ensembles : |A 1 A 2 A 3 |= |A 1 |+|A 2 |+|A 3 |-|A 1 A 2 |-|A 1 A 3 | -|A 2 A 3 |+|A 1 A 2 A 3 | A1A1 A2A2 A3A3 –Ce principe a notamment été appliqué sur le problème de k-coloration dun graphe : algorithme en O*(2 n ) mais espace exponentiel, Koivisto, M. (2006). An O*(2n) algorithm for graph coloring and other partitioning problems via inclusion- exclusion, Proceedings of the 47th IEEE Symposium on Foundations of Computer Science (FOCS 2006), pp Björklund, A., et Husfeldt, T. (2006). Inclusion-Exclusion algorithms for counting set partitions, Proceedings of the 47th IEEE Symposium on Foundations of Computer Science (FOCS 2006), pp

12 Complexité des méthodes exponentielles Vincent Tkindt12 Quelques techniques usuelles Trier & Chercher, –Méthode basée sur le principe suivant : Division en deux de linstance, Énumération des solutions pour chaque sous-instance (+tri), Concaténation des solutions partielles pour trouver une solution à linstance initiale. I1I1 I2I2 instance I S1S1 S2S2 O*(2 n/2 ) ? x 1 S 1 x 2 S 2 x Exemple : Problème du sac-à-dos. * S 1 trié par coût croissant, * S 2 trié par poids croissant, => Recherche dichotomique sur S 2 Algorithme en O*(2 n/2 ) O*( n )

13 Complexité des méthodes exponentielles Vincent Tkindt13 Problème dordonnancement dintervalles Définition du problème, –n tâches à réaliser, –Chaque tâche i est définie par : Un intervalle I i =[r i,D i ] avec D j =r j +p j, Une compétence requise c i. –m opérateurs sont disponibles, –Chaque opérateur P j est défini par un ensemble N j de compétences acquises. –Existe-t-il un ordonnancement des opérateurs pour réaliser toutes les tâches ? Problème polynomial si une seule compétence (coloration dun graphe dintervalles), Problème NP-difficile dans le cas général. I 1 (P 1,P 3 ) I 2 (P 2,P 3 ) I 3 (P 1,P 3,P 4 ) I 5 (P 1, P 4 ) I 4 (P 2,P 3,P 4 ) I 6 (P 2,P 3 ) temps

14 Complexité des méthodes exponentielles Vincent Tkindt14 Problème dordonnancement dintervalles Complexité de lénumération basique Enum, –On a au plus m n ordonnancement des opérateurs, –Complexité en O*(m n ) = O*(2 n.log(m) ), I 1 (P 1,P 3 ) I 2 (P 2,P 3 ) I 3 (P 1,P 3,P 4 ) I 5 (P 1, P 4 ) I 4 (P 2,P 3,P 4 ) I 6 (P 2,P 3 ) temps I 1,P 1 I 1,P 3 I 2, P 2 I 2, P 3 … n niveaux au plus m nœuds fils par noeud

15 Complexité des méthodes exponentielles 1 ère approche : réduction au problème MAX-STABLE, –Modélisation par un graphe ayant N=mn sommets au plus, –Le problème MAX-STABLE peut être résolu en O*( N ), => Le problème dordonnancement est en O*( mn ) –Meilleur que Enum dès lors que m 13, Vincent Tkindt15 Problème dordonnancement dintervalles I 1 (P 1,P 3 ) I 2 (P 2,P 3 ) I 3 (P 1,P 3,P 4 ) I 5 (P 1, P 4 ) I 4 (P 2,P 3,P 4 ) I 6 (P 2,P 3 ) temps (I 4, P 2 ) (I 4, P 3 ) (I 3,P 3 ) (I 1, P 1 ) (I 1, P 3 ) (I 3,P 1 )(I 3,P 4 ) (I 2, P 3 ) (I 2, P 2 ) (I 4, P 4 ) (I 5, P 4 ) (I 5, P 1 ) (I 6, P 2 ) (I 6, P 3 ) P1P1 P1P1 P1P1 P3P3 P2P2 P3P3

16 Complexité des méthodes exponentielles I 2 (P 2,P 3 ) 2 nde approche : réduction au problème LIST-COLORING, Vincent Tkindt16 Problème dordonnancement dintervalles I 1 (P 1,P 3 ) I 2 (P 2,P 3 ) I 3 (P 1,P 3,P 4 ) I 5 (P 1, P 4 ) I 4 (P 2,P 3,P 4 ) I 6 (P 2,P 3 ) temps I 1 (P 1, P 3 ) I 3 (P 1,P 3,P 4 ) I 4 (P 2,P 3,P 4 ) I 5 (P 1, P 4 ) I 6 (P 2,P 3 ) Coloration de liste (LIST-COLORING) Entrée : un graphe G=(V,E), une liste de couleurs autorisées par sommet Question : Existe-t-il une coloration des sommets de G ?

17 Complexité des méthodes exponentielles I 2 (P 2,P 3 ) 2 nde approche : réduction au problème LIST-COLORING, Vincent Tkindt17 Problème dordonnancement dintervalles I 1 (P 1,P 3 ) I 2 (P 2,P 3 ) I 3 (P 1,P 3,P 4 ) I 5 (P 1, P 4 ) I 4 (P 2,P 3,P 4 ) I 6 (P 2,P 3 ) temps I 1 (P 1, P 3 ) I 3 (P 1,P 3,P 4 ) I 4 (P 2,P 3,P 4 ) I 5 (P 1, P 4 ) I 6 (P 2,P 3 ) –Par la méthode Inclusion-Exclusion le problème LIST-COLORING peut être résolu en temps O*(2 n ) et espace exponentiel, Björklund, A., Husfeldt, T., M. Koivisto (2009). Set partitioning via Inclusion-Exclusion, SIAM Journal on Computing, 39(2):

18 Complexité des méthodes exponentielles 2 nde approche : réduction au problème LIST-COLORING, –Résolution par la Programmation Dynamique, –On suppose que D 1 D 2 … D n, –La fonction de récurrence Opt[i,l 1,…,l m ] est définie comme suit: i -> {1,..,i}, l j -> date de fin au plus tard des intervalles de couleur j (opérateur P j ), Vincent Tkindt18 Problème dordonnancement dintervalles I 1 (P 1,P 3 ) I 2 (P 2,P 3 ) I 3 (P 1,P 3,P 4 ) temps P1P1 P1P1 P3P3 l3l3 Opt[i,l 1,…,l m ]=vrai Opt[i,l 1,…,l m ]=faux Condition initiale : Opt[0, l 1,…,l m ]=vrai Sil existe une coloration de liste sur lensemble {1,…,i} telle que j=1,…,m, il ny a pas dintervalle k {1,…i} de couleur j avec D k >l j. Sinon

19 Complexité des méthodes exponentielles 2 nde approche : réduction au problème LIST-COLORING, –On pose R i ={1um / D i l u et I i peut être traité par P u }, –La fonction de récurrence Opt[i,l 1,…,l m ] peut être réécrite : Vincent Tkindt 19 Problème dordonnancement dintervalles Opt[ i, l 1,…, l m ]= u Ri Opt[ i-1, l 1,…, l u =r i,…, l m ] Faux i =1,…,n Opt[0, l 1,…,l m ]=vrai l 1,…,l m I 1 (P 1,P 3 ) I 2 (P 2,P 3 ) I 3 (P 1,P 3,P 4 ) I 5 (P 1, P 4 ) I 4 (P 2,P 3,P 4 ) I 6 (P 2,P 3 ) temps i=3, u=4, Opt[3,l 1,l 2,l 3,l 4 =r 3 ]=vrai l4l4 Pour chaque entrée de Opt[ ] on a n valeurs possibles : => complexité temporelle et spatiale en O*(n (m+1) ) Le problème devient polynomial à m fixé.

20 Complexité des méthodes exponentielles 2 nde approche : réduction au problème LIST-COLORING, –Fonctionnement de lalgorithme, (i) Calcul des m-uplets (l 1,…,l m ) pertinents en partant de i=m, –… Vincent Tkindt 20 Problème dordonnancement dintervalles (ii) Calcul des valeurs de Opt en partant de i=0, n=4, m=3 r=[0;2;1;4], D=[3;5;6;7], D max =7 I 1 (P 1,P 2 ) I 2 (P 2,P 3 ) I 3 (P 1,P 2,P 3 ) I 4 (P 1,P 3 ) temps {1,2,3,4} => (7,7,7) {1,2,3} => (4,7,7) et (7,7,4) {1,2} => (4,1,7), (4,7,1), (1,7,4) et (7,1,4) {1} => (4,1,2), (4,2,1) et (1,2,4) => (0,1,2), (0,2,1). i(0,1,2)(0,2,1) 0Vrai i(4,1,2)(4,2,1)(1,2,4) 1Vrai Faux … Opt[ i, l 1,…, l m ]= u Ri Opt[ i-1, l 1,…, l u =r i,…, l m ] Faux

21 Complexité des méthodes exponentielles Comparaison des approches, Vincent Tkindt 21 Problème dordonnancement dintervalles EnumMAX-STABLELIST-COLORINGLIST-COLORING (PD) Complexité temporelle O*(2 n.log(m) )O*( m.n )O*(2 n )O*(n (m+1) ) LIST-COLORING (PD) domine LIST-COLORING si la relation suivante est vérifiée : m n/log 2 (n) - 1 EnumMAX-STABLE LIST-COLORING m temps 3 13

22 Complexité des méthodes exponentielles Vincent Tkindt22 Problème dordonnancement flowshop Définition du problème, –2 machines de traitement, –n travaux J i à réaliser, –Chaque travail J i est défini par : a i, sa durée sur la machine 1, b i, sa durée sur la machine 2, d i, sa date de fin souhaitée. –Flowshop : machine 1 -> machine 2, –Permutation : la séquence sur les 2 machines est la même, –Contrainte particulière : d i =d, i=1,…,n, et d est à calculer. temps i i aiai bibi C i,1 C i,2 didi d Machine 1 Machine 2 Une solution : une séquence s=(,,,, ), une date due commune d.

23 Complexité des méthodes exponentielles Vincent Tkindt23 Problème dordonnancement flowshop Définition du problème, –Problème bicritère : Minimiser d, Minimiser U= i U i avec U i =1 si C i,2 >d (0 sinon). –Approche -contrainte pour le calcul dun optimum de Pareto, Minimiser d sc U = avec une valeur donnée d=15 temps U=2 F2UD est NP-difficile au sens faible. Note : si on connait les travaux en avance, alors la valeur de d peut être obtenue en temps polynomial (ordre de Johnson) F2 UD Jonhson, S.M. (1954). Optimal two and three stage production schedules with set-up time included, Naval Research Logistics Quarterly, 1:61-68.

24 Complexité des méthodes exponentielles Vincent Tkindt24 Problème dordonnancement flowshop Complexité de lénumération basique Enum, –Arbre binaire (J i en avance/en retard), –Complexité en O*(2 n ), J 1 / A J 1 / R J 2 / A J 2 / R … n niveaux au plus 2 nœuds fils par noeud J 2 / A J 2 / R

25 Complexité des méthodes exponentielles Vincent Tkindt25 Problème dordonnancement flowshop 1 ère approche : Trier & Chercher (TriChe), –Propriété préliminaire : –On va créer deux tables T 1 et T 2 par division de linstance, Notations : A(s) = i s a i, B(s) = i s b i, C(s) = C max (s). Propriété : Soient s 1 et s 2 deux sous-séquences telles que s=s 1 // s 2 est classée selon lordre de Johnson. On a C max (s)=max(A(s 1 )+C(s 2 );C(s 1 )+B(s 2 )). A(s 1 ) C(s 1 ) C(s 2 ) B(s 2 ) C max (s)

26 Complexité des méthodes exponentielles Vincent Tkindt26 Problème dordonnancement flowshop 1 ère approche : Trier & Chercher (TriChe), Notations : A(s) = i s a i, B(s) = i s b i, C(s) = C max (s), C min (s i ) = min ji C(s j ), B min (s i ) = min ji B(s j ). Table T 1 : chaque colonne correspond à un ordonnancement s j de (n/2 - 1 ) travaux, Table T2 : chaque colonne correspond à un ordonnancement s k de (n/2 - 2 ) travaux, avec = => Chaque table contient au plus 2 n/2 colonnes. Duplication

27 Complexité des méthodes exponentielles Vincent Tkindt27 Problème dordonnancement flowshop 1 ère approche : Trier & Chercher (TriChe), Notations : A(s) = i s a i, B(s) = i s b i, C(s) = C max (s), C min (s i ) = min ji C(s j ), B min (s i ) = min ji B(s j ). d min =+ Pour 1 =0.. /* max n +1 valeurs */ Construire T 1, T 2, T 2 /* O*(2 n/2 ) */ Pour s 1 T 1 /* O*(2 n/2 ) */ s j T 2 / argmin(C(s j )-B(s j ) C(s 1 )-A(s 1 )) d min =min(d min ;A(s 1 )+C min (s j )) /* O*(n/2) */ A(s 1 ) C min (s j ) d min ? (n ) travaux

28 Complexité des méthodes exponentielles Vincent Tkindt28 Problème dordonnancement flowshop 1 ère approche : Trier & Chercher (TriChe), Notations : A(s) = i s a i, B(s) = i s b i, C(s) = C max (s), C min (s i ) = min ji C(s j ), B min (s i ) = min ji B(s j ). d min =+ Pour 1 =0.. /* max n +1 valeurs */ Construire T 1, T 2, T 2 /* O*(2 n/2 ) */ Pour s 1 T 1 /* O*(2 n/2 ) */ s j T 2 / argmin(C(s j )-B(s j ) C(s 1 )-A(s 1 )) d min =min(d min ;A(s 1 )+C min (s j )) /* O*(n/2) */ s j T 2 / argmin(C(s j )-B(s j ) C(s 1 )-A(s 1 )) d min =min(d min ;C(s 1 )+B min (s j )) /* O*(n/2) */ d min ? (n ) travaux C(s 1 ) B min (s j )

29 Complexité des méthodes exponentielles Vincent Tkindt29 Problème dordonnancement flowshop 1 ère approche : Trier & Chercher (TriChe), Lalgorithme TriChe est en O*(2 n/2 ) O*( n ) et espace exponentiel.

30 Complexité des méthodes exponentielles Vincent Tkindt30 Problème dordonnancement flowshop 2 nde approche : Brancher et Réduire (BraRed), –Etude en cours, –Basée sur lhypothèse suivante : J i, on note n i A (resp. n i R ) le nombre de travaux nécessairement en avance (resp. en retard) si J i est ordonnancé en avance (resp. en retard). Comment calculer les n i A et n i R ? A laide de conditions de dominance. Lemme : Soient deux travaux J i et J j tels que a i a j et b i b j. Il existe un ordonnancement optimal dans lequel : (i) Si J i est ordonnancé en retard, J j lest également, (ii) Si J j est ordonnancé en avance, J i lest également.

31 Complexité des méthodes exponentielles Vincent Tkindt31 Problème dordonnancement flowshop 2 nde approche : Brancher et Réduire (BraRed), –Mesure du temps de calcul T(n, ) : T(n, ) = T(n-1-n i A, ) + T(n-1-n i R, -1-n i R ) Posons u=n+. On a alors : T(u) = T(u n i A ) + T(u n i R ). –Cas le plus défavorable : i, max(n i A,n i R )=0. Supposons que T(u)=c u. Par résolution numérique, on obtient : T(u) u = (n+ ) BraRed domine Enum dès que

32 Complexité des méthodes exponentielles Vincent Tkindt32 Problème dordonnancement flowshop 2 nde approche : Brancher et Réduire (BraRed), –Cas « possible » : i, max(n i A,n i R )1. Supposons que T(u)=c u. Par résolution numérique, on obtient : T(u) u = (n+ ) BraRed domine Enum BraRed ne domine pas TriChe. –Extensions : autres mesures du temps T / définition de u. P0P0 P1P1 P2P2 J i en avanceJ i en retard

33 Complexité des méthodes exponentielles Comparaison des approches, Vincent Tkindt 33 Problème dordonnancement flowshop EnumTriCheBraRedBraRed (2) Complexité temporelle O*(2 n )O*( n )O*( n+ )O*( n+ ) Enum BraRed TriChe n/ temps

34 Complexité des méthodes exponentielles A priori intérêt purement théorique, Challenge : établir la complexité dans le pire des cas dun algorithme exponentiel exact précis… … et non pas mettre au point un algorithme exponentiel dont on peut calculer la complexité dans le pire des cas. Vincent Tkindt 34 Conclusions


Télécharger ppt "Complexité des algorithmes exponentiels : application à lordonnancement Christophe LENTE Emmanuel NERON Ameur SOUKHAL Vincent TKINDT Laboratoire dInformatique."

Présentations similaires


Annonces Google