2016-07-29 6 views
2

내가 Pyomo +의 glpk 솔버 (Anaconda2 64 비트 스파이더) 일부 simle의 예를 실행하려고 :파이썬/Pyomo - 오류

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:\...\Continuum\Anaconda21\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile 
    execfile(filename, namespace) 

    File "C:\....\Continuum\Anaconda21\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.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:\....\Continuum\Anaconda21\lib\site-packages\pyomo\opt\base\solvers.py", line 580, in solve 
    result = self._postsolve() 

    File "C:\...Continuum\Anaconda21\lib\site-packages\pyomo\opt\solver\shellcmd.py", line 267, in _postsolve 
    results = self.process_output(self._rc) 

    File "C:\...\Continuum\Anaconda21\lib\site-packages\pyomo\opt\solver\shellcmd.py", line 329, in process_output 
    self.process_soln_file(results) 

    File "C:\....\Continuum\Anaconda21\lib\site-packages\pyomo\solvers\plugins\solvers\GLPK.py", line 454, in process_soln_file 
    raise ValueError(msg) 

ValueError: Error parsing solution data file, line 1 

http://winglpk.sourceforge.net/ -> unziped + added parth에서 glpk를 환경 변수 "path"에 다운로드했습니다.

누군가가 나를 도울 수 있기를 바랍니다 - 감사합니다!

답변

1

이것은 GLPK 4.60의 알려진 문제점입니다 (glpsol은 Pyomo 4.3의 파서를 깨뜨린 출력 형식을 변경했습니다). 이전 버전의 GLPK를 다운로드하거나 Pyomo를 4.4.1 (업데이트 된 파서 포함)으로 업그레이드 할 수 있습니다.