introduction a l ordonnacement ordonnacement et planification cours 15-12-10
TRANSCRIPT
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 1/28
Introduction à l’ordonnancement
Nizar El Hachemi
15 décembre 2010
Nizar El Hachemi Introduction à l’ordonnancement
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 2/28
Plan du cours
Définition et formulation du problème d’ordonnancement
Introduction à CometExemples
Nizar El Hachemi Introduction à l’ordonnancement
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 3/28
Définition et formulation du problème d’ordonnancement
C’est quoi l’ordonnancement ?
Quelques domaines concernés par la fonction ordonnancement
La fonction ordonnancement dans la gestion de la production
Contraintes rencontrées en ordonnancement
Formulation mathématique
Nizar El Hachemi Introduction à l’ordonnancement
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 4/28
Ordonnancer ?
Définition
Le problème d’ordonnancement consiste à organiser dans le tempsla réalisation d’un ensemble de tâches, compte tenu de contraintestemporelles (délais, contraintes d’enchaînement, ...) et decontraintes portant sur l’utilisation et la disponibilité des ressources
requises.
Un ensemble de tâches
Un environnement de ressources pour effectuer les tâches
Des contraintes sur les tâches et les ressourcesUn critère d’optimisation
⇒ Déterminer les dates d’execution des tâches
Nizar El Hachemi Introduction à l’ordonnancement
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 5/28
Domaines concernés
Gestion de projets
Administration : gestion des ressources humaines + emplois du
temps ...Production
Informatique (exécution des programmes, optimisation decode)
Nizar El Hachemi Introduction à l’ordonnancement
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 6/28
La gestion de la production
La gestion de production a pour objet la recherche d’uneorganisation efficace de la production des biens et des services
3 catégories pour classer les décisions en gestion de la
production :1 Les décisions stratégiques : politique long terme de l’entreprise2 Les décisions tactiques : décisions à moyen terme (planification
de la production, planification de transport)3 Les décisions opérationnelles : court terme (gestion des stocks,
ordonnancement, pilotage informatique en temps réel)
Nizar El Hachemi Introduction à l’ordonnancement
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 7/28
Contraintes rencontrées en ordonnancement
Technologiques : une tâche ne peut débuter que lorsqued’autres sont achevées
Commerciales : certaines dates doivent être achevées pour une
date fixéeMatérielles : une machine ne peut traiter qu’une machine à lafois
Main d’oeuvre : effectif limité
Financières : budget limité
Nizar El Hachemi Introduction à l’ordonnancement
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 8/28
Formalisation des contraintes
Contraintes potentielles (ou de potentiels)
Contraintes disjonctivesContraintes cumulatives
Nizar El Hachemi Introduction à l’ordonnancement
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 9/28
Contraintes potentielles
Notation : t j : date de début de la tâche j , p j sa duréeForme générale : t j − t i >= aij
Localisation temporelle : j ne peut débuter avant une certainedate (livraison de matière première, conditions climatiquees,...)
Contrainte de délai : j doit être terminée avant une certainedate
Contrainte de succession1 succession simple2 succession avec attente3 succession avec chevauchement4 succession immédiate
Nizar El Hachemi Introduction à l’ordonnancement
C d
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 10/28
Contraintes disjonctives
Deux tâches i et j sont en disjonction si elles ne peuvent êtreexécutées simultanément
⇒ Les intervalles d’exécution des tâches disjonctives sontdisjoints : ]t i , t i + p i [∩]t j , t j + p j [= ∅
Disjonction d’inégalités de potentiels1 t j − t i ≥ p i ou t i − t j ≥ p j
Nizar El Hachemi Introduction à l’ordonnancement
C i l i
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 11/28
Contraintes cumulatives
C’est une généralisation des contraintes disjonctives
Exemple : On a deux grues et 5 tâches nécessitant une grue
Soit1 w k (t ) la quatité disponible de la ressource k à l’instant t 2 w ik (t ) la quantité nécessaire de la ressource k pour exécuter i
à t
Si1
i ∈S w ik (t ) ≤ w k (t )
2 alors les tâches de S peuvent être exécutées simultanément à t 3 sinon les tâches de S sont en disjonction
Nizar El Hachemi Introduction à l’ordonnancement
F l i hé i
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 12/28
Formulation mathématique
n tâches à exécuter + 2 tâches fictives 0 et n + 1 de duréesnulles
Déterminer (t 0, t 1, ..., t n, t n+1) de manière à
Minimiser f (t 0, t 1, ..., t n, t n+1)
sujet à1 Contraintes de potentiel : t j − t i >= aij
2 Contraintes disjonctives : t j − t i ≥ p i ou t i − t j ≥ p j 3 Contraintes cumulatives (idem)4 Contraintes de non négativité : t 0, t 1, ..., t n, t n+1
par exemple : f (t 0, t 1, ..., t n, t n+1) = t n+1 − t 0
Nizar El Hachemi Introduction à l’ordonnancement
O d t d j t
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 13/28
Ordonnancement de projet
Problème central de l’ordonnancement : ressources illimitées1 Définition2 Modélisation avec un graphe potentiels-tâches3 Recherche d’ordonnancement admissible
Cas général : ressources limitées1 Problématique2 Résolution exacte3 Approche simple de résolution : algorithme de liste
Cas de ressources financières1 Problématique2 L’offre et la demande3 Algorithme de décalage
Nizar El Hachemi Introduction à l’ordonnancement
C t t
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 14/28
Context
Un projet consiste en un ensemble de n tâches liées par descontraintes de succession ou de précédence
Objectif 1
Calculer la durée minimale du projet, les ressources étantsupposées illimitées2 ⇒ Minimiser (t n+1 − t 0) sous les contraintes de potentiels3 Déterminer les dates de début au plus tôt et au plus tard des
tâches4 Déterminer les tâches critiques
Nizar El Hachemi Introduction à l’ordonnancement
Form lation mathématiq e
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 15/28
Formulation mathématique
Déterminer (t 0, t 1, ..., t n, t n+1) de manière à
Minimiser t n+1 − t 0
sujet à1 Contraintes de potentiel : t j − t i >= aij
2 Contraintes de non négativité : t 0, t 1, ..., t n, t n+1
Nizar El Hachemi Introduction à l’ordonnancement
Formulation mathématique
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 16/28
Formulation mathématique
les modèles qu’on a vu sont des PL (des modèles linéaires)
Y a t-il une autre manière de modéliser ces problèmesd’ordonnancement ?
Oui, en utilisant la programmation par contraintes
Nizar El Hachemi Introduction à l’ordonnancement
Comet
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 17/28
Comet
Un modèle riche pour la recherche locale
Une recherche riche
Séparation entre la modélisation et la recherche
Fléxibiliter
Nizar El Hachemi Introduction à l’ordonnancement
Solveurs de Comet
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 18/28
Solveurs de Comet
Un solveur CP (constraint programming)
Un solveur LP (programmation linéaire)
Un solveur MIP (programmation en nombres entiers)
Un solveur LS (recherche locale basée sur les contraintes)
Nizar El Hachemi Introduction à l’ordonnancement
Déclaration de solveurs en Comet
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 19/28
Déclaration de solveurs en Comet
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 à l’ordonnancement
Déclaration de variables
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 20/28
Déclaration de variables
var{int } queen[Size](m,Size) := distr.get() ;
var< LP > {float } cut[Configs](lp) ;
var< MIP > {int } x[Columns](mip,0..maxValue) ;
var< CP > {int } q[i in S](m,S) ;
Nizar El Hachemi Introduction à l’ordonnancement
Déclaration de contraintes
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 21/28
Déclaration de contraintes
Constraint< LP >meet[Shelves] ;1 forall(i in Shelves) meet[i] = lp.post(sum(j in Configs)
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) ;
Solver< CP > m();
4 m.post(alldifferent(q),onBounds) ;
Nizar El Hachemi Introduction à l’ordonnancement
Cas d’étude simple : une seule machine
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 22/28
Cas d étude simple : une seule machine
L’ensemble des tâches à réaliser est fait par une seule machine
On peut rencontrer ce genre de problème dans un système de
production possédant une machine goulotL’ordonnancement consiste à choisir le temps d’exécusion dechaque tâche
Nizar El Hachemi Introduction à l’ordonnancement
Exemple : une seule machine
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 23/28
Exemple : une seule machine
On considère une usine possédant une chargeuse
L’usine recevra 10 chargement pendant une journée donnée
Chaque déchargement opéré par la chargeuse prend 30 minutes3 chargements arrivent à 8h du matin, 4 arrivent à 13h et lereste arrive à 16h.
Nizar El Hachemi Introduction à l’ordonnancement
Exemple : une seule machine
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 24/28
e p e u e seu e ac e
Proposer un modèle CP
Ecrire le modèle CP en language CometRésoudre le problème
Nizar El Hachemi Introduction à l’ordonnancement
Exemple : une seule machine
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 25/28
p
On enrichit le modèle avec les contraintes suivantes :
Pas de plus que deux chargements en 90 minutesFinir avant 8h du soir
Nizar El Hachemi Introduction à l’ordonnancement
Exemple : deux machines en paralléle
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 26/28
p p
On considère le même problème mais avec deux chargeuses
L’usine recevra 10 chargement pendant une journée donnée
Chaque déchargement opéré par la chargeuse prend 30 minutes3 chargements arrivent à 8h du matin, 4 arrivent à 13h et lereste arrive à 16h.
Finir avant 18h du soir
Nizar El Hachemi Introduction à l’ordonnancement
Jobshop Scheduling
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 27/28
p g
Le problème consiste en un ensemble de n Jobs
Un ensemble de m machines
Un Job est une séquence d’activités (t 1, t 2, ..., t l )Chaque activité doit être exécuter sur une machine donnée mi
sans interruption
Nizar El Hachemi Introduction à l’ordonnancement
Contraintes du Jobshop Scheduling
5/15/2018 Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10 - slidepdf.com
http://slidepdf.com/reader/full/introduction-a-l-ordonnacement-ordonnacement-et-planification-cours-15-12-10 28/28
g
Contrainte de précédence1 (t i precedes t i +1)
Contrainte disjonctive1 Soit v et w deux activités qui s’exécutent sur la même
machine alors :2 Soit v precedes w ou Soit w precedes v
Nizar El Hachemi Introduction à l’ordonnancement