12.07.2015 Views

une approche de programmation lineaire pour la conception des ...

une approche de programmation lineaire pour la conception des ...

une approche de programmation lineaire pour la conception des ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3 e Conférence Francophone <strong>de</strong> MOdélisation et SIMu<strong>la</strong>tion “Conception, Analyse et Gestion <strong>de</strong>s Systèmes Industriels”MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)UNE APPROCHE DE PROGRAMMATION LINEAIRE POUR LACONCEPTION DES LIGNES DE TRANSFERTAlexandre DOLGUILaboratoire d'Optimisation <strong>de</strong>s Systèmes IndustrielsUniversité <strong>de</strong> Technologie <strong>de</strong> Troyes12, rue Marie Curie, BP2060-10010 Troyes ce<strong>de</strong>x, FranceMél : dolgui@univ-troyes.frYoussef HARRATHLaboratoire d’Automatique <strong>de</strong> BesançonENSMM25, rue A<strong>la</strong>in Savary, 25000 Besançon, FranceMél : yharrath@ens2m.frNiko<strong>la</strong>y GUSCHINSKYLaboratoire <strong>de</strong> Recherche OpérationnelleInstitut <strong>de</strong> Cybernétique, Académie Nationale <strong>de</strong>s Sciences6, rue Surganov, 220012 Minsk, Bé<strong>la</strong>rusMél : gyshin@newman.bas-net.byGenrikh LEVINLaboratoire <strong>de</strong> Recherche OpérationnelleInstitut <strong>de</strong> Cybernétique, Académie Nationale <strong>de</strong>s Sciences6, rue Surganov, 220012 Minsk, Bé<strong>la</strong>rusMél : levin@newman.bas-net.byRESUME : Nous étudions un problème <strong>de</strong> <strong>la</strong> <strong>conception</strong> préliminaire d’un type <strong>de</strong>s lignes <strong>de</strong> transfert. Dans ce type<strong>de</strong> ligne, chaque station <strong>de</strong> travail est munie <strong>de</strong> plusieurs têtes d’outils. Les opérations sont groupées dans <strong>de</strong>s blocs.Chaque bloc correspond à <strong>une</strong> tête d’outils. Les opérations d’un bloc s’exécutent simultanément par un seulmouvement <strong>de</strong> <strong>la</strong> tête d’outils correspondante et les différents blocs d’opérations appartenant à <strong>la</strong> même stations’exécutent en série. Les contraintes <strong>de</strong> nécessité ou d’impossibilité <strong>de</strong> combiner les opérations dans <strong>de</strong>s blocs et dans<strong>de</strong>s stations, afin d’obliger ou d’interdire l’exécution <strong>de</strong> certaines opérations simultanément (<strong>pour</strong> les blocs) ou sanschangement d’orientation <strong>de</strong> pièce (<strong>pour</strong> les stations), ainsi que les contraintes <strong>de</strong> précé<strong>de</strong>nce sont connues. Leproblème est <strong>de</strong> repartir toutes les opérations, nécessaires <strong>pour</strong> fabriquer un produit, par tête d’outils et par station, enrespectant les contraintes existantes, <strong>de</strong> telle sorte que <strong>la</strong> somme pondérée du nombre <strong>de</strong> stations et du nombre <strong>de</strong> têtesd’outils soit minimale. La métho<strong>de</strong> proposée est basée sur <strong>la</strong> <strong>programmation</strong> linaire en variables mixtes. Des résultatsexpérimentaux sont présentés, ils sont obtenus à l’ai<strong>de</strong> du mo<strong>de</strong>leur XPRESS-MP.MOTS-CLES : Ligne <strong>de</strong> transfert, Conception préliminaire, Equilibrage <strong>de</strong> charges, Optimisation, Programme mixte1. INTRODUCTIONDans cet article, nous concentrons notre étu<strong>de</strong> sur leslignes <strong>de</strong> transfert qui représentent <strong>une</strong> c<strong>la</strong>sse particulière<strong>de</strong>s lignes <strong>de</strong> production. Une ligne <strong>de</strong> transfert est baséesur l’organisation automatique d’un flux continu <strong>de</strong>pièces. Le transfert <strong>de</strong>s pièces est assuré par unconvoyeur qui les présentent successivement, en lespositionnant comme il convient, <strong>de</strong>vant <strong>une</strong> série <strong>de</strong> têtesd’usinage (têtes d’outils).Une opération <strong>de</strong> fabrication est considérée comme étant<strong>une</strong> partie élémentaire <strong>de</strong> l'ensemble du travail sur <strong>une</strong>ligne <strong>de</strong> transfert et le temps nécessaire <strong>pour</strong> l’accomplirs’appelle temps opératoire.Une station est un élément <strong>de</strong> <strong>la</strong> ligne <strong>de</strong> transfert où <strong>une</strong>partie du travail concernant un produit est réalisée. Ellese caractérise par sa dimension, par l’ensemble <strong>de</strong>s outilsdont elle dispose et, par conséquent, par le typed’opérations qui peuvent y être effectuées. La duréetotale d’exécution <strong>de</strong>s opérations affectées à <strong>une</strong> stationest le temps <strong>de</strong> cycle <strong>de</strong> <strong>la</strong> station.Une ligne du type étudié ici comporte un nombrequelconque <strong>de</strong> stations <strong>de</strong> travail installées en série etsans stocks tampons, c’est-à-dire que <strong>la</strong> ligne estca<strong>de</strong>ncée (toutes les stations commencent en mêmetemps à exécuter les opérations qui leurs sont affectées).Une station <strong>de</strong> travail est composée <strong>de</strong> plusieurs têtesd’usinage. Pour <strong>de</strong> telles lignes, il est possible d’avoir<strong>de</strong>s têtes avec plusieurs outils fonctionnantsimultanément ce qui permet <strong>de</strong> regrouper <strong>de</strong>s opérationsdans <strong>de</strong>s blocs. Toutes les opérations du même bloc sontréalisées simultanément par un seul mouvement <strong>de</strong> <strong>la</strong> têted’outils correspondante, les blocs <strong>de</strong> <strong>la</strong> même stations’exécutent séquentiellement chacun étant affecté à <strong>une</strong>tête d’outils. Les opérations <strong>de</strong> <strong>la</strong> même station sontréalisées sans changement d’orientation <strong>de</strong> pièce.La nécessité d’introduire <strong>de</strong>s blocs d’opérations (et lestêtes d’outils correspondantes) peut être expliquée par lesfacteurs technologiques et économiques suivants :• <strong>la</strong> tolérance (<strong>pour</strong> un certain niveau <strong>de</strong> tolérance ilest nécessaire d’exécuter les opérationscorrespondantes simultanément sans changementd’outils ni position <strong>de</strong> pièce),• <strong>la</strong> productivité (l’usinage simultané augmente le taux<strong>de</strong> production),- 353 -


MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)• <strong>la</strong> réduction du nombre <strong>de</strong> machines à utiliser et <strong>de</strong>l’espace occupé.La ligne est conçue <strong>pour</strong> <strong>une</strong> productivité annuelledonnée ; le temps <strong>de</strong> cycle <strong>de</strong> <strong>la</strong> ligne, qui est le tempsmaximal <strong>pour</strong> traiter <strong>une</strong> pièce par n’importe quellestation <strong>de</strong> <strong>la</strong> ligne, est donc connu. Le taux <strong>de</strong> production<strong>de</strong> <strong>la</strong> ligne appelé aussi ca<strong>de</strong>nce, mesuré en nombre <strong>de</strong>pièces par unité <strong>de</strong> temps, est égal à <strong>la</strong> valeur inverse dutemps <strong>de</strong> cycle.Le coût <strong>de</strong> <strong>la</strong> ligne est proportionnel au nombre <strong>de</strong>stations et au nombre <strong>de</strong> têtes d’outils. Le temps <strong>de</strong> cycledépend du nombre <strong>de</strong> blocs, <strong>de</strong> l’ensemble <strong>de</strong>sopérations constituant chaque bloc, ainsi que du nombre<strong>de</strong> stations et <strong>de</strong> l’ensemble <strong>de</strong>s blocs affectés à chaquestation. Tous ces paramètres sont à définir à l’étape <strong>de</strong> <strong>la</strong><strong>conception</strong> préliminaire <strong>de</strong> <strong>la</strong> ligne et restent inchangésdurant son cycle <strong>de</strong> vie. Etant donné l’effet d’échelle, <strong>une</strong>erreur lors <strong>de</strong> cette phase <strong>de</strong> <strong>conception</strong> peut coûter cher.Il est donc nécessaire d’étudier d’<strong>une</strong> manièreapprofondie <strong>de</strong>s solutions possibles et <strong>de</strong> choisir <strong>une</strong> trèsbonne solution, et si possible, <strong>la</strong> meilleure.L’explosion combinatoire du nombre <strong>de</strong> décisionspossibles rend nécessaire le développement <strong>de</strong>s outilsspécifiques d’ai<strong>de</strong> à <strong>la</strong> décision. Dans cet article, nousproposons un outil <strong>de</strong> ce type.2. DEFINITION DU PROBLEME2.1 Données et objectifsUne étu<strong>de</strong> préa<strong>la</strong>ble du nouveau produit <strong>pour</strong> lequel <strong>la</strong>ligne doit être conçue, permet <strong>de</strong> définir les donnéessuivantes :• l’ensemble N <strong>de</strong>s opérations nécessaires <strong>pour</strong> <strong>la</strong>fabrication du produit,• les temps opératoires t i ,• le temps <strong>de</strong> cycle T 0 <strong>de</strong> <strong>la</strong> ligne déterminant <strong>la</strong>ca<strong>de</strong>nce <strong>de</strong> <strong>la</strong> production (productivité),• les contraintes <strong>de</strong> précé<strong>de</strong>nces <strong>pour</strong> les opérations(re<strong>la</strong>tion d’ordre partiel),• les contraintes <strong>de</strong> nécessité d’exécution <strong>de</strong> certainesopérations dans le même bloc ou sur <strong>la</strong> même station,• les contraintes d’impossibilité d’exécution <strong>de</strong>certaines opérations dans le même bloc ou sur <strong>la</strong>même station.Le problème d’optimisation consiste alors à déterminersimultanément les paramètres <strong>de</strong> <strong>conception</strong> suivants :• le nombre m <strong>de</strong> stations <strong>de</strong> travail,• l’affectation <strong>de</strong> l’ensemble N <strong>de</strong>s opérations auxstations <strong>de</strong> travail , k = 0,..., m −1,N k• le nombre n k , k = 0,..., m −1<strong>de</strong> blocs <strong>pour</strong> chaquestation N k ,• <strong>la</strong> partition <strong>de</strong>s ensembles N k en sous-ensemblesN kl ,l = 0,...,nk−1,k = 0,...,m-1représentant lesblocs.L’objectif est <strong>de</strong> minimiser le coût <strong>de</strong> <strong>la</strong> ligne :C m + mC ∑−11 2 nk → min(1)k = 0où C 1 et C 2 sont respectivement le coût d’<strong>une</strong> station et lecoût d’un bloc.2.2 Etat <strong>de</strong> l’art2.2.1 Equilibrage <strong>de</strong>s lignes d’assemb<strong>la</strong>geLe problème le plus proche à celui que nous traitons iciest l’équilibrage <strong>de</strong>s lignes d’assemb<strong>la</strong>ge. Il consiste àaffecter <strong>de</strong>s opérations aux stations <strong>de</strong> travail <strong>de</strong> sorteque le nombre <strong>de</strong> stations soit minimal et que lescontraintes <strong>de</strong> précé<strong>de</strong>nce et le temps <strong>de</strong> cycle <strong>de</strong> <strong>la</strong> lignesoient respectés. Dans (Rekiek et al., 2000), ce problèmeest défini <strong>de</strong> manière formelle comme ceci. Nous avonsun graphe G r = (N, E r ) non cyclique où N est <strong>une</strong>nsemble <strong>de</strong> sommets représentant <strong>de</strong>s opérations et E rest un ensemble d’arcs modélisant <strong>de</strong>s contraintes <strong>de</strong>précé<strong>de</strong>nce. A chaque sommet i du graphe est associé<strong>une</strong> constante t i qui donne le temps <strong>de</strong> l’opération i. Noussupposons que le temps <strong>de</strong> cycle T 0 <strong>de</strong> <strong>la</strong> ligne est connu.Alors, il faut trouver <strong>une</strong> partition <strong>de</strong> l’ensemble N en unnombre minimal <strong>de</strong>s sous-ensembles <strong>de</strong> sorte que <strong>la</strong>somme <strong>de</strong>s temps t i <strong>pour</strong> chaque sous-ensemble soitinférieure ou égale à T 0 et qu’il soit possible d’ordonnerces sous-ensembles en tenant compte <strong>de</strong>s contraintes <strong>de</strong>précé<strong>de</strong>nce <strong>de</strong>s opérations données par E r .Baybars (1986) a énuméré les principales hypothèses duproblème c<strong>la</strong>ssique d’équilibrage <strong>de</strong>s lignesd’assemb<strong>la</strong>ge : 1) les temps sont déterministes, 2) lesplitting est interdit, 3) il y a <strong>de</strong>s contraintes <strong>de</strong>précé<strong>de</strong>nce, 4) il faut réaliser toutes les opérations,5) n’importe quelle station peux faire n’importe quelleopération, 6) les temps d’opération ne dépen<strong>de</strong>nt pas <strong>de</strong>station, 7) n’importe quelle opération peut être affectée àn’importe quelle station, 8) les stations sont disposées ensérie, 9) <strong>la</strong> ligne est conçue <strong>pour</strong> un seul produit et elle aun seul mo<strong>de</strong> <strong>de</strong> fonctionnement, et, enfin, soit 10a) letemps <strong>de</strong> cycle T 0 est fixe, soit 10b) le nombre <strong>de</strong> stationsest fixe.Les problèmes avec l’hypothèse 10a) sont connus sous lenom <strong>de</strong> SALB-1 (Simple Assembly Line Ba<strong>la</strong>ncing).Dans ce type <strong>de</strong> problème il faut minimiser le nombre <strong>de</strong>stations (ce qui est équivalent au temps mort minimal).Les problèmes avec l’hypothèse 10b) s’appellent SALB-2, dans ce cas, il faut minimiser le temps <strong>de</strong> cycle(maximiser <strong>la</strong> productivité).- 354 -


MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)Notons que SALB-2 est équivalent au problème <strong>de</strong>minimisation du Makespan <strong>pour</strong> l’ordonnancement sur mmachines parallèles (Coffman et al., 1978). Si lescontraintes <strong>de</strong> précé<strong>de</strong>nce sont absentes, les problèmesSALB-1 et SALB-2 sont équivalents aux problèmes <strong>de</strong>p<strong>la</strong>cement (bin-packing). D’autres parallèles avec <strong>de</strong>sproblèmes c<strong>la</strong>ssiques d’optimisation discrète sont faits,par exemple, dans (Scholl, 1999).Pour résoudre ce problème, les métho<strong>de</strong>s exactes sontprincipalement basées sur <strong>de</strong>s algorithmes par séparationet évaluation ou sur <strong>de</strong>s procédures <strong>de</strong> <strong>programmation</strong>dynamique (Baybars, 1986 ; Talbot et al., 1986, Scholl etKlein, 1998). Parmi les métho<strong>de</strong>s heuristiques simples,les plus connues et les plus anciennes sont RWP(Helgenson et Birnie, 1961) et COMSOAL (Arcus,1966).Différentes généralisations du problème sont obtenuespar <strong>la</strong> suppression d’<strong>une</strong> <strong>de</strong>s hypothèses 1) - 10) :l’équilibrage <strong>de</strong>s lignes mixtes (plusieurs types <strong>de</strong>produits) (Choi et Lee, 1998 ; Rekiek et al., 2000) ;l’équilibrage avec <strong>de</strong>s contraintes sur l’impossibilitéd’affectation <strong>de</strong> certaines opérations sur certainesstations (Tonge, 1961) ou sur <strong>la</strong> nécessité d’exécution <strong>de</strong>certaines opérations sur <strong>de</strong>s stations prédéfinies (Guntheret al., 1983) ; les problèmes d’équilibrage avec <strong>de</strong>sstations parallèles (Bard, 1989).Un autre type d’extensions est lié à l’introduction <strong>de</strong>différents critères autres que le nombre <strong>de</strong> stations ou letemps <strong>de</strong> cycle. Par exemple, Lee et Johnson (1991) ontétudié le problème d’équilibrage <strong>de</strong>s lignes avec <strong>de</strong>uxcritères : le coût <strong>de</strong>s en-cours et le coût d’acquisition <strong>de</strong>smachines et <strong>de</strong> leur exploitation. Boukchin et Tzur(2000) ont étudié le problème SALB-1 avec <strong>de</strong>smachines parallèles à chaque station, chaque machine ason coût, le temps <strong>de</strong> chaque opération dépend <strong>de</strong> <strong>la</strong>machine à <strong>la</strong>quelle l’opération est affectée. Le problèmeétait <strong>de</strong> trouver le nombre <strong>de</strong> machines parallèles <strong>pour</strong>chaque station et <strong>une</strong> affectation <strong>de</strong>s opérations auxmachines <strong>de</strong> sorte que le coût <strong>de</strong> <strong>la</strong> ligne soit minimal.Pour <strong>de</strong>s problèmes d’équilibrage généralisés, les<strong>approche</strong>s les plus utilisées sont celles qui font appel à<strong>de</strong>s méta-heuristiques. McMullen et Fraizer (1998) ontdéveloppé un algorithme <strong>de</strong> recuit simulé <strong>pour</strong> <strong>de</strong>s lignesavec <strong>de</strong>s machines parallèles. Les auteurs utilisent le coûtet le temps <strong>de</strong> cycle comme critères. Ils ramènent ces<strong>de</strong>ux critères à un seul par <strong>une</strong> pondération.Une série <strong>de</strong> publications (De Lit et al., 1999 ; Rekiek etal., 2000) est consacrée à l’utilisation <strong>de</strong>s algorithmesgénétiques. Les auteurs étudient <strong>de</strong>s lignes multiproduits.Et ils proposent <strong>une</strong> nouvelle c<strong>la</strong>ssed’algorithmes génétique (Grouping Genetic Algorithms).Les algorithmes génétiques sont couplés avec <strong>de</strong>salgorithmes <strong>de</strong> séparation et <strong>de</strong> coupe (Branch & Cut) etsont complétés par <strong>la</strong> métho<strong>de</strong> d’optimisationmulticritère Prométhée.2.2.2 Spécificité du problème étudiéSuivant <strong>la</strong> définition <strong>de</strong> Baybars (1986) l’étu<strong>de</strong> que nousprésentons ici relève donc <strong>de</strong> SALB-1, mais leshypothèses simplificatrices 5) et 7) ne peuvent plus êtreutilisées et le critère est changé. En plus, notre problèmemontre que <strong>la</strong> liste <strong>de</strong>s hypothèses <strong>pour</strong> le problèmec<strong>la</strong>ssique d’équilibrage n’est pas complète, car il manquel’hypothèse suivante : 11) <strong>de</strong>ux opérations ne peuventpas être faites simultanément. Cette hypothèse estutilisée implicitement dans le problème d’équilibrage <strong>de</strong>slignes d’assemb<strong>la</strong>ge et n’est pas utilisée dans notre cas.Nous avons donc <strong>une</strong> nouvelle c<strong>la</strong>sse <strong>de</strong> problèmesd’équilibrage. Pour ces problèmes, certaines propriétésc<strong>la</strong>ssiques ne sont plus respectées. Par exemple, <strong>la</strong>propriété qui dit que le temps mort est minimal quand lenombre <strong>de</strong> stations est minimal, n’est plus va<strong>la</strong>ble.Nous avons donc entrepris <strong>une</strong> série <strong>de</strong> travaux (Dolguiet al., 1999ab ; Dolgui et al., 2000abc) <strong>pour</strong> ce nouveauproblème. Dans cet article, nous présentons <strong>une</strong> métho<strong>de</strong>exacte qui se base sur <strong>la</strong> <strong>programmation</strong> linéaire envariables mixtes.3. APPROCHE PROPOSEE3.1 Modélisation <strong>de</strong>s contraintes3.1.1 Modèles <strong>de</strong> graphePour ce problème, les contraintes nouvelles par rapport àcelles qui sont connues dans l’équilibrage <strong>de</strong>s lignesd’assemb<strong>la</strong>ge sont <strong>de</strong>s contraintes <strong>de</strong> nécessité et <strong>de</strong>scontraintes d’impossibilité <strong>de</strong> mettre <strong>de</strong>s opérations dansle même bloc. Nous appelons les premières lescontraintes d’inclusion <strong>pour</strong> les blocs et les <strong>de</strong>uxièmesles contraintes d’exclusion <strong>pour</strong> les blocs. Un exempledu cas où on trouve ce type <strong>de</strong> contraintes est donné dans<strong>la</strong> figure 1.nécessité (tolérence requise) <strong>de</strong>mettre les <strong>de</strong>ux opérations dans lemême blocop1 op2impossibilité <strong>de</strong> mettre les <strong>de</strong>uxopérations dans le même blocop3op4Figure 1. Exemple <strong>de</strong>s contraintes <strong>pour</strong> les blocs- 355 -


MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)Pour modéliser ces contraintes ainsi que les contraintes<strong>de</strong> nécessité ou d’impossibilité d’affecter <strong>de</strong>s opérationssur <strong>la</strong> même station (contraintes d’inclusion etcontraintes d’exclusion <strong>pour</strong> les stations), nous utilisons<strong>de</strong>s hypergraphes. Par exemple, l'hypergraphe donnédans <strong>la</strong> figure 2, s’il représente <strong>de</strong>s contraintesd’exclusion <strong>pour</strong> un bloc, montre que les opérations 1 et3 ne peuvent pas être réalisées dans le même bloc (i<strong>de</strong>m<strong>pour</strong> les opérations 6 et 7).1 36 7Figure 2. Des contraintes exprimées par un hypergraphePour <strong>la</strong> re<strong>la</strong>tion d’ordre partiel, nous utilisons un graphedont les sommets représentent les opérations et les arcsles contraintes <strong>de</strong> précé<strong>de</strong>nce ; un arc (i, j) existe sil’opération j peut être exécutée après ou en même tempsque l’opération i (mais jamais j avant i). Cette formeparticulière du graphe <strong>de</strong> précé<strong>de</strong>nce est choisie car ilexiste <strong>de</strong>s opérations s’exécutant simultanément.Pour <strong>une</strong> contrainte <strong>de</strong> précé<strong>de</strong>nce stricte, il fautcombiner un arc et <strong>une</strong> hyper arête correspondante (cf.figure 3).iiFigure 3. Une contrainte <strong>de</strong> précé<strong>de</strong>nce strictePour les contraintes du problème, nous avons donc :rr• le graphe G = ( N,E ) représentant <strong>une</strong> re<strong>la</strong>tiond’ordre partiel entre les opérations,bb• l’hypergraphe H = ( N,E ) représentant lescontraintes d’inclusion <strong>pour</strong> les blocs, tel que E b estconstitué <strong>de</strong>s sous-ensembles d’opérations <strong>de</strong> N àexécuter dans le même bloc,ss• l’hypergraphe H = ( N,E ) modélisant lescontraintes d’inclusion <strong>pour</strong> les stations,b b• l’hypergraphe H = ( N,E ) représentant lescontraintes d’exclusion <strong>pour</strong> les blocs,s s• l’hypergraphe H = ( N,E ) décrivant lescontraintes d’exclusion <strong>pour</strong> les stations.Le choix <strong>de</strong> ce modèle s’explique par le soucid’illustration visuelle, ainsi que par <strong>la</strong> nécessité <strong>de</strong>vérifier et simplifier les contraintes.3.1.2 Vérification et simplification <strong>de</strong>s contraintesPour réduire <strong>la</strong> taille du problème et <strong>pour</strong> tenir compte<strong>de</strong>s dépendances <strong>de</strong> certaines contraintes et vérifier leurcompatibilité, nous effectuons les transformationssuivantes du graphe G r et <strong>de</strong>s hypergraphes.jjAlgorithme 11. Chaque composante connexe K du hypergraphe H best remp<strong>la</strong>cée par <strong>une</strong> seule hyper arête incluant tousles sommets <strong>de</strong> <strong>la</strong> composante K.2. Dans le graphe <strong>de</strong> précé<strong>de</strong>nces G r , l’ensemble <strong>de</strong>ssommets, correspondants à <strong>une</strong> hyper arête dansl’hypergraphe H b , est remp<strong>la</strong>cé par un seul sommet.Les arcs multiples et les boucles sont supprimés. Desnouveaux sommets <strong>de</strong> G r représentent <strong>de</strong>s ensemblesd’opérations <strong>de</strong> N (macro-opérations).3. Si dans G r , il n’y a pas <strong>de</strong> circuits, aller à l’étape 4.Sinon, soit C l’ensemble <strong>de</strong>s circuits dans le grapheG r , qui ne sont pas inclus dans d’autres circuits et soitE r (c) l’ensemble <strong>de</strong>s sommets du graphe G r quicomposent le circuit c∈C, alors :<strong>pour</strong> chaque circuit c∈C l’ensemble E r (c) estremp<strong>la</strong>cé par un nouveau sommetN(c) = U e ⊆ N ,re∈E( c )les arcs multiples et les boucles sont supprimés.4. Les sommets du nouveau graphe G r sont <strong>de</strong>s macroopérationset ses arcs représentent <strong>une</strong> re<strong>la</strong>tiond’ordre partiel entre ces macro-opérations. Pourb s stransformer les hypergraphes H , H et H , entenant compte <strong>de</strong>s macro-opérations obtenues, ilsuffit :<strong>de</strong> remp<strong>la</strong>cer chaque hyper arête par <strong>la</strong> macroopération<strong>la</strong> contenant ;sd'appliquer à l’hypergraphe H <strong>une</strong> procéduresimi<strong>la</strong>ire aux étapes 1-3 ci-<strong>de</strong>ssus ;d'éliminer dans les hypergraphes H b et Hstoutes les arêtes contenant d’autres arêtes ;<strong>pour</strong> supprimer <strong>la</strong> redondance, toutes les hypersbarêtes <strong>de</strong> H sont supprimées <strong>de</strong> H .5. Les contraintes initiales sont compatibles etscohérentes si <strong>pour</strong> chaque hyper arête e ∈ E etse ∈ E ,e ⊄ e.Nous supposons par <strong>la</strong> suite que cet algorithme est déjàexécuté et que l’ensemble N est donc composé <strong>de</strong>smacro-opérations obtenues après <strong>la</strong> transformation.3.2 Calcul <strong>de</strong>s tempsSi nous avons <strong>une</strong> décision <strong>de</strong> <strong>conception</strong>P =< N ,...,N − ),...,(N − ,..., − − ) > ,( 0 , 0 0 ,n 0 1 m 1 , 0 N m 1 ,n m−11alors le temps d’exécution T(N kl ) du bloc l <strong>de</strong> <strong>la</strong> station ksera le suivant :T(N kl ) = max {t j | j∈ N kl }+ τ (N kl ), (2)où τ (N kl ) est un temps supplémentaire.- 356 -


MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)Le temps <strong>de</strong> <strong>la</strong> station k sera donc :n k −1k N kll=0T ( N ) = ∑ T ( ) . (3)Le temps <strong>de</strong> cycle <strong>de</strong> <strong>la</strong> ligne T(P) <strong>pour</strong> <strong>la</strong> décision P estégal à :T( P)= max{T(Nk ) 0 ≤ k ≤ m -1}, (4)ce temps <strong>de</strong> cycle doit être inférieur ou égal à T 0 .3.3 Programme linéaire <strong>pour</strong> l’optimisationSoit n 0 le nombre maximum <strong>de</strong> blocs que nous pouvonsavoir <strong>pour</strong> <strong>une</strong> station, m 0 le nombre maximum <strong>de</strong>sstations dans <strong>la</strong> ligne et k un numéro <strong>de</strong> station, alors,nous introduisons les variables suivantes :q = q( k,l ) = kn0 + l , 0 ≤ q ≤ m0n0−1est l’indice dubloc l <strong>de</strong> <strong>la</strong> station k (numéro <strong>de</strong> bloc),q – (i) est <strong>la</strong> borne inférieure <strong>pour</strong> l’indice q <strong>de</strong>l’opération i,q + (i) est <strong>la</strong> borne supérieure <strong>pour</strong> l’indice q <strong>de</strong>l’opération i.Par exemple, si q – (i)=2 et q + (i)=5, alors l’opération i nepeut pas être affectée au bloc dont l’indice (numéro) estinférieur à 2 ou supérieur à 5.Pour simplifier <strong>la</strong> présentation du modèle, nous utilisonsles notations supplémentaires suivantes :k – (i)=⎣q – (i)/n 0 ⎦ est <strong>la</strong> borne inférieure <strong>pour</strong> l’indice k<strong>de</strong> l’opération i (numéro <strong>de</strong> station),k + (i)=⎣q + (i)/n 0 ⎦ est <strong>la</strong> borne supérieure <strong>pour</strong> l’indice k<strong>de</strong> l’opération i,q 0 = m0n0−1est l’indice du <strong>de</strong>rnier bloc (nombremaximum <strong>de</strong> blocs),j*(e) est <strong>une</strong> opération quelconque <strong>de</strong> l’ensemble e,QI(i)=[q – (i),q + (i)] est l’intervalle <strong>de</strong>s valeurs possibles<strong>de</strong> l’indice q <strong>pour</strong> l’opération i ;SI(i)=[k – (i),k + (i)] est l’intervalle <strong>de</strong>s valeurs possibles<strong>de</strong> l’indice k <strong>pour</strong> l’opération i ;Pred(i)={j∈N|(j,i)∈E r } est l’ensemble d’opérationsprédécesseurs <strong>de</strong> l’opération i ;N q ={i∈N|q∈QI(i)} est l’ensemble d’opération <strong>de</strong> Ncandidates au bloc q ;SQI(e)= [max{q – (i)| i∈e}, min{q + (i)|i∈e}] estl’intervalle <strong>de</strong>s valeurs possibles <strong>de</strong> l’indice q <strong>pour</strong>l’ensemble e ;SSI(e)= [max{k – (i)| i∈e}, min{k + (i)|i∈e}] estl’intervalle <strong>de</strong>s valeurs possibles <strong>de</strong> l’indice k <strong>pour</strong>l’ensemble e;QSI(i,k)=[max{q – (i),kn 0 },min{q + (i),(k+1)n 0 -1}] estl’intervalle <strong>de</strong>s valeurs possibles <strong>de</strong> l’indice q <strong>pour</strong>l’opération i <strong>de</strong> <strong>la</strong> station k.Nous utilisons les variables <strong>de</strong> décision binaires :X iq⎧1,si l' opération i est affectée⎪= ⎨⎪⎩ 0,sinon ,et les variables auxiliaires réelles :F ≥ 0 , <strong>pour</strong> déterminer le temps du bloc q,qau bloc q ,(5)Y q ≥ 0 et Z k ≥ 0 , <strong>pour</strong> compter le nombre <strong>de</strong> blocs et lenombre <strong>de</strong> stations.Les variables Y q etZ k sont définies comme étantréelles, mais grâce aux contraintes du modèle, cesvariables ne prennent que les valeurs 0 ou 1 quiindiquent si le bloc q a été créé ou non et si <strong>la</strong> stationnuméro k existe ou non.Le problème s’est réduit au programme linéaire suivant :m0−1q0C1 ∑ Zk+ C2∑ Yq→ min , (6)k = 0q=0sous les contraintes suivantes :∑ X jq = 1, j∈N, (7)q∈ QI( j )∑ ∑ X iq'≥ X jq |Pred(j)|,i∈ Pred( j ) q' ∈QI(i ) ∩[ 0,q]∑ ∑ X jq' = (|e|-1)j ∈e\{j*( e )} q′∈QSI(j,k )j∈N, q∈QI(j), (8)× ∑ X j*( e )q , e∈E s , k∈SI(j * (e)), (9)q∈ QSI( j*( e ),k )- 357 -


MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)∑j∈eX ≤ |e|-1, e∈ bjqE , q∈SQI(e), (10)∑ ∑ X jq ≤|e|-1, e∈ E s , k∈SSI(e), (11)j ∈eq∈QSI(j,k )d( j,i )⎧S⎪2,si { j,i}∈ E ;⎪⎪b= ⎨1,si { j,i}∈ E ;⎪⎪0,sinon .⎪⎩(16)F q ≥ t i X iq , q=0,…,q 0 , i∈N q , (12)−1∑ Fq(k,l ) ≤ T 0 , k=0,…m 0 -1, (13)l = 0n 0Y q ≥X jq , q=0,…,q 0 , j∈N q , (14)Z k ≥ Y q(k,l) , k=0,…m 0 -1, l=0,…,n 0 -1. (15)Dans ce modèle :• <strong>la</strong> fonction objectif (6) avec les contraintes (14) et(15) minimisent le coût ;• <strong>la</strong> contrainte (7) force l'affectation <strong>de</strong> toutes lesopérations <strong>de</strong> l’ensemble N ;• les contraintes <strong>de</strong> précé<strong>de</strong>nce G r sont dans (8) ;• les contraintes (10) et (11) interdisent <strong>de</strong> groupercertaines opérations dans le même bloc ou <strong>de</strong> lesaffecter à <strong>la</strong> même station (contraintes d’exclusion) ;• <strong>la</strong> contrainte (9) oblige d’affecter certainesopérations à <strong>la</strong> même station (contraintesd’inclusion) ;• les contraintes (12) et (13) permettent <strong>de</strong> respecter letemps <strong>de</strong> cycle.Si le nombre d’opérations dans l’ensemble N n’est pasassez grand ou si les contraintes du problème permettent<strong>de</strong> déterminer un intervalle [q - (i), q + (i)] serré quel quesoit i, alors le problème (6)-(15) peut être résolu <strong>de</strong>manière exacte.3.4 Calcul <strong>de</strong>s bornesUne borne inférieure q - (i) <strong>pour</strong> tout i∈N peut êtrecalculée en suivant l’ordre <strong>de</strong> <strong>la</strong> numérotation <strong>de</strong>sopérations dans le graphe G r (nous supposons que lesopérations sont numérotées dans un ordre croissant <strong>de</strong>telle sorte que si (j, i) ∈ E r alors j


MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)1 5 132 4 7 116 14 18 218 15 19 223 9 12 16 2010 17 23Figure 4. Graphe <strong>de</strong> précé<strong>de</strong>nce G r .Les contraintes d’inclusion et d’exclusion <strong>pour</strong> les blocset <strong>pour</strong> les stations sont données dans le tableau 1, lestemps opératoires se trouvent dans le tableau 2.Numéro <strong>de</strong>l’ensemblesEbEsEOpérations1 1,4 1,4 3,102 8,10,17 5,6,13 13,183 14,19 8,11 16,19,204 - 12,17,20 20,23Tableau 1. Contraintes d’inclusion et d’exclusionOpération 1 2 3 4 5 6 7 8Temps 17 18 11 15 21 23 19 17Opération 9 10 11 12 13 14 15 16Temps 16 21 25 24 13 12 21 20Opération 17 18 19 20 21 22 23 -Temps 10 26 18 19 15 16 14 -Tableau 2. Temps opératoiresLe tableau 3 contient le nombre V p <strong>de</strong> contraintes numérop du modèle mathématique (6)-(15).14 2 1515 4 1116 4 1117 4 1118 4 1519 4 1520 4 1121 4 1522 4 1523 8 15Tableau 4. Bornes inférieures et supérieuresL’affectation optimale <strong>de</strong>s opérations aux blocs et auxstations est donnée dans <strong>la</strong> figure 5.Les calculs ont été faits à l’ai<strong>de</strong> du modéleur-solveurXPRESS-MP. La solution optimale a été obtenue en2508 itérations, <strong>la</strong> durée totale <strong>de</strong> calcul a été <strong>de</strong> 57secon<strong>de</strong>s.4.2 Résultats récapitu<strong>la</strong>tifs d’un ensemble <strong>de</strong> testsNous avons utilisé 10 séries d’exemples <strong>de</strong> ce typegénérés aléatoirement. Chaque série contient 10exemples <strong>de</strong> même taille. Dans ces exemples, le nombred’opérations (macro-opérations) varie <strong>de</strong> 10 à 45.Les résultats sont présentés dans le tableau 5. Dans cetableau nous utilisons les notations suivantes :Ex : n° <strong>de</strong> <strong>la</strong> série,NO : nombre d’opérations,NVE : nombre <strong>de</strong> variables entièresNTV: nombre total <strong>de</strong> variables,NTC: nombre total <strong>de</strong> contraintes,NMI: nombre moyen d’itérations,TMS : temps moyen <strong>de</strong> calcul.X jq ,V 6 V 7 V 8 V 9 V 10 V 11 V 12 V 13 V 14 Total23 231 10 37 6 231 4 231 16 789Tableau 3 : Nombre <strong>de</strong>s contraintesLes estimations <strong>de</strong>s bornes inférieures et supérieures dunuméro <strong>de</strong> bloc <strong>pour</strong> chaque opération sont données dansle tableau 4.1,23,4,5,97,8,10,126,11,1315,16,17,2014,1819,2122,23Opération Borne inférieure Borne Sup.1 0 92 0 103 0 74 1 105 1 116 1 117 1 118 1 109 1 1110 4 1111 2 1112 4 1113 2 11S 0 S 1 S 2stationFigure 5. Solution optimaleblocEx NO NVE NTV NTC NMI TMS1 10 62 82 220 584 0 ′′2 13 103 131 371 1553 2 ′′3 17 160 188 558 3272 7 ′′4 18 176 211 220 3838 6 ′′5 20 220 255 762 2317 15 ′′6 25 365 411 1229 12833 35 ′′7 29 421 463 1386 8524 10′20 ′′- 359 -


MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)8 35 552 597 1798 10543 21′52 ′′9 38 628 677 2059 37834 1 h 57′13 ′′10 45 758 807 2463 95685 3 h 56′29 ′′Tableau 5. Résultats <strong>de</strong>s tests5. CONCLUSIONSDans cet article, nous avons formulé un nouveauproblème d’équilibrage <strong>de</strong>s lignes <strong>de</strong> production. Ilconcerne un type <strong>de</strong> lignes <strong>de</strong> transfert. C’est unproblème proche du problème d’équilibrage <strong>de</strong>s lignesd’assemb<strong>la</strong>ge mono-produit, mais ici nous prenons encompte <strong>de</strong>s contraintes additionnelles liées à l’exécutionsimultanée <strong>de</strong> certaines opérations.Nous avons proposé un programme linéaire à variablesmixtes. Nous avons testé notre modèle sur un ensembled’exemples <strong>de</strong> tests en utilisant le mo<strong>de</strong>leur-solveurXPRESS-MP. Les résultats montrent que le modèle quenous avons proposé permet <strong>de</strong> résoudre, <strong>de</strong> manièreexacte et avec un temps <strong>de</strong> calcul ne dépassant 4 heures,les problèmes <strong>de</strong> taille d’environ 45 opérations.Une extension possible <strong>de</strong> notre travail serait <strong>de</strong> chercher<strong>de</strong>s métho<strong>de</strong>s plus efficaces <strong>pour</strong> le calcul <strong>de</strong>s bornesinférieures et supérieures <strong>de</strong>s numéros <strong>de</strong> stations et <strong>de</strong>blocs, <strong>pour</strong> chaque opération. Une autre voie serait <strong>de</strong>combiner notre métho<strong>de</strong> exacte avec <strong>de</strong>s <strong>approche</strong>sheuristiques <strong>pour</strong> pouvoir abor<strong>de</strong>r en temps raisonnable<strong>de</strong>s problèmes <strong>de</strong> gran<strong>de</strong> taille.Symposium on Assembly and Task P<strong>la</strong>nning(ISATP'99), Porto, Portugal.Dolgui, A., N. Guschinsky and G. Levin, 1999a. Optimal<strong>de</strong>sign of transfer lines and multi-position machines.Proceedings of the 7 th IEEE MediterraneanConference on Control and Automation (MED’99),Haifa, Israel, p. 1962-1973Dolgui, A., N. Guschinsky and G. Levin, 1999b. Onproblem of optimal <strong>de</strong>sign of transfer lines withparallel and sequential operations. Proceedings of the7th IEEE International Conference on EmergingTechnologies and Factory Automation (ETFA’99),Spain, J.M. Fuertes (Ed.), IEEE, vol. 1, p. 329-334.Dolgui, A., N. Guschinsky and G. Levin, 2000a.Optimizing parameters of transfer lines with parallelmachining, Proceedings of the 16th InternationalConference on CAD/CAM, Robotics and Factories ofthe Future (CARS&FOF 2000), Port of Spain,Trinidad & Tobago, vol. 1, p. 317-324.Dolgui, A., Levin G., and N. Guschinsky, 2000b.Approaches to ba<strong>la</strong>ncing of transfer lines with blocksof parallel operations. Institute of EngineeringCybernetics, Minsk, Preprints N°8, 42 pages.Dolgui, A., N. Guschinsky, G. Levin and Y. Harrath,2000c. Optimal <strong>de</strong>sign of c<strong>la</strong>ss transfer lines withblocks of parallel operations. Pre-prints of the IFACSymposium on Manufacturing, Mo<strong>de</strong>ling,Management and Control (MIM’2000), Patras,Greece, p. 36-41.REFERENCESArcus, A. L., 1966. COMSOAL: A computer method ofsequencing operations for assembly lines.International Journal of Production Research, 4, p.259-277.Bard, J. F. 1989. Assembly line ba<strong>la</strong>ncing with parallelworkstations and <strong>de</strong>ad time. International Journal ofProduction Research, 27 (6), p. 1005-1018.Baybars, I., 1986. A survey of exact algorithms for thesimple line ba<strong>la</strong>ncing problem. Management Science,32, p. 909-932.Boukchin, J., and M. Tzur, 2000. Design of flexibleassembly line to minimize equipment cost, IIETransactions, 32, p. 585-598.Choi, W., Y. Lee, 1998. Line ba<strong>la</strong>ncing of mixed-mo<strong>de</strong><strong>la</strong>ssembly lines. 2 nd International Conference onEngineering Design and Automation (EDA’98),Maui, Hawaii.Coffman, E.G., M.R. Garey and D.S. Johnson, 1978. Anapplication of Bin-Packing to multiprocessorscheduling. SIAM Journal on Computing, 7, p. 1-17.De Lit, P., B. Rekiek, F. Pellichero, A. Delchambre, J.Danloy, F. Petit, A. Leroy, J.-F. Marée, A. Spineux,and B. Raucent, 1999. A New Philosophy for theDesign of a Product and its Assembly Line.Proceedings of the 1999 IEEE InternationalGallo, G. and S. Pallottino, 1988. Shortest pathalgorithms, Ann. Oper. Res, 13, p. 3-79.Garey, M.R., Johnson, D.S., and R. Sethi, 1976. Thecomplexity of flow shop and job shop scheduling,Math. Oper. Res., 1/2, p. 117 - 129.Groover, M. P., 1987. Automation, Production Systemsand Computer Integrated Manufacturing, PrenticeHall, Englewood Cliffs, New Jersey.Gunther, R.E., G.D. Johnson, R.S. Peterson, 1983.Currently practice formu<strong>la</strong>tion for the assembly lineba<strong>la</strong>nce problem, J. Operations Management, 3, p.209-221.Helgenson, W.B. and D.P. Birnie, 1961. Assembly LineBa<strong>la</strong>ncing Using Ranked Positional WeightTechnique. Journal of Industrial Engineering, 12, p.394-398.Lee, H.F., and R.V. Johnson, 1991. A Line Ba<strong>la</strong>ncingStrategy for Designing Flexible Assembly Systems.- 360 -


MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France)International Journal of Flexible ManufacturingSystems, 3, p. 91-120.McMullen, P.R., and G.V. Fraizer, 1998. Usingsimu<strong>la</strong>ted annealing to solve a multi-objectiveassembly line ba<strong>la</strong>ncing problem with parallelworkstation. International Journal of ProductionResearch, 36 (10), p. 2717-2741.Rekiek, B., P. De Lit, and A. Delchambre, 2000.Designing Mixed-Product Assembly Lines. IEEETransactions on Robotics and Automation, 16 (3), p.268-280.Scholl, A., 1999. Ba<strong>la</strong>ncing and Sequencing of AssemblyLines, Physica-Var<strong>la</strong>g, Hei<strong>de</strong>lberg.Scholl, A. and R. Klein, 1998. Ba<strong>la</strong>ncing assembly lineseffectively: a computational comparison, EuropeanJournal of Operational Research, 114, p. 51-60.Talbot, F.B., J.H. Paterson and W.V. Gehrlein, 1986. Acomparative evaluation of heuristic line ba<strong>la</strong>ncingtechniques, Management Sciences, 32, p. 430-454.Tonge, F., 1961. A Heuristic Program for AssemblyLine Ba<strong>la</strong>ncing, Englewood Cliffs, N.J., Prentice-Hall, Inc.- 361 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!