2017-05-30 5 views
1
opt = SolverFactory("glpk") 
opt.options["mipgap"] = 0.05 
opt.options["FeasibilityTol"] = 1e-05 
solver_manager = SolverManagerFactory("serial") 
# results = solver_manager.solve(instance, opt=opt, tee=True,timelimit=None, mipgap=0.1) 

results = solver_manager.solve(model, opt=opt, tee=True, timelimit=None) 

# sends results to stdout 
# results.write() 

def pyomo_save_results(options=None, instance=None, results=None): 
    OUTPUT = open(r'Results_generic_hub.txt', 'w') 
    print(results, file=OUTPUT) 
    OUTPUT.close() 

次のエラーが発生します。 GLPKはGLPSOLと一緒にインストールされています - どのディレクトリからでも作業できます。これはGLPKモジュールの問題ですか?またはモデル自体とは?環境: - Conda、Mac OS Yosemite。PyomoとGLPKのインターフェース方法は?


File "<ipython-input-7-ba156f9322b2>", line 7, in <module> 
results = solver_manager.solve(model, opt=opt, tee=True,timelimit=None) 

File "/anaconda/lib/python3.6/site- 
packages/pyomo/opt/parallel/async_solver.py", line 34, in solve 
return self.execute(*args, **kwds) 

File "/anaconda/lib/python3.6/site- 
packages/pyomo/opt/parallel/manager.py", line 107, in execute 
ah = self.queue(*args, **kwds) 

File "/anaconda/lib/python3.6/site- 
packages/pyomo/opt/parallel/manager.py", line 122, in queue 
return self._perform_queue(ah, *args, **kwds) 

File "/anaconda/lib/python3.6/site- 
packages/pyomo/opt/parallel/local.py", line 59, in _perform_queue 
results = opt.solve(*args, **kwds) 

File "/anaconda/lib/python3.6/site-packages/pyomo/opt/base/solvers.py", line 582, in solve 
self._presolve(*args, **kwds) 

File "/anaconda/lib/python3.6/site-packages/pyomo/opt/solver/shellcmd.py", line 196, in _presolve 
OptSolver._presolve(self, *args, **kwds) 

File "/anaconda/lib/python3.6/site-packages/pyomo/opt/base/solvers.py", line 661, in _presolve 
**kwds) 

File "/anaconda/lib/python3.6/site-packages/pyomo/opt/base/solvers.py", line 729, in _convert_problem 
**kwds) 

File "/anaconda/lib/python3.6/site-packages/pyomo/opt/base/convert.py", line 110, in convert_problem 
problem_files, symbol_map = converter.apply(*tmp, **tmpkw) 

File "/anaconda/lib/python3.6/site-packages/pyomo/solvers/plugins/converter/model.py", line 86, in apply 
io_options=io_options) 

File "/anaconda/lib/python3.6/site-packages/pyomo/core/base/block.py", line 1646, in write 
io_options) 

File "/anaconda/lib/python3.6/site-packages/pyomo/repn/plugins/cpxlp.py", line 163, in __call__ 
include_all_variable_bounds=include_all_variable_bounds) 

File "/anaconda/lib/python3.6/site-packages/pyomo/repn/plugins/cpxlp.py", line 575, in _print_model_LP 
" cannot write legal LP file" % str(model.name)) 

ValueError: ERROR: No objectives defined for input model 'unknown'; cannot write legal LP file 

答えて

0

あなたが見ているエラー:

"ERROR: No objectives defined for input model 'unknown'; cannot write legal LP file" 

はPyomoは、モデル上でアクティブな目的のコンポーネントを見つけることができないことを示している(あなたはモデル、または目的成分に1を追加したことがないのいずれか( s)はすべて非活性化された)。いずれにしても、有効なLPファイル(PyomoとGLPKとのインターフェース方法)は目的を必要とします。 Objectiveを追加してモデルを修正すると、このエラーが解決されます。

関連する問題