Minimierung unter Nebenbedingung

Neue Frage »

Kostenminimierer Auf diesen Beitrag antworten »
Minimierung unter Nebenbedingung
Hallo,

ich habe eine Frage zwecks Kostenminimierung unter Nebenbedingung. Das Lösen des Problems ist einfach, aber die lineare Formulierung ist bei mir im Endeffekt immer unlogisch.

Hierzu eine Daten-Matrix: [attach]12081[/attach]

Die Bedingungen

1) jeder der Jobs muss erfüllt werden (von A, B oder C)
2) A, B und C dürfen jeweils nur 1 mal genutzt werden (!)

3) zu minimalen Kosten

Recht einfach findet man heraus dass R-34 von C, S-66 von B und T-50 von A erledigt werden müssen um die Kosten auf den minimalen Betrag von 25 Dollar zu drücken.

Jedoch, wie formuliere ich das in Bedingungsformeln?

Vektoren? Müsste eigentlich auch ohne gehen, aber wie?
Abakus Auf diesen Beitrag antworten »
RE: Minimierung unter Nebenbedingung
Hallo!

Führe am Besten erstmal Variablen ein. Eine Idee sind binäre Variablen, die die Werte 0 und 1 annehmen können.

Grüße Abakus smile

PS: willkommen im Board Wink
Kostenminimierer Auf diesen Beitrag antworten »

Mit binären Variablen habe ich leider nicht sonderlich große Erfahrung, jene strebt gar gegen 0..


Nun gut, das habe ich bisher formuliert:

Grundlagen

f(R34,S66,T50) --> 0

Kostenminimum=XR34 + XS66 + XT50

Einschränkungen:

jeder typesetter wird genau 1x benutzt

A,B,C=1 (nicht-Negativität)

Jeder Job wird genau 1x ausgeführt

R34, S66, T50 = 1 (nicht-Negativität)



Reicht hier nun die Grundlage dass die Funktion gegen 0 streben soll als einschränkende Bedingung? Irgendwie wäre das zu einfach, aber ich habe bisher noch keine anderen Möglichkeiten kennengelernt. Das wird erst in der nächsten Vorlesung geschehen. Der Dozent gab nur einen kleinen Bonus aus wer es evtl. schon davor lösen kann..
Abakus Auf diesen Beitrag antworten »

Zitat:
Original von Kostenminimierer
Mit binären Variablen habe ich leider nicht sonderlich große Erfahrung, jene strebt gar gegen 0..


Du meinst vermutlich, eine bestimmte Zielfunktion soll minimiert werden. Die Variablen streben nicht gegen irgendwas, sondern können nur bestimmte Werte annehmen.

Zitat:

Nun gut, das habe ich bisher formuliert:

Grundlagen

f(R34,S66,T50) --> 0

Kostenminimum=XR34 + XS66 + XT50

Einschränkungen:

jeder typesetter wird genau 1x benutzt

A,B,C=1 (nicht-Negativität)

Jeder Job wird genau 1x ausgeführt

R34, S66, T50 = 1 (nicht-Negativität)


Das macht noch keinen Sinn. Definiere als Variablen, diese sind gleich 1, wenn Job i auf/mit j ausgeführt wird und ansonsten gleich 0.

Ich kann jetzt leider dein Bild nicht sehen, aber da du 3 Jobs und 3 Typesetter hast, gibt es wohl 9 Variablen. Damit kannst du die Ziel- bzw. Kostenfunktion aufstellen:



Die Spalten- bzw. Zeilensummen der jeweiligen binären Variablen müssen ferner jeweils 1 sein.

Kannst du es damit formulieren?

Grüße Abakus smile

edit: gibt natürlich die jeweiligen Kosten an
Kostenminimierer Auf diesen Beitrag antworten »

.
Kostenminimierer Auf diesen Beitrag antworten »

Also, das Aufstellen der Kostenfunktion ist kein Problem, das leuchtet mir ein. Nur ist mir nicht klar was du mit..

"Definiere als Variablen, diese sind gleich 1, wenn Job i auf/mit j ausgeführt wird und ansonsten gleich 0."

meinst, bzw. viel mehr wie so etwas aussehen würde/definiert werden müsste..?

Das Spalten-/Zeilensummen 1 ergeben müssen ist klar, doch auch hier scheitert es an meinen Fähigkeiten bzgl. Definition dieser Einschränkung.

Oder reicht es insgesamt nun die Kostenminimierungsfunktion mit den 9 Variablen auszustatten und sie gegen 0 streben zu lassen?

Im Prinzip ist das ja so, nur lässt man dann denjenigen der das ausrechnet alleine, sodass er jedes Szenario einzeln durchrechnen muss. Das mag zwar bei 2x2er-Matrizen noch schneller gehen als mit diversen Methoden, aber allgemein gültig wird es sicherlich nicht sein, sobald die Matrix mehrere Daten enthält.
 
 
Abakus Auf diesen Beitrag antworten »

Zitat:
Original von Kostenminimierer
Also, das Aufstellen der Kostenfunktion ist kein Problem, das leuchtet mir ein. Nur ist mir nicht klar was du mit..

"Definiere als Variablen, diese sind gleich 1, wenn Job i auf/mit j ausgeführt wird und ansonsten gleich 0."

meinst, bzw. viel mehr wie so etwas aussehen würde/definiert werden müsste..?


Du musst im Prinzip 3 Felder deiner Tabelle aussuchen, so dass in jeder Zeile und Spalte nur jeweils ein Feld ausgesucht ist.

Die sind Variablen dafür, welche Felder ausgesucht wurden, genau 3 Variable sind 1, alle anderen 0.

Zitat:

Das Spalten-/Zeilensummen 1 ergeben müssen ist klar, doch auch hier scheitert es an meinen Fähigkeiten bzgl. Definition dieser Einschränkung.


Welche der 9 Variablen musst du jeweils addieren, um die Spalten- bzw. Zeilensummen zu bekommen?

Zitat:
Oder reicht es insgesamt nun die Kostenminimierungsfunktion mit den 9 Variablen auszustatten und sie gegen 0 streben zu lassen?


Die Kostenfunktion steht oben bereits vollständig angegeben.

Zitat:
Im Prinzip ist das ja so, nur lässt man dann denjenigen der das ausrechnet alleine, sodass er jedes Szenario einzeln durchrechnen muss. Das mag zwar bei 2x2er-Matrizen noch schneller gehen als mit diversen Methoden, aber allgemein gültig wird es sicherlich nicht sein, sobald die Matrix mehrere Daten enthält.


Es gibt Verfahren, um derartige Probleme zu lösen.

Grüße Abakus smile
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »