|
|
intlinprog: lange Rechenzeiten ohne Verbesserung der Lösung |
|
square |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 01.11.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.11.2016, 17:15
Titel: intlinprog: lange Rechenzeiten ohne Verbesserung der Lösung
|
 |
|
 |
|
Hallo,
ich benutze die Funktion intlinprog, dabei ist mein Lösungsvektor x ein Spaltenvektor mit 505 Einträgen. (Matrix A[169x505])
Die Optimierung dauert ca 36 min wobei ich das Gefühl habe, dass die Verbesserung der Lösung nicht dem Aufwand rechtfertigt.
Ich bin mir nun nicht so ganz im Klaren darüber welche Werte in den Optionen ich verändern sollte, sodass ein schnelleres Ergebnis gefunden wird.
Hier mal zur Veranschaulichung die Ergebnisse der gefundenen Lösungen:
nodes explored; time(s); num int solution, integer fval; relative gap(%)
|186 |0.16| 1|8,0877*e2|2,31|
|2288|0,62|2|7,9996*e2|1,18|
|215588|51,09|3|7,9823*e2|8,9455*e-1|
|231976|52,51|4|7,9812*e2|8,80911*e-1|
|1272708|288,02|5|7,9648*e2|6,77*e-1|
|9682416|2135,87|6|7,96225*e2|6,45e-1|
Der Solver stoppt beim erreichen des Knotenlimits von 10^7
Nun meine Frage? Wie kann ich schneller ein Ergebniss finden?
Habe schon versucht die Relative Tolleranz(e^-2 sattt e^-4) zu erhöhen. Jedoch werden dann einfach nur mit einer höheren die 10^7 Knoten untersucht.
Einfach die Anzahl der Lösungen zu begrenzen klappt aber woher kann ich wissen, wie schnell nicht doch noch 3 weitere Lösungen gefunden werden könnten.
Bei der Zeilfunktion handelt es sich um eine Kostenfunktion. daher könnte ich ja sagen dass wenn die Verbesserung der Lösung <1 ist kann abgebrochen werden. Allerdings kann dieser Wert ja immer nur zwischen zwei Lösungen bestimmt werden. und wie oben in der Auflistung gezeigt dauert es nach der 5. Lösung sehr lange um dann mit finden der 6. Lösung sagen zu können, ach ist dich nicht so richtig besser?!
Ein weiteres Problem ist dass auf der Mathworksseite mehr mögliche Optionen für die intlinprog funktion angegeben werden als ich in meiner Matlab version (2014a) zur Verfügung habe. (Liste im Helpwindow in Matlab selbst) das Liegt dann wohl an den unterschiedlichen Versionen?! Komisch das auf der Mathworksseite nicht sowas wie eine Versions-abhängige Infos gibt.
Hat wer von euch Erfahrungswerte diesbezüglich? Ein weiteres Problem ist dass ich perspektivisch noch mehr Komponenten in das Modell integrieren möchte sodass es noch größer wird und im schlimmsten Fall noch länger braucht um eine Lösung zu finden.
Ach und A ist schon eine sparse Matrix. Hat die Zeit im Vgl. zur vollen Matrix mit ganz vielen 0 aber auch nicht viel geholfen.
Danke und Grüße
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.11.2016, 19:17
Titel:
|
 |
Hallo,
ich sehe ohne genauere Kenntnis des Problems keine Möglichkeit, dir zu helfen. Jedoch:
Zitat: |
Komisch das auf der Mathworksseite nicht sowas wie eine Versions-abhängige Infos gibt. |
Gibt es.
https://de.mathworks.com/help/doc-archives.html
Grüße,
Harald
|
|
|
square |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 01.11.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.11.2016, 23:16
Titel:
|
 |
Hallo,
ja das mit dem Code stimmt natürlich.
Also anbei das Modell. Eingangsdaten für einen Tag sind im Code.(zur Zeit auskommentiert) Dies läuft schnell durch.
Wenn ich nun eine Woche simulieren/ optimieren will dauert es länger.
Die Eingangsdaten für eine Woche sind in dem Eingang.m file.
In dem Modell ist im Moment ein Speicher mit Pumpe Simuliert. Längerfristig würde ich gern noch 4-5 Komponenten hinzufügen... Dann würde sich nach dem aktuellen Stand die Laufzeit noch weiter verlängern
Grüße
Beschreibung: |
Skript mit Problemstellung |
|
 Download |
Dateiname: |
Model.m |
Dateigröße: |
3.77 KB |
Heruntergeladen: |
330 mal |
Beschreibung: |
Eingangsdaten für die längere Simulation |
|
 Download |
Dateiname: |
Eingang.mat |
Dateigröße: |
1.55 KB |
Heruntergeladen: |
304 mal |
|
|
|
|
|
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.
|
|