WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

intlinprog: lange Rechenzeiten ohne Verbesserung der Lösung

 

square
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.11.2016, 17:15     Titel: intlinprog: lange Rechenzeiten ohne Verbesserung der Lösung
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.11.2016, 19:17     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
square
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.11.2016, 23:16     Titel:
  Antworten mit Zitat      
Hallo,

ja das mit dem Code stimmt natürlich. Embarassed

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

Model.m
 Beschreibung:
Skript mit Problemstellung

Download
 Dateiname:  Model.m
 Dateigröße:  3.77 KB
 Heruntergeladen:  330 mal
Eingang.mat
 Beschreibung:
Eingangsdaten für die längere Simulation

Download
 Dateiname:  Eingang.mat
 Dateigröße:  1.55 KB
 Heruntergeladen:  304 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.