Nebenbedingung Wenn-Dann

Neue Frage »

TheTut Auf diesen Beitrag antworten »
Nebenbedingung Wenn-Dann
Meine Frage:
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!
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
Wink
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
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 smile
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?
kgV Auf diesen Beitrag antworten »

nun, wenn y=1 und z<1, welche Relation besteht dann zwischen y und z? Größer? Kleiner? Gleich? smile


edit: ich muss dich grade mal verlassen. Ich melde mich in ca. einer halben Stunde wieder
 
 
TheTut Auf diesen Beitrag antworten »

Hm, schwierige Frage... Augenzwinkern 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.
kgV Auf diesen Beitrag antworten »

Jetzt komme ich nicht mehr mit... verwirrt

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 smile
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.
kgV Auf diesen Beitrag antworten »

Gut smile

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 Augenzwinkern ).
Dabei fordere ich auch nirgendwo Ganzzahligkeit einer Variable
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.
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
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.
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... unglücklich

Du musst wohl hoffen, dass sich jemand anderes mit Cplex-Modellen besser auskennt, ich kann dir nicht mehr weiterhelfen unglücklich

@ 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
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.
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?
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.
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 smile
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.
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 Augenzwinkern
Neue Frage »
Antworten »



Verwandte Themen

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