2017-08-22 24 views
2

pyomoからipoptオプションを設定する際に問題があります。 1は、単にこれが正常に動作しますpyomoからipoptオプションを設定する

executable = os.getcwd()+'/Ipopt/Ipopt/build/bin/ipopt.exe' 
opt = SolverFactory("ipopt", executable=executable,solver_io='nl') 
opt.options['nlp_scaling_method'] = 'user-scaling' 

を使用することができ、いくつかのオプションについて

。私は「fixed_variable_treatment」のオプション、すなわち:

opt.options['fixed_variable_treatment'] = 'make_parameter' 

を設定し、私は次のエラーを取得しようとした場合:

ERROR: "[base]\site-packages\pyomo\opt\base\solvers.py", 599, solve 
     Solver (asl) returned non-zero return code (1) 
ERROR: "[base]\site-packages\pyomo\opt\base\solvers.py", 604, solve 
     Solver log: 
     Unknown keyword "fixed_variable_treatment" 

を私はあなたのpythonを通じてすべてのオプションを設定することができないためであると仮定していますか?

これを解決するための助けや方法は非常に高く評価されます。ありがとう

答えて

1

回避策は、https://www.coin-or.org/Ipopt/documentation/node35.htmlで説明されているようにipopt.optファイルを使用することです。オプションファイルは、IPOPTが呼び出される現在の作業ディレクトリに置かれます。

ゲイブHackebeilがGithub issueに答えた:

The default behavior is to send options to Ipopt through the command line, but not all Ipopt options are available through the command line. This is probably one of them. Historically one would place this kind of option in an options file named "ipopt.opt" in the working directory, and Ipopt would pick it up automatically.

Very recently I added functionality to the Ipopt interface in Pyomo to write an options file for you. Options that begin with "OF_" will be placed in a temporary options file (with that prefix removed). I don't know if this has made it into a release yet.

+0

は、このに関するGithubの問題を作成するためにありがとうございました!私はそれがこれらの線に沿って何かになると想像しました。提案の回避策を試し、何が起こるかを見てみましょう。 – Anthonydouc

関連する問題