Académique Documents
Professionnel Documents
Culture Documents
Nizar El Hachemi
15 dcembre 2010
Nizar El Hachemi
Introduction lordonnancement
Plan du cours
Nizar El Hachemi
Introduction lordonnancement
Cest quoi lordonnancement ? Quelques domaines concerns par la fonction ordonnancement La fonction ordonnancement dans la gestion de la production Contraintes rencontres en ordonnancement Formulation mathmatique
Nizar El Hachemi
Introduction lordonnancement
Ordonnancer ?
Dnition Le problme dordonnancement consiste organiser dans le temps la ralisation dun ensemble de tches, compte tenu de contraintes temporelles (dlais, contraintes denchanement, ...) et de contraintes portant sur lutilisation et la disponibilit des ressources requises. Un ensemble de tches Un environnement de ressources pour eectuer les tches Des contraintes sur les tches et les ressources Un critre doptimisation Dterminer les dates dexecution des tches
Nizar El Hachemi
Introduction lordonnancement
Domaines concerns
Gestion de projets Administration : gestion des ressources humaines + emplois du temps ... Production Informatique (excution des programmes, optimisation de code)
Nizar El Hachemi
Introduction lordonnancement
La gestion de la production
La gestion de production a pour objet la recherche dune organisation ecace de la production des biens et des services 3 catgories pour classer les dcisions en gestion de la production :
1 2
Les dcisions stratgiques : politique long terme de lentreprise Les dcisions tactiques : dcisions moyen terme (planication de la production, planication de transport) Les dcisions oprationnelles : court terme (gestion des stocks, ordonnancement, pilotage informatique en temps rel)
Nizar El Hachemi
Introduction lordonnancement
Technologiques : une tche ne peut dbuter que lorsque dautres sont acheves Commerciales : certaines dates doivent tre acheves pour une date xe Matrielles : une machine ne peut traiter quune machine la fois Main doeuvre : eectif limit Financires : budget limit
Nizar El Hachemi
Introduction lordonnancement
Nizar El Hachemi
Introduction lordonnancement
Contraintes potentielles
Notation : tj : date de dbut de la tche j, pj sa dure Forme gnrale : tj ti >= aij Localisation temporelle : j ne peut dbuter avant une certaine date (livraison de matire premire, conditions climatiquees,...) Contrainte de dlai : j doit tre termine avant une certaine date Contrainte de succession
1 2 3 4
Nizar El Hachemi
Introduction lordonnancement
Contraintes disjonctives
Deux tches i et j sont en disjonction si elles ne peuvent tre excutes simultanment Les intervalles dexcution des tches disjonctives sont disjoints : ]ti , ti + pi []tj , tj + pj [= Disjonction dingalits de potentiels
1
tj ti pi ou ti tj pj
Nizar El Hachemi
Introduction lordonnancement
Contraintes cumulatives
Cest une gnralisation des contraintes disjonctives Exemple : On a deux grues et 5 tches ncessitant une grue Soit
1 2
wk (t) la quatit disponible de la ressource k linstant t wik (t) la quantit ncessaire de la ressource k pour excuter i t
iS wik (t) wk (t) alors les tches de S peuvent tre excutes simultanment t sinon les tches de S sont en disjonction
Si
1 2 3
Nizar El Hachemi
Introduction lordonnancement
Formulation mathmatique
n tches excuter + 2 tches ctives 0 et n + 1 de dures nulles Dterminer (t0 , t1 , ..., tn , tn+1 ) de manire Minimiser f (t0 , t1 , ..., tn , tn+1 ) sujet
1 2 3 4
de potentiel : tj ti >= aij disjonctives : tj ti pi ou ti tj pj cumulatives (idem) de non ngativit : t0 , t1 , ..., tn , tn+1
Nizar El Hachemi
Introduction lordonnancement
Ordonnancement de projet
Dnition Modlisation avec un graphe potentiels-tches Recherche dordonnancement admissible Problmatique Rsolution exacte Approche simple de rsolution : algorithme de liste Problmatique Lore et la demande Algorithme de dcalage
Nizar El Hachemi
Introduction lordonnancement
Context
Un projet consiste en un ensemble de n tches lies par des contraintes de succession ou de prcdence Objectif
1
2 3
Calculer la dure minimale du projet, les ressources tant supposes illimites Minimiser (tn+1 t0 ) sous les contraintes de potentiels Dterminer les dates de dbut au plus tt et au plus tard des tches Dterminer les tches critiques
Nizar El Hachemi
Introduction lordonnancement
Formulation mathmatique
Nizar El Hachemi
Introduction lordonnancement
Formulation mathmatique
les modles quon a vu sont des PL (des modles linaires) Y a t-il une autre manire de modliser ces problmes dordonnancement ? Oui, en utilisant la programmation par contraintes
Nizar El Hachemi
Introduction lordonnancement
Comet
Un modle riche pour la recherche locale Une recherche riche Sparation entre la modlisation et la recherche Flxibiliter
Nizar El Hachemi
Introduction lordonnancement
Solveurs de Comet
Un solveur CP (constraint programming) Un solveur LP (programmation linaire) Un solveur MIP (programmation en nombres entiers) Un solveur LS (recherche locale base sur les contraintes)
Nizar El Hachemi
Introduction lordonnancement
import cotls ;
1 Solver< LS > m() ;
import cotln ;
2 Solver< LP > lp() ;
import cotln ;
3 Solver< MIP > mip() ;
import cotfd ;
4 Solver< CP > m() ;
Nizar El Hachemi
Introduction lordonnancement
Dclaration de variables
var{int} queen[Size](m,Size) := distr.get() ; var< LP > {oat} cut[Congs](lp) ; var< MIP > {int} x[Columns](mip,0..maxValue) ; var< CP > {int} q[i in S](m,S) ;
Nizar El Hachemi
Introduction lordonnancement
Dclaration de contraintes
Constraint< LP >meet[Shelves] ;
1 forall(i in Shelves) meet[i] = lp.post(sum(j in Congs) C{j}.getShelf(i) * cut[j] >= demand[i]) ; 2 forall(i in Rows) mip.post(sum(j in Columns) coef[i,j] * x[j] <= b[i]) ;
ConstraintSystem< LS >S(m) ;
3 forall(i in Teams) S.post(x[i,i,nbRounds-1]+x[i,0,nbRounds-1] + x[i,i,nbRounds]+x[i,0,nbRounds] >= 1) ;
Nizar El Hachemi
Introduction lordonnancement
Lensemble des tches raliser est fait par une seule machine On peut rencontrer ce genre de problme dans un systme de production possdant une machine goulot Lordonnancement consiste choisir le temps dexcusion de chaque tche
Nizar El Hachemi
Introduction lordonnancement
On considre une usine possdant une chargeuse Lusine recevra 10 chargement pendant une journe donne Chaque dchargement opr par la chargeuse prend 30 minutes 3 chargements arrivent 8h du matin, 4 arrivent 13h et le reste arrive 16h.
Nizar El Hachemi
Introduction lordonnancement
Nizar El Hachemi
Introduction lordonnancement
On enrichit le modle avec les contraintes suivantes : Pas de plus que deux chargements en 90 minutes Finir avant 8h du soir
Nizar El Hachemi
Introduction lordonnancement
On considre le mme problme mais avec deux chargeuses Lusine recevra 10 chargement pendant une journe donne Chaque dchargement opr par la chargeuse prend 30 minutes 3 chargements arrivent 8h du matin, 4 arrivent 13h et le reste arrive 16h. Finir avant 18h du soir
Nizar El Hachemi
Introduction lordonnancement
Jobshop Scheduling
Le problme consiste en un ensemble de n Jobs Un ensemble de m machines Un Job est une squence dactivits (t1 , t2 , ..., tl ) Chaque activit doit tre excuter sur une machine donne mi sans interruption
Nizar El Hachemi
Introduction lordonnancement
Contrainte de prcdence
1
(ti precedes ti+1 ) Soit v et w deux activits qui sexcutent sur la mme machine alors : Soit v precedes w ou Soit w precedes v
Contrainte disjonctive
1
Nizar El Hachemi
Introduction lordonnancement