Ich benutze den IBM Cplex-Optimierer, um ein Optimierungsproblem zu lösen, und ich möchte nicht alle Terminal-Drucke, die der Optimierer tut. Gibt es ein Mitglied, das dies in der IloCplex- oder IloModel-Klasse deaktiviert? Dies sind die Drucke über Schnitte und Iterationen. Drucke zum Terminal sind teuer und mein Problem wird irgendwann in der Größenordnung von Millionen von Variablen liegen und ich möchte keine Zeit mit diesen überflüssigen Ausgaben verschwenden. Vielen Dank.Wie cplex nicht an Terminal ausgeben
Antwort
Mit cplex/Konzert können Sie ganz cplex die Protokollierung auf der Konsole mit
cpx.setOut(env.getNullStream())
ausschalten Wo CPX ein Objekt IloCplex ist. Sie können die setOut-Funktion auch verwenden, um Protokolle in eine Datei umzuleiten.
Es gibt mehrere cplex-Parameter, um zu steuern, was geloggt wird. Zum Beispiel wird MIPInterval die Anzahl der zwischen den Zeilen gesuchten MIP-Knoten festlegen. Wenn Sie zum Beispiel MIPDisplay auf 0 stellen, wird die Anzeige von Schnitten ausgeschaltet, außer wenn neue Lösungen gefunden werden. Das MIPDisplay von 5 zeigt detaillierte Informationen zu jedem lp-Teilproblem.
Logging bezogenen Parameter umfassen MIPInterval MIPDisplay SimDisplay BarDisplay NetDisplay
Sie legen Parameter mit der setParam Funktion.
cpx.setParam(IloCplex::MIPInterval, 1000)
Danke, sehr hilfreich – DiegoNolan
- 1. Beschleunigung CPLEX C++ Code
- 2. Dateiausgabe an Terminal
- 3. Ziel Programmierung in Cplex
- 4. Einschränkungen - lineare Programmierung- CPLEX
- 5. Cplex-Modell: keine Lösung
- 6. Ausgabe an ein neues Terminal
- 7. Boolescher Parameter in CPLEX
- 8. CPLEX ersetzt die Gleichheit nicht korrekt?
- 9. CPLEX OPL Massy Codefehler
- 10. Spaltenbasierte Modellierung in Cplex
- 11. Wie exportiert man die cplex-Lösung?
- 12. Ein Objekt an die Logcat-Konsole ausgeben
- 13. Drucken an Terminal mit Abaqus Nogui Python-Schnittstelle
- 14. Terminal-Symbol und Nicht-Terminal-Symbol
- 15. Startlösung in CPLEX Optimization Studio
- 16. wie richtige Fehlermeldung ausgeben
- 17. Wie kann ich Redis Lua-Skripte ausgeben?
- 18. Warnung cplexlink1261 mit Cplex für Matlab: nicht unterstützte Matlab-Versionen?
- 19. CPLEX in Eclipse C++ unter Linux einrichten
- 20. Senden von Befehlen an Konsole Terminal
- 21. Bash-Skript Erfassen der Ausgabe an Terminal
- 22. Wie kann ich IBM CPLEX auf meine iOS-Projekte anwenden?
- 23. Python, wie Ausgabe an beide Datei und Terminal senden
- 24. Wie Argumente an das Paketinstallationsprogramm von Mac-Terminal übergeben werden
- 25. Zend Debug nicht Service Locator ausgeben
- 26. Benders Dekompositionspunkt Schnitte in CPLEX Python API
- 27. Sollte ich Warnungen an STDERR oder STDOUT ausgeben?
- 28. Ruby Terminal-Code funktioniert nicht
- 29. Set up-Modell in CPLEX Python-API
- 30. EXCEPTION_ACCESS_VIOLATION beim Aufruf von IBM ILOG CPLEX
Während mit Millionen von Variablen mit cplex ein MIP-Modell zu lösen ist nicht trivial, ist es nicht ungewöhnlich, und das Standard-Protokoll die Lösungszeit in signifikanter Weise nicht beeinträchtigt wird. Im Durchschnitt gilt, je größer die Probleminstanz ist, desto mehr Berechnungen werden pro Zeile der Protokollnachricht ausgeführt. (Es dauert genauso lange, eine Zeile über 10 Schnitte zu drucken, wie es beim Drucken einer Linie um 1000 Schnitte der Fall ist, aber es dauert viel länger, die 1000 Schnitte tatsächlich zu berechnen). In der Tat, für größere Probleme werde ich normalerweise die Abholzung einstellen. –
Danke für den Hinweis – DiegoNolan