問題タブ [gurobi]

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 投票する
1 に答える
145 参照

openshift - Openshift Gurobiなどの環境をインストール

私は現在、線形計画法を使用して問題の解決策を最適化するプロジェクトに取り組んでいます (線形計画法モデルにはバイナリ変数が含まれます)。そのため、この問題に取り組むために Gurobi を使用するように言われました。Gurobi は私のコンピューターでは正常に動作しますが、開発したアプリケーションを Openshift などの展開プラットフォームに展開する必要があります。私のモデルを実行するには、gurobi の環境をデプロイ プラットフォームにインストールする必要があるため、これを行う方法についてのガイダンスが必要です。openshift に環境をインストールしたことがある人は、助けていただければ幸いです。

あるいは、Java 用の線形プログラミング ライブラリのより簡単で無料の実装を誰かが持っている場合は、こちらにもメッセージをお送りください。前もって感謝します!

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

glassfish - gurobi の共有ライブラリで動作するように glassfish 4 を適切に設定するにはどうすればよいですか?

エラー:

JVM設定を介して追加するとパスが正しくなりますが、LD_LIBRARY_PATH環境変数のみに依存している場合、何らかの理由でパスが見つかりません。いずれにせよ、libgurobi60.so に問題があります。これをすべてglassfish_home/domains/domain1/lib/applibsに追加しようとしましたが、無駄になりました。

/opt/gurobi600/linux64/lib のパーミッションは次のとおりです。

ubuntu 12.04を実行している以前のサーバーでこれが機能していましたが、現在は14.04です。以前は .so ファイルを /usr/local/bin にコピーすると問題が解決したように見えましたが、これは新しいサーバーでは機能しません。

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

python - lpノルムを計算するPythonのGurobi

l1ノルムを計算するPythonのGurobi

PythonでGurobiを使用してl1ノルムを計算しようとしています。私は python と Gurobi を初めて使用するので、助けを求めるためにここにいます。

モデルは次のとおりです。

ここで、y はベクトルで、X は n 行 p 列の行列です。r+, r- は n ベクトルで、ベータは ap ベクトルです これが私のコードです。何が問題なのかわかりません。誰か助けてくれませんか?


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

python - PythonでGurobiオブジェクトを保存する方法はありますか?

flow[i,j,k]
Gurobi 変数名:など、複数のインデックスを持つ多くの変数があります flow_1_1_1, ..., flow_1_2_3

Gurobi モデル オブジェクトがグローバル変数である場合、解の値は次のようにアクセスできます。flow[i,j,k].x

私の質問は、「フロー」オブジェクトを保存し、後で再最適化のためにロードする方法はありますか? 残念ながら、ピクルはサポートされていません。

そうでない場合、最善の選択肢は何ですか?

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

mathematical-optimization - 分岐またはカスタマイズされた分岐ルールの直前に優先順位をリセットする

MIP ソルバーが分岐する変数を選択しようとしているノードを考えると、選択する変数の小さなサブセットを提案したいと思いますが、ソルバーのヒューリスティックとの関係を断ち切ります。これにより、整数計画問題を解くのに必要な時間を大幅に短縮できると信じるに足る十分な理由があります。私は Gurobi (Python API) を好みますが、必要に応じて別のソルバー (SCIP、CPLEX) に切り替えたいと考えています。


問題:

  1. どのGurobi コールバック コードが、ソルバーが分岐しようとしていることを教えてくれるかわかりませんでした。 CPLEX についてはBranchCallback、詳細なを見つけました。対応する SCIP ドキュメントは次のとおりです: How to add branching rules .

  2. ソルバーに提案したい変数のサブセットは、ノードでの緩和の解が与えられると、オンザフライで計算されます。つまり、分岐の優先順位は、緩和された問題の解に応じて、ノードごとに変化します。コールバックで分岐優先度をリセットすることが許可され、期待どおりに機能するかどうかは不明です。Gurobi のドキュメントにBranchPriorityは記載がなく、問題 1 が解決されない限り、自分で「リバース エンジニアリング」することはできません。

  3. 必要に応じて、変数のサブセットを提案するだけでなく、独自の完全な分岐ルールを作成して、関係を自分で断ち切ることもできます。ただし、これは 5 年前の Gurobi では不可能であり、ドキュメントはCallback状況が同じであることを示唆しています。コードを変更して SCIP や CPLEX を使用するよりも、独自の分岐ルールを実装するほうが簡単に思えるので、その Google グループの投稿で言及されている「コールバックによるカスタム部分カット」を試してみます。残念ながら、これを行う方法は私には明確ではありません。それが助けになる場合:すべての係数は整数であり、すべての変数はバイナリ変数です。

0 投票する
0 に答える
382 参照

java - Linux Gurobi LD_LIBRARY_PATH 不満足なリンク エラー AWS

Linux ubuntu サーバーを Gurobi Cloud EC2 インスタンスにインストール/構築する作業を行っていますが、多くの障害に直面しています。SSH コマンド ラインで Java サンプル (make run_java) を実行しても、システムがまだ java.lang.UnsatisfiedLinkError: no GurobiJni60 in java.library.path 例外をスローするため、今のところまだ LD_LIBRARY_PATH 問題を解決しようとしています。私のサーバーに。

次のように、ホームディレクトリの .bashrc にすべてのパスを設定しました。

現在、同じサーバーにTomcatをインストールしようとしていて、それも機能させようとしています。私はこの問題に数日間立ち往生しており、機知に富んでいます。誰かが問題を解決するのを手伝ってくれたら本当にありがたいです。

ブランドン

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

mathematical-optimization - 統合された生産計画と輸送 MIP には、どのような種類のヒューリスティックを使用する必要がありますか?

かなり一般的な MIP を解決しようとしています。ここに問題の特徴があります。

  1. マルチ製品、マルチサイト (サイトは同時に生産、需要、および在庫保管場所として機能します)。毎週の時間バケット
  2. 製品 (単位: ケース) は、各サイトで毎週限られた数のシフト/バッチを使用して、個別のバッチ サイズでのみ作成できます。
  3. どのサイトでも需要を満たすために、サイト間の輸送が許可されています
  4. さらに、各場所で週末の最低在庫レベルを満たす必要があります。

ソルバー (gurobi) からの現在の解は、ベスト バウンドから 15% を超える MIP ギャップに達することはありません。

この問題のバッチ サイズが固定されていない場合 (シフト中に任意の数量を生成できる場合)、問題は単純です。しかし、そうでない場合、誰かがこの種の MIP を解決するための単純なヒューリスティック手法を提案できますか?