Matroids Matheplanet Forum Index
Moderiert von matroid
Mathematik » Numerik & Optimierung » 2-Phasen-Methode
Autor
Kein bestimmter Bereich J 2-Phasen-Methode
DerSebastian
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.12.2003
Mitteilungen: 49
Wohnort: Sachsen-Anhalt
  Themenstart: 2004-02-07

Lösen sie folgendes LOP mit Hilfe der 2-Phasen-Methode: x_1+x_2+2*x_3->min 2*x_1+x_2-x_3=1 x_1-x_2+4*x_3=2 3*x_1+x_2+2*x_3<=5 2*x_1-x_2+x_3<=1 x_i>=0, \forall i Hab leider nicht viel gefunden was die 2-Phasen-Methode eigentlich ist? Kann mir wer nen Tip geben wie man es dementsprechend umformt?


   Profil
Hume
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 11.08.2003
Mitteilungen: 583
Wohnort: Shanghai, China
  Beitrag No.1, eingetragen 2004-02-09

Hallo Sebastian, als Zwei-Phasen-Methode bezeichnet man die Simplexmethode im allgemeinen Fall. Die (primale) Simplexmethode zur Lösung linearer Optimierungsaufgaben arbeitet ja stets mit (primal) zulässigen Basen. Das setzt aber voraus, dass man bereits am Anfang eine solche kennt. (Der Basisbegriff ist Dir bekannt? Sonst frag nach.) Und was, wenn man eine solche nicht kennt? Man kann neue, künstliche Variablen einfügen, die eine Basis bilden. Um die Aufgabe nicht zu verfälschen, muss man sie anschließend natürlich wieder entfernen, und das ist genau die erste Phase. Am Ende derselben sollte man also eine zulässige Basis der eigentlichen Aufgabe kennen oder aber wissen, dass es eine solche nicht gibt. Nun konkret. Bringe zunächst Deine Aufgabe in Normalform: 2*x_1+x_2-x_3=1 x_1-x_2+4*x_3=2 3*x_1+x_2+2*x_3+u_1=5 2*x_1-x_2+x_3+u_2=1 x_i>=0, \forall i u_j>=0, \forall j Zunächst ist also keine zulässige Basis zu erkennen, u_1 und u_2 können zwar als Basisvariablen gewählt werden, aber es werden ja vier benötigt. (Eine Basis ist durch eine Einheitsmatrix in der Systemmatrix gekenntzeichnet.) Also füge noch zwei künstliche Variablen hinzu: 2*x_1+x_2-x_3+v_1=1 x_1-x_2+4*x_3+v_2=2 3*x_1+x_2+2*x_3+u_1=5 2*x_1-x_2+x_3+u_2=1 x_i>=0, \forall i u_j>=0, \forall j v_k>=0, \forall k Die künstlichen Variablen sollten aber, damit die ursprüngliche Aufgabe da steht, den Wert Null haben. Das wird zunächst als das Ziel in Phase 1 formuliert: v_1+v_2 -> min 2*x_1+x_2-x_3+v_1=1 x_1-x_2+4*x_3+v_2=2 3*x_1+x_2+2*x_3+u_1=5 2*x_1-x_2+x_3+u_2=1 x_i>=0, \forall i u_j>=0, \forall j v_k>=0, \forall k Diese Aufgabe kann nun mit Simplexmethode und der Startbasis menge(v_1 ,v_2 ,u_1 ,u_2 ) bearbeitet werden. Als Ende ist folgendes möglich: (1) Der Optimalwert ist größer als Null. Dann hat die ursprüngliche Aufgabe keine zulässige Lösung. Fertig. (2) Der Optimalwert ist Null, dh. die künstlichen Variablen v_1, v_2 sind Null und könnne (falls sie es nicht ohnehin schon sind) aus der Basis entfernt werden. Was übrigbleibt, ist eine zulässige Basis für die ursprüngliche Aufgabe, so dass diese nun ausgehend vom letzten Tableau der Phase 1, aber neuer Zielfunktion, gelöst werden kann. Das ist dann die sogenannte Phase 2. Fertig. Hilft Dir das weiter? Du kannst sicher auch in jedem einigermaßen vernünftigen Skript zur linearen Optimierung mehr dazu finden. Viele Grüße, Hume


   Profil
DerSebastian
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 13.12.2003
Mitteilungen: 49
Wohnort: Sachsen-Anhalt
  Beitrag No.2, vom Themenstarter, eingetragen 2004-02-10

OK ich denke ich habs so langsam verstanden, danke für die Mühe! Nur noch eine Frage, wie merke ich mit dem Simplextableau das nicht nur eine Optimle Lösung existiert, sondern mehrere?


   Profil
Hume
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 11.08.2003
Mitteilungen: 583
Wohnort: Shanghai, China
  Beitrag No.3, eingetragen 2004-02-11

Hallo Sebastian, wenn Du mit dem üblichen Simplextableau arbeitest, lässt sich die Anzahl der optimalen Basislösungen ziemlich leicht feststellen: Bekanntlich sind die Optimalitätsindikatoren -- oder reduzierten Kosten, nenn es wie Du willst -- der Basisvariablen stets Null. Die Optimalitätsindikatoren der Nichtbasisvariablen sind -- im Falle der Optimalität -- nichtnegativ. Jede Null, die dort enthalten ist, erzeugt eine neue optimale Basis, dh. die zugehörige Variable kann wie üblich in die Basis aufgenommen werden und über den Quotiententest eine Variable bestimmt werden, die die Basis verlässt. Das geht so oft, wie "zusätzliche", also bei Nichtbasisvariablen stehende, Nullen in den Optimalitätsindikatoren auftauchen. Die Gleichung "Anzahl der zusätzlichen Nullen = Anzahl der zusätzlichen optimalen Bases" bezieht sich aber tatsächlich nur auf die Anzahl der BASEN! Im Entartungsfall kann zu zwei verschiedenen Basen derselbe Lösungsvektor gehören. Viele Grüße, Hume


   Profil
DerSebastian hat die Antworten auf ihre/seine Frage gesehen.
DerSebastian hat selbst das Ok-Häkchen gesetzt.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]