問題タブ [mathprog]
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.
programming-languages - AMPL を SCITE エディターに追加し、GLPK ソルバーを追加します。
AMPL を SCITE エディターに追加し、GLPK ソルバーを追加する方法を順を追って説明してもらえますか?
ampl - MathProg (AMPL) - 別の変数によってサイズ変更された変数配列
私は最初の GNU MathProg (AMPL) プログラムを作成して、特定の基数、ホスト数、および二分帯域幅に対する HyperX トポロジ (グラフ) の最小スイッチ (頂点) カウント インスタンスを見つけています。すべての方程式は次の論文で説明されているため、これは単純な最初のプログラムです: http://cal.snu.ac.kr/files/2009.sc.hyperx.pdf
仕様とサンプル プログラムを読みましたが、非常に単純な構文エラーで立ち往生しています。次の 2 つの変数が必要です。ネットワークの次元数 L と、長さ L の配列 S (S の各要素は各次元のスイッチの数) です。私の MathProg プログラムでは、これを次のように表現します。
ただし、 を実行する$ glpsol --check --math hyperx.mod
と、次のエラーが発生します。
この関係を適切に表現する方法を説明できる人がいれば、感謝します。また、参照と追加のヘルプのために、私が書いたプログラム全体を含めています。プログラムには多くの構文エラーがあると思いますが、最初のエラーを修正するまで、残りを見つける方法がありません。
solver - GLPK MathProg セットとグループ
これが誰かに明らかであることを願っています。私は GLPK/MathProg をバニラでしか使用したことがありません。たとえば、GNU MathProg (GLPK 内) で次のことを行うための構文を理解するのに問題があります。
問題は、これが MathProg によって拒否されることです。
- パーティション (ここでは PartsOfWeek) とセット (ここでは Weekdays) を宣言する - データからパーティションを構築する - パーティションからセットの要素をセットに取り込む。
より良い例は、季節と月です。
linear-programming - Mathprog で書かれた線形プログラムの変数の既知の値
MathProgで書かれた線形プログラムがあります。私の不明なバイナリ変数は、次のように定義された 2 次元配列です。
ここで、V と L は整数の集合です。
ただし、一部の変数の値は事前にわかっているため、ILP のサイズを小さくするためにソルバーにこれを指定したいと考えています。たとえば、l=2 の場合は x[4,l] が 1 であり、l のその他の値の場合はゼロであることを知っています。現在、これを制約として指定しています。
これが、未知数のサブセットの値を事前に指定する効率的な方法であるかどうか疑問に思っていました。
理想的には、そのような情報をモデル ファイルではなく、データ セクションと一緒に別のファイルに配置したいと考えています。
cplex - MathProgでソリューションのイニシャルを設定する
私はMathProg言語とGLPKを使用してMIPを解決しています。「優れた」ヒューリスティック整数ソリューションがある場合、MathProg言語で初期ソリューションを設定する(そしてGLPKで解決する)方法はありますか?これはCPLEXの優れた機能であり、MIPの解決を大幅に高速化できます。ありがとう!
modeling - GMPL での制約のモデル化
この制約を GMPL でモデル化しようとしています。
私が理解できる限り、j:d ij < D kの部分は、「プロパティ d ij < D kを満たすすべての 'j'」を意味します。
私はそれにかなり慣れていないので、正しくモデル化することができませんでした。助言がありますか?
ampl - MathProg(GLPK)の「ドメイン外」エラー
私はMathProgで一見単純なモデルに苦労しています。モデルは次のとおりです。
実行するとエラーが発生しますfeasibility.glp:11: b[v1,w1] out of domain
。何が悪いのかわかりません。さらに奇妙なことに、関連する行を変更するとb[j,i]
、まったく同じエラーが発生し続けます(b[w1,v1]
予想どおりではありません)。
私はAMPLダイエットの例を注意深く調べましたが、モデルの関連部分に違いは見られませんでしたが、それでも機能しません。なにが問題ですか?
function - MathProg 再帰関数
非常に大きな TSP 問題を解決しようとしているときに、Mathprog でリンクされたノードをカウントする際に問題に直面しています。
距離関数 d(c1,c2)
その他の条件
回路を解決するために可能なすべてのカットを行うには、パワーセットとその他のものが必要ですが、20を超えるノードでは問題があまりにも貪欲で、解決策が得られません.
だから私は、すべての a[i,j] を連結するようにソルバーを制約すると考えました。
これはと同じです
これは解決につながらないかもしれませんが、そのような単純なことを実装できないのは非常にイライラします... mathprog (gmpl) でそのような擬似コードを実装する方法はありますか?
c++ - GLPK API の「glpsol」に相当
コマンドライン関数「glpsol」の GLPK Api に同等のものがあるかどうか疑問に思っていました。
.mod ファイルに記述されたモデルと .dat ファイルにデータがあるためです。コマンドラインでは、次の行を呼び出すことで解決できます:
「execv()」呼び出しを実行せずに、C/C++ プログラムで同じ問題を解決したいと考えています。
linear-programming - GLPK で変数の if 条件を作成するにはどうすればよいですか?
これが私の完全な問題です:
情報:
*最大。総投資額: $125
*ペイオフは、購入したユニットの合計 x ペイオフ/ユニット
*投資あたりのコスト: バイイン コスト + コスト/ユニット x ユニット数 (少なくとも 1 つのユニットを購入する場合)
※費用は投資1件あたりの費用の合計
制約:
※2と5の両方に投資することはできません。
※2と3のうち少なくとも1つに投資する場合、1にのみ投資することができます。
*3、4、5のうち少なくとも2つを投資する必要があります。
※最大ユニット数を超えて投資することはできません。
問題: 利益を最大化する: ペイオフ - コスト
これが私の質問です:
たとえば、このバイナリ変数 y があります
i をデータセットとして宣言しました
glpk の y 変数に if else 条件を追加する方法がわかりません。助けてもらえますか?
私のモデリング:
次の構文エラーが発生します。