Home

Fließbandabstimmung

Fließbandabstimmung (Simple Assembly Line Balancing Problem)

Bei Fließproduktion werden die Arbeitssysteme (Arbeitsplätze, Arbeitsstationen) dem Produktionsprozeß der Produkte folgend hintereinander angeordnet. Jeder Station wird eine Menge von Bearbeitungsoperationen (Arbeitselementen) zugeordnet, die innerhalb einer bestimmten Zeitspanne zu erledigen sind.

Das Problem der Fließbandabstimmung besteht nun darin, die Menge der Arbeitselemente zu Aufgabengruppen mit möglichst gleichgroßer Arbeitslast zusammenzufassen, wobei die Arbeitslast einer Aufgabengruppe, die einer Bearbeitungsstation zugeordnet wird, nicht größer als eine extern vorgegebene Taktzeit sein darf. Taktzeit, Periodenlänge und geplante Produktionsmenge pro Periode hängen wie folgt voneinander ab:

$C = \dfrac{T}{X}\quad$   d.h.   $\quad\text{(maximale) Taktzeit} = \dfrac{\text{Periodenlänge}}{\text{Produktionsmenge}}$

In diesem Modul wird eine Fließbandabstimmung für folgende Problemstellung durchgeführt.

Diese Problemstellung nennt man auch Simple Assembly Line Balancing Problem (SALBP-1). Sie läßt sich als lineares Optimierungsmodell mit binären Entscheidungsvariablen abbilden. Eine mathematische Formulierung des Problems finden ist hier und in Günther/Tempelmeier (2020a) wiedergegeben.

Das vorliegende PMT-Modul bietet zur Lösung dieses Problems mehrere Möglichkeiten:

  1. Ein heuristisches Prioritätsregelverfahren

  2. Exakte Lösung des ganzzahligen Optimierungsmodells (mit AMPL, GAMS (extern) oder Python-MIP (intern)).

Anwendungsbeispiel:

Angenommen, es seien 10 Arbeitselemente gegeben, deren Beziehungen durch den folgenden Vorranggraphen abgebildet werden:

Die Zahlen an der Knoten sind die Bearbeitungszeiten der Arbeitselemente. Die Taktzeit soll 12 sein. Wir gehen jetzt wie folgt vor:

Definition des Vorranggraphen mit dem Graphen-Editor

Der Vorranggraph wird mit dem graphischen Editor des Produktions-Management-Trainers erzeugt. Er muß topologisch sortiert sein, d.h. ein Vorgängerknoten darf keine größere Nummer haben als sein Nachfolger.  Nach dem Beenden der Definition des Vorranggraphen sieht das Modul wie folgt aus:

Möchte man zur Problemlösung GAMS einsetzen, dann erzeugt man mit dem Menüpunkt "GAMS-Datei erzeugen" das GAMS-Modell.

Dabei wird der Dateiname und der Speicherort der GAMS-Datei abgefragt (Vorschlag: \Documents\GAMS\Studio\workspace\salbp.gms)

Die GAMS-Datei hat im Beispiel folgenden Inhalt:

* Modell SALBP-1 - Simple Assembly-Line Balancing Problem
Sets
I 'Tasks' /T-1, T-2, T-3, T-4, T-5, T-6, T-7, T-8, T-9, T-10/
M 'Stations' /S-1, S-2, S-3, S-4, S-5, S-6, S-7, S-8, S-9, S-10/
NACH(I,I) 'Successors'
/
T-1.T-2,T-1.T-5,T-1.T-7
T-2.T-3,T-2.T-6
T-3.T-4
T-4.T-10
T-5.T-6
T-6.T-10,T-6.T-9
...

... hier kommen noch weitere Zeilen (aus Platzgründen weggelassen)

...

Model SALBP /NumberofStations, Workload, Graphstructure, Doit/;
option optcr=0.0;
Solve SALBP using mip minimizing Z;
File results /salbp.out/;
put results;
Loop((I,M)$(x.l(I,M)>0), put 'x;', @4, I.tl, @14, ';', @16, M.tl, @24, ';', @26, x.l(I,M):6:2/)
put 'Finish'/
put 'Ziel', @10, ';', @14, Z.l/

Nach Bearbeitung dieser Datei mit GAMS ist die Lösung in der Datei "SALBP.OUT" gespeichert:

x; T-1 ; S-1 ; 1.00
x; T-2 ; S-1 ; 1.00
x; T-3 ; S-8 ; 1.00
x; T-4 ; S-10 ; 1.00
x; T-5 ; S-2 ; 1.00
x; T-6 ; S-2 ; 1.00
x; T-7 ; S-1 ; 1.00
x; T-8 ; S-8 ; 1.00
x; T-9 ; S-10 ; 1.00
x; T-10 ; S-10 ; 1.00
Finish
Ziel ; 4.00

Diese Datei kann mit dem Menüpunkt "GAMS-Lösung importieren" eingelesen werden. Dies führt zu folgender Darstellung der Lösung:

Heuristisches Prioritätsregelverfahren

Der Hauptzweck des vorliegenden Moduls zur Fließbandabstimmung ist aber die Daretsdellung eines heurtistischen Lösungsverfahrens, mit dem man beliebig große Probleminstanzen in kürzester Zeit - allerings nicht mit Optimalitätsgarantie - lösen kann. Hierbei geht man wie folgt vor. Nachdem eine Probleminstanz erzeugt wurde (evtl. auch aus einer Datei eingelesen), muß in den Optionen ein Sortierkriterium (eine Prioritätsregel) gewählt werden. Drückt man dann den Button "Start", dann werden die Arbeitselemente nach diesem Kriterium sortiert.

Definition der Kriterien (Siehe Zäpfel, G., Taktisches Produktionsmanagement, Berlin (DeGruyter) 1989, S. 210):

  1. Rangwert = Elementzeit des aktuellen AE + Summe der Elementzeiten aller direkten Nachfolger
  2. Anzahl Nachfolger = Summe aller Nachfolger
  3. Positionsgewicht = Elementzeit des aktuellen AE + Summe der Elementzeiten aller Nachfolger
  4. Längste Elementzeit = Elementzeit

Während des Verfahrens werden diese Prioritätsregeln immer nur auf die jeweils einplanbaren (grün markierten) Arbeitselemente angewandt.

Während der Berechnung wird werden die Arbeitselemente im Voranggraphen farbig markiert. Dabei bedeuten:

Nach Berechnung der Priotitätswerte wird das heuristische Verfahren Schritt-für-Schritt ausgeführt, wobei die Zwischenergebnisse protokolliert werden.

Exakte Optimierung (AMPL, GAMS oder Python-MIP)

Alternativ kann das mathematische Optimierungsmodell mit AMPL, GAMS oder mit der im Produktions-Management-Trainer implementierten Schnittstelle zu Python-MIP gelöst werden. Für das obige Beispiel aus Helber, S., Operations Management Tutorial, 2. Aufl., Hildesheim (Verlag Stefan Helber) 2021, S. 321, erhält man dann folgendes Ergebnis:

Symbole:

i Index der Arbeitselemente
t(i) Elementzeit des Arbeitselementes i
AE-i Arbeitselement i

Literatur:

- Günther/Tempelmeier (2020a)
- Tempelmeier (2020b)
- Helber, S. (2021), Operations Management Tutorial, 2. Aufl., Hildesheim (Verlag Stefan Helber)

Datenschutz | © 2021 POM Prof. Tempelmeier GmbH | Imprint