Modélisation d’un atelier de forge par un Job-Shop flexible Anthony Caumond Phillippe Lacomme Nikolay Tchernev Réunion Bermudes du 27/09/02
La démarche de modélisation Le problème théorique Les modèles Plan de l’exposé L’entreprise L’atelier de forge Le problème à résoudre La démarche de modélisation Le problème théorique Les modèles Une approche d’optimisation
L’entreprise : Le marché Le processus de fabrication
Fabrication d’alliages de fer L’entreprise marché Fabrication d’alliages de fer super alliages, alliages rapides, ... Clients aérospatiale, armement, énergie, automobile, outillage, médical, construction mécanique
L’entreprise processus de fabrication
L’atelier de forge Contexte Schéma physique Différents types de flux Unité de flux
tard à capacité infinie L’atelier de forge Contexte planification opérationnelle planification au plus tard à capacité infinie
L’atelier de forge Schéma physique
Flux type Flow-Shop hybride L’atelier de forge Les différents types de flux Flux type Flow-Shop hybride
L’atelier de forge Les différents types de flux Retour sur l’étage 1
Changement de ressource sur l’étage 2 L’atelier de forge Les différents types de flux Changement de ressource sur l’étage 2
Le modèle Unité de flux Lot de type Lot de type Job 1 2 Pièce Gamme Opération Liste de Machine machines étage 2 étage 1
Le problème à résoudre Problèmes théoriques sous-jacents Lien entre les problèmes Contraintes But
Problèmes de planification Ordonnancer les jobs Le problème à résoudre Problèmes théoriques sous jacent Problèmes de planification Ordonnancer les jobs Planifier les opérations Constituer les lots à l’étage 1 Affecter les lots aux machines Affecter les gammes aux jobs Ranger les pièces des lots dans les machines (Bin Packing)
Le problème à résoudre Lien entre les problèmes
Planifier les opérations Le problème à résoudre Contraintes Ordonnancer les jobs contraintes temporelles (entre les jobs) dates de début de traitement au plus tôt ou imposées Planifier les opérations changement d’outil étage 1 et 2 contraintes de regroupement à l’étage 2 « durée de traitement» comprise dans un intervalle donné (Etage 1) l’intervalle dépend des pièces affectées au lot
Affectation lot/machine étage 2 (gamme / job) Le problème à résoudre Contraintes Constitution de lots compatibilité des pièces dans les lots lots prédéfinis (lots étage 2 et certains lots étage 1) l'intersection des intervalles des temps de traitement des pièces est non nulle Affectation lot/machine étage 2 (gamme / job) Affectation lot / machine étage 1 plages d’ouverture des machines contrainte entre le lot et la machine contrainte entre les pièces du lot et la machine
Créer un outil d’Aide à la Décision pour En vue de : Le problème à résoudre But Créer un outil d’Aide à la Décision pour la planification de l’atelier En vue de : prendre en compte les aléas de fonctionnement augmenter l’horizon de planification formaliser le savoir-faire Contrainte sur l’outil: un outil 'rapide' un outil mode interactif
Le modèle Schéma du modèle Hypothèses simplificatrices Démarche de modélisation
Le modèle Schéma du modèle
Etape 1. Approche fonctionnelle SADT Le modèle Démarche de modélisation Etape 1. Approche fonctionnelle SADT Etape 2. Validation du modèle SADT Etape 3. Extraction des données Etape 4. Approche Objets Etape 5. Modèle mathématique
l'étage 2 est l'étage goulet Le modèle Hypothèses simplificatrices l'étage 2 est l'étage goulet l'étage 1 de capacité suffisante par rapport à l'étage 2 Optimisation avec capacité infinie à l'étage 1
L’approche d’optimisation Le couplage triple : principe Le couplage triple : application Principe de l’heuristique Déroulement d’un exemple Extensions
L’approche d’optimisation Le couplage triple: principe Règles de gestion Etat courant Décision de gestion Planification Module d'évaluation Evaluation Module d’optimisation Ordonnancement
L’approche d’optimisation Le couplage triple: application R0: Calcul des dates des opérations en fonction de l’ordonnancement Règles de gestion Module d'évaluation Métaheuristique sur l’ordonnancement des pièces Module d’optimisation
But : construire un échéancier valide d’opérations L’approche d’optimisation Principe de l’heuristique But : construire un échéancier valide d’opérations Données d’entrée : ordonnancement des jobs Données de sortie : affectation job/gamme, date de début des opérations Placer les jobs en respectant l'ordonnancement placer les opérations au plus tôt ne pas remettre en cause les jobs précédents dans l'ordonnancement
L’approche d’optimisation Déroulement d’un exemple
L’approche d’optimisation Déroulement d’un exemple
Heuristique Extensions Extension 1: Changement d’outil ajouter le temps de changement d’outil aux temps de traitement Extension 2 : Prise en compte de plusieurs machines dupliquer les échéanciers Extension 3 : Affectation gamme / job meilleure solution locale
Résultats: Taille de résultats 100 000 itérations Jeu de données généré aléatoirement Jeu de données réel Nombre d’OF 8 16 100 200 Temps de calcul 29 26 268 628 250 Dernière amélioration milliers d’itérations 11 17 93 87 80 30 Makespan 73 89 588 1185 2675 7178 Tx d’utilisation % Machine 1 50 68 67 61 44 33 Machine 2 47 65 95 Machine 3 60 70 35
Conclusion Modélisation complète du système Formalisation de la connaissance (SADT, modèle objet, ...) Validation des modèles Proposition d’outils et de méthodes d’optimisation Conception d’un outil d’Aide à la Décision