2016-08-30 3 views
0

Ich verwende die C++ CPLEX-API, um MILP-Probleme zu modellieren. CPLEX "vereinfacht" meine Modelle, bevor sie gelöst werden (d. H. Über den Aggregator, MILP-Presolve, Substitutionen usw.). Wenn ich die exportModel Methode der IloCplex Klasse verwende, berücksichtigt sie nur das ursprüngliche Modell.Speichern CPLEX-Vorverarbeitung/Aggregation

Ist es möglich, das reduzierte Modell zu speichern?

Vielen Dank für Ihre Hilfe

Antwort

0

Es ist nicht möglich, dies mit dem C++ API zu tun (Sie Zugriff auf das presolve Modell über die objektorientierte Konzert Schichten nicht haben). Sie können es programmgesteuert mit der C Callable Library oder der Python API tun. Alternativ können Sie es tun manuell mit dem interactive, etwa so:

CPLEX> read model.sav 
CPLEX> write model.lp 
CPLEX> write presolved.pre 
CPLEX> read presolved.pre 
CPLEX> write presolved.lp 

Dieses Beispiel geht davon aus, dass Sie Ihre ursprüngliche Modell in SAV format exportiert haben. Wenn Sie diese Schritte ausgeführt haben, haben Sie am Ende presolved.lp (das vorläufige Modell in LP format). Wenn Sie es programmgesteuert (mit einem der oben genannten APIs) tun möchten, folgen Sie den gleichen Schritten.

Verwandte Themen