Kursangebot | Operations Research 2 | Verfahren von Gomory

Operations Research 2

Verfahren von Gomory

ingenieurkurse JETZT WEITER LERNEN!

Weitere Lernvideos sowie zahlreiche Materialien erwarten dich:
Komplettpaket für Ingenieurstudenten


3108 Lerntexte mit den besten Erklärungen

494 weitere Lernvideos von unseren erfahrenen Dozenten

5120 Übungen zum Trainieren der Inhalte

8380 informative und einprägsame Abbildungen

This browser does not support the video element.

In diesem Abschnitt soll das Verfahren von Gomory aufgezeigt werden. Hierbei handelt es sich um ein Schnittebenenverfahren, bei welchem eine ganzzahlige Lösung des linearen Optimierungsproblems resultiert. In diesem Abschnitt soll aufgezeigt werden, wie ein lineares Maximierungsproblem mit Ganzzahligkeitsbedingung mittels primalen und dualen Simplexalgorithmus und dem Schnittebenenverfahren von Gomory gelöst werden kann. Der primale und duale Simplex-Algorithmus sollte bereits aus dem Kurs Operations-Research 1 bekannt sein. Im Kapitel Wiederhoung: Operations Research 1 werden beide nochmals wiederholt.

Voraussetzungen:

  1. Das lineare Optimierungsproblem muss in Standardform vorliegen (Maximierungsproblem, Kleiner/Gleich-Nebenbedingung, Nichtnegativitätsbedingung)

  2. Die Standardform muss dann in die Normalform überführt werden (Gleichheitsbedingung) mittels Einführung von Schlupfvariablen.

  3. Es müssen nicht-negative Koeffizienten auf der rechten Seite der Nebenbedingungen vorliegen (, für alle ).

  4. Die Werte der rechten Seite müssen ganzzahlig sein .

  5. Alle Koeffizienten (auch Zielfunktionskoeffizienten) müssen ganzzahlig sein oder mittels Multiplikation von , usw. ganzzahlig gemacht werden können, d.h. wenn Dezimalzahlen vorliegen, dann endliche und keine unendlichen (endlich = , unendlich = ). Liegen unendliche Dezimalzahlen vor, so ist das Verfahren beendet.

Vorgehensweise

  1. Überführung des ganzzahligen Optimierungsproblems in die Normalform. Dazu wird für jede Nebenbedingung eine Schlupfvariable eingefügt und aus den Ungleichungen werden Gleichungen.
  2. Eintragen der Normalform in das Ausgangstableau. Die Variablen der Zielfunktion (Entscheidungsvariablen) gehen in die Nichtbasis, die Schlupfvariablen in die Basis. Die Zielfunktionskoeffizienten werden mit (-1) multipliziert und in die letzte Zeile des Tableaus eingetragen. Die rechte Seite wird als letzte Spalte in das Tableau eingetragen. Mittig stehen die Koeffizienten der Nebenbedingungen.

  3. Sind negative Werte auf der rechten Seite gegeben, wird für das Problem zunächst mittels dualen Simplexalgorithmus eine zulässige Lösung ermittelt. Diese liegt vor, wenn nur positive Werte auf der rechten Seite gegeben sind. Ist eine zulässige Lösung bestimmt bzw. liegt bereits eine zulässige Lösung vor (Werte der rechten Seite sind alle positiv), kann der primale Simplexalgorithmus angewandt werden, um eine optimale Lösung zu bestimmen. Eine optimale Lösung liegt dann vor, wenn die Werte der Zielfunktion im Tableau alle größer gleich Null sind.

    Der primale Simplexalgorithmus wird angewandt und die Ganzzahligkeitsbedingung aufgehoben, bis eine optimale Lösung vorliegt. Sind alle Werte der rechten Seite ganzzahlig (), so ist die optimale Lösung gleich der optimalen ganzzahligen Lösung und das Problem wurde gelöst. Sind noch Werte auf der rechten Seite gegeben, die nicht ganzzahlig sind (), dann wird ein Gomory-Schnitt durchgeführt.

  4. Für den Gomory-Schnitt wird eine Zeile ausgewählt, für welche die rechte Seite einen nicht ganzzahligen Wert annimmt. Für diese Zeile werden alle Brüche in einen ganzzahligen Anteil und einen Bruchanteil aus dem Intervall (0,1) gespalten. Die ganzzahligen Anteile werden auf die linken Seite, die Bruchanteile auf die rechte Seite gebracht. Die rechte Seite geht als Gomory-Zeile wieder in das Tableau ein. Danach wird ein dualer Simplexschritt durchgeführt.

Beispiel: Verfahren von Gomory

      max!

u.d.N.

(1)   

(2)    

(3)


   und ganzzahlig

Hinweis

Hier klicken zum Ausklappen

Es liegt die Standardform vor. Alle Koeffizienten sind ganzzahlig, die rechte Seite ist ganzzahlig. Die Voraussetzungen für die Anwendung des Gomory-Verfahrens sind also gegeben.

Überführung in die Normalform

Es werden als nächstes die Schlupfvariablen eingeführt um statt der Ungleichungen Gleichungen zu erhalten. Wir erhalten somit die folgende Normalform:

      max!

 u.d.N.

(1)   

(2)    

(3)


   und ganzzahlig


Alle Werte der rechten Seite sind positiv. Demnach wird zunächst der primale Simplexalgorithmus angewandt bis eine optimale Lösung erreicht ist.

Wir beginnen zunächst das obige Problem in das Simplextableau zu überführen. Dabei sind die Zielfunktionsvariablen (auch: Entscheidungsvariablen) und die Nichtbasisvariablen und die Schlupfvariablen die Basisvariablen. Die Zielfunktionszeile wird mit (-1) multipliziert und als letzte Zeile in das Tableau eingetragen. Die Werte der rechten Seite werden als letzte Spalte in das Tableau eingetragen:

Verfahren von Gomory

 

In dem obigen Tableau ist bereits eine zulässige (aber nicht optimale) Lösung gegeben. Die Basisvariablen nehmen immer die Werte der rechten Seite an, die Nichtbasisvariablen (NBV) sind immer Null:

Die Werte sind nicht-negativ (also größer gleich Null) und ganzzahlig. Demnach liegt hier eine zulässige, aber nicht optimale Lösung vor. Beim Vorliegen einer zulässigen Lösung kann der primale Simplexalgorithmus angewandt werden, um zu einer optimalen Lösung zu gelangen. Der nächste Schritt ist also die Bestimmung der optimale Lösung mittels primalen Simplexalgorithmus:

Primales Simplexverfahren - 1. Schritt


Da noch ein negativer Wert in der Zielfunktionszeile (unterste Zeile) gegeben ist, wird als nächstes ein weiterer Simplexschritt (primal) durchgeführt:

Primales Simplexverfahren - 2. Schritt


Das Tableau weist keine negativen Werte innerhalb der Zielfunktionszeile mehr auf. Die optimale Lösung ist somit erreicht:

,

Da das Ergebnis nicht ganzzahlig ist, ist die optimale Lösung nicht gleich der ganzzahligen optimalen Lösung. Wir müssen also als nächstes einen Gomory-Schnitt durchführen. Dazu wählen wir eine Zeile aus, für welche die rechte Seite nicht-ganzzahlige Werte annimmt. In allen drei Zeile nimmt die rechte Seite nicht-ganzzahlige Werte an, d.h. wir können eine beliebige Zeile auswählen.

Wir wählen im Weiteren die 1. Zeile aus dem Simplextableau:


Wir spalten die nicht-ganzzzahligen Koeffizienten in eine ganzzahligen Anteil und in einen Bruchanteil auf. Wichtig ist, dass der Bruchanteil im Intervall (0,1) liegen muss.

Beispiel

Hier klicken zum Ausklappen

Haben wir zum Beispiel den Bruch gegeben, so liegt dieser bereits im Intervall (0,1). Der ganzzahlige Anteil ist demnach 0 und der Bruchanteil .

Für zum Beispiel ist der ganzzahlige Anteil und der Bruchanteil zwischen (0,1). Also .

Für muss das Minuszeichen für den ganzzahligen Anteil übernommen werden, der Bruchanteil darf nicht negativ werden. Wir müssen nun also statt 2 + Bruchanteil von der -3 ausgehen und den Anteil addieren, so dass wieder resultiert: .

Für unsere Gomory-Zeile gilt dann:



Die ganzzahligen Anteile werden auf die linke Seite des Gleichheitszeichens gebracht, die Bruchanteile auf die rechte Seite:

Methode

Hier klicken zum Ausklappen


Da und sein müssen (Nichtnegativitätsbedingung), nimmt an. Mit Berücksichtigung von ergibt sich dann:

Diese Gleichung nimmt bei den Wert an. Mit zunehmenden bzw. wird das Ergebnis kleiner, damit ist diese Gleichung also immer .


Andererseits wird die linke Seite der Gomory-Zeile ganzzahlig:

weil die Variablen und nur ganze Werte annehmen. Da linke und rechte Seite gleich sind, kann auch die rechte Seite nur ganzzahlige Werte annehmen. Der nächste ganzzahlige Wert unter ist Null:


Es wird nun die Konstante auf die rechte Seite des Ungleichzeichens gebracht:



Einfügen der Schlupfvariablen um eine Gleichung zu erhalten:



Hinweis

Hier klicken zum Ausklappen

Nachdem der ganzzahlige Anteil auf die rechte Seite und der Bruchanteil auf die linke Seite gebracht wurden, sind die folgenden Schritte jedes Mal identisch. Es reicht also aus, wenn du ab dann die rechte Seite betrachtest und setzt und dann die Konstante auf die rechte Seite des Ungleichzeichen bringst und die Schlupfvariable einfügst.

Heißt also:

Nur rechte Seite betrachten und kleiner gleich Null setzen:

Konstante auf rechte Seite bringen:


Gomory-Zeile in das Tableau einfügen:

Gomory-Zeile


Als nächstes wird der duale Simplexalgorithmus angewandt, um eine zulässige Lösung zu erhalten:

Dualer Simplexalgorithmus

 

Nach Anwendung des dualen Simplexalgorithmus resultiert die optimale Lösung des ganzzahligen Optimierungsproblems mit:

und sowie , und .

Bei dieser Lösung sind also in der Nebenbedingung 1 keine Kapazitäten mehr vorhanden (), in der Nebenbedingung 2 noch 1 Kapazität () und in der Nebenbedingung 3 noch 2 Kapazitäten () vorhanden.

Methode

Hier klicken zum Ausklappen

Die Zielfunktion nimmt den Wert: an.

 

Videoreihe zum Gomory-Verfahren

1. In diesem Video werden die Voraussetzungen für die Anwendungen des Gomory-Verfahrens aufgezeigt.

This browser does not support the video element.


2. Es folgt das Einfügen der Schlupfvariablen um das ganzzahlige Optimierungsproblem in die Normalform zu überführen:

This browser does not support the video element.

 
3. Auswahl der Pivotspalte und Pivotzeile:

This browser does not support the video element.

 
4. Der erste primale Simplexschritt wird durchgeführt:

This browser does not support the video element.

 
5. Der zweite primale Simplexschritt wird durchgeführt:

This browser does not support the video element.

 
6. Auswahl der Gomory-Zeile:

This browser does not support the video element.

 
7. Anwendung des dualen Simplexalgorithmus':

This browser does not support the video element.

 

Lerne erfolgreich mit unseren Online-Kursen

This browser does not support the video element.

Sichere dir jetzt das kompakte Wissen mit unserem Vollzugriff Komplettpaket für Ingenieurstudenten


  • Alle Lernmaterialien komplett mit 494 Videos, 5120 interaktiven Übungsaufgaben und 3108 Lerntexten
  • Günstiger als bei Einzelbuchung nur 14,90 € mtl. bei 1 Monaten Mindestvertragslaufzeit
Jetzt entdecken

This browser does not support the video element.

Einzelkurs: Operations Research 2


  • Die besten Lernmaterialien: 60 Texte, 105 Abbildungen, 13 Videos und 25 Übungsaufgaben.
Jetzt entdecken