問題タブ [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 投票する
2 に答える
1391 参照

python - 制限時間後に最もよく知られた実行可能な答えを取得する

Gurobi 6.0 で大きな MIP を解決しています。私のアドバイザーは、問題に 12 時間の制限時間を設定したいと考えています。TimeLimit パラメーターを設定すると、割り当てられた時間が経過するとソルバーが強制終了されることがわかりましたが、その時点で最適な実行可能なソリューションを取得する方法がわかりません。目的の値と最適性のギャップだけです。実行可能な最善の解決策を得る方法はありますか?

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

optimization - 離散最適化: 多数の最適解

TL;DR版:多数最適解 (最適な目的値を見つける解)が存在する最適化問題に対処する方法はありますか? つまり、最適な解を見つけるのは非常に迅速ですが (ただし、明らかに問題のサイズに大きく依存します)、そのような解が多数存在するため、ソルバーはより良い解を見つけようと際限なく実行されます (他の実行可能な解を見つけるため、際限なく実行されますが、客観的な値が現在のベストに等しい)。

TL;DR バージョンではありません: 大学のプロジェクトでは、1 年間の学習ごとにすべての大学プログラムのスケジュールを出力するスケジューラを実装する必要があります。いくつかのデータが提供されており、この質問に関しては、一般的な例に固執しますが、それほどまれな例ではありません.

多くのセクションでは、必須のコースとオプションのコースがあります。場合によっては、これらのオプションのコースがモジュールに分割されており、学生はこれらのモジュールのいずれかを選択する必要があります。多くの場合、2 つのモジュールを選択する必要がありますが、いくつかの組み合わせは他のモジュールより頻繁に発生します。明らかに、モジュールへの細分化を考慮せずにコース (必須 + オプションのコース) の数を数えると、コースをスケジュールする必要がある時間枠よりも多くのコースがあることになります。私のモデルは非常に単純です。私は、すべてのコースを 1 つのタイムスロット (2 時間) だけにスケジュールする必要があり、教授は同時に 2 つのコースを提供してはならないという制約があります。これらは難しい制約です。問題は、完璧な世界では、学生が同時に 2 つのコースを受講できないという厳しい制約を追加する必要があるということです。

これが、最適化問題でこれらの厳しい制約を移動することにした理由です。目的関数を定義するだけで、各学生が同時に受講するコースの数を最小限に抑えることができます。

この単純なモデルを 1 人の学生 (22 コース) と 20 の時間枠で実行すると、目標値は 4 になるはずです (2 つの時間枠がそれぞれ 2 つのコースに組み込まれているため)。しかし、Gurobi を使用すると、緩和された目標は 0 になります (時間枠内にコースの一部を含めることができるため)。したがって、ソルバーがコスト 4 の解に到達した場合、最適性を直接証明することはできません。本当の問題は、この単純なケースに対して膨大な数の最適解が存在することです (22! 多分...)。したがって、最適性を証明するために、緩和された目的 (0) と現在の目的 (4) の間のギャップがより小さい解を必死に見つけようとして、(同じ目的を共有する) 他のすべての解を調べます。明らかに、そのような解決策は存在しません...

この問題にどのように取り組むことができるかについて何か考えがありますか? 既存のデータベースを分析し、モジュールのどの組み合わせが発生する可能性が非常に高いかを把握して、厳しい制約を元に戻すことを考えましたが、それは危険に思えます (競合につながる組み合わせを選択する可能性があるため、競合が見つからない可能性があります)。解決策または有効な組み合わせの省略)。私が使用している現在の解決策は、最適化を停止する時間のしきい値を設定することです...

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

python - Pythonを使用してgurobiのタイムアウトを設定する方法

gurobi への python インターフェイスを使用して ILP を解決したいと考えています。また、タイムアウトを 5 分に設定したいと考えています。私は試した

しかし、私はエラーが発生します

gurobipy.Env のファイル「env.pxi」、18 行目。init (../../src/python/gurobipy.c:2821) TypeError: init () は正確に 2 つの位置引数を取ります (1 つ指定)

ドキュメントによると、gurobipy.Env()デフォルト値のないパラメーターはありません。また、ドキュメントには次のように書かれています

Env() は、計算サーバー上にクライアント環境を作成します。

ですから、これがグロビの単純な時間制限を設定する最も効率的な方法であるかどうか疑問に思っています. gurobipy のタイムリミットを設定する良い方法は何ですか?

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

python - NEOSサーバーを使用した奇妙なエラー

NEOS サーバーを使用しようとすると、次のエラーが表示されます。

ここに画像の説明を入力

MINTOソルバーとGurobiソルバーの両方を使用してこれを取得しています。仕事で最適化を行っているときはこのエラーは発生しませんが、自宅のコンピューターを使用しています。エラーを受け取る通常の方法を取得する方法を知っている人はいますか?

よろしく、

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

c++ - インストールされていないGurobiマシンで実行可能なGurobi

私の Gurobi C++ プログラムでは、Gurobi がインストールされていない他のマシンで実行可能ファイルを移植できるようにしようとしています。

実行可能ファイルを別のマシンに移動すると、次のエラー メッセージが表示されます。

Gurobi フォルダー内の lib フォルダーに libgurobi60.so と libgurobi_c++.a を見つけました。

それは著作権の状況か何かのためですか?

Mac OS 10.10、Gurobi 6.0.0 でコンパイル

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

c# - Gurobi C# のボックス パッキングの最適化

3 つの製品と 5 つのボックスがあります。

寸法は次のとおりです。

すべての製品が収まる最小限の容量のボックスを選択したい.

私は次のコードを書きましたが、それらの中から 1 つのボックスのみを選択するように制約を追加する必要があることを知っています。しかし、現在の状態では機能していません(実行不可能なソルを与えています)。コードは以下で入手できます。

よろしくお願いします。

注:私は単純な問題(1D)を与えますが、実際には私の本当の問題は3Dの問題です。この場合、製品と箱の長さのみを考慮しますが、実際には幅と高さも考慮する必要があります。

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

java - Gurobi で混合整数二次計画法 (MIQP) を解く問題

あなたの助けが必要です。私の論文では、Gurobi を使用して 2 次制約のある混合整数 2 次問題 (MIQP) を解く必要があります。問題をファイルに書き込むと、実装は問題ありません。最適な境界と目的が 0 であるため、解決する部分が問題です.......これはあり得ません! 問題の定義:

Java インターフェイスを使用した実装:

変数 x_ij が BINARY で c_ij が CONTINUOUS であるため、Gurobi はこの種の混合整数二次問題を解くことができますか? c_ij も BINARY に設定すると、もっともらしい結果が得られます。これは、問題が凹面最大化問題ではないことを意味しますか??? (私が知る限り、Gurobi はこの種の特別な MIQP のみを解決できます)。前もって感謝します!!