- ベストアンサー
2種類の商品を、予算に一番近い額で買う組み合わせは?
価格の異なる2種類の商品を、或る予算限度いっぱいまで買う買い方を求める計算法(高校数学程度?算数?)を教えて下さい。 たとえば、「商品Aが700円、商品Bが1200円で、予算2万円のとき、A・Bを各何個買えば最も2万円に近いでしょうか。」 さらに、「それぞれを最低5個は買う」という条件がついていたら、どうなりますか? 以上、非常に日常的な問いのわりに、案外、直感的に考えたりしていることが多いので、一度キチンと数式を使うとどうなるか興味が湧き、投稿しました。 (もし、エクセルを使用して解く方法があれば、それも知りたいと思います)
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
線形計画法(LP法),数理計画法の計算ですね。 これらの名称でGoogleで検索してみてください。 Aをx1個,Bをx2個とすると制約条件 5≦x1≦28,5≦x2≦16,700x1+1200x2≦20000,x1=整数、x2=整数 目的関数: 700x1+1200x2=k としてkを最大にする(x1,x2)を求めれば良いですね。 解は(x1,x2)=(8,12)となります。 このときk=20000(円)ちょうどの最適解になります。 5個以上という個数の条件をはずせば (x1,x2)=(20,5),このときk=20000(円)ちょうど も最適解になります。 グラフを描いて最適整数解を求めました。 x2を0~16または5~16迄の整数で変化させ、順に目的関数を調べて行っても最適解が見つかると思います。なお、x1で変化されると調べる回数がより多くなります。 (EXCELでもできると思いますがやってみないとわかりません。) 目的関数を(x1,x2)の整数組で目的関数を計算してkで大きい順にソートしてやれば最適解が多分見つかるでしょう。
その他の回答 (1)
- koko_u_
- ベストアンサー率18% (459/2509)
商品 A を x 個、商品 B を y 個購入して 700x + 1200y が 20000 に最も近くなるようにしたいのですね。 この場合、7x + 12y = 200 の整数方程式を考えると、 7(x + y - 28) + 5y = 4 2(x + y - 28) + 5(y + (x + y - 28)) = 4 2(x + y - 30) + 5(x + 2y - 28) = 0 なので k を整数として x + y - 30 = -5k x + 2y - 28 = 2k x, y について解くと x = 32 - 12k y = 7k - 2 k = 1, 2 の時に x >= 0 , y >= 0 となるから x = 20, y = 5 x = 8, y = 12 で丁度 2万円になります。
お礼
くわしい回答を寄せていただき、ありがとうございます。 こちらに予備知識が無く、提示してくださった方程式の変形のプロセスが、わからないので、あとでじっくり考えたいと思います。 (残念ながら、高校レベルの数学では、なさそうですね)
お礼
くわしい回答を寄せていただき、ありがとうございます。 この問題は、「線形計画法」というジャンルなのですね。 たいへん勉強になります。 また、仮にエクセルを使うとすれば、「ソート機能」が有効だろうという御意見も貴重に思います。試してみます。