Ich habe GAMS für eine lange Zeit verwendet, aber ich kann nicht alle Funktionen von CPLEX unter GAMS verwenden. Kannst du das mit Pyomo machen? oder mit CPLEX direkt in Python? Vielen Dank!Vorteile von Cplex in Pyomo gegen Cplex in Python
Antwort
Der Vorteil der Verwendung von Pyomo ist, dass es sich um eine Modellierungssprache handelt, die unabhängig vom zugrunde liegenden Solver ist, der zur Lösung des Problems verwendet wird. Zum Beispiel können Sie Ihr Modell schreiben und dann mit glpk lösen. Wenn Sie eine Befehlszeilenoption ändern, können Sie das gleiche Modell mit CPLEX, Gurobi usw. lösen. Es bietet viele Funktionen, z. B. die Unterstützung verteilter Optimierung, und Sie können Ihren eigenen benutzerdefinierten Solver verwenden, wenn Sie möchten (siehe Dokumentation).
Die CPLEX Python API ist am anderen Ende des Spektrums. Es ist keine Modellierungssprache. Es ist eine relativ leichte Schicht, die sich um die zugrunde liegende CPLEX Callable Library (C API) wickelt. Variablen, Constraints usw. werden nach Index oder Name bezeichnet. Es ermöglicht Ihnen, fast alles zu tun, was in der Callable Library möglich ist. In diesem Sinne erhalten Sie den meisten Zugriff auf die CPLEX-Funktionalität (sogar erweiterte Funktionen wie Callbacks).
Eine Option, die irgendwo in der Mitte liegt, ist DOCplex. DOCplex ist eine Open-Source-Modellierungssprache, die von IBM bereitgestellt wird. Sie ermöglicht die Lösung in der Cloud oder lokal. Es unterstützt CPLEX für die mathematische Programmierung, aber auch CP Optimizer für die Constraint-Programmierung.
- 1. Ziel Programmierung in Cplex
- 2. Spaltenbasierte Modellierung in Cplex
- 3. Excel Produktfunktion in CPLEX
- 4. Boolescher Parameter in CPLEX
- 5. Benders Dekompositionspunkt Schnitte in CPLEX Python API
- 6. Set up-Modell in CPLEX Python-API
- 7. Neue akademische cplex abgelaufene Lizenz Nachricht
- 8. Wie Pyro mit cplex warm zu starten?
- 9. Präzision in Berechnungen C++ Cplex
- 10. Startlösung in CPLEX Optimization Studio
- 11. CPLEX: Wie man dasselbe cplex "Modell" mit verschiedenen "Daten" löst
- 12. Auslösen von CPLEX mit Matlab
- 13. Beschleunigung CPLEX C++ Code
- 14. Zusammenführen von Arrays in CPLEX OPL
- 15. CPLEX OPL Massy Codefehler
- 16. Einschränkungen - lineare Programmierung- CPLEX
- 17. CPLEX/OPL dreidimensionale Entscheidungsvariable
- 18. Cplex-Modell: keine Lösung
- 19. Speichern CPLEX-Vorverarbeitung/Aggregation
- 20. Ampl Cplex Fehler lösen
- 21. 3 Summierungen in 1 Einschränkungen CPLEX
- 22. So zeigen Sie die letzte Simplex-Tableautabelle von CPLEX mit PYOMO an
- 23. Cplex-Zufallszahlengenerator mit bestimmtem Intervall
- 24. CPLEX in Eclipse C++ unter Linux einrichten
- 25. Entspannende binäre Variable auf Cplex
- 26. EXCEPTION_ACCESS_VIOLATION beim Aufruf von IBM ILOG CPLEX
- 27. Optimale Verwendung von CPLEX Java für Hochdurchsatz
- 28. Fehler bei der Verwendung von addMIPStart() in CPLEX C++
- 29. CPLEX OPL mit Entscheidungsvariablen als Array-Index
- 30. Cplex: Summe aller k kleiner als t
Danke rkersh! Wissen Sie, wie pyomo im Hinblick auf den Zugriff auf CPLEX-Funktionen mit gams verglichen wird? Zum Beispiel können Sie unter gams den Algorithmus für "Brach and Bound" jedes Mal stoppen, wenn eine neue etablierte Lösung gefunden wird. Kann dies auch unter pyomo gemacht werden? – Salva
Ich bezweifle das. [Hier ist ein Hinweis] (https://groups.google.com/forum/#!topic/pyomo-forum/lJTUjlAjw3s), obwohl es sich um den anderen großen kommerziellen Solver handelt. Dies ist auch etwas, was in Optimierungssprachen auf hoher Ebene, insbesondere Open-Source-Sprachen, nicht üblich ist. Der einzige, den ich kenne, ist [JuMP] (https://jump.readthedocs.io/en/latest/). Aber das ist natürlich keine Python. – sascha