Cutting Stock

Werbung
Cutting Stock
Stefan Nolting
Andreas Goebels
Larissa Timajev
Cutting Stock
Problembeschreibung:
geg.:
Länge W des Rohmaterials
Länge wi der benötigten Teilstücke und die
erforderliche Mindestmenge bi (1  i  n)
ges.:
Ein Produktionsprogramm, daß mit einer
minimalen Anzahl von Elementen der Länge W den
Bedarf der Teilstücke deckt.
Idee
Wir bestimmen alle Schnittmuster und rufen damit CPLEX
auf.
CPLEX liefert uns eine Kombination der Schnittmuster, für die
die Kosten, d.h. die Anzahl der verwendeten Stücke der Länge
W, minimal sind.
Und schon sind wir fertig,...
...aber
Alle Schnittmuster zu bestimmen ist viel zu aufwendig!!!
Idee
Wir bestimmen daher nur einige Startschnittmuster.
Für diese ausgewählten Schnittmuster berechnen wir mit
CPLEX eine optimale Lösung.
CPLEX liefert uns nicht nur die optimale Lösung, sondern
auch die dualen Variablen i.
Mit Hilfe der dualen Variablen können wir ein neues LP
bestimmen, mit dem wir verbessernde Schnittmuster ermitteln
können. (Column Generation)
Restriktionen (erster Aufruf)
min
 x c
i
i
i
u.d.N.
j :  xij  bj
i
i : ci  1
Restriktionen (zweiter Aufruf)
min  xi  ( i)
i
u.d.N.
i :  wi  xi  W
i
Algorithmus
1)
Wir bestimmen n Schnittmuster. Um diese einfach zu
berechnen, fertigen wir von jedem Teilstück die
maximale Anzahl.
W 
i : xii   
 wi 
2)
i  j : xij  0
Wir übergeben dieses Problem (Originalproblem) an
CPLEX.
Algorithmus
3)
Aus der CPLEX-Lösung werden die dualen
Variablen (i) ausgelesen.
4)
Mit Hilfe der dualen Variablen definieren wir das
zweite Optimierungsproblem, das wir wiederum an
CPLEX übergeben.
5)
Durch die CPLEX-Lösung haben wir ein verbesserndes
Schnittmuster. Wir fügen dieses Schnittmuster dem
ursprünglichen Optimierungsproblem hinzu.
Algorithmus
6)
Die Schritte 2) bis 5) werden solange wiederholt, bis
kein verbesserndes Schnittmuster mehr gefunden wird.
Das ist der Fall, wenn der Zielfunktionswert des
zweiten Optimierungsproblems nicht mehr negativ ist.
7)
Die letzte Lösung des Originalproblems ist optimal. Sie
wird als Lösung des Cutting Stock Problems
ausgegeben. Der Zielfunktionswert des Originalproblems gibt an wie viele Stücke vom Rohmaterial
verbraucht wurden, um die benötigten Menge der
Teilstücke herzustellen.
Herunterladen