1
Gilles Goncalves – Programmation linéaire - Gilles Goncalves – Programmation linéaire -
Machine critique
Machine qui régule à elle seule la cadence d’un atelier
TOC (Theory of Constraints- Goldratt)
Exemples :Exemples :Exemples :Exemples :
DDDDééééfinition :finition :finition :finition :
Machine critique = machine goulot = machine goulet
- Machine à exemplaire unique
- Machine la plus lente sur une ligne de production …
Gilles Goncalves – Programmation linéaire -
Un ensemble de n tâches (i.e. Job) est exécuté sur une machine unique.
2215510152110d i
2424863p i
9800452r i
7654321Jobs
Données
r i : date de disponibilité de la tâche i
d i : date de fin au plus tard de la tâche i
p i : durée de la tâche i
Gilles Goncalves – Programmation linéaire -
But du problème :But du problème :But du problème :But du problème :
Donner un modèle simple d’ordonnancement utilisable
pour différents objectifs. Il faut déterminer les temps de début d’exécution de chaque tâche.
Minimiser :
- le temps d’exécution total
- le temps moyen d’exécution
- la somme des retards
Objectifs
Objectifs :Objectifs :Objectifs :Objectifs :
Gilles Goncalves – Programmation linéaire -
Modélisation
Hypothèse : la préemption n’est pas autorisée
Elaboration d’un modèle permettant de traiter les trois objectifs à la fois.
� Utilisation de variables binaires uik valant 1 si le
job i est séquencé en position k
Gilles Goncalves – Programmation linéaire -
Il ne peut y avoir qu’un seul job à la position k et une seule position correspond au job i.
D ’où les contraintes :
Modélisation
Contrainte 1 :
Contrainte 2 :
2
Gilles Goncalves – Programmation linéaire -
La durée d’exécution d’un job en position k est donnée par la somme (un seul job par position) :
Modélisation
∀ k=1..n
Gilles Goncalves – Programmation linéaire -
tk : date de début d’exécution du job en position k
tk doit être supérieure à la date de disponibilité (ri) du job séquencé à la position k.
Deux jobs ne peuvent être exécutés simultanément. Le job en position k+1 doit démarrer après que le job en position k soit terminé.
Modélisation
Contrainte 3 :
Contrainte 4 :
Gilles Goncalves – Programmation linéaire -
Modélisation
Objectif 1
Minimiser la date de fin Cmax de l’ordonnancement
= minimiser la date de fin du dernier job
Fonction objective :
Gilles Goncalves – Programmation linéaire -
Modélisation
Contraintes :
Objectif 1
Contraintes 1 à 4
Contrainte 5 :
Contrainte 6 :
Gilles Goncalves – Programmation linéaire -
Modélisation
Objectif 2
Minimiser le temps moyen d’exécution
= minimiser la somme des dates de fin des jobs
Pour cela on peut utiliser d’autres variables qui sont les dates de fin d’exécution ck des jobs en position k.
Fonction objective :
Gilles Goncalves – Programmation linéaire -
Modélisation
Contraintes :
Objectif 2
Contraintes 1 à 6
Contrainte 7 :
Contrainte 8 :
3
Gilles Goncalves – Programmation linéaire -
Modélisation
Objectif 3
Minimiser la somme des retards
Utilisation d’une nouvelle variable Tk= retard du job séquencé en position k
Fonction objective :
Gilles Goncalves – Programmation linéaire -
Modélisation
Contraintes :
Objectif 3
Contraintes 1 à 8
Contrainte 9 :
Contrainte 10 :
Gilles Goncalves – Programmation linéaire -
Modèle Xpress
Résultats
Objectif 1 : cn = 29
n°job 4 5 1 3 7 6 2
Objectif 2 : ΣΣΣΣ ck = 92
n°job 5 1 4 7 6 2 3
Objectif 3 : ΣΣΣΣ Tk = 14
n°job 5 1 4 6 2 7 3