Guten Tag. Mein Name ist Markus Mickhain und ich werde
Ihnen in diesem Video die Übung 10, mehrfache Zielsetzung vorstellen.
Dafür möchte ich zunächst einmal das Thema motivieren.
Im Rahmen der Betrachtung von mehreren Zielsetzungen kann man verschiedene Kriterien
gemeinsam in einer Zielfunktion gewichten.
Beispielsweise die Umsatzmaximierung und zum anderen
die Kostenminimierung
Im Rahmen des Goal-Programming-Ansatzes werden die Zielkriterien entsprechend gewichtet und der
Abstand zum Optimum minimiert. Im Rahmen dieses Videos betrachten wir
das Beispiel aus der Vorlesung zur Gebiets- und Standortplanung.
Hier gibt es verschiedene Gebiete, die einzelne Umsatzpotenziale haben.
Und jetzt sollen zwei Standorte eröffnet werden und die Gebiete
den Standorten so zugeordnet werden,
dass eine möglichst Gleichverteilung da um der Gebiete nach den
Umsatzpotenzialen erfolgt
Aber zum anderen sollen natürlich auch die Transportkosten minimiert werden.
Beide Zielkriterien werden dann in der Goal-Programmier-Zielfunktion gewichtet. Im Rahmen
dieser Übung werden wir zunächst einmal das Modell nochmal in der
Gesamtheit durchgehen und anschließend die Zielfunktionen noch einmal genauer anschauen,
eigene Nebenbedingungen erweitern und auch die Zielfunktion des Goal-Programming-Ansatzes nochmal erweitern.
Anschließend werden wir die Modelllogik nochmal hinterfragen
Dafür werden wir, wird eine Teillösung Feuer geben,
aus derer wird dann die Zugehörige Teillösung oder Restlösung ableiten müssen.
Anschließend werden wir das Modell in Games implementieren und überprüfen,
ob unsere aktuelle Lösung aus dem Beispiel optimal war oder
ob wir ein anderes Optimum haben.
Im Folgenden werden wir
insgesamt sieben Übungsaufgaben durchgehen
In der ersten Aufgabe werden wir uns die erste Zielfunktion und
deren Bedeutung näher anschauen. In der zweiten Aufgabe werden wir
den zweiten Thermen dieser ersten Zielfunktion noch einmal erneut beleuchten.
In der dritten Aufgabe werden wir eine Nebenbedingung einführen,
die fordert, dass nur Gebiete mit einer maximalen Distanz
einen Standort zugeordnet werden dürfen.
In der vierten Aufgabe werden wir uns dann anschauen,
ob das Einführen einer solchen Nebenbedingung zu Unzulässigkeiten des Modells
führen kann
In der fünften Aufgabe werden wir dann die Zielfunktion,
die die maximale relative Abweichung beziehungsweise den maximalen relativen Abstand
des Umsatzbeitrages beziehungsweise des Kostenbeitrags vom jeweiligen Optimum minimiert.
Dies entspricht dem zweiten Ansatz der Goal-Programming-Zielfunktion. Hinweis,
hierfür müssen zusätzliche Nebenbedingungen in Variablen im Modell hinzugefügt werden.
In der sechsten Aufgabe werden wir uns anschauen,
wie man zugehörige Werte zu einer gegebenen aktuellen Teillösung bestimmen kann.
Hierfür ist uns ein Beispiel gegeben mit insgesamt 15 Gebieten.
Das sind Umsatzpotenziale ebenfalls gegeben sind. Zusätzlich haben sie
eine abstrahierte Darstellung der Gebietsanordnungen. Und es ist bekannt,
dass bereits 5, 4 Verkaufsstandorte als potenzielle Verkaufsstandsorte identifiziert
worden sind
Zwei, fünf, 11 und 14.
Die Distanz zwischen zwei benachbarten Kanten soll eine Einheit betragen.
Entsprechend ist der Abstand vom Gebiet 1 zum Gebiet eine Einheit und
beispielsweise die Distanz vom Gebiet 1 zum Gebiet 7, 2 Einheiten.
Von 1 nach 2 und von 2 nach 7. Wir
werden für diese aktuelle Teillösung Die Werte der X-Varianten,
der Y-Variatmen, sowie die Umsatzpotenziale und die Reisekosten bestimmen.
Anschließend werden wir in Aufgabe 7 das Modell in Games implementieren und überprüfen,
ob unsere aktuelle Lösung, die in Aufgabenteil 6 gegeben ist,
optimal ist.
Noch einmal vorweg möchte ich gerne mit Ihnen die Notation und
Immodellformulierung durchgehen
Wir haben gegeben, die Menge I für die Gebiete,
sowie die Menge J, für die potenziellen Verkaufsstandorte.
Entsprechend in Gebiet 2, 5, 11 und 14.
Zusätzlich haben wir eine Menge für die Nachbarn eines Standortes.
Beispielsweise von unserem Standort 1 sind die jeweiligen Nachbarn
der Standort 2 und der Standort 6.
Zusätzlich haben wir hier Parameter gegeben. Ui für den Umlatz,
D-I-H für die Distanz zwischen den Standort I zum Standort
Beziehungsweise Gebiet I zum Gebiet haben. Und die maximalen Umsatz,
die in einer ersten Optimierung ermittelt worden ist,
beziehungsweise die minimalen Reisekosten, die ebenfalls in einer Voroptimierung bestimmt worden sind.
Zusätzlich haben wir hier in dem Modell zwei Binärvariablen,
die erste Binärvariablen, ist XIJ,
die dann den Wärz 1 annimmt, wenn der Standort I,
dem Verkaufsstandort J,
zugeordnet wird
Beziehungsweise die Variable YJ, die dann eins wird,
wenn der Verkaufsstandort J errichtet wurde.
Zusätzlich haben wir die Umsatzpotenziale der Verkaufslandorte, die Reisekosten der Verkaufsstandorte,
soviel die Zielfunktionswerte für den Umsatz beziehungsweise den Kosten beziehungsweise den Zielfunktionswert des Good-Programming-Ansatzes.
Die erste Zielfunktion berücksichtigt hier den Umsatz.
Die zweite Zielfunktion bestimmt die Reisekosten
Die dritte Zielfunktion bildet die Zielfunktion nach dem Goal-Programming-Ansatz
die Summe der relativen Abweichung. Die nehmen Bedingungen 4,
gibt an, das Eck sagt zwei Standorte zu errichten sind.
Die Nebenbedingungen 5 gibt an, dass ein Gebiet I nur dann
einen Verkaufsstandort zugeordnet werden kann, wenn diese auch eröffnet wurde.
Die Nebenbedingung 6 gibt an, dass jedes Gebiet einem Verkaufsstandort
zugeordnet werden muss. Die Nebenbedingungen 7 gibt an,
dass ein Gebiet, das auch ein Verkaufsstandort ist,
immer dann dem Verkaufsstandort zugeordnet werden muss, wenn diese auch eröffnet wird.
Die nehmen Bedingungen 8, gebt an,
dass hier berechnet die Umsatzpotenziale der einzelnen Standorte und die Nebenbedingungen
neu gibt die Reisekosten der einzelnen Standorte an
Zusätzlich haben wir die Nebenbedingungen 10, die aussagt,
dass nur dann ein Gebiet, einem Standort zugeordnet werden kann,
wenn bereits einer der Nachbarn diesem Standort zugeordnet wurde.
Dies soll verhindern, dass wir eine Fläche haben,
eine einheitliche Fläche und dass wir keinen Flickenteppich haben.
Die Nebenbedingungen 11 gibt an,
dass unsere Umsatzpotenziale und unsere Kosten nicht kleiner sein dürfen als null
und die Nebenbedingungen 12 und 13 stellen die Nebenbedingungen oder stellen die variablen Deklarationen derbinär Variaben dar,
sodass die Variable XIJ und die Variable Y nur den Wert null oder eins annehmen können.
Hier sehen Sie noch einmal weitere Erläuterung zur Modellformulierung.
Beginnen wir mit der Aufgabe 1,
Was wird mit der ersten Zielfunktion maximiert? Wir sehen,
dass wir diese Nebenbedingungen für alle potenziellen Standorte aufstellen.
Das heißt, wir maximieren F1 unter Berücksichtigung aller Umsatzpotenzial.
Entsprechend kann F1 nur den minimalen Umsatz eines potenziellen Standortes annehmen.
Unter der Berücksichtigung, dass dieser Standort
auch ausgewählt wurde
Entsprechend nimmt F1 den maximalen Wert des kleinsten Quiots an.
Aufgabe 2, Zielfunktion 2. Wir betrachten hier in diesem Fall
wieder die erste Zielfunktion und schauen uns nochmal den zweiten Therm genauer an.
Wie wir eben gesehen haben,
wollen wir mit der Zielfunktion F1, den maximalen,
beziehungsweise maximieren, aber im F1 kann maximal den kleinsten Wert von QJ annehmen.
Wenn ein Standort nicht eröffnet wird, ist das Umsatzpotenzial entsprechend null.
Und würde dazu führen, dass F1 maximal den Wert null annehmen kann,
um dies zu verhindern, wird der zweite Therm eingeführt.
Wenn ein potenzieller Standort nicht ausgewählt wird,
Wie wird der zweite Therm, den wir tausend annehmen?
Und der erste Therm, QJ gleich Null sein.
Entsprechend wird F1 nicht von nicht ausgewählten Standorten beschränkt.
Der Wert 1000 ist hier in diesem Fall willkürlich gewählt.
Muss jedoch hinreichen groß im Verhältnis zu den Umsatzpotenzialen sein.
Dritte Aufgabe,
maximale Distanz
In diesem Aufgabe wird gefordert,
dass eine Nebenbedingung aufgestellt werden soll, die fordert,
dass nur Gebiete mit einer maximalen Distanz von DMAX-Einheiten einem Standort zugeordnet werden dürfen.
Hierzu müssen wir wissen, dass die Variable XIJ die Zuordnung
bestimmt für das Gebiet I zum Gebiet J. und der Parimeter DIJ,
definiert die Entfernung vom Gebiet I zum Standort J. Entsprechend darf die ausgewählte Distanz maximal
Der Zulässigen Distanz entsprechen. Man kann dies auch über eine
andere Nebenbedingungen abbilden. Zum Beispiel,
dass die Variable X-IJ dann null sein muss,
wenn die Distanz vom Standort I vom Gebiet I zum Standort J
größer ist als die maximale zulässige Distanz
Vierte Aufgabe, maximale Distanz 2. Könnte einen Nebenbedingungen,
die die Einhaltung einer maximalen Distanz,
von dem Max zwischen einem Standort und dem Zugeordnetengebiet fordert,
zu einer Unzulässigkeit des Gebiets des Modells führen.
Gehen wir davon aus,
dass wir die erste Nebenbedingung im Modell implementiert haben und dass
wir potenzielle Standorte, 1,5 und 11 und 15
ausgewählt haben
Die maximale Distanz soll in diesem Fall zwei Einheiten betragen.
In diesem Fall kann das Gebiet 8 nicht erreicht werden.
Da die Distanz vom Standort 1,
3 Einheiten betragen würde, von 1 nach 2,
von 2 nach 3,
von 3 nach 8 und entsprechendes
gilt auch für alle anderen potenziellen Standorte
In diesem Fall würden wir keine zulässige Lösung finden.
Da alle Standorte weiter als zwei Einheiten entfernt liegen.
Fünfte Aufgabe, maximaler Abstand, Zielfunktion, das Good-Programming-Ansatzes.
In der Vorlesung finden sich hierzu zwei Vorschriften. Minimiere den maximalen,
gewichteten Abstand bei Maximierungsproblemen. In diesem Fall ist wichtig zu berücksichtigen,
dass der optimale Wert zuerst stehen muss,
da dieser Wert kleiner, der dieser Wert größer ist,
als den Zielfunktionen, den wir hier erreichen können.
Bei einer Minimierung des minimalen Abstandes, bei Minimierungsproblemen, gilt es umgekehrt.
Dort muss der Wert der aktuellen Optimierung zuerst stehen.
Da er Stern kleiner ist als den Wert,
den wir in unserer aktuellen Optimierung erreichen können.
Beziehungsweise kleiner gleich ist. Wenn wir dies für unser Problem implementieren,
Müssen wir noch berücksichtigen, dass wir hier die relativen
maximale Abweichung beziehungsweise maximalen Abstand betrachten sollen.
Das heißt, wir wollen Z minimieren,
die Abstände und der Abstand muss größer sein,
als die des ersten Terms, in diesem Fall des Umsatzes.
Und Z muss größer sein als der Abstand bzw. relativer Abstand
der Kosten
Entsprechend müssen wir diese zwei Nebenbedingungen in dem Modell hinzufügen und
die Variable Z. Sechste Aufgabe, Bestimmung, zugehöriger Werte zur aktuellen Lösung.
Bestimmen Sie die zur aktuellen Lösung, Gehörenden,
Werte für XEAT, YJ, QJ, KJ und F.
In diesem Beispiel haben wir
potenzielle Verkaufsstandorte
2, 5, 11 und 14. In der aktuellen Lösung haben wir
die Werte gegeben, für die der Wert der X-Variablen 1 ist.
Hieraus können wir ablesen, dass das Gebiet 1,
4, 7 und 11 dem Standort 2 zugeordnet worden ist
Und dass die Gebiete 5, 8, 9 und 12
dem Standort 14 zugeordnet worden sind. Mit den Nebenbedingungen,
dass maximal zwei Standorte errichtet werden dürfen, dass nur dann ein Gebiet
einem Standort zugeordnet werden darf, denn dieser eröffnet worden ist.
Und dass ein Standort auch einem Gebiet zugeordnet werden muss,
dass das Gebiet auch dem Standort zugeordnet worden ist,
wenn die das eröffnet worden ist, folgt,
dass die Standorte oder das Gebiet 2,
auch dem Standort 2, zugeordnet wird und das Gebiet 14,
auch dem Standort 14 zugeordnet worden ist.
Über die Nebenbedingung 6 und 10,
dass jedes Gebiet einem Standort zugeordnet werden muss und das Standorte,
dass Gebiete nur dann einem Standort zugeordnet werden dürfen,
wenn auch ein Nachbar bereits einen Standort zugeordnet worden ist,
folgt die restliche Lösung.
Das entsprechend, das Gebiet 3 und 6,
dem Standort 2 zugeordnet werden und dass die Gebiete 10,
13., 15 nur noch dem Gebiet 14 zugeordnet werden können,
beziehungsweise dem Standort 14.
Wenn wir diese Werte in diese Liste eintragen, können wir
Unsere Werte für QJ, unsere Kosten und unseren Umsatz bestimmen.
Dieser ergibt sich wie folgt. Die Reise kosten,
ergeben sich über die Distanzmatrix und die Umsatzkosten,
ergeben sich aus der Umsatzpotenzialübersicht aus der Aufgabenstellung.
Für die Reisekosten finde Standort 2, konnten wir zehn Einheiten
ermitteln und für die Umsatzpotenziale der Standort 2 konnten wir 36 Einheiten ermitteln.
Entsprechend können wir dies auch für den Standort 14 machen,
unterhalten somit ein Zielfunktionswert für die erste Zielfunktion von 30 Einheiten
und von der zweiten Zielfunktion von 22 Einheiten
Abschließend möchte ich die Implementierung des Modells in Games vorstellen.
Hier sehen Sie das Gamescript. Mit den Befehlen Option,
Op CR wird das Solution Gap null gesetzt.
Dies kennen Sie bereits aus der Optimierung mit ganzzahligen Variablen.
Wir legen das Set I an,
in dem wir alle potenziell,
also alle Gebiete enthalten sind und das ZJ von I,
in dem wir
die potenziellen Standorte aufnehmen
Durch den Befehl alias duplizieren wir die Menge I. In die
Menge Haar. Sodass wir jetzt auch eine Nachbarschaftsmenge N,
die abhängig ist, von I und Ha anlegen können.
Der Parameter UI enthält alle Umsatzpotenziale unserer 15 Standorte bzw. 15 Gebiete.
Zusätzlich müssen wir hier ein Skala für unsere Optimierungswerte anlegen.
Für F1 Stern, beziehungsweise F2 Stern. Anschließend erfolgt die Berechnung
der Distanzen. Hierfür haben wir zunächst einmal zwei Hilfsparameter,
die Zeile und die Spalte angelegt und die Distanz.
DI von ihm. Die Zeile gibt den Wert zurück in dem
wir die Distanzmatrix betrachten, beziehungsweise die abstrahierte Darstellung und durch
die Zeilfunktion runden wir die Werte auf.
Unterhalten hier durch jeweils die Zeile, in der sich das
Gebiet befindet, in unserer abstrahierten Darstellung.
Die Spalte wird hier ermittelt durch die Matt-Funktion.
Dies entspricht auch der statistischen Modular-Funktion,
die den ganzzahligen Rest wiedergibt
Somit können wir hier unsere Distanzen in Abhängigkeit von
unserer Zeile beziehungsweise Spalte bestimmen. Eine Nachbarschaftsbeziehung gilt dann,
wenn die Distanz von ihm zu Haar gleich eins ist.
Und durch diese Funktion fügen wir Elemente einer Menge,
einer weiteren Menge hinzu. Nun legen wir noch unsere Variablen
an für unsere Zielfunktionswerte F1, F-2, Und F3.
Und die Nicht-Negativitäts. Beziehungsweise die Nicht-Negativen Variablen,
die Umsatzpotenziale und die Reise kosten. So wie in Sebinärvariablen,
Y von J und X von J. Nun implementieren wir
die Nebenbedingungen und Zielfunktionen aus unserem Modell.
Entsprechend die Nebenbedingungen
Die die Anzahl der Standorte wiedergibt, die Nebenbedingungen 2,
die die Zuordnung der erforderlich errichtenden Standorte sicherstellt,
die neben den Bedingungen 3, die sicherstellt,
dass Gebiete genau einen Standort zugeordnet sind, die Nebenbedingungen 3B,
die sicherstellt, dass das Skip wie J,
dem Standort J zugeordnet wird, falls dieses errichtet wird,
die Nebenbedingungen 4, die Zuordnung der Umsatzpotenziale,
die Nebenbedingungen 5, die hier unsere Zielfunktion darstellt,
dass eben F1 den minimalen Umsatz von QJ entspricht.
Die Nebenbedingungen sechs, die hier den Zusammenhang,
in ein zusammenhängendes Gebiet bzw. eine zusammenhängende Fläche sicherstellt,
das eben nur dann ein Gebiet,
einem Standort J zugeordnet werden kann,
wenn dieses bereits dem Standort errichtet worden ist bzw. ein Nachbar
diesem Standort errichtet worden ist
Die nehmen Bedingungen sieben, dass die Reisekosten des Errichteten Standortes berechnet werden.
Und die gesamten Reisekosten. Die Nebenbedingungen neun stellt hier die
Summe der relativen absoluten Abweichung von den jeweiligen Optimalwerten dar.
Und er spricht somit dem ersten Zielfunktionsansatz des Good Programming-Ansatzes
In der Funktion, denen wir weitere Parameter an,
um unsere optimalen Werte der einzelnen Interrationen abzuspeichern, beziehungsweise uns auch Y und X-Werte abzuspeichern
. Dann stellen wir das Modell auf und in diesem Fall sollen allen Nebenbedingungen,
die das aufgestellt worden sind, in diesem Modell auch enthalten sein.
Über das Salve-Statement können wir das Modell Gebiete lösen unter Maximierung
des Zielfunktionswertes 1 und in diesem Fall müssen wir einen MIP,
ein Mixed-Intage-Problem, lösen.
Nachdem wir die Werte hier abgespeichert haben,
können wir die nächste Optimierung durchführen,
indem wir eben die Gebiete erneut das Modell Gebiete aufrufen und
in diesem Fall F2 minimieren und auch hier haben wir wieder
ein MEP
Wir speichern hier wieder unseren optimalen Zielfunktionswert ab und die weiteren Variablen
und lösen dann erneut das Gebietsproblem unter der Minimierung der Zielfunktion 3,
die dem Goal-Programming-Einsatz entspricht und nutzen hier auch wieder ein MEP.
Anschließend speichern wir auch diese Werte ab.
Und das Ergebnis entspricht dann unserem Optimum. Die Werte,
die wir hier mit Games ermittelt haben,
sehen wie folgt aus
Zur Interpretation, ob wir die aktuelle Lösung optimal ist,
müssen wir unser Zielfunktionswerte miteinander vergleichen.
In diesem Fall ist F1 Opt größer als die,
der von uns aktuell vorherbetrachteten aktuellen Lösungen und F2
Opt entspricht genau dem Zielfunktionswerter aktuellen Lösungen. Somit folgt,
dass die aktuelle Lösung, die wir im Beispiel selbst betrachtet haben,
nicht optimal ist, da Unser F1-Opt eben größer ist,
als unser F1 aktuell.
Ich hoffe, dieses Video konnte Ihnen helfen,
dass die Thematik der mehrfachen Zielsetzung besser zu verstehen.
Sollten Sie noch Fragen oder Anmerkungen haben,
nützen Sie gerne die Kommentarfunktion unter diesem Video
oder senden wir
eine E-Mail