問題タブ [cplex]
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.
cplex - 方向と優先順位を変更して複数の解決策を見つける
cplexを使用して、SATの問題を数回解決し、変数の方向(IloCplex.BranchDirection.Up | IloCplex.BranchDirection.Down)と優先順位を変更してさまざまな解決策を取得したいと思います。しかし、私はいつも同じ解決策を手に入れます(数千が存在します)。
私は多かれ少なかれ次のことをします:
各反復で変数ごとに異なる(可能であれば)値を取得したいと思います。誰かが私のせいがどこにあるかわかりますか?すべてのsolver.clear*メソッドを試してリセットしましたが、これは役に立ちませんでした。
java - java.lang.UnsatisfiedLinkError: java.library.path に cplex122 がありません
コンパイルすると、次のメモが表示されます。
注: 一部の入力ファイルは、非推奨の API を使用またはオーバーライドします。
注: 詳細については、-Xlint:deprecation を使用して再コンパイルしてください。
注: 一部の入力ファイルは、未チェックまたは安全でない操作を使用します。
注: 詳細については、-Xlint:unchecked で再コンパイルしてください。
次に、次のコマンドを使用して実行します。
それは返します:
私は非常に混乱しています。なぜなら、私はすでにパスを含めていたからです。パスは正しいです。同じパスを使用して他のプログラムを実行しましたが、動作します。どんな問題になるの?ありがとう。
java - CPLEX多次元配列
私は変数を持っていてxijm
、それは0または1のいずれかです。私はそうすべきIloArray<>
だと知っていますが、Javaで例を見る必要があります。私はこれを見つけましたが、私はjavaを使用しています。アイデアは私には明確ではありません!例を教えてください。
matlab - Matlab で CPLEX を呼び出すときのエラー
cplex12.5 (x86-32) アカデミック バージョンと win7 (32 ビット) および Matlab 2009a (32 ビット) を使用しています。Matlab で cplexlp 関数を使用して単純な線形問題を試しました。次のエラーが表示されました。
どうしたの?それを解決する方法はありますか?
情報をありがとう。
c++ - C ++を介して正確な整数変数の値にアクセスする
cplex.getvalue(x) は float 値を返し、値を int に入れると、最初の値とは異なります。整数変数の値にアクセスするより良い方法はありますか?
今、私は単純な方法を使用しているだけで、それが正しいかどうかはわかりません
c++ - C++ CPLEX での変数境界と目的関数の使用に関する問題
cplex のコンサート テクノロジを使用せずに、C++ で線形プログラミング モデルを作成しています。
モデルの変数と目的関数を次のように宣言します。
変数を厳密に 0.25 より大きく、厳密に 1.0 より小さくしたいので、EPS は小さな定数です。
目的関数はすべての変数の合計を最大化する必要がありますが、これを試みるたびに、ソリューション内の変数の値が制限外になり (0.25 より小さい、または大きすぎるなど)、変数を保持する可能性がありません。範囲内の値。
誰か助けてくれませんか?それほど複雑ではないはずなので、おそらくいくつかの間違いを犯しました。ありがとうございます!
python - CPLEX Python APIパフォーマンスのオーバーヘッド?
アップデート
この質問は、私がクロスポストしたOR交換で徹底的に議論され、更新されました。
元の質問
コマンドラインからCPLEX12.5.0.0を実行すると、次のようになります。
最適な整数解は19056.99ティックにあります。
しかし、Python APIを介して、まったく同じインスタンスで:
必要な時間は97407.10ティックになります(5倍以上遅くなります)。
どちらの場合も、モードは並列で決定論的で、最大2つのスレッドです。このパフォーマンスの低下がPythonスレッドのオーバーヘッドによるものかどうか疑問に思って、私は次のことを試しました。
必要な46513.04ティック(つまり、1つのコアを使用する方が2つを使用するよりも2倍高速でした!)。
一般的にCPLEXとLPに慣れていないので、これらの結果は非常に紛らわしいと思います。Python APIのパフォーマンスを向上させる方法はありますか、それとももっと成熟したAPI(JavaまたはC ++など)に切り替える必要がありますか?
附属書
2スレッドの解決策の詳細は次のとおりです。最初は(一般的な)前文です。
コマンドラインからの結果:
Python APIの結果:
c++ - 制約がCPLEXC++にすでに存在するかどうかを確認するにはどうすればよいですか?
Sizes [i1] + Sizes [i2] + Sizes [i3]<=1という形式の制約がいくつかあります。
一部の特定のインデックスi1、i2、i3の場合。後で、他のすべてのインデックスの組み合わせに制約を追加したい
これを行うための良い方法はありますか?たとえば、制約がモデルにすでに存在するかどうかを確認する方法はありますか?
IloModel :: add関数によって返されるハンドルを保存できるかもしれませんが(たとえば、ILOExtracableArrayまたはIloConstraintArrayとして?)、それでも、制約がすでに存在するかどうかを確認する方法がわかりません。ありがとうございました
cplex - CPLEX Java API の populate メソッドで、最適性に制約を加えてバイナリ変数の多様性を最大化する
すべての整数変数をバイナリとして使用して、CPLEX の混合整数問題に対する多くの解決策を作成しようとしています。この問題には、約 1000 の連続変数と 1000 のバイナリ変数があり、インジケーターとして機能し、約 2500 の線形制約があります。
私の目的関数は指標変数の最小化であり、バイナリ変数に選択された値に関して互いに異なる、最適に近い多くのソリューションを生成したいと考えています。私の現在のコードは次のように要約できます-
ここで、N、K、および D は、目的の解の数の短縮名であり、解を求めているときに生成される解の数をスケーリングする係数と、最適な最小化から許容できる相対的なギャップです。また、問題に関連していないように思われる他のいくつかの CPLEX パラメーターも使用します。
私の問題は、ソリューションの多様性が連続変数を含むすべての変数で測定されることですが、バイナリ変数値が異なるソリューションにのみ関心があります。つまり、取得している結果のほとんどは、バイナリ変数に対して同じ値を共有し、私には区別がつかないことを意味します (バイナリ値にのみ関心があるため)。私の現在の回避策は、設定することです-
T は通常 50 であり、次に (うまくいけば) N を選択すると、バイナリ変数の値が互いに異なるソリューション プールから結果が得られます。
多様性計算をバイナリ変数に制限する方法として多様性フィルターをチェックしましたが、各ソリューションと参照ソリューションの間ではなく、ソリューション間の多様性を強制するために使用する方法がわかりません。それ以外に、私は他に何ができるかについて無知です。
助けていただければ幸いです。また、これは私の最初の質問なので、フォーマットが間違っていたら申し訳ありません。
visual-studio-2008 - Cplex VisualStudio2008のエラー例
VisualStudioでCplexを使用するのは初心者です。
両方をインストールして、マニュアルの手順に従います。
ここから取った例を試してみると:例
これらのエラーがあります:
致命的なエラーC1083:インクルードファイルを開くことができません:'ilcplex / ilocplex.h':そのようなファイルまたはディレクトリはありません
解決策を見つけようとしましたが、見つかりません。
何か提案はありますか?