問題タブ [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.

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

csv - CSV データを添字付きセットに読み込む

1 週間ほど取り組んでいる問題について、ご協力をお願いしたいと思います。私はどこでも解決策を探していました。公式文書は十分に正確ではなく、そのことについて何も述べていません。

問題は次のとおりです。これは、私の CSV ファイル「food.csv」の一部です。ここでは、データの小さなプレビューを作成するために、6 列のみをコピーしました。

ステートメントを使用して、GNU MathProg 線形プログラムにインポートしていますtable。問題は、列ごとに個別のパラメーターを使用することを余儀なくされていることです。簡単に反復できるように、列を単一の 2 次元パラメーターにインデックス付けすることをお勧めします。

問題は、このように各列に個別のパラメーターを使用する必要があることです。40 列のような列と、それらの列のそれぞれに 2 つの制約がある場合、約 80 の制約が別々の行に表示されます。何かを変更したい場合は、変更する必要があります。 80 行のコード。列を反復して単純化することができないためです。

ここに、CSV ファイルから解析されたものを入れます。

さらに興味深いのは、次のようなものです。

これを達成する方法を知っている人はいますか?

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

glpk - ドメイン外の MathProg

GLPK を使用して問題を解決する必要があります。実際に必要なのは、2 つの配列内の要素の差を計算することですが、ドメイン外のエラーが表示されます。このエラーについてわからないので、修正していただければ幸いです。コードは次のとおりです。

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

c# - 私は数学で何が間違っていますか?

private void btnDisplay_Click(オブジェクト送信者, EventArgs e)

雇用形態を「FULL」、組合形態を「MEMBER」、販売数量を「100」、雇用年数を「25」と入力した場合。週ごとの支払い額は「$783.30」になるはずです。しかし、最終的に出力として $667.59 が得られます。私が間違っていることはわかりません。

従わなければならないガイドラインは次のとおりです。

フルタイムの代表者は、1 時間あたり 20.00 ドルのレートで週 40 時間働きます。パートタイムの代表者は、1 時間あたり 10.00 ドルのレートで、週 20 時間働きます。一部の代表者は組合に所属し、組合費として毎週 5.25 ドルを支払います。代表者が働いた場合 10年以上は売上の 10% の手数料を受け取り、それ以外の場合は売上の 5% の手数料を受け取ります ウィジェットは 9.25 ドルで販売されます フルタイムの従業員が基本給の 80% を超える売上を達成した場合、ボーナスを受け取る資格があります売上高の 5% すべての代表者は、総収入に基づいて 16% の FICA 税を支払います。

PS これはたくさんの読書であることは知っていますが、これで私を助けてくれれば、私にとってクリスマスの奇跡のようなものになるでしょう.

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

ampl - MathProg で LP が実行不可能な場合、まったく異なるものを出力します

私は MathProg (AMPL のサブセットに似た GLPK ライブラリに固有の言語) を使用して、グラフの頂点のトポロジカル ランキングを見つけています。これは、線形計画法クラスの課題です。簡単な線形プログラムを定式化し、GLPK を使用してそれを解決できることを確認するための入門演習です。

特定のグラフの MathProg で線形プログラムを生成する Perl スクリプトを作成しました。を介して変数の値 (頂点のランク) を出力しprintfます。実現可能であれば、それがまさに私が望んでいることです。それ以外の場合はすべてゼロを出力しますが、Infeasible, has cycles or loops..

私はハッキーな方法でそれを行うことができました(以下を参照)。実現可能性の条件を繰り返さずに、よりエレガントに行うにはどうすればよいですか? 解決されている問題に依存しない実行不可能性を検出する方法はありますか?

宣言しようとしましparam Feasible binary := (exists{i in V} v[i] >= 1) or card(E) = 0;たが、GLPK は で拒否しましたModel processing error。前に宣言したときはsolveと言いoperand preceding >= has invalid type、後で宣言したときは と言いexpression following := has invalid typeました。一般的なプログラミング言語の変数のようなものを探していました。

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

linear-programming - 目標に関する問題 - GMPL

私は目標をモデル化しようとしています。

これは割り当て問題の特殊なケースであり、すべてのジョブを作成するために必要なワーカーを最小限に抑えたいと考えています。したがって、すべての仕事をしなければなりませんが、すべての労働者が何かをしなければならないわけではありません。

制約:

しかし、目的のワーカーの数を最小限に抑えることはできません。実際に仕事をしている変数内の労働者を数え、その変数を最小化する方法はありますか?

私はそれにかなり慣れていませんが、何か提案はありますか?

新しいヒントや提案はありますか?