Home

Produktions-Management-Trainer - Hilfe

Exakte Lösung von gemischt-ganzzahligen Optimierungsmodellen mit einem Standard-Solver

Einige Module im Produktions-Management-Trainer (PMT) behandeln heuristische Lösungsverfahren für gemischt-ganzzahlige lineare Optimierungsmodelle, z.B.

Für diese Problemstellungen sind im Produktions-Management-Trainer heuristische Lösungsverfahren implementiert. Die exakte (global optimale) Lösung dieser Probleme mit Hilfe von Modellen der gemischt-ganzzahligen linearen Optimierung (Mixed-Integer-Modelle, MIP-Modelle) und einem Standard-Solver ist in der betrieblichen Praxis wegen der kombinatorischen Struktur der Probleme in vertretbarer Rechenzeit oft nicht möglich. Um die Lösungsqualität der heuristischen Verfahren zu veranschaulichen, bietet der Produktions-Management-Trainer die Möglichkeit, Optimierungsmodelle zur exakten Lösung zu erzeugen und zu lösen. Dabei werden die Modellierungssprachen

unterstützt. Die für die Optimierung benötigten Dateien werden als Text-Dateien gespeichert und können dann mit der AMPL, GAMS, OPL bzw. Python-MIP gelöst werden. Für die Nutzung dieser Option benötigen Sie auf Ihrem Rechner die Software AMPL, GAMS, bzw. OPL. Für diese Softwaresysteme werden von den Herstellern kostenlose Demo-Versionen angeboten, die zur Lösung der vom Produktions-Management-Trainer erzeugten Modelle eingesetzt werden können.

Für Python-MIP gilt Folgendes:

Falls Sie auf Ihrem Rechner Python ab Version 3.5 oder neuer und den Solver Python-MIP installiert haben (Hier wird gezeigt, wie das geht). Wir können hierzu leider keinen Support geben.), dann können für die obigen Problemstellungen, die durch gemischt-ganzzahlige Optimierungsmodelle abgebildet werden können, neben der bisherigen heuristischen Lösung auch die exakt optimale Lösung berechnet werden. In diesem Fall erzeugt der Produktions-Management-Trainer ein Optimierungsmodell in der von Python-MIP untertützten Modellierungssprache und bittet Python freundlich, das Modell zu lösen und die Ergebnisse direkt zurückzugeben. Die Ergebnisse werden dann in der üblichen Form dargestellt.

Nach dem Start des Produktions-Management-Trainers wird geprüft, ob die Softwaresysteme Python und Python-MIP verfügbar sind. Falls ja, dann erscheint in den betreffenden Moduln ein weiterer Menüpunkt:

Python-Menü

Wählt man den letzten Menüpunkt aus, dann wird das mathematische Optimierungsmodell in einer für Python-MIP lesbaren Form erzeugt und gelöst. Die optimale Lösung wird dann wie üblich angezeigt.

Falls Python nicht installiert ist, dann wird der letzte Menüpunkt nicht angezeigt.

Falls Python installiert ist, kann man unter den Optionen die maximale CPU-Zeit für die Optimierung einstellen. Bei manchen MIP-Problemen kann es vorkommen, daß in der vorgegebenen Rechenzeit die optimale Lösung nicht gefunden wird. In diesem Fall werden im Ergebnis die Größen LB und UB angezeigt. Da die betrachteten MIP-Probleme Minimierungsprobleme sind, ist UB (=Upper Bound) der Zielwert der besten zulässigen Lösung. LB (Lower Bound) ist die untere Schranke des Zielwerts. Diese beiden Größen werden angegeben, wenn mindestens eine zulässige Lösung gefunden wurde. Ist die nicht der Fall, dann wird das gemeldet.

Python-MIP-Optionen

Mögliche Probleme in der Anwendung von Python-MIP

  1. Python und Python-MIP müssen korrekt installiert sein. Hier wird gezeigt, wie das geht. Bei der Installation muß darauf geachtet werden, daß Python im Windows-Pfad gefunden wird. Dies kann durch einen Schalter im Python-Installationsprogramm erreicht werden.
  2. Der Benutzername im Verzeichnis "C:\Users" darf kein Leerzeichen enthalten. D.h. "C:\Users\Vorname Nachname" ist nicht erlaubt, "C:\Users\VornameNachname" dagegen ist erlaubt. Dies hängt mit dem Windows-internen Aufruf von Python zusammen, auf den wir keinen Einfluß haben. Das heißt: Enthält Ihr Benutzername ein Leerzeichen, dann kann das betrachtete Optimierungsproblem nicht durch Auswahl des Menüpunkts 'Optimierung mit Python-MIP' gelöst werden.
    Ausweg aus diesem Dilemma: Die vom Produktions-Management-Trainer erzeugte Python-MIP-Datei wird immer im Benutzer-Verzeichnis  C:\...IhrBenutzername...\documents\PMT gespeichert. Sie können das jeweilige Modell lösen, indem Sie die Windows-Eingabeaufforderung (cmd.exe) aufrufen und mit dem Befehl "cd c:\users\...IhrBenutzername...\documents\pmt" in das Verzeichnis wechseln, in dem das Python-MIP-Modell (z.B. clsp.py) gespeichert ist. Dort geben Sie dann den Befehl "py clsp.py > clsp.out" ein und erhalten in der Datei clsp.out das Ergebnis, das Sie z.B. mit dem Windows-Editor ansehen können.
  3. Sollte Python-MIP ohne Ergebnis abbrechen - dies wird im Produktionsmanagement-Trainer in einem Fenster gemeldet -, dann kann es daran liegen, daß nicht die aktuelle Version von Python-MIP installiert ist. Man kann die aktuelle Version im Kommandofenster mit dem Befehl "pip install mip --upgrade" installieren.

Die benötigte Python-Software finden Sie hier:

- https://www.python.org/
- https://python-mip.readthedocs.io/en/latest/