• 締切済み

多重ナップザック問題というらしいです。

下記のようにの品物の価値と重さが決まっている。  品物      重さ(kg)  価格(円) ルビー鉱石     4    4500 サファイヤ鉱石   5    5700 エメラルド鉱石   2    2250 石炭         1    1100 ダイヤモンド鉱石  6    6700 これを20kgの重量制限がある袋に品物を選んで(重複しても良い)入れるとき 価格が最大になる組み合わせを動的計画法の形で定式化して解を求める道筋を説明しなさい。 どなたか教えてください。

みんなの回答

  • uminezumi
  • ベストアンサー率33% (14/42)
回答No.7

参考URLに同じ問題と、動的計画法による解法の手順があります。 9ー4のダイナミックプログラミングという項目です。 ご参考までに。 http://www5c.biglobe.ne.jp/~MOGI/algorithm/algorithm09b.htm

参考URL:
http://www5c.biglobe.ne.jp/~MOGI/algorithm/algorithm09b.htm
  • mmky
  • ベストアンサー率28% (681/2420)
回答No.6

やはり経済学の分析手法ですね。 Yahooサイトでkeyword 「費用便益分析」+ 「ナップザ ック問題」 で検索してみてください。 参考になる論文があります。 参考まで

  • TK0318
  • ベストアンサー率34% (1260/3650)
回答No.5

#1です。 すいません、計算間違えていました^^; サファイア4で22800円が正解です。

si-chan0123
質問者

補足

回答ありがとうございます。 答えだけでなく動的計画法がわかる方いらっしゃいましたら教えてください。

  • mmky
  • ベストアンサー率28% (681/2420)
回答No.4

参考にならないかもしれませんが、皆さんに同じ 「20kgの重量制限がある袋に品物を選んで(重複しても良い)入れるとき」 ということですから、一番(Kgあたりの価格)の高いものを選びますね。 重複しても良い場合は、以下の表からKgあたりの価格の高いものから選びます。当然、サファイヤを20Kgとなります。 重複が否定されれば、Kgあたりの価格の高いもの順に選びます。 違っているかな? 品目/・・・・重さkg・価格(円)・価格/kg ルビー/・・・・・4・・・4500・・・1125 サファイヤ/・・5・・・5700・・・1140 エメラルド/・・2・・・2250・・・1125 石炭/・・・・・・1・・・1100・・・1100 ダイヤモンド/・6・・・6700・・・1117

  • ebinamori
  • ベストアンサー率21% (96/439)
回答No.3

それぞれの1kg当たりの価格は ルビー    1125kg/y  サファイヤ  1140kg/y エメラルド  1125kg/y 石炭     1100kg/y ダイヤモンド 1116.66kg/y これで見るとサファイヤが一番高価みたいなんで 高価なものを一番多くつむのは サファイヤ×5×4=22800円 になるのでこれが一番大きいような気がします。

  • uminezumi
  • ベストアンサー率33% (14/42)
回答No.2

動的計画法は、専門の方におまかせするとして、サファイヤ4個で22800円になりますよ。

  • TK0318
  • ベストアンサー率34% (1260/3650)
回答No.1

>動的計画法の形で定式化 方法はさっぱり分からないけど虱つぶしで計算したら ダイアモンド 1 サファイア 2 エメラルド 2(ルビー 1) で22600円になりました。 ・・・ところで問題あっていますか? ルビー4kgとエメラルド4kgの値段が同じなのでルビーの存在意義がないのですが・・・

si-chan0123
質問者

補足

回答ありがとうございます。問題はあってます。 想像ですがダイヤモンドと絡ませて20キロになる2kgの設定がほしかったのではないでしょうか?

関連するQ&A