ingenieurkurse
online lernen

Besser lernen mit Online-Kursen

NEU! Jetzt online lernen:
Operations Research 2
Den Kurs kaufen für:
einmalig 39,00 €
Zur Kasse
Kombinatorische Optimierung > Fertigungsablaufplanung:

Johnson-Algorithmus

WebinarTerminankündigung:
 Am 20.12.2016 (ab 16:00 Uhr) findet unser nächstes Webinar statt.
Gratis-Webinar (Operations Research) Primaler Simplexalgorithmus
- Das 60-minütige Gratis-Webinar behandelt den primalen Simplexalgorithmus.
[weitere Informationen] [Terminübersicht]

Der Johnson-Algorithmus liefert für den 2-Maschinen-Fall eine optimale Reihenfolge der jeweiligen Aufträge, die beide Maschinen in derselben Reihenfolgen durchlaufen. Die Bestimmung der optimale Reihenfolge der Aufträge erfolgt, indem die minimale Bearbeitungszeit als Entscheidungskriterium herangezogen wird. Dies soll anhand eines Beispiels dargestellt werden.

Anwendungsbeispiel: Johnson-Algorithmus

Beispiel

Gegeben seien folgende Aufträge $A_i$ und ihre Bearbeitungszeiten $p_{ij}$ auf den Maschinen $M_j$:

$A_1$ $A_2$ $A_3$ $A_4$ $A_5$ $A_6$
$M_1$ 16 5 4 14 12 5
$M_2$ 6 12 7 9 15 1

Wie sieht die optimale Reihenfolge bei Minimierung der Bearbeitungszeit nach dem Johnson-Algorithmus aus?

Vorgehensweise:

Zuerst wird der Auftrag mit der kürzesten Bearbeitungszeit ausgewählt. Ist dieser Auftrag mit der kürzesten Bearbeitungszeit auf Maschine 2 (also $j = 2$) eingeplant, dann wird dieser Auftrag hinten angeordnet. Ist der Auftrag hingegen bei Maschine 1 (also $j = 1$) eingeplant, dann wird dieser vorne angeordnet. 

In diesem Beispiel:  Der Auftrag $A_6$ mit der Bearbeitungszeit von $p_{62} = 1$ ist auf Maschine 2 (also $j = 2$) eingeplant. Da dieser bereits hinten angeordnet ist (und sich damit nichts ändert), wird der nächste Auftrag betrachtet (der Auftrag $A_6$ wird nicht mehr berücksichtigt).

Der Auftrag mit der kürzesten Bearbeitungszeit ist jetzt $A_3$ mit $p_{31} = 4$. Da dieser auf Maschine 1 liegt, wird er vorne angeordnet. Die Reihenfolge der Aufträge sieht nun wie folgt aus (grün markierte Aufträge sind bereits abgearbeitet und werden nicht mehr berücksichtigt):

$A_3$ $A_1$ $A_2$ $A_4$ $A_5$ $A_6$
$M_1$ 4 16 5 14 12 5
$M_2$ 7 6 12 9 15 1

Der nächste Auftrag ist $A_2$ mit $p_{21} = 5$, welcher wieder auf Maschine 1 angeordnet ist und damit nach vorne (aber nach $A_3$) verschoben wird:

$A_3$ $A_2$ $A_1$ $A_4$ $A_5$ $A_6$
$M_1$ 4 5 16 14 12 5
$M_2$ 7 12 6 9 15 1

Weiter folgt Auftrag $A_1$ mit $p_{12} = 6$ auf Maschine 2, welcher nach hinten verschoben wird (aber vor $A_6$):

$A_3$ $A_2$ $A_4$ $A_5$ $A_1$ $A_6$
$M_1$ 4 5 14 12 16 5
$M_2$ 7 12 9 15 6 1

Als nächstes folgt der Auftrag $A_4$ mit $p_{42} = 9$ auf Maschine 2 (also nach vorne):

$A_3$ $A_2$ $A_5$ $A_4$ $A_1$ $A_6$
$M_1$ 4 5 12 14 16 5
$M_2$ 7 12 15 9 6 1

$A_5$ ist der letzte Auftrag und bleibt auf der Position bestehen, somit ist die optimale Reihenfolge der Aufträge auf den Maschinen:

$A_3$ $A_2$ $A_5$ $A_4$ $A_1$ $A_6$
$M_1$ 4 5 12 14 16 5
$M_2$ 7 12 15 9 6 1

Berechnung der Gesamtbearbeitungszeit 

Die Gesamtbearbeitungszeit ergibt sich wie folgt:

Für Maschine 1 können die Aufträge ohne Verzögerung nacheinander abgearbeitet werden, da dieser Maschine keine weiteren Maschinen vorgelagert sind. Die Bearbeitungszeiten der Aufträge müssen also nur kumuliert werden. Maschine 1 hat damit eine Gesamtbearbeitungszeit von 56 ohne Pufferzeiten.

$A_3$ $A_2$ $A_5$ $A_4$ $A_1$ $A_6$
$M_1$ 4 9 21 35 51 56

Für Maschine 2 sieht das schon anders aus. Da die Maschine 1 der Maschine 2 vorgelagert ist, muss dies bei der Berechnung der Bearbeitungszeit berücksichtigt werden. Denn ist ein Auftrag bereits auf Maschine 2 eingeplant, aber auf Maschine 1 noch nicht fertiggestellt, entstehen Pufferzeiten und die Gesamtbearbeitungszeit verlängert sich. 

Die Berechnung erfolgt so:

Der Auftrag $A_3$ dauert 7 ZE und ist auf Maschine 1 bei 4 ZE fertiggestellt, kann also auch erst dann auf Maschine 2 einplanbar werden. Das bedeutet also, dass $A_3$ auf Maschine 2 bei 11 Zeitheiten fertiggestellt ist (= 4 + 7).

$A_3$ $A_2$ $A_5$ $A_4$ $A_1$ $A_6$
$M_1$ 4 9 21 35 51 56
$M_2$ 11 12 15 9 6 1


Als nächstes betrachtet man Auftrag $A_2$. Dieser ist bei 9 ZE auf Maschine 1 fertiggestellt, allerdings erst bei 11 ZE auf Maschine 2 einsetzbar (der vorherige Auftrag endet erst bei 11 ZE). Das bedeutet eine Zwischenlagerung über 2 ZE von $A_2$. $A_2$ ist also erst bei 11 ZE einplanbar und dauert 12 ZE, insgesamt ergibt sich also 23 ZE:

$A_3$ $A_2$ $A_5$ $A_4$ $A_1$ $A_6$
$M_1$ 4 9 21 35 51 56
$M_2$ 11 23 15 9 6 1


Auftrag $A_5$ ist bereits bei 21 ZE auf Maschine 1 fertiggestellt, allerdings auf Maschine 2 erst ab 23 ZE einplanbar (Zwischenlagerung von $A_5$ über 2 ZE). $A_5$ hat eine Bearbeitungszeit von 15 ZE, das ergibt 38 ZE (=23 + 15).

$A_3$ $A_2$ $A_5$ $A_4$ $A_1$ $A_6$
$M_1$ 4 9 21 35 51 56
$M_2$ 11 23 38 9 6 1


Auftrag $A_4$ beginnt demnach erst bei 38 ZE (Zwischenlagerung von 3 ZE) und dauert 9 ZE, das ergibt eine Gesamtbearbeitungszeit von 47 ZE. 

$A_3$ $A_2$ $A_5$ $A_4$ $A_1$ $A_6$
$M_1$ 4 9 21 35 51 56
$M_2$ 11 23 38 47 6 1


Auftrag $A_1$ ist bereits bei 47 ZE auf der Maschine 2 einplanbar, jedoch erst bei 51 ZE auf Maschine 1 fertiggestellt, weshalb die Gesamtbearbeitungsdauer 57 ZE (=51 + 6) darstellt. Der letzte Auftrag beginnt bei 57 ZE und dauert 1 ZE, was eine Gesamtbearbeitungszeit der Maschine 2 von 58 ZE bedeutet.

$A_3$ $A_2$ $A_5$ $A_4$ $A_1$ $A_6$
$M_1$ 4 9 21 35 51 56
$M_2$ 11 23 38 47 57 58

Berechnung der Pufferzeit

Die Berechnung der Pufferzeit der Maschine 2 erfolgt so:

Man berechnet für einen Auftrag $A_i$ die Pufferzeit durch:

Pufferzeit = Gesamtbearbeitungszeit aller Aufträge bis $A_i$ (inklusive) - Bearbeitungszeit des Auftrages $A_i$ - Gesamtbearbeitungszeit der vorangegangenen Aufträge (exklusive)

$A_3$ $A_2$ $A_5$ $A_4$ $A_1$ $A_6$
$M_1$ 4 9 21 35 51 56
$M_2$ 11 23 38 47 57 58
Puffer 4 0 0 0 4 0

Z.B.: Bei Auftrag $A_1$, berechnet sich die Pufferzeit durch die Gesamtbearbeitungszeit aller Auftrage (inklusive $A_1$), also 57 ZE, abzüglich der Gesamtbearbeitungszeit der vorangegangenen Aufträge (exklusive $A_1$) also 47 ZE, abzüglich der Bearbeitungszeit des Auftrages $A_1$ also 6 ZE. 

Grafisch: Johnson-Algorithmus

Man kann das ganze auch grafisch ermitteln, indem man die Reihenfolge in ein Gantt-Diagramm einzeichnet.

Johnson-Algorithmus
Optimale Belegung nach dem Johnson-Algorithmus
Vorstellung des Online-Kurses Operations Research 2Operations Research 2
Dieser Inhalt ist Bestandteil des Online-Kurses

Operations Research 2

Ingenieurkurse (ingenieurkurse.de)
Diese Themen werden im Kurs behandelt:

[Bitte auf Kapitelüberschriften klicken, um Unterthemen anzuzeigen]

  • Operations Research 2: Überblick
    • Einleitung zu Operations Research 2: Überblick
  • Grundlagen des Operations Research 1
    • Einleitung zu Grundlagen des Operations Research 1
    • Definition: Lineares Programm
    • Standardform: Maximierungsproblem
      • Einleitung zu Standardform: Maximierungsproblem
      • Grafische Lösung des Maximierungsproblems
    • Primaler Simplexalgorithmus
      • Einleitung zu Primaler Simplexalgorithmus
      • Lösung des Maximierungsproblems mittels primalen Simplexalgorithmus
    • Dualer Simplexalgorithmus
    • Umformung in die Standardform
    • Umformung in die Normalform
  • Ganzzahlige Optimierung
    • Einleitung zu Ganzzahlige Optimierung
    • Grafisches Verfahren
    • Verfahren von Gomory
      • Einleitung zu Verfahren von Gomory
      • Beispiel: Verfahren von Gomory
    • Branch-and-Bound-Verfahren
      • Einleitung zu Branch-and-Bound-Verfahren
      • Branch-and-Bound: Maximierungsprobleme
        • Einleitung zu Branch-and-Bound: Maximierungsprobleme
        • Branch-and-Bound am Maximierungsproblem
          • Einleitung zu Branch-and-Bound am Maximierungsproblem
          • Festlegung der oberen/unteren Schranke, Prioritätenfestlegung
          • Entscheidungsbaum für das Maximierungsproblem
          • Beispiel: Branch and Bound am Maximierungsproblem
        • Branch-and-Bound am Maximierungsproblem (optimale Lösung)
          • Einleitung zu Branch-and-Bound am Maximierungsproblem (optimale Lösung)
          • Beispiel: Branch and Bound am Maximierungsproblem (optimale Lösung)
      • Branch-and-Bound: Minimierungsprobleme
        • Einleitung zu Branch-and-Bound: Minimierungsprobleme
        • Branch-and-Bound am Minimierungsproblem
          • Einleitung zu Branch-and-Bound am Minimierungsproblem
          • Festlegung der unteren/oberen Schranke, Prioritätenfestlegung
          • Entscheidungsbaum für das Minimierungsproblem
          • Beispiel: Branch and Bound am Minimierungsproblem
        • Branch-and-Bound am Minimierungsproblem (optimale Lösung)
          • Einleitung zu Branch-and-Bound am Minimierungsproblem (optimale Lösung)
          • Beispiel: Branch and Bound am Minimierungsproblem (optimale Lösung) 1
          • Beispiel: Branch and Bound am Minimierungsproblem (optimale Lösung) 2
          • Beispiel: Branch and Bound am Minimierungsproblem (optimale Lösung) 3
      • Branch-and-Bound: Knapsack-Problem
      • Branch-and-Bound: Knapsack-Problem (Alternative)
    • Verfahren der vorsichtigen Annäherung
  • Kombinatorische Optimierung
    • Einleitung zu Kombinatorische Optimierung
    • Traveling-Salesman-Problem
      • Einleitung zu Traveling-Salesman-Problem
      • Vollständige Enumeration
        • Einleitung zu Vollständige Enumeration
        • Beispiel: Vollständige Enumeration (Reduktion der Matrix)
        • Beispiel: Vollständige Enumeration (Anwendung des Verfahrens)
      • Heuristische Verfahren
        • Einleitung zu Heuristische Verfahren
        • Verfahren des besten Nachfolgers
          • Einleitung zu Verfahren des besten Nachfolgers
          • Verfahren des besten Nachfolgers (Ausgangsmatrix)
          • Verfahren des besten Nachfolgers (reduzierte Matrix)
        • Verfahren der sukzessiven Einbeziehung von Stationen
          • Einleitung zu Verfahren der sukzessiven Einbeziehung von Stationen
          • Einbeziehung von Stationen (Ausgangsmatrix)
      • Entscheidungsbaumverfahren
        • Einleitung zu Entscheidungsbaumverfahren
        • Begrenzte Enumeration
        • Branch-and-Bound Verfahren am Traveling-Salesman-Problem
          • Einleitung zu Branch-and-Bound Verfahren am Traveling-Salesman-Problem
          • Branch-and-Bound (TSP): 1. Iteration
          • Branch-and-Bound (TSP): Weitere Iterationen
    • Fertigungsablaufplanung
      • Einleitung zu Fertigungsablaufplanung
      • Flow-Shop-Probleme
      • Johnson-Algorithmus
  • Nichtlineare Optimierung
    • Grundlagen der nichtlinearen Optimierung
      • Einleitung zu Grundlagen der nichtlinearen Optimierung
      • Konkave und konvexe Funktionen
        • Einleitung zu Konkave und konvexe Funktionen
        • Beispiel: Nachweis konvexer/konkaver Funktionen auf direktem Weg
        • Beispiel: Nachweis konvexer/konkaver Funktionen über Differenzierbarkeit
    • Nichtlineare Optimierung unter Nebenbedingungen
      • Einleitung zu Nichtlineare Optimierung unter Nebenbedingungen
      • Methode der zulässigen Richtung
        • Einleitung zu Methode der zulässigen Richtung
        • Beispiel: Methode der zulässigen Richtungen (1. Iteration)
        • Beispiel: Methode der zulässigen Richtungen (2. Iteration)
        • Beispiel: Methode der zulässigen Richtungen (3. Iteration)
  • 61
  • 7
  • 25
  • 64
einmalig 39,00
umsatzsteuerbefreit gem. § 4 Nr. 21 a bb) UStG
Online-Kurs Top AngebotTrusted Shop

Unsere Nutzer sagen:

  • Phillipp Grünewald

    Phillipp Grünewald

    "ingenieurkurse.de hat mir besonders bei den Mathe-Themen geholfen. Super Erklärungen!"
  • Martina Pfeiffer

    Martina Pfeiffer

    "Klasse für den Einstieg ins Ingenieurstudium."
  • Marcel Eberhardt

    Marcel Eberhardt

    "Ich mache mir dank euch keine Sorgen für die Prüfungen. Danke!"

NEU! Sichere dir jetzt die perfekte Prüfungsvorbereitung und spare 10% bei deiner Kursbuchung!

10% Coupon: lernen10

Zu den Online-Kursen