問題タブ [ms-solver-foundation]

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

c# - MS ソルバー - ブール式で整数決定を使用するにはどうすればよいですか?

MS ソルバーを使用してビン パッキングの問題を解決しようとしていますが、ブール式でディシジョンを使用して項を作成する方法がわかりません。

私の問題の概要は次のとおりです。

ビンの数を最小限に抑えて、アイテムをビンに収めようとしています。すべてのビンは同じサイズです。

3 つの SKU (アイテムの種類) があるとします。梱包する SKU ごとに異なる量があり、各 SKU のサイズは異なります。

SKU サイズ 数量

  1. 100 94
  2. 50 50
  3. 25 27

ビンサイズ = 4200

はい、それは 1 次元のビン パッキング問題です。

3 つの SKU のすべてのアイテムを 5 つのビンに梱包する必要があることはわかっています。理論上の最小値は 3 つのビンです。このソリューションを改善して、MS ソルバーを使用して 4 つまたは 3 つのビンにまで減らすことはできますか?

ここに私の問題があります: MS ソルバー ライブラリを使用して、決定と制約を設定できますが、使用するビンの数を最小限に抑えるという目標を定義できないようです。

決定の 2D マトリックスを作成します。行数は 5 つのビンの最初の推測に対応し、3 列はビン内の各 SKU の数量です。

使用するビンの数を最小限に抑えたいのですが、目的に合った構文を取得できないようです。目標を作成するために使用している方法は次のとおりです。

次の警告が表示されます: 'Object.ReferenceEquals' は、値の型で呼び出されるため、常に false です。

そして、実際、この用語は常に同じ値に評価されるため、解決策はありません。

これらの決定を使用して用語を作成するにはどうすればよいですか?

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

c# - MS ソルバーに解を求めるように強制する

Excel のようにすべての制約が満たされていない場合、MS ソルバーにモデルの解を強制的に見つけるにはどうすればよいですか? LinearReport オブジェクトにあるメソッド GetInfeasibilitySet (モデルで満たされていない制約を返すようです) を見つけましたが、インスタンス化できなかった ISolver および LinearSolutionMappings パラメータが必要なため、このオブジェクトをインスタンス化できませんでした。同じように。

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

f# - Microsoft Solver Foundation と F#

私はこのMS Solver Foundation の例を C# から F# に変換しようとしていますが、特にセクション 5 で、C# が double から Rational への暗黙の変換を受け入れ、F# が受け入れない何かの型変換に関する問題に常に遭遇しています。解決する?Rational 型自体は、事前定義された Rational.One または Rational.Zero に設定する以外に初期化することは事実上不可能に思えるため、私にとってパズルです。何か案は?以下の最小限の縮小バージョンを参照してください (配列などを使用していません)。

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

c# - 方程式の左部分の変更

現在、MS-Solver-Foundation を使用して線形方程式系を解いています。私はそれで問題を解決することができたので、今はもっと動的にしようとしています (問題が変わるたびにコードを変更する必要がないように)。

次のタイプの複数の制約があります。

と はどこにflow[i]ありoverflow[i]ますかDecision(型クラスの)。for今、これらすべての制約をループに追加しようとしています。そのために、以前に左側のすべての部分を含むリストを作成しました(つまり、 all flowoverflowおよびs1つの制約に必要です)。今は次のようなことをしようとしています:

失敗しました。私も使用しようとしましたSumTermBuilder

しかし、それも失敗しました。なぜなら、すべてに対してソリューション 0 を取得するからです。これは正しくありません。

私の質問は次のとおりです。手動で書き留めずに、制約内の方程式の左側の部分にこの合計を作成して、必要なforループが 1 つだけになるようにするにはどうすればよいですか?

0 投票する
3 に答える
1405 参照

c# - 文字列として与えられた多項式を評価する方法は?

私は数十の多項方程式を持っています.2次、3次、4次の多項式があります。各方程式には異なる係数と定数がありますが、入力変数が 1 つしか含まれていないため、どれも過度に複雑ではありません。入力変数 x は、方程式ごとに異なります。

これらをデータベースに保存しています。これらを文字列型として取り出して評価したい。私は常に問題の X を持っています。この問題を処理する良い方法は何ですか? Microsoft Foundation Solver を使用しようとしています。これは、文字列方程式をソルバーが理解できる形式に変換し、x を指定して、y を解くことができると思うからです。残念ながら、私はこれを実装するのに十分ではありません。