Estoy intentando ejecutar un ejemplo simple con 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()
Pero me sale el siguiente mensaje de error:
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
Descargué glpk de http://winglpk.sourceforge.net/ -> descomprimido + agregado parth a la variable de entorno "ruta".
Espero que alguien me pueda ayudar - gracias!
Respuestas
1 para la respuesta № 1Este es un problema conocido con GLPK 4.60 (glpsol cambió el formato de su salida que rompió el analizador de Pyomo 4.3). Puede descargar una versión anterior de GLPK o actualizar Pyomo a 4.4.1 (que contiene un analizador actualizado).