28
 Introduction à l’ordonnancement Nizar El Hachemi 15 décembre 2010 Niza r El Hachemi  Introduction à l’ordonnanceme nt

Introduction a l Ordonnacement Ordonnacement Et Planification Cours 15-12-10

Embed Size (px)

Citation preview

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