Nebenbedingung Wenn-Dann |
10.04.2014, 08:14 | TheTut | Auf diesen Beitrag antworten » |
Nebenbedingung Wenn-Dann Hallo! Gibt es eine Möglichkeit die Nebenbedingung: "Wenn , dann " mit linearen (Un-)Gleichungen zu formulieren, wenn und und im Modell keine Ganzzahligkeit gefordert werden darf? Meine Ideen: Wenn gefordert werden dürfte, ginge (mit groß), aber da ich eben keine Binärvariable haben darf, fällt mir nichts Geeignetes ein. Habt ihr eine Idee? Oder könnt ihr mir bestätigen, dass diese Bedingung mit den genannten Einschränkungen nicht formuliert werden kann, damit ich aufhören kann darüber nachzugrübeln? Schon mal vielen Dank für alle Anregungen! |
||
10.04.2014, 09:10 | kgV | Auf diesen Beitrag antworten » |
Wenn gilt, was ist dann ? Und wie kannst du aus ein bauen? Was darf x dann nicht mehr werden? Lg kgV |
||
10.04.2014, 09:26 | TheTut | Auf diesen Beitrag antworten » |
Erstmal vielen Dank für deine Antwort! Aber wenn ich fordere, hab ich kein lineares Problem mehr. Und das brauche ich leider, damit ich Dualvariablen bekomme... LG |
||
10.04.2014, 09:30 | kgV | Auf diesen Beitrag antworten » |
Achso, ich dachte, lineare Gleichungen wären auch erlaubt, weil du du die Ungleichung in Klammern geschrieben hast... Dann würde ich eine Variable z einführen mit . In welcher Relation steht y dann zu jedem dieser z's? Das sollte dasselbe Resultat bringen |
||
10.04.2014, 09:39 | TheTut | Auf diesen Beitrag antworten » |
Danke, dass du weiter mitdenkst! Mein Verständnis von linear umfasst aber keine quadratischen Ausdrücke. Mit deinem z-Hinweis kann ich leider nichts anfangen. Kannst du etwas konkreter werden? |
||
10.04.2014, 09:43 | kgV | Auf diesen Beitrag antworten » |
nun, wenn y=1 und z<1, welche Relation besteht dann zwischen y und z? Größer? Kleiner? Gleich? edit: ich muss dich grade mal verlassen. Ich melde mich in ca. einer halben Stunde wieder |
||
Anzeige | ||
|
||
10.04.2014, 10:07 | TheTut | Auf diesen Beitrag antworten » |
Hm, schwierige Frage... Unter diesen Voraussetzungen ist wohl . Aber ich kann ja keine Nebenbedingung aufstellen, die besagt: Wenn , dann für alle Wenn dann eine Variable ist, wählt der Optimierer eben und meine Nebenbedingung ist völlig überflüssig. |
||
10.04.2014, 10:20 | kgV | Auf diesen Beitrag antworten » |
Jetzt komme ich nicht mehr mit... Worum genau geht es hier? Wenn es nur darum geht, die geforderte Bedingung ohne ganze Zahlen auszudrücken, dann sollte mein Ansatz passen. Dass du jetzt von Optimierung redest, passt irgendwie nicht dahin... Poste doch bitte die vollständige Aufgabe, sonst muss ich hier nur raten |
||
10.04.2014, 10:31 | TheTut | Auf diesen Beitrag antworten » |
Tut mir Leid, dann haben wir wohl aneinander vorbei geredet. Es geht mir darum, innerhalb eines mathematischen Optimierungs-Problems den Zusammenhang "" durch geeignete lineare Nebenbedingungen abzubilden, ohne in dem Optimierungs-Modell für irgendeine Variable Ganzzahligkeit zu fordern. |
||
10.04.2014, 10:36 | kgV | Auf diesen Beitrag antworten » |
Gut Dann sollte mein Ansatz aber funktionieren: wenn y>z für alle z aus dem offenen Intervall (0,1) ist, dann muss y=1 sein (für den Beweis kannst du ja mal versuchen, y kleiner als 1 zu wählen. Ich finde dir dann ein z aus meinem Intervall, das größer ist ). Dabei fordere ich auch nirgendwo Ganzzahligkeit einer Variable |
||
10.04.2014, 10:44 | TheTut | Auf diesen Beitrag antworten » |
Abgesehen davon, dass es dem Computer schwer fallen dürfte alle (überabzählbar unendlich vielen) Zahlen zwischen 0 und 1 zu betrachten kann ich statt für alle genauso gut direkt schreiben. Aber in beiden Fällen habe ich den Zusammenhang zu dem Wert der Variablen x damit noch nicht modelliert. Wenn ist, darf ja durchaus auch 0 sein. |
||
10.04.2014, 11:19 | kgV | Auf diesen Beitrag antworten » |
Ich verstehe dein Problem nicht ganz... du suchst ja einen Weg, nicht direkt y=1 schreiben zu müssen. Dazu brauchst du eine äquivalente Umschreibung durch lineare Ungleichungen Doch, du hast ja die Implikation Dem PC kannst du das einfach mit einer if-Abfrage vermitteln: if(x!=0) und dann weiter Anmerkung: wenn du das Ganze ohnehin nur für eine Computermodellierung brauchst, dann macht eine Modellierung der Bedingung mit Ungleichungen keinen Sinn - schreib da doch direkt y=1 hin. Die Modellierung macht nur im theoretischen Bereich Sinn. PS. Sry, dass das gedauert hat - mir ist grade was dazwischengekommen |
||
10.04.2014, 11:31 | TheTut | Auf diesen Beitrag antworten » |
Also, genau genommen will ich ein Cplex-Modell aufstellen. Dafür brauche ich diese logische Implikation als lineare Nebenbedingung. Die If-Abfrage nach dem Wert von x geht nicht, da ich den Wert von x in der Optimallösung beim Aufstellen des Modells ja noch nicht kenne. Und dass ich nicht direkt schreiben möchte, ist ein Missverständnis. Mir geht es eigentlich darum, die genannte logische Aussage durch lineare Gleichungen und/oder Ungleichungen auszudrücken. |
||
10.04.2014, 11:45 | kgV | Auf diesen Beitrag antworten » |
Jetzt bin ich völlig verwirrt... Wenn du den Wert von x nicht kennst, dann kannst du nie anhand dieses Wertes unterscheiden, oder? Es tut mir leid, ich bin jetzt heillos überfragt... Du musst wohl hoffen, dass sich jemand anderes mit Cplex-Modellen besser auskennt, ich kann dir nicht mehr weiterhelfen @ Forum: jemand da, der sich auskennt? Ich muss an dieser Stelle passen. Ich denke drüber nach, wenn mir etwas einfällt, melde ich mich nochmal |
||
10.04.2014, 11:49 | TheTut | Auf diesen Beitrag antworten » |
Ok, aber vielen Dank trotzdem für deine fleißigen Bemühungen! Und nochmals sorry, dass ich mein Problem am Anfang offensichtlich nicht genau genug beschrieben habe. |
||
10.04.2014, 14:03 | kgV | Auf diesen Beitrag antworten » |
Ich habe mir während meines Proseminars noch ein paar Gedanken zu deinem Problem gemacht, was andere durchaus nicht davon abhalten soll, hier zu hellfen, wenn sie sich auskennen: betrachten wir dieses Problem im , dann brauchen wir ein System von linearen Ungleichungen, das die Menge beschreibt. Wenn ich dich richtig verstehe, dann kann y für beliebige Werte aus dem Intervall [0,1] annehmen, sobald x aber größer als null ist, muss y gleich 1 sein. Dann suchen wir also ein solches System: und haben wir ja schon, jetzt brauchen wir eine Ungleichung, die uns den Fall x=0 abdeckt. bringt uns mal ein Dreieck, die Zusatzbedingung x=0 schränkt das auf den Teil ein, den wir brauchen. Jetzt muss der Fall x>0 abgehandelt werden: Diese Bedingung und entweder zwei Ungleichungen/eine Gleichung sollten das Ergebnis liefern War es das, was du gesucht hast? |
||
10.04.2014, 15:10 | TheTut | Auf diesen Beitrag antworten » |
Echt lieb von dir, dass du weiterhin über mein Problem grübelst. Interessanter Ansatz, das auf den zu übertragen. Allerdings darf man die beiden "zulässigen Strecken", die deine beiden Mengen beschreiben, dann nicht einzeln betrachten, sondern muss (Un-)Gleichungen finden, die beide Mengen gleichzeitig umfassen. Ich hatte inzwischen den Ansatz (für groß). Aber leider geht der so auch nicht, da die Minimum-Funktion keine lineare Funktion ist und ich sie auch nicht linearisiert bekomme. Grundsätzlich kann man dafür ja eine weitere Variable, nennen wir sie , einführen und sie durch folgende Nebenbedingungen begrenzen: . Aber leider ist dadurch nur sicher kleiner oder gleich diesem Minimum. Wäre dann gleich dem Minimum würde nur noch fehlen. |
||
10.04.2014, 16:15 | kgV | Auf diesen Beitrag antworten » |
Wenn das Ungleichungssystem beide Strecken umfassen soll, müssen wir nur die Lösungsmengen vereinigen, das ginge schon Die Gerade y=1 kann man durch zwei Ungleichungen beschreiben, die beide erfüllt sein müssen, eine dritte, nämlich x>0 schränkt den Definitionsbereich ein... Wenn das so gemeint war, wie ich es jetzt interpretiere, sollten wir es haben |
||
10.04.2014, 16:48 | TheTut | Auf diesen Beitrag antworten » |
Dein Luftballon-Smiley grinst so fröhlich, aber das Problem ist meiner Ansicht nach dennoch noch nicht gelöst. Alle Ungleichungen, die aufgestellt werden, müssen für beide Strecken gleichzeitig gelten. Aber schon die Gleichung ist ja beispielsweise nur für die y-Achsenabschnittsstrecke gültig. Aber bevor du dir jetzt noch weiter den Kopf zerbrichst, muss ich auch mal anmerken, dass ich inzwischen eine Möglichkeit gefunden habe, doch Ganzzahligkeit zu benutzen, sodass nun die Ungleichung für meine ursprüngliche Aufgabe ausreicht. Trotzdem interessiert mich die Fragestellung weiterhin. |
||
10.04.2014, 21:38 | kgV | Auf diesen Beitrag antworten » |
Ich denke doch, dass diese Ungleichungen ausreichen sollten: Mit der Vereinigung unserer Mengen haben wir das Ganze im Griff, alles, was den Bedingungen für die erste oder die zweite Menge genügt, ist drin. Allen Bedingungen kann ohnehin kein Punkt genügen: für x=0 soll ja mehr möglich sein als für x>0, deswegen muss man da auch mit anderen Bedingungen rangehen So oder so, gut, wenn du eine alternative Lösung für das Problem gefunden hast. Dann können wir das hier als hypothetisches Spielchen betrachten |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |
|