# Ein-Maschinen-Problem

Ein-Maschinen-Probleme sind in der Maschinenbelegungsplanung spezielle Modelle mit einer einzigen Maschine und n verschiedenen zu fertigenden Aufträgen. Obwohl die Modelle relativ einfach sind, verglichen mit Job-Shop-, Open-Shop- oder Flow-Shop-Problemen, gehören manche zu den NP-schweren Problemen. Viele lassen sich jedoch in polynomialer Zeit lösen, also vergleichsweise schnell. Die Lösung der Modelle hängt von der angestrebten Zielsetzung ab. Beispiele sind die Minimierung der Zykluszeit, der Durchlaufzeit oder der Verspätungen. In der bei Maschinenbelegungsproblemen üblichen Notation handelt es sich um [1| | ]-Probleme. (Für Details zur Notation siehe Klassifikation von Maschinenbelegungsmodellen.) Die meisten Probleme lassen sich auch als Scheduling-Probleme in der Informatik betrachten: Die Maschine entspricht dann einem Prozessor und die Aufträge entsprechen den Prozessen. Analog lässt sich ein Maschinenbelegungsproblem mit parallelen Maschinen als Modell interpretieren mit mehreren Prozessoren.

## Minimierung der maximalen Terminabweichung

Das Problem [1| |T$_{max}$] lässt sich optimal lösen mit der Prioritätsregel der Earliest-Due-Date-Regel (EDD-Regel). Bei [1|prec|T$_{max}$] liegt ein Graph vor mit einer Reihenfolge der einzuhaltenden Arbeitsgänge. Es lässt sich mit dem Algorithmus von Lawler lösen.
Die Probleme [1|a$_j$|T$_{max}$] und [1|a$_j$|V$_{max}$] sind NP-schwer. Wenn die Bearbeitung der Aufträge unterbrochen werden kann ([1|pmnt, a$_j$|T$_{max}$] und [1|pmnt, a$_j$|V$_{max}$]) lassen sich mit einer modifizierten (sogenannten dynamischen) EDD-Regel lösen. Eingeplant werden dann die Aufträge mit dem zum Planungszeitpunkt kleinsten Fertigstellungstermin (sofern sie bereits zur Verfügung stehen). Dies kann dazu führen, die Bearbeitung eines Auftrags zu unterbrechen, falls ein weiterer Auftrag einplanbar wird der einen kleineren Fertigstellungstermin hat.

## Minimierung der Zykluszeit

Für das Problem [1| |Z] stellt jede Belegung ohne Leerzeiten eine optimale Lösung dar. Falls ein Vorranggraph für die Aufträge vorliegt ([1|prec|Z]), so muss man die Aufträge in der entsprechenden Reihenfolge einplanen. Werden die Aufträge zu unterschiedlichen Zeitpunkten verfügbar, handelt es sich um [1|a$_j$|Z]. Die optimale Lösung ergibt sich durch Sortierung nach absteigenden Bereitstellungsterminen und entsprechender Einplanung. Bei [1|n$_j$|Z] muss man die Aufträge nach monoton fallenden Nachlaufzeiten sortieren und einplanen.
Um ein NP-schweres Problem handelt es sich bei [1|a$_j$, n$_j$|Z]. Es kann bei dreistufiger Fertigung entstehen wenn die mittlere Stufe mit nur einer Maschine einen Engpass darstellt. Die Bereitstellungstermine entsprechen dann den Fertigstellungszeiten der ersten Stufe und die Nachlaufzeiten den Bearbeitungszeiten der dritten Stufe. Es spielt auch als Relaxation komplexerer Job Shop-Probleme eine Rolle. Gelöst wird es mit dem Branch and Bound Verfahren von Carlier. Die obere Grenze wird mit dem Algorithmus von Schrage (eine Heuristik) bestimmt, die untere mit einer Abwandlung davon.
Liegen reihenfolgeabhängige Rüstzeiten vor, lässt sich das Problem [1|$\tau _{jk}$|Z] mit den Rüstzeiten $\tau _{jk}$ von Auftrag j auf Auftrag k als Rundreiseproblem formulieren. Die Aufträge entsprechen dabei den zu besuchenden Städten und die Rüstzeiten den Entfernungen zwischen ihnen.

## Minimierung der Durchlaufzeit

Das allgemeine Modell [1| |D] lässt sich mit dem Aufwand O(n log n) mit der Smith-Regel: Man sortiert die Aufträge nach steigender Bearbeitungszeit und plant sie in dieser Reihenfolge ein. Werden die einzelnen Aufträge mit Gewichten $\omega _{j}$ multipliziert, ergibt sich die optimale Reihenfolge durch Sortierung nach steigender Bearbeitungszeit je Gewicht ${\frac {t_{j}}{\omega _{j}}}$.
[1|pmnt, a$_j$|D] lässt sich mit der dynamischen Shortest Remaining Processing Time Regel lösen.

## Minimierung der Anzahl der Verspätungen

[1| |V$_#$] lässt sich mit dem Algorithmus von Hodgson lösen.