web-dev-qa-db-ja.com

OpenSolverとExcelのソルバーは異なる最適なソリューションを提供します

OpenSolverとSolverは異なるソリューションを提供する傾向があることに気づきました。たとえば、この website によって提供される例 file では、OpenSolverはX = 0およびY = 60の答えを返しますが、Solverの答えはX = 10およびY = 45です。なぜそうなのか、何か考えはありますか?どちらを信頼すればよいですか?

(編集)ファイルは基本的に以下の問題をモデル化しています:

最大化:30X + 20Y

対象:
5X + 2Y <= 140
3X + 2Y <= 120
X、Y> = 0

1
will

あなたのような線形方程式システムには複数の解があるかもしれません。

どちらのタイプのソルバーも、方程式を解くための分析手法ではなく、ある種の近似アルゴリズムを使用して解を見つけます。

  • 複数の最適な出力の場合、それらの選択は初期パラメーターにも依存します(Excelのソルバーをx = 0で開始すると、y = 0はそこに留まり、10、45に変更されません)
  • これらのアルゴリズムは異なる方法で実装でき、異なる結果が得られる可能性があります

どちらを信頼すればよいですか?

常に出力を確認してください。両方が基準内にあり、同じ最終出力が得られる場合は、両方が正しい可能性があります。


明確な答えを得たい場合は、適切なツールを使用する必要があります。 Wolfram Alpha

enter image description here

1
Máté Juhász

これらのExcelソリューションは両方とも制約を満たし、同じ目的値を持っているため、どちらも正しいです。

0
Andrew