Я намагаюся запустити приклад simle з Pyomo + glpk Solver (Anaconda2 64bit Spyder):
from pyomo.environ import *
model = ConcreteModel()
model.x_1 = Var(within=NonNegativeReals)
model.x_2 = Var(within=NonNegativeReals)
model.obj = Objective(expr=model.x_1 + 2*model.x_2)
model.con1 = Constraint(expr=3*model.x_1 + 4*model.x_2 >= 1)
model.con2 = Constraint(expr=2*model.x_1 + 5*model.x_2 >= 2)
opt = SolverFactory("glpk")
instance = model.create()
#results = opt.solve(instance)
#results.write()
Але я отримую таке повідомлення про помилку:
invalid literal for int() with base 10: "c"
Traceback (most recent call last):
File "<ipython-input-5-e074641da66d>", line 1, in <module>
runfile("D:/..../Exampe.py", wdir="D:.../exercises/pyomo")
File "C:...ContinuumAnaconda21libsite-packagesspyderlibwidgetsexternalshellsitecustomize.py", line 699, in runfile
execfile(filename, namespace)
File "C:....ContinuumAnaconda21libsite-packagesspyderlibwidgetsexternalshellsitecustomize.py", line 74, in execfile
exec(compile(scripttext, filename, "exec"), glob, loc)
File "D:/...pyomo/Exampe.py", line 34, in <module>
results = opt.solve(instance)
File "C:....ContinuumAnaconda21libsite-packagespyomooptbasesolvers.py", line 580, in solve
result = self._postsolve()
File "C:...ContinuumAnaconda21libsite-packagespyomooptsolvershellcmd.py", line 267, in _postsolve
results = self.process_output(self._rc)
File "C:...ContinuumAnaconda21libsite-packagespyomooptsolvershellcmd.py", line 329, in process_output
self.process_soln_file(results)
File "C:....ContinuumAnaconda21libsite-packagespyomosolverspluginssolversGLPK.py", line 454, in process_soln_file
raise ValueError(msg)
ValueError: Error parsing solution data file, line 1
Я завантажив glpk з http://winglpk.sourceforge.net/ -> unziped + доданий parth до змінної середовища "шлях".
Сподіваюся, що хтось може мені допомогти - спасибі!
Відповіді:
1 для відповіді № 1Це відома проблема з GLPK 4.60 (glpsol змінив формат свого виводу, який порушив парсер Pyomo 4.3) Ви можете або завантажити старий випуск GLPK, або оновити Pyomo до 4.4.1 (який містить оновлений парсер).