|
|
linprog Optimierung ist rechnerabhängig |
|
n00b24 |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 24.02.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.09.2012, 21:47
Titel: linprog Optimierung ist rechnerabhängig
|
 |
|
 |
|
Hallo,
ich wollte mein Programm, welches eine linprog-Optimierung beinhaltet auf einem leistungsstärkeren Rechner laufen lassen. Auf meinem Rechner läuft (terminiert) die Optimierung für die mehrere hundert Durchläufe.
Lasse ich genau das gleiche Programm mit den gleichen Variable aber auf einem anderen Rechner laufen, wird die Optimierung plötzlich unlösbar. Dies passierte für mehrere Versuche und jeweils für alle >300 Durchgänge.
Ich habe mit Hilfe des Compare-tools die Variablen der beiden Rechner verglichen. Abgesehen von der immer neu berechneten Störgröße und den unterschiedlichen Ergebnissen der Optimierung gibt es keine Abweichung.
Die Zufalls-Störgröße wirkt sich nur indirekt, und auch nur in sehr geringem Maße auf die Optimierung aus. Sie wird für jeden Versuch neu berechnet. Ich vermute daher, dass die Störgröße nicht entscheidend ist.
Ich hatte allerdings drei Vermutungen:
1. da ich excel-daten importiere und diese in englischem Format sind verursacht das auf dem komplett deutschen Rechner an irgendeiner Stelle "Kommafehler". Jedoch deutet der Check mit dem Compare-tool nicht darauf hin
2. die Anforderungen an die Genauigkeit der Lösung sind Rechnerspezifisch
3. mein rechner hat matlab 2011b, der Testrechner jedoch 2010b
Hat jemand eine Idee? Ich wäre über Hinweise sehr erfreut. Den Code habe ich nicht reingestellt, da das Programm sehr umfangreich ist.
Vielen Dank!
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 10.09.2012, 22:05
Titel:
|
 |
Hallo,
zu 1.: potentielle Probleme sehe ich spätestens, wenn du aus Excel-Dateien Datumsangaben einliest. Da solltest du aber überprüfen können, ob die Daten richtig eingelesen werden. Wenn die Daten falsch eingelesen werden, ist es nicht erstaunlich, dass Murks herauskommt.
Eine Möglichkeit: Ländereinstellungen auf Systemebene entsprechend umstellen.
zu 2.: dann gleiche das doch mal an, um zu sehen, ob es daran liegt?
zu 3.: Welche MATLAB-Version liefert denn die besseren Ergebnisse?
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 11.09.2012, 16:53
Titel: Re: linprog Optimierung ist rechnerabhängig
|
 |
Hallo n00b24,
Zitat: |
2. die Anforderungen an die Genauigkeit der Lösung sind Rechnerspezifisch |
Ein Optimierungsproblem kann bei anderen Genauigkeitsanforderungen andere Lösungen erzeugen, aber auch ohne Lösung stecken bleiben. Was geschieht, wenn beie Rechner mit den gleichen Genauigkeiten optimieren?
Gruß, Jan
|
|
|
n00b24 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 24.02.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.09.2012, 17:23
Titel:
|
 |
Hallo Harald und Jan,
vielen Dank für eure Antworten!
1. es liegt nicht an der englischen Formatierungung von Tabellendokumenten.
2. die Genauigkeitseinstellungen könnten das Problem sein, nur weiß ich zum einen nicht wie man sie verändert und kann das zum anderen als Nichtadministrator an Universitätsrechnern nicht ändern.
3. das Programm läuft auf R2011b, jedoch nicht auf den Rechnern mit R2010b. Ein weiterer Rechner mit R2011b verhält sich etwas strikter, lässt es aber einige Lösungen zu.
Seltsamerweise läuft ein Programmteil auch auf den R2010b-Rechnern, wenn ich statt "größergleich" und "kleinergleich", Gleichheitsbedingungen einsetze. Mathematisch sind die beiden Funktionen äquivalent, jedoch nicht in der Behandlung in Matlab. Die Gleichheitsbedingungen wollte ich aus Zeitgründen auch vermeiden, da ich sehr viele Variablen habe und im zweiten Schritt fast 9000 Durchläufe optimiere.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 11.09.2012, 20:24
Titel:
|
 |
|
 |
|
Hallo,
2. Von welchen Genauigkeitseinstellungen sprechen wir? Den Toleranzen, die über optimset an den Algorithmus übergeben werden?
Falls ja: mit Admin-Rechten hat das nicht das geringste zu tun. Aus der Doku von linprog und optimset geht klar hervor, welche Toleranzen wie gesetzt werden können.
Falls nein: von welchen Toleranzen redest du denn?
3.
Zitat: |
Ein weiterer Rechner mit R2011b verhält sich etwas strikter, lässt es aber einige Lösungen zu. |
Was heißt "er verhält sich strikter"? Was ist auf diesem Rechner anders als auf anderen?
Zitat: |
Seltsamerweise läuft ein Programmteil auch auf den R2010b-Rechnern, wenn ich statt "größergleich" und "kleinergleich", Gleichheitsbedingungen einsetze. |
D.h. A*x <= b und A*x >= b wird zu A*x = b? Wieso überhaupt anfangs so umständlich?
Es ist sehr schwierig zu erraten, woran es liegt, wenn ein Programm mit a)unterschiedlichen Einstellungen auf b) unterschiedlichen MATLAB-Versionen auf c) unterschiedlichen Rechnern laufen.
Warum testest du die Einflüsse nicht möglichst separat?
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 11.09.2012, 22:41
Titel:
|
 |
Hallo Harald,
Zitat: |
Es ist sehr schwierig zu erraten, woran es liegt, wenn ein Programm mit a)unterschiedlichen Einstellungen auf b) unterschiedlichen MATLAB-Versionen auf c) unterschiedlichen Rechnern laufen. |
Genau wie ein Optimierungsprogramm nicht entscheiden kann, welchen Einfluß Parameter auf das Kriterium haben, wenn mehrere Parameter gleichzeitig variiert werden, kann auch der Grund für Probleme unter solchen Voraussetzungen nicht identifiziert werden.
Die Problem-Analyse kann nun als Ganzzahliges-Parameter-Schätz-Problem aufgefasst werden. Man variiert also jeweil einen Parameter, um sich den Gesamt-Überblick zu verschaffen.
Admins in der Uni sind dafür da, Forschenden bei der Arbeit zu helfen. Wenn Du also etwas ändern musst, was nur per Admin-Recht geht, bitte den Admin um Mithilfe. Allerdings kann ich mir nicht vorstellen, was ein Admin mit den Parametern eines Optimierungsproblems zu schaffen haben könnte.
Gruß, Jan
|
|
|
|
|
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.
|
|