2017-06-19 3 views
0

DAE例に一度Pyomo多重積分

sum(model.x[i,j] for i in model.index_is, for j in model.index_js) 

Heat_Conduction.pyでいくつかの総和を行うことができPyomoのSUM関数への連続(積分)アナログはありますが、ネストされた統合への参照を持っているが、それはコメントしていますアウトそれはValueErrorををスロー:私はそれをバックコメントたび積分は連続Sでインデックス化されなければならない

# def _obj(m): 
#  return Integral(Integral(expr=m.intExp,wrt=m.x,bounds=(0,10)), wrt=m.y,bounds=(0,5)) 
# m.obj = Objective(rule=_obj) 

私はどこでも検索したが、私は作業の例を見つけることができなかったと私は理解できませんでした。ドキュメント。

おかげで、事前

答えて

0

に不可欠な要素は完全に開発されていないと私はそれを使用することをお勧めしますではありません。 Pyomo.DAEコンポーネントを使用して連続積分を定式化するより良い方法は、積分方程式を微分して微分方程式に変換することです。 How to define an Integral as an objective function in pyomo?

+0

私の現在のモデルでは、どのようにそれを達成できるのか分かりません。インテグラルは本当に使えないのですか? – japseow

+0

「内側のインテグラルのインデックスが外側のものに依存する」pyomoフォーラムの質問に基づいて、インテグラルコンポーネントを使用する方法はありません。 Integralコンポーネントは、それらが宣言されたContinuousSetの範囲全体が境界である単純な積分のためにプロトタイプ化されました。さらに、台形則は現在利用可能な唯一の数値積分技術であり、すべての問題に対して十分に正確ではない可能性があります。インテグラルコンポーネントのオーバーホールは私のTODOリストにありますが、いつ利用可能になるのか分かりません。 –

関連する問題