Musterlösung bericht

Der Bericht wird generiert und angezeigt. Wenn Sie kein Modell oder keine Entität angeben, enthält der generierte Bericht alle Modelle. Wenn Sie einen Platzhalter verwendet haben, wird der Platzhalter standardmäßig auf alle Namen angewendet. Wenn Sie z. B. die ID eingeben, enthält der Bericht Cust_ID und ID_For_Category. Wenn das Ergebnis für Mart-Berichte sehr groß ist, wird der Bericht auf mehreren Seiten (Datenraster) angezeigt. Verwenden Sie die Navigationssymbole in der Symbolleiste, um die nachfolgenden Seiten anzuzeigen. Erinnern Sie sich daran, dass GAMS eine Programmdatei mehrmals durchläuft, um ein Modell zu generieren und zu lösen. In jeder Phase können Fehler auftreten. In diesem Abschnitt geben wir einige Anleitungen zum Beheben von Fehlern, die während der Ausführung auftreten, also nach der Kompilierung.

Informationen zum Beheben von Kompilierungsfehlern finden Sie im Tutorial Fixieren von Kompilierungsfehlern. Weitere Informationen zum Prozess der Generierung und Lösung eines Modells in GAMS finden Sie in der Einleitung zu Kapitel GAMS Output. Wie wir im obigen Beispiel gezeigt haben, ermöglicht GAMS die Entwicklung und Implementierung der Modellstruktur, Berechnungen und Desoberichterstellung mit einem kleinen Datensatz, der leicht auf größere Datensätze erweitert werden kann. Daher empfehlen wir dringend, mit einem repräsentativen, gezielt kleinen Datensatz zu beginnen und ihn auf seine volle Größe zu vergrößern, sobald die Arbeit der Modellentwicklung, des Testens und Debuggens abgeschlossen ist. Kurz gesagt: Arbeit von klein nach groß. In einigen Fällen zeigt das Ausführungsprofil, dass die Ursache für eine lange Ausführungszeit mit einer sehr langen Anweisung verbunden ist. Beispielsweise kann die Objektivfunktion in einigen Modellen und einigen Berichtsberechnungen Hunderte von Codezeilen annehmen und viele Begriffe enthalten, die hinzugefügt werden. Wenn eine so lange Anweisung in Bezug auf die Ausführungszeit problematisch ist, ist es notwendig, Teile des Codes zu deaktivieren und das Programm wiederholt auszuführen, um die genauen Zeilen zu finden, die die Ursache des Problems sind. Dies kann mithilfe von Kommentaren erfolgen.

Beachten Sie, dass wir strategische Teilmengen eingeführt und in der logischen Bedingung einer bedingten Zuweisung verwendet haben, um fast alle Einträge des Parameterdists auf Null zu setzen. Beachten Sie ferner, dass die Zuordnung für die Parameterkosten von Unzus. Wenn das Modell nun von Transportkosten ungleich Null abhängig wäre, würde die Größe des gesamten Modells stark reduziert. Bei Modellen, die nicht optimal gelöst sind, oder bei Modelltypen ohne Ziel können einige Einschränkungen zusätzlich mit bestimmten Flags gekennzeichnet werden. Die Liste dieser Flags und ihre Beschreibung finden Sie in der folgenden Tabelle. Wie im vorherigen Beispiel wissen wir jedoch, dass ein Produkt p nicht von Stadt c in die Stadt cc versendet wird, wenn es entweder keine Produktionskapazität in der ersten Stadt oder keine Nachfrage in der zweiten gibt. So könnten wir die Größe unseres Modells reduzieren, indem wir keine Variablen und Gleichungen generieren, von denen wir wissen, dass sie für die Lösung irrelevant sind. Hier ist eine verbesserte Formulierung der Gleichungen: Standardmäßig stoppt GAMS die Lösung eines Modells nach 1000 Sekunden (Wanduhrzeit) oder 2e9 Iterationen. Diese Grenzwerte können mit den Optionen reslim bzw. iterlim angepasst werden. Beachten Sie, dass beide Optionen auch als Befehlszeilenparameter und Modellattribute verfügbar sind. Darüber hinaus kann der Arbeitsbereich mit den Befehlszeilenparametern WorkFactor und WorkSpace eingeschränkt werden.

Beachten Sie, dass diese Optionen auch als Modellattribute verfügbar sind. Wenn einer dieser Grenzwerte überschritten wird, wird die Ausführung der Solve-Anweisung unterbrochen. Wenn ein Modell, das bereits abgeschlossen wurde, eine Änderung erfordert, ist es verlockend, den großen Datensatz zu verwenden, anstatt die Änderungen für einen kleinen Datensatz zu entwickeln. Wir empfehlen dringend, in diesem Fall einen kleinen Datensatz zu verwenden, da die Erfahrung zeigt, dass auf diese Weise eine beträchtliche Menge an Zeit gespart werden kann.

KategorienAllgemein