|
|
cplex: extrem kleine Zahlen im Lösungsv. obw. 0 sein sollte |
|
jupiter |

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 30.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.04.2013, 10:05
Titel: cplex: extrem kleine Zahlen im Lösungsv. obw. 0 sein sollte
|
 |
|
 |
|
Hallo Zusammen,
ich nutze cplex mit MatLab und habe gerade ein Problem mit cplex, das ich nicht lösen kann. Ursprünglich wollte ich mich im IBM cplex Forum an die dortige Community wenden, allerdings ist jenes Forum bis inkl. 15. April geschlossen und so lange habe ich leider keine Zeit.
Deswegen muss ich leider ausweichen und dieses Forum schien mir erstmal naheliegend zu sein (aber vielleicht könnt ihr mich an eine passenderes Forum verweisen, für so einen Tipp wäre ich dankbar, denn ich bin nicht fündig geworden).
Worum geht es:
Mein Modell ist leider zu komplex, als das ich hier ein Minimalbeispiel liefern könnte aber vielleicht ist das Problem auch so bekannt.
Im Lösungsvektor von cplex haben Variablen, die eigentich Null sein sollten, einen extrem kleinen Wert. Die Größenordnung dieser Werte liegt im Bereich E-14 bis E-15, dass ist Maschinengenaugikeit. Im Lösungsvektor sind diese Werte erstmal nicht tragisch, allerdings ist das Anlagenverhalten beim Solven ganz anders und dies ist fatal. Dieses falsche Anlagenverhalten tritt in Kombination mit diesen kleinen Werten auf, daher meine Vermutung, dass die beiden miteinander zu tun haben.
Das Kuriose dabei ist, dass die Variablen gem. algebraischer Formulierung eigentlich 0 und nichts anderes sein sollten, wenn die entsprechende Binärvariablen ebenfalls Null sind, allerdings bleiben stattdessen diese extrem kleinen Werte "übrig".
Sind diese extrem kleinen Werten in cplex allgemeinhin bekannt und vielleicht gibt es auch eine Abhilfe dafür?
Es scheint mir, als läge die Krux daran, dass Datentypen (in cplex?!) ineinander umgewandelt werden und dabei ein Ungenaugikeitsrest verbleibt.
Eine Lösungsidee von mir ist, die Rechengenauigkeit von cplex so einzustellen, dass Nachkommastellen ab einer bestimmten Anzahl abgeschnitten werden und damit eine Änderung der Datentypen vermieden werden kann. So eine Option habe ich leider nicht gefunden aber vielleicht weiß jemand von euch mehr?
Kann mir jemand weiterhelfen?
Mit besten Grüßen,
jupiter
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|