Optimisation du coût des lignes de transfert reconfigurables – approche par programmation linéaire – Antoneta Iuliana BRATCU – stagiaire post-doc sous la direction d’Alexandre DOLGUI – Présentation G2I / 26.05.2005 – 1 / 15
Sommaire Positionnement du sujet Description du problème – notations Agrégation des contraintes. Formulation comme programme linéaire Pré-traitement : réduction du modèle, bornes Discussion sur un exemple Conclusion et perspectives Présentation G2I / 26.05.2005 – 2 / 15
Positionnement du sujet Lignes de transfert… plusieurs stations en série exécution sérielle des blocs dans chaque station tête d’outil multifonctionnel : bloc – exécution parallèle des opérations utilisées dans l’usinage (production de masse) grande productivité investissements importants l’optimisation initiale est justifiée … mais la ligne manque de flexibilité … reconfigurables : concevoir dès début la ligne de sorte à minimiser son coût pour toute une famille de produits Présentation G2I / 26.05.2005 – 3 / 15
? Description du problème – notations La ligne doit usiner : sous les contraintes… Ni – opérations Gi – graphe de précédence Tci – temps de cycle … d’inclusion – p produits – pour chaque i=1,2…p … de précédence – Dori … de temps avec un ensemble de blocs (têtes d’outils) connu : Cbr – coût tbr – temps opératoire B – pour chaque r=1,2…| B | … d’exclusion – Dbs Cs0 – coût (fixe) d’une nouvelle station m0 – nombre maximal de stations n0 – nombre maximal de blocs par station en sachant en plus : Combien de stations, y et quelle affectation des blocs aux stations, xrk = faut-il avoir afin de minimiser le coût total de la ligne : Cs0·y + ·xrk ? Présentation G2I / 26.05.2005 – 4 / 15
Agrégation des contraintes agrégation des contraintes de précédence – superposition des p graphes de précédence individuels, Gi graphe G’ – puisqu’il peut y avoir des précédences contraires dans les différents Gi, G’ peut contenir des circuits, – … alors le sens stricte de la notion de précédence doit être relâché – … et les nœuds de chaque tel circuit sont agglutinés pour former une seule macro-opération G orienté acyclique agrégation des contraintes d’inclusion – chaque élément de chaque qui contient seulement des parties d’une macro-opération est étendu avec les opérations manquantes – les ensembles ayant des intersections non vides sont réunis agrégation des contraintes d’exclusion – les blocs qui ne peuvent exécuter que des parties de macro-opérations sont éliminés,… – … donc les éléments de Dbs qui les contiennent seront aussi éliminés Dbs Présentation G2I / 26.05.2005 – 5 / 15
Formulation comme programme linéaire. Paramètres additionnels bornes m* – une borne inférieure du nombre de stations – pour chaque bloc r, l’intervalle K(r) = [head(r), tail(r)], head(r) est la station la plus tôt tail(r) est la station la plus tard où le bloc r peut être assigné La famille Fs = {F1,…Fv} de paires de blocs ayant des opérations communes Fs est un sous-ensemble de blocs alternatifs (seulement un bloc de chaque paire de Fs peut être utilisé dans une décision) F0 = B\ – l’ensemble de blocs qui sûrement apparaissent dans une décision M(r) – les opérations prédécesseurs des opérations de Br, qui n’appartiennent pas à Br DtDos – pour chaque bloc r bloc Br wrt=|BrDt| H(r) = {BtB | BtM(r)≠} Wt = {BrB | wrt>0} H={BrB | M(r)} Ut = {BrB | itBr}, avec it une opération fixée de l’ensemble DtDos Br H BtH(r) htr=|BtM(r)| R* – une borne supérieure de l’ensemble des blocs à affecter à la dernière station Présentation G2I / 26.05.2005 – 6 / 15
Formulation comme programme linéaire Minimiser Cs0·y + ·xrk sous les contraintes : exécution de chaque opération de l’ensemble agrégé, N, dans une seule station, aussi bien par des blocs qui n’ont pas d’intersections (de F0), que par les autres blocs (de Fs) exécution de toutes les opérations de N respect des contraintes de précédence agrégées (décrites par le graphe de précédence « total », G) respect des contraintes d’inclusion agrégées, Dos respect des contraintes d’exclusion agrégées, Dbs contrainte du nombre maximal de blocs par station y kxrk, rR*, kK(r), km* contrainte sur le nombre de stations respect des temps de cycle de tous les produits Présentation G2I / 26.05.2005 – 7 / 15
Pré-traitement : réduction du modèle … portant sur l’ensemble de blocs, après l’agrégation des contraintes et l’élimination des blocs ne pouvant exécuter que des parties de macro-opérations 1. Identifier les « circuits » de blocs a). u v B w i j B x q s B z i B r j k l B t k l B y a) b) « Briser » chaque tel circuit en éliminant le plus coûteux bloc de par son coût par opération. 2. En particulier, si 2 blocs forment une « boucle » b), alors ils seront traités comme des blocs alternatifs. 3. Éliminer tout bloc pour lequel il n’existe pas un sous-ensemble de blocs B’, tel que : – les opérations de B’ donnent l’ensemble total, N, – |B’| m0n0, – tous les blocs de B’ sont mutuellement disjoints. Présentation G2I / 26.05.2005 – 8 / 15
décrit dans un travail antérieur Pré-traitement : calcul des bornes Calcul de K(r), pour chaque bloc r. graphe de précédence agrégé, G algorithme A décrit dans un travail antérieur a) contraintes d’inclusion agrégées, Dos q–(i), i=1,2,…|N| matrice des distances d(i,j) = graphe inversé, Ginv algorithme A b) Dos q+(i), i=1,2,…|N| matrice d c) k+/–(i) = [q+/–(i)/n0], i=1,2,…|N| head(r) = max{k–(i) | i Br} tail(r) = min{k+(i) | i Br} d) Calcul de m* : m* = max{k–(i)| i N} Calcul de R*. a) tail_max max{tail(r)| Br B}. b) Notons par head_min le minimum des heads des blocs ayant le tail égal à tail_max. c) R* est formé des blocs qui ont le tail strictement supérieur à head_min. Présentation G2I / 26.05.2005 – 9 / 15
Un exemple de petite taille – données d’entrée p = 3 produits N1={1,2,3,4,5,6,7,8,9,10}, |N1|=10 N2={1,2,3,4,5,6,7,8,9,10,11,12}, |N2|=12 N3={1,2,5,7,8,9,10,11,12,13}, |N3|=10 |N|=13 contraintes de précédence 1 6 3 4 2 8 9 5 10 11 G 7 12 1 6 3 2 7 8 4 9 10 5 G 1 13 5 12 8 2 9 10 11 G 3 7 contraintes d’inclusion Présentation G2I / 26.05.2005 – 10 / 15
Un exemple de petite taille – données d’entrée les blocs Bloc r Opérations Temps opératoire, tbr [u.t.] Coût, Cbr [u.m.] B1 {1,3,6,13} 9 250 B2 {1,3,13} 8 170 B3 {1,2,7,8} 6 281 B4 {2,5,9} 10 150 B5 {2,5,7,8,11} 275 B6 {2,6,9,10} 11 230 B7 {4,6,8,10} 13 211 B8 {4,7,8} 160 B9 {4,7,8,9} 215 B10 {5,12,13} 158 B11 {10,11,12,13} 12 B12 {2,5,10,11,12} 260 contraintes d’exclusion les temps de cycle : Tc1=23 u.t. Tc2=25 u.t. Tc3=21 u.t. Présentation G2I / 26.05.2005 – 11 / 15
Un exemple de petite taille – pré-traitement le graphe de précédence agrégé 1 6 9 4 3 8 7 a = {2,5} b = {10,11,12} G 13 … l’ensemble de blocs Bloc r Opérations tbr [u.t.] Cbr [u.m.] B1 {1,3,6,13} 9 250 B2 {1,3,13} 8 170 B3 {1,2,7,8} 6 281 B4 {2,5,9} 10 150 B5 {2,5,7,8,11} 275 B6 {2,6,9,10} 11 230 B7 {4,6,8,10} 13 211 B8 {4,7,8} 160 B9 {4,7,8,9} 215 B10 {5,12,13} 158 B11 {10,11,12,13} 12 B12 {2,5,10,11,12} 260 2 macro-opérations … « circuits » de blocs a 6 B 1 3 13 B 2 9 B 9 4 7 8 B 8 a 9 B b B 12 13 b B 11 … les contraintes d’inclusion b … les contraintes d’exclusion a b Présentation G2I / 26.05.2005 – 12 / 15
Un exemple de petite taille – bornes… Bloc head tail m* R* B1 1 4 2 {1,2,3,4,5,6} B2 5 B4 B8 B9 B12 t … optimisation Fs={{B1,B2}, {B4,B12}, {B4,B9}, {B8,B9}} F0= R={1, 2, 4, 8, 9, 12} |Dospt|=nic=3 H={B4, B8, B9, B12} wrt, r R, t=1,2,…nic=3 M(r) H(r) htr, r R, t R W1={B1,B2} W2={B8,B9} W3={B4,B12} B1 B2 B4 B8 B9 B12 2 1 {4,7,8} {B8,B9} 3 {3,6,13} {B1,B2} {4} r t 2 Station 1 ts =9, Cs =600 2 Station 2 ts =21, Cs =825 B 1 { 1, 13, 3, 6 } tb =9 Cb =250 B 9 { 4, 7, 8, 9 } tb =10 Cb =215 B 12 { b , a } tb =11 Cb =26 solution optimale Présentation G2I / 26.05.2005 – 13 / 15
Conclusions… … à faire … perspectives lignes de transfert : investissement initial important – optimisation dans la phase initiale de conception justifiée… – … encore plus dans le cas d’une famille de produits, assurant la reconfigurabilité à moindres frais conception des lignes de transfert reconfigurables : agrégation des contraintes … à faire amélioration des bornes tests numériques plus amples couplage avec des heuristiques … perspectives reformuler le problème en tenant compte des coûts de fonctionnement Présentation G2I / 26.05.2005 – 14 / 15
Merci de votre attention ! Présentation G2I / 26.05.2005 – 15 / 15