Académique Documents
Professionnel Documents
Culture Documents
DERBALA Ali
Chapitre 8 : Rsolution approche des problmes difficiles Le but de ce chapitre est de prsenter une classe de mthodes pour rsoudre les problmes d'optimisation combinatoire NP-difficiles : les heuristiques et les mta-heuristiques. 1. Les heuristiques : Prsentation gnrale Une mthode approche ou heuristique pour un POC est un algorithme qui a pour but de trouver une solution ralisable, tenant compte de la fonction objectif, mais sans garantie
problmes NP-difficiles et la conjecture P NP fait qu'il est peu probable qu'il en existe. Les mthodes exactes ont une complexit exponentielle sur ces problmes, et seules les heuristiques peuvent rsoudre des cas de grande taille. En pratique, on trouve beaucoup de problmes mal formuls, ou ayant de nombreuses contraintes, ou encore de complexit inconnue. Mme si le problme est facile, l'ajout de dpart une approche heuristique, beaucoup plus facile modifier. inventer. On distingue cependant les grands types suivants qui vont tre dtaills. nouvelles contraintes peut le rendre NP-difficile. Dans ces conditions, il vaut mieux ds le Il existe un trs grand nombre d'heuristiques selon les problmes traiter, et il est ais d'en a) mthodes construisant une seule solution, par une suite de choix partiels et dfinitifs. On faire le choix le plus avantageux.
b) Recherches locales, appeles recherches de voisinages (neighborhood or local search). On solutions de cots dcroissants. Le processus s'arrte quand on ne peut plus amliorer la solution courante. c) Recherches globales ( global search ). Une recherche locale peut tre pige dans un heuristiques" sortent de ces piges en construisant aussi une suite de solutions, mais dans
2. Evaluation des heuristiques Le problme de l'valuation des heuristiques est crucial. Elles n'offrent aucune garantie d'optimalit : elles peuvent trouv l'optimum pour certaines donnes ou en tre trs loignes.
minimum local. Les mthodes dites de recherche globale, appeles aussi " mta-
IV
ER
SI
part d'une solution initiale et par transformations successives, on construit une suite de
TE
SA
les appelle " mthodes gloutonnes " ( greedy ) quand elles cherchent chaque itration
129
LA
BL
ID
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
Supposons qu'on tudie un POC pour lequel on dispose dj d'une mthode exacte, optimale, de rfrence. Pour une heuristique H et une donne d, on note H(d) le cot de la solution heuristique et OPT(d) le cot optimal. On appelle " performance relative " de H sur d le quotient RH(d) = de minimisation, RH(d) 1. On prfre parfois " la distance l'optimum " en % : de l'algorithme. H (d ) . Pour un problme opt (d)
relative peut tre borne priori ou tre imprvisible et constate posteriori, aprs excution
2.1. Evaluation priori : performance relative au pire ( worst case performance ratio ) On appelle performance relative au pire PH d'une heuristique H sa plus mauvaise performance relative sur l'ensemble des donnes possibles, PH = max{R H (d)} . {d}
une heuristique H avec un PH = 1.5 pour un POC donn signifie que cette heuristique n'est un cart de 50% semble dcevant mais certains problmes difficiles n'ont mme pas d'heuristique avec une performance relative au pire gale une constante c. Les pires carts l'optimum sont souvent obtenus sur des problmes thoriques construits Les heuristiques peuvent tre trs bonnes en moyenne sur des problmes pratiques. exprs.
On n'a pas pu trouver pour les performances relatives au pire, l'quivalent de la transformation polynomial des problmes NP-complets. Par consquent, une bonne heuristique pour un problme NP-difficile ne permet pas d'en dduire une aussi bonne pour un autre problme NP-complet. 2.2. Evaluation posteriori a) bornes infrieures de l'optimum
IV
ER
SI
TE
SA
rsultat est en gnral trs difficile obtenir et on n'en connat que pour quelques problmes.
construit une donne montrant que ce pire cas peut tre effectivement atteint. Ce genre de
Les dmonstrations se font en deux temps : on borne RH(d) pour toute donne d, puis on
130
C'est une garantie de performance, qu'on obtient mathmatiquement par analyse thorique de
LA B
BL I
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
Le plus souvent, on ne sait pas tablir mathmatiquement le comportement au pire. On ne peut alors valuer les rsultats qu'aprs excution de l'heuristique H. Pour valuer le rsultat pour une donne d, on peut calculer la performance relative RH(d) condition de connatre l'optimum. Mais il n'existe pas de mthode exacte de complexit polynomiale pour les problmes NP-difficile. La valeur exacte de l'optimum n'est donc pas calculable en une dure acceptable pour les POC de grande taille. On peut cependant obtenir une valuation moins serre si on dispose d'une "valuation par dfaut", un minorant, B(d) pour l'optimum opt(d). H (d ) H (d ) . opt (d) B(d)
toujours trouver des bornes infrieures, mmes grossires, de l'optimum opt(d). b) Evaluation statistique
Mme si on connat la performance relative au pire, elle peut tre trs mauvaise ou atteinte seulement sur des cas particuliers. L'heuristique peut tre bonne en moyenne. Une valuation alatoirement une srie de problmes, qui comprend typiquement 100 problmes. Pour chaque sur un fichier le numro du problme, la borne infrieure calcule, et l'optimum opt(d) si on statistique est recommande. Pour valuer k heuristiques H1, H2,, Hk, on gnre
pour une srie de problmes peut se faire par le programme qui a excut les heuristiques, par un programme spar ou par un logiciel de statistiques. 3. Recherches locale et globales 3.1. Mthodes de recherche locale procder, itrativement en examinant le voisinage de la solution courante, dans l'espoir d'y
dtecter des directions de recherche prometteuses. Dans les problmes d'optimisation sur un espace continu, cette ide se concrtise, dans des mthodes de gradient ( steepest descent ) dont on peut prouver, sous certaines hypothses ( rgularit, convexit ou concavit de la
fonction optimiser, la convexit de l'ensemble des solutions admissibles ), qu'elles conduisent un optimum global. Lorsqu'on travaille sur un ensemble discret de solutions, on peut appliquer, un algorithme de descente ( ou de plus forte descente ) si l'on dispose :
Rsolution approche des problmes difficiles 131
IV
Une des ides les plus fcondes et les plus utilises dans les mthodes d'optimisation est de
ER
SI
TE
SA
dispose d'une mthode exacte. Pour chaque problme et chaque heuristique, on note les
matrice de donnes, on excute les k heuristiques valuer. On stocke dans des tableaux ou
LA
BL
En particulier si H(d) = B(d), alors on s'est " posteriori" qu'on a atteint l'optimum. On peut
ID
Alors RH(d) =
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
d'une notion de voisinage qui structure l'espace de solutions; d'un moyen efficace pour trouver la meilleure ( ou une bonne ) solution dans le voisinage d'une solution quelconque.
son voisinage. Ce qui est la dfinition d'un optimum local. Un schma gnral d'algorithme de descente est du type: Algorithme 1 ( de descente )
Si = ( 1, 2, , n ) est une permutation de tches : le voisinage " k-opt" : toutes les permutations qui peuvent s'obtenir en rejetant k tches
minimum local. Leur conception commence par l'tude d'une recherche locale, dfinition d'un voisinage avec transformations simples, que l'on promet en recherche globale si elle s'avre insuffisante. Il s'agit des mthodes appeles aussi " Mta-heuristiques ".
Ces mthodes sont des recherches locales modifies dans l'espoir d'viter le pigeage dans un
IV
ER
C'est ce type de voisinage qui est utilis dans une heuristique de descente.
SI
de la permutation courante.
TE
SA
On suppose que pour toute solution x , il est dfini un ensemble V() de solution voisines de x . Initialisation : soit x0 , une solution courante; Etape n : soit xn , la solution courante; Slectionner une solution x* V(xn ); Si F(x*) F(xn ); Faire xn+1 = x* et passer l'tape n + 1 Sinon xn est la meilleure solution trouve; Stop.
132
LA
BL I
L'algorithme s'arrte lorsque la solution courante est meilleure que la solution courante dans
l'on trouve une solution meilleure que la solution courante dans le voisinage de celle-ci.
Partant d'une solution initiale quelconque, on progresse alors " de proche en proche ", tant que
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
puis on tire au sort une valeur p de [ 0, 1]. Si p a, la transformation est accepte bien qu'elle dgrade le cot, et on fait s : = s'. Sinon, la transformation est rejete : on conserve s pour l'itration suivante. = n T, k < 1 mais proche de un. On peut aussi dcrotre T par paliers. Pour tre efficace, un recuit doit diminuer T assez lentement, en plusieurs milliers ou dizaines de milliers d'itrations. Il dure beaucoup plus longtemps qu'une recherche locale. On s'arrte quand T atteint un seuil fix , proche de zro. Le rglage des paramtres est Pour assurer la convergence, T est diminue lentement chaque itration, par exemple T :
assez dlicat. Il est prudent de prvoir deux tests d'arrt supplmentaires : un limitant le nombre d'itrations une valeur MaxIter, et un limitant le nombre d'itrations sans changement de cot une valeur MaxGel. MaxGel doit tre assez grand. Contrairement une recherche locale, un recuit simul o un refroidissement trop rapide donne une solution finale qui n'est pas la meilleure trouve.
IV
ER
SI
TE
SA
temprature est basse et que (f) est grand. Une fonction exponentielle a les proprits
T
Si (f) > 0, le cot remonte, c'est un rebond, qu'on va pnaliser d'autant plus que la
LA
E
,
133
simul s'obtient :
BL
ID
nombreux dfauts microscopiques, c'est l'quivalent d'un minimum local pour un POC. Si on
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
Il vaut mieux stocker en cours de route toute solution amliorante. Les valeurs typiques sont MaxIter = 10.000, = 10-2, MaxGel = 200, k = 0.9995. Algorithme 2 ( Gnral du recuit simul ) Le schma gnral du recuit est : Construire une solution initiale quelconque s Z* : = f(s) { meilleur cot obtenu } S* : = s { meilleure solution connue } Initialiser T et Initialiser MaxIter et MaxGel NIter : = 0 { nombre d'itrations} NGel : = 0 { nombre d'itrations sans amliorations } Rpter NIter : = NIter + 1 Tirer au sort une solution s' dans V(s) Calculer la variation de cot (f). Si (f) < 0 Alors Accept : = vrai Sinon Tirer au sort p dans [ 0, 1] Accept : = p exp(-(f)/T) FS Si Accept alors Si (f) = 0 alors NGel : = Ngel + 1 Sinon NGel : = 0 Si f(s') < Z' alors Z* : = f(s') S* : = s' FS S : = S' FS T : = kT Jusqu' ( T ) ou ( NbIter = MaxIter ) ou ( NGel = MaxGel )
U N
IV
ER
SI
TE
SA
134
LA
BL I
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
On conserve la meilleure solution trouve, contrairement au recuit, c'est rarement la dernire. On stoppe aprs un nombre maximal d'itrations sans amliorer la meilleure lequel le voisinage tout entier peut se retrouver enferm dans T. l'heuristique va s'chapper de la rgion V(s) en empruntant un " col ". solution ou quand V(s) - T = . Il ne se produit que sur de trs petits problmes pour
b) la liste tabou
Le point dlicat est la capacit NT de la liste taboue T. Glover montre que NT de 7 20 suffit pour empcher les cyclages, quelle que soit la taille du problme. A chaque itration, la NT-ime transformation de T, la plus ancienne, est crase par la file ". En thorie, il faudrait stocker les NT dernires solutions sur lesquelles l'algorithme est T fonctionne comme une " mmoire court terme ".
pass. En ordonnancement, il faudrait conserver les NT dernires permutations des n tches. Si la solution actuelle es " s ", la prochaine solution sur laquelle on va se dplacer doit tre
dans V(s) - T. Il faut vrifier que la permutation gnre n'est pas dj dans T.
IV
dernire effectue. En pratique, T se gre simplement avec une structure de donnes de type "
ER
SI TE
SA
minimum local. Les amliorations deviennent de plus en plus rares au cours des itrations.
recherche locale. On voit ensuite le cot osciller puis redescendre vers un meilleur
135
En dbut de calcul, la mthode trouve une suite de solutions amliores, comme une
Une mthode taboue chappe aux minima locaux, mme si s est un minimum local,
LA
BL
ID
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
Les voisinages considrs tant souvent grands, il est vident que le test rptitif de prsence dans T est trs coteux, sans parler de la mmoire ncessaire pour coder le dtail de NT solutions. Le stockage explicite des solutions n'est donc jamais pratiqu. On recommande les critres moins coteux pour viter le cyclage. Ces critres sont aussi plus restrictifs : ils peuvent interdire certains mouvements qui ne conduiraient pas un cyclage. Les plus utiliss de ces critres consiste stocker dans T les transformations ayant permis de changer de solution, et d'interdire de faire les transformations inverses pendant NT itrations, dans une permutation pendant NT itrations. Un critre plus simple est d'interdire d'utiliser les on stockerait les deux tches permutes chaque itration, et on s'interdirait de les remettre NT dernires valeurs de la fonction objectif. Il suffit de stocker un nombre par itration. Algorithme 3 : ( gnral Tabou )
Construire une solution initiale " s " et calculer son cot Z = f(s) Z* : = Z { meilleur cot obtenu } S* : = s { meilleure solution connue } Initialiser MaxIter { nombre maximum d'itrations } T : = { la liste tabou T est vide } NIter : = 0 Rpter NIter : = NIter + 1 {exploration du voisinage V(s) de s } Z" : = + Pour toute solution s' de V(s) Si s' T alors { si s' n'est pas taboue } si f(s') < Z" alors { mise jour du voisin " le moins pire " } s" : = s' Z" : = f(s') Stocker l'inverse de la transformation dans u FS FS FP Si Z" < + alors { si un voisin non tabou a t trouv } S : = s" Z : == Z" Enlever la transformation en tte de T ( la plus ancienne ) Ajouter u en fin de T Si Z < Z" alors { mise jour de la meilleure solution } S* : = s Z* : = Z FS FS Jusqu' ( NIter = MaxIter ) ou ( Z" = + )
IV ER
SI TE
SA A
136
LA
BL
ID
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
IV
ER
SI
TE
SA
137
LA
BL I
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
Algorithme 4 ( gntique ) Initialisation : soit X(0) X, une population initiale; Etape n : soit X(n) X, la population courante; slectionner dans X(n) un ensemble de paires de solutions da haute qualit; appliquer chacune des paires de solutions slectionnes un oprateur de croisement qui produit une ou plusieurs solutions " enfants ". remplacer une partie de X(n) forme de solutions de basse qualit par des solutions enfants de haute qualit;
basse qualit ", comporte gnralement un aspect alatoire. Chaque individu xi de la d'autant plus grande que son valuation est haute ( basse dans le cas d'une slection de " k 1 L'individu " k " est choisi tel que : i =1
p i < ri
La probabilit que xk soit choisi est aussi bien gale pk. Cette procdure est appele " la roulette russe ". La procdure est itre jusqu' ce que l'on chois un nombre fix d'individus. b) Le croisement
Soit deux solutions x et y slectionnes parmi les solutions de haute qualit. Un oprateur de croisement ( croosover) fabrique une ou deux nouvelles solutions x' et y' en combinant x et y. Si x et y sont deux vecteurs de 0 et 1, un oprateur de croisement classique ( two-point
crossover ) consiste slectionner alatoirement deux positions dans les vecteurs et permuter les squences de 0 et 1 figurant entre ces deux positions dans les deux vecteurs. Pour des vecteurs x = 0 1 1 0 1 1 0 0 et y = 1 1 0 0 1 0 1 0, si les positions " aprs 2 " et " aprs 5 " sont choisies, on obtient aprs croisement :
Rsolution approche des problmes difficiles 138
IV
ER
SI TE
SA
mauvais individus "). On tire un nombre " r " au hasard ( uniformment sur [ 0, 1] ).
i =1
pi .
population parmi laquelle se fait la slection se voit attribuer une probabilit pi d'tre choisi
LA
La slection aussi bien celle des individus de " haute qualit " que celle des individus de "
BL I
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
x' = 0 1 001100
et y' = 1 1 1 0 1 0 1 0.
De nombreuses variantes d'un tel oprateur peuvent tre imagines. Ces variantes doivent tre adaptes au codage des solutions et favoriser la transmission des " bonnes sous-structures " des solutions parents aux enfants. Pour le problme d'ordonnancement avec le codage liste des tches ne convient pas. x = A B C D E F G H et y = B E F H A D G C, en croisant entre les positions " aprs 2 " et " aprs 5 ", on obtiendrait : x' = A B F H A F G H et y' = B E C D E D G C qui ne sont pas des permutations.
x' = D E F H A G B C et y' = H A C D E G B F. Un certain nombre de paires d'enfants sont ainsi gnrs et remplacent une partie des parents
Une mutation est une perturbation introduite pour modifier une solution individuelle, par Dans l'ordonnancement de type permutation, une mutation peut tre une permutation
arbitraire de deux tches. En gnral, on dcide de muter une solution avec une probabilit assez faible. Le but de la mutation est d'introduire un lment de diversification et d'innovation.
IV
ER
c) La Mutation
SI
TE
SA A
On procde alors l'change des squences, ce qui donne deux permutations enfants x' et y' :
139
d'change, alors que l'ordre de parcours des autres tches n'a pas t chang. On procde de
LA
Pour ce faire, on remplace chacune des villes F, H et A dans le vecteur x par une place vide
Dans cette exemple de tches, la zone d'change de x est prpare accueillir la squence des
BL
implmente l'ide suivante. Les deux solutions parentes sont " prpares " avant l'change des
ID
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
Bibliographie et Rfrences [Aus03] Ausiello, G, Crescenzi, P, Gambosi, G, Kann, V, Marchetti-Spaccamela, A et Protasi, M. Complexity and Approximation. Combinatorial optimization problems and their approximability properties. Springer 2003. [Bak74] Baker, K.R. Introduction to sequencing and scheduling. John Wiley & sons, Inc. 1974. [Bla77] Blazewicz, J. Simple algorithms for multiprocessor scheduling to meet deadlines, [Bla76a] Blazewicz, J ; Cellary, W ; Slowinski, R and Weglarz, J. niezaleznych Podstawy sterowania, No. 6, pp. 155-178.1976. reduce schedule length, Acta Cybernitica 3, pp. 99-106, 1977. Deterministyczne Infor. Process. Lett.6, pp. 162-64, 1977.
[Bru76b] Brucker, P.J. Sequencing unit-time jobs with treelike precedence on m machines to Programming, Budapest, 1976.
[Bru77] Brucker, P ; Garey, M.R and Johnson, D.S. Scheduling equal-length tasks under treelike precedence constraints to minimize maximum lateness, Math. Oper. Res.2, pp. 275284, 1977. [Bru74] Bruno, J ; Coffman, E.J Jr. And Sethi, R. Scheduling independent tasks to reduce mean finishing time, Comm. ACM 17, pp. 382- 387, 1974. [Chen75] Chen, N.F and Liu, C.L. On a class of scheduling algorithms for multiprocessors science 24, Springer Verlag, pp. 1-16, 1975. [Con67]Conway, R.W, Maxwell, W.L and Miller, L.W. Theory of scheduling, AddisonWesley, Reading, Mass. 1967.
[Cof72] Coffman, E.G Jr. and Graham, R.L. Optimal scheduling for two-processor systems, Acta Informatica, NO1. , pp. 200-213, 1972. [Cof 76a] Coffman, E.G Jr. . Scheduling in computer and job shop systems. J. Wiley, 1976. [Cof76b] Coffman, E. Jr and Sethi, R. A generalized bound on LPT sequencing, RAIROInformatique, No10, pp. 17-25, 1976.
Rsolution approche des problmes difficiles 140
IV ER
computing systems, in T.Y Feng edition, Parallel processing, Lecture notes in computer
SI TE
SA A
LA
[Bla94] Blazewicz, J ; Ecker, K.H ; Schmidt, G and Weglarz, J. Scheduling in computer and
[Bla77] Blazewicz, J ; Cellary, W and Weglarz, J. A strategy for scheduling splittable tasks to
BL
ID
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
[Cof84] Coffman, E.G Jr, Frederickson, N and Luecker, G.S. A note on expected makespan for largest-first sequences of independent task on two processors, Mathematics of Operations Research. No9, pp. 260-266, 1984. [Cof91] Coffman, E.G Jr. And Gary, M.R. Proof of the 4/3 conjecture for preemptive versus non-preemptive two-processor scheduling, Report Bell Laboratories, Murray Hill, 1991. [Du88] Du, J ; Leung, Y.T and Young, G.H. Minimizing mean flow time with release time constraints, Technical report, Computer Science Program , University of Texas, Dallas, [Du91] Du, J ; Leung, Y.T and Young, G.H. Scheduling chain structured tasks to minimize [Eas64] Eastman, W.L, Evon, S and Isaacs, I.M. Bounds for the optimal scheduling of n jobs on m processors. Management science, vol. 11, No.2, pp., Nov-1964. [Fed86] Federgruen, A and Groenevelt, H. Preemptive scheduling of uniform machines by [Gar76] Garey, M.R and Johnson, D.S. Scheduling tasks with non-uniform deadlines on two processors, J. Assoc. Comput. Mach. 23, pp. 461-426, 1976. deaadlines, SIAM J. Compt. 6, pp. 416-426. 1977. 1988. makespan and mean flow time, Inform. And Compt. 92, pp. 219-236, 1991.
[Gar81] Garey, M.R ; Johnson, D.S ; Simons, B.B and Tarjan, R.E. Scheduling unit time tasks [Gar83] Garey, M.R ; Johnson, D.S ; Tarjan, R.E and Yannakakis, M. Scheduling opposing forests, SIAM Journal Algebraic and discrete mathematics, No4. , pp. 72-93, 1983. [Gon77] Gonzalez, T. Optimal mean finish time preemptive schedules, Technical report 220 ; Computer science department, Pensylvania state Univ. 1977. J. Assoc. Comput. Mach. 27, pp. 287-312, 1980. [Gon78] Gonzalez, T and Sahni, R. Preemptive scheduling of uniform processor systems. J. Assoc. Comput. Mach., No. 25, pp.92-101, 1978. [Got04] Groupe Gotha. Sous la coordination de P. Baptiste, E. Nron et F. Sourd. Modles et [Gon80] Gonzalez, T and Johnson, D.S. A new algorithm for preemptive scheduling of trees,
algorithmes en ordonnancements. Exercices & problmes corriges. Ellipses, 2004. [Gra66] Graham, R.L. Bounds for certain multiprocessing anomalies, Bell System Technology Journal, No 45, pp. 1563-1581. 1966.
IV
ER SI
TE
SA
with arbitrary release times and deadlines, SIAM J. Comput. 10, pp. 256- 269, 1981.
141
[Gar77] Garey, M.R and Johnson, D.S. Two-processor scheduling tasks with start-times and
LA
ordinary network flow techniques, Management Sciences 32, pp. 341-349, 1986.
BL I
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
[Gra79] Graham, R.L ; Lawler, E.L ; Lenstra, J.K and Rinnooy Kan, A.H.G. Optimization and approximation in deterministic sequencing and scheduling theory : a survey, Annals of discrete mathematics, No. 5, pp. 287-326, 1979. [Hor74] Horn, W.A. Some simple scheduling algorithms, Naval Research Logistics Quarterly.21, pp. 177-185, 1974. [Hor76] Horowitz, E and Sahni, R. Exact and approximation algorithms for scheduling nonidentical processors, J. Assoc. Comput. Mach. 23, pp. 317-327, 1976. Journal of association computing machines, No. 24, pp. 32-43, 1977. vol.9, No.6, pp.841-848,Nov-1961. non-identical processors. J. Assoc. Comput. Mach., No. 24, PP. 280-289, 1977. Management Research Project, University of California, Los Angeles, 1955. [Kar72] Karp, R.M. Reducibility among combinatorial problems, in R.E.Miller, J.W.Thatcher edition, complexity of computer computations, Plenum Press, New York, pp. 85-104 ; 1972. [Kar74] Karzanov, A.W. Determining the maximal flow in a network by the method of preflow, Soviet Math. Dokl. 15, pp.434-37. 1974. [Kun76] Kunde, M. Beste Schranke beim LP scheduling, Bericht 7603, Institut fur informatik und praktische Mathematik, University Kiel, 1976. [Lab84] Labetoulle, J ; Lawler, E.L ; Lenstra, J.K and Rinnooy Kan, A.H.G. Preemptive in Combinatorial Optimization , Academic Press, 1984. [Lam77] Lam, S and Sethi, R. Worst case analysis of two scheduling algorithms, SIAM [Law82b] Lawler, E.L. Preemptive scheduling in precedence-constrained jobs on parallel machines, in : M.A.H Dempster ; J.K.Lenstra and A.H.G.Rinnooy Kan (eds.), Deterministic and stochastic scheduling, Reidel, Dordrecht, pp. 101-123, 1982. Journal of computing, No. 6, pp. 518-536, 1977. scheduling of uniform machines subject to release dates, in H.R. Pulleyblank(ed.) : Progress [Hor77] Horvath, E.G ; Lam, A and Sethi,R. A level algorithm for preemptive scheduling. [Hu61] Hu, T.C. Parallel sequencing and assembly line problems. Operations Research,
IV
ER
SI TE
SA A
scheduling
LA
processors by linear programming. J. Assoc. Comput. Mach. 25, pp. 612-619, 1978. Rinnooy Kan, A.H.G and Brucker, P. Complexity of machine scheduling problems, Ann. Discrete. Math.1, pp. 343-362, 1977.
142
[Jac55] Jackson, J.R Scheduling a production line to minimize tardiness, Res. Report 43,
of unrelated parallel
[Iba77] Ibarra, O.H and Kim, C.E. Heuristic algorithms for scheduling independent tasks on
BL
ID
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
[Len78]Lenstra, J.K and Rinnooy Kan, A.H.G. Complexity of scheduling under precedence constraints, Oper. Res.26, pp. 22- 35, 1978. [Liu74] Liu, J.W.S and Liu, C.L. Performance analysis of heterogeneous multiprocessor computing systems, in E.Gelenbe, R.Mah edition, Computer architecture and networks, pp. 331-343, North Holland, Amsterdam, 1974. [McN59] McNaughton, R. Scheduling with deadlines and loss functions. Management science, vol.6, No.1, pp.1-12, Oct-1959. Operations Research, 30, pp. 116-124, 1982. systems. IEEE Transactions on computers, vol. 18, No.11, pp.1014-1029, Nov-1969. multiprocessor systems. Journal of the ACM, vol. 17, No.2, pp.324-338, April 1970. [Rot66] Rothkopt, M.H. Scheduling independent tasks on parallel processors. Management [Sch99] Schuurman, P and Woeginger, J. Polynomial time approximation algorithms for [Sim83] Simons, B. Multiprocessor scheduling of unit-time jobs with arbitrary release times [Slo78] Slowinski, R. Scheduling preemptive tasks on unrelated processors with additional resources to minimize schedule length, in G.Bracci, R.C.Lockermann(eds.), Lecture Notes in [Ull75] Ullman, J.D. NP-complete scheduling problems, J. Comput. System Sci.10, pp. 384393, 1975. [Ull76] Ullman, J.D. Complexity of sequencing problems, Chapter 4. In [ Cof76a]. computer Science, vol. 65, Springer Verlag, Berlin, pp. 536-547, 1978.
[Mun69] Muntz, R.R and Coffman, E.. Optimal preemptive scheduling on two-processor
N IV
ER
SI
TE
SA
143
machine scheduling : Ten open problems. Journal of scheduling, 2 , pp. 203-213, 1999.
LA
[Pin95] Pinedo, M. Scheduling. Theory, Algorithms and systems. Prentice Hall, 1995
[Mun70] Muntz, R.R and Coffman, E.. Preemptive scheduling of real-time tasks on
BL I
Ordonnancement dans les ateliers. Cours donn par le Dr. DERBALA Ali
IV
ER
SI T
SA
144
LA
BL I