問題タブ [scip]

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.

0 投票する
2 に答える
213 参照

linear-programming - LP の計算時間 IP 自体の最適化よりも高い IP の緩和

これは、 SCIP を使用した MIP の LP 緩和に関する以前の質問のフォローアップです。

MIP (CPLEX 形式) を SoPlex に渡すだけで MIP の LP 緩和ソリューションを計算できますが、SoPlex にかかる計算時間は、SCIP 自体を使用して MIP を最適化するよりも長いことがわかります (より小さな入力のテスト)。 )。SCIP は MIP を解決する前に SoPlex を内部的に使用するため、これはどのように可能ですか? さらに、私の LP 緩和の結果は、実際には整数解を与えており、MIP と同じ目的値です。LPリラクゼーションを間違えていますか?それとも、私の問題/定式化の特性ですか?

私は、ソルバーによって出力された合計計算時間を参照しています (自分で計算したものではありません)。

0 投票する
2 に答える
588 参照

cplex - Cplexを使用したSCIP

cplex で scip を実行する際に問題が発生しました。「make LPS=cpx ZIMPL=false」を実行すると、次のエラーが表示されました: make LPS=
cpx ZIMPL = ~/scipoptsuite-3.0.2/scip-3.0.2/lib/liblpicpx.linux.x86_64.gnu.opt.a', needed byfalse 止まる。

誰か助けてくれませんか?

0 投票する
1 に答える
965 参照

glpk - MathProg MIP ファイルを SCIP で認識される形式に変換することはできますか?

GLPK を使用して、混合整数計画問題を解決してきました。MathProg 形式のサンプル入力ファイルを次に示します。

私は、この種のより大きな問題でパフォーマンスの問題に直面してきました。SCIP は MIP の GLPK よりも数倍高速であると主張しているため、調査する価値があるようです。ただし、入力ファイル形式に関しては、ドキュメントの頭や尾を作ることができませんでした。SCIP のホームページは AMPL フォーマットをサポートしていると述べており、GLPK のホームページは MathProg が AMPL のサブセットであると述べています。上記のファイルを経由で SCIP 3.1.0 にフィードしようとするとscip -f file.nl、次のエラーが返されます。

これが、AMPL をサポートする SCIP のビルドに失敗したためなのか、それとも別の理由によるものなのかはわかりません。AMPL をサポートする SCIP の構築に関するこのブログ投稿を見つけましたが、SCIP 3.1.0 のソース zip にはinterfacesフォルダーが含まれていないため、手順が古くなっているようです。

だから、私は2つの質問があります:

  1. SCIP に私の MathProg 入力をそのまま認識させることは可能ですか?
  2. そうでない場合は、認識されている形式に変換する方法について誰かアドバイスできますか? さらに別のフォーマットを学ぶ必要はありませんので、自動化された方法が望ましいですが、手動の方法は何もないよりはましです.

助けてくれてありがとう、そして私の無知をお詫びします!

0 投票する
2 に答える
889 参照

integer-programming - MINLP を使用した SCIP 実行不可能性の検出

混合整数非線形計画問題 (MINLP) を解くために SCIAMPL を使用しています。ほとんどの場合、うまく機能していますが、ソルバーが実行不可能性を誤って検出する例を見つけました。

ソルバーは、事前解決フェーズで実行不可能性を検出しています。ただし、x と y を 4 と 12 に固定する 2 つの制約のコメントを外すと、ソルバーが機能し、正しい v と z の値が出力されます。

なぜこれが起こっているのか、そしてそれを回避するために別の方法で問題を定式化できるかどうかに興味があります. 私が得た 1 つの提案は、通常、非凸の問題では実行不可能性の検出があまりうまくいかないというものでした。

編集: これは単なる SCIP の問題ではないことに注意してください。SCIP は、この特定のセット K で問題を解決するだけです。たとえば、別のグローバル MINLP ソルバーである bonmin を使用すると、この特定の K の問題を解決できますが、K を 15 まで拡張すると、bonmin は実行不可能性を検出します。問題は実行可能のままです。その K については、実際に機能するソルバーをまだ見つけていません。FILTER に基づく minlp ソルバーも試しました。BARON は GAMS 入力のみを使用するため、まだ試していません。

0 投票する
1 に答える
2159 参照

c++ - SCIPと支店と価格

SCIP について一般的な質問があります。問題の Branch and Price フレームワークとして SCIP を使用する必要があります。C++ でコーディングしているので、VRP の例をテンプレートとして使用しました。一部のインスタンスでは、コードは分数解で停止し、最適な解としてそ​​れを返します。何かが間違っていると思います。SCIP に整数解を探すように指示するためにいくつかのパラメーターを設定する必要がありますか、それとも間違いを犯しましたか?停止すべきではなく、整数解に到達するまで分数解で分岐する必要があると考えています (他の負の削減コスト列はありません)。副問題も最適解!何かコメントはありますか?!

0 投票する
1 に答える
103 参照

scip - SCIPincludeBranchruleMybranchingrule() が何度も呼び出される

SCIP に独自の分岐ルールを含めており、SCIPincludeBranchruleMybranchingrule()関数を使用して分岐ルール データを初期化しています。私が行うことの 1 つは、SCIPgetNVars()関数を呼び出すことです。コードを実行すると、関数が何度も呼び出されていることがわかり (B&B アルゴリズムが開始される前に、思ったように 1 回ではありませんでした)、SCIPgetNVars()関数によってトリガーされた次のエラーが表示されます。

[src/scip/scip.c:10048] ERROR: invalid SCIP stage <0>

SCIPincludeBranchruleMybranchingrule()ドキュメントには、この関数を使用して分岐規則データを初期化できると記載されているため、の使用について混乱しています。すべての B&B ノードで使用できるいくつかのデータを初期化したいのですが、分岐ルール データが正しい方法ではない可能性があります。

どんな助けにも感謝します!

0 投票する
1 に答える
46 参照

scip - SCIPsolve 呼び出し外のプラグインでデータを使用する

プラグインとメイン関数の間でデータを共有したいと考えています (つまり、SCIPsolve関数の呼び出しの外で使用します)。たとえば、分岐ルールは特定の int 変数を 1 に設定し、最適化が完了したら、変数が変更されたかどうかを確認することができます。

プラグイン データ (例: ) を使用してこれを達成できると思ってSCIP_BranchruleDataいましたが、プラグインのソース ファイルの外部からアクセスすることはできません。

どうすればいいですか?どんな助けにも感謝します。ロドルフォ