問題タブ [pyscipopt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
feasibility - 実現可能性のみの問題に PySCIPOpt を使用する方法
CVXPY とその LP ソルバーのいくつかを使用して、A*x <= b 問題の解決策が実行可能かどうかを判断しました。次に、PySCIPOpt を試してみたいと思います。ドキュメントでこの例を見つけることができませんでした。正しい構文を理解するのに苦労しています。CVXPY を使用すると、コードは次のようになります。
PySCIPOpt では、上記のように行列表記を使用することはできませんが、ベクトルと行列をスカラー変数のコレクションとして扱う必要があると思います。それぞれを個別に追加する必要があるため、これを試しました:
この種の問題に対する addCons() の制約の正しい形式を教えてください。また、解決策が実行可能かどうかを尋ねる適切な方法は、単純に目的として 0 を渡すことであることを確認してください。
scip - PySCIPOpt で変数を指数として制約を設定する
Python で SCIP を使用してMINLP 問題を解決したいので、 PySCIPOptを使用します。変数、目的関数を既に導入し、制約を設定しました (私の問題を考慮して、可能な限り)。
1 つの制約内で、変数の別のペアの指数に変数があります。現在、次のようになっています ( x_1
、x_2
、y_1
、y_2
、すべて変数です)。z
v
model.addCons( x_1 * x_2 * ( (y_1/y_2)**((z-1)/z) -1 ) - v == 0 )
これにより、次のエラーが返されます。
NotImplementedError: exponents must be numbers
組み込みexp()
メソッドについて読んでいましたが、特定のコードでそれを使用する方法の良い例が見つかりませんでした。
私が想像できる唯一の代替手段は、制約ハンドラーを使用することです。これはもちろん、exp()
.
PySCIPOpt でそれぞれの制約を実装する方法について誰か考えがありますか?
事前にご協力いただきありがとうございます。