2017-01-17 1 views
0

Ich habe versucht, cplex mit pyomo zu verwenden, um einige LP zu lösen, doch beim Laufen wir die folgenden Fehlermeldung gefundenNeue akademische cplex abgelaufene Lizenz Nachricht

[ 0.00] Setting up Pyomo environment 
[ 0.00] Applying Pyomo preprocessing actions 
[ 0.00] Creating model 
[ 0.02] Applying solver 
The license for this version of CPLEX has expired. 
ERROR: "[base]/site-packages/pyomo/opt/base/solvers.py", 568, solve 
     Solver (cplex) returned non-zero return code (64) 
ERROR: "[base]/site-packages/pyomo/opt/base/solvers.py", 571, solve 
     See the solver log above for diagnostic information. 
[ 0.03] Pyomo Finished 
ERROR: Unexpected exception while running model: 
     Solver (cplex) did not exit normally 

Außerdem merke ich, dass bei der Eingabe „cplex“ in das Terminal die Antwort

The license for this version of CPLEX has expired.

Trotzdem ich herunterladen nur die akademische Version von Cplex

  1. IBM ILOG CPLEX Optimization Studio 12,7

Und der Solver funktioniert, wenn oplide mit OPL-Modelle und mit Python laufen, wenn läuft die Beispiele, die mit dem Solver kam.

Vor der Installation dieser Version habe ich den vorherigen cplex, den ich hatte, deinstalliert. Ich weiß nicht, wie ich es zum Laufen bringen soll, ich hoffe du könntest mich führen.

Antwort

0

Pyomo kann CPLEX über die interaktive (cplex.exe) oder die Python-API verwenden. Es ist nicht klar, welches in Ihrem Fall verwendet wird, also werde ich versuchen, beides abzudecken.

Wenn Sie CPLEX Optimization Studio deinstallieren, wird nicht versucht, alle lokalen Python-Umgebungen zu erkennen und die alte CPLEX Python-API von ihnen zu entfernen.

Sie sollten durch einfaches Löschen der cplex Ordner aus site-packages Verzeichnis (Sie sollten auch löschen Sie den Ordner, der so etwas wie cplex-12.6.3.0-py2.7.egg-info aussieht) den alten CPLEX Python API, entfernen können. Sie müssten das für jede Python-Version tun, die Sie dort haben, wo die alte CPLEX Python-API installiert wurde (z. B. 2.7 und 3.4 und auch alle virtuellen Umgebungen).

Danach sollten Sie die CPLEX 12.7 Python API nach den Anweisungen here erneut installieren. Hoffentlich wird das Ihre abgelaufenen Lizenznachrichten für Python loswerden und Pyomo erlauben, mit CPLEX zu arbeiten.

Sie haben auch erwähnt, dass die Ausführung von CPLEX interactive über das Terminal auch eine abgelaufene Lizenzmeldung enthält. Ich würde eine Suche Ihres Dateisystems nach cplex.exe durchführen und alle entfernen, die nicht im Installationsverzeichnis von COS 12.7 sind. Sie müssen auch sicherstellen, dass das COS 12.7 Installationsverzeichnis auf Ihrem PATH wie erwähnt here ist.