遠足でうまい棒とキャベツ太郎をお腹いっぱい食べたい!(解説)

問題はこちら:

答え:うまい棒25本、キャベツ太郎0袋で最大1100kcal

 問題の条件でしんじ君は予算300円をすべてうまい棒に費やすと最大カロリー1100kcal分お腹いっぱい駄菓子を食べる事ができます。キャベツ太郎惨敗…。ではなぜそうなるか解説します。

解説:うまい棒とキャベツ太郎の購入個数で不等式を作る

 うまい棒の購入数をx、キャベツ太郎の購入数をyとします。無限にうまい棒やキャベツ太郎を買えればしんじ君にとってはパラダイスなのかもしれませんが、残念ながら購入数には幾つか制約があります。つまりxやyは有限です。

 自明ではありますが、うまい棒もキャベツ太郎も購入数は0以上です。一応条件として式を書いておきましょう:

 ここでしんじ君が調べたうまい棒とキャベツ太郎のスペックを再掲します:

 遠足のおやつの予算は300円以内と決められていました。以内なので300円に満たなくても別にかまいません。うまい棒は1個12円、キャベツ太郎は一袋30円です。ここから、

という条件式が一つできます。

 もう一つ、リュックの空き容量が5000cm³でした。うまい棒は1個当たり153cm³、キャベツ太郎は748cm³です。リュックに入る必要があるため、

この不等式を満たすように購入数を調整する必要があります。分かっている条件は以上になります。

 では4本の不等式をグラフに描いてみましょう:

横軸にうまい棒の購入個数、縦軸にキャベツ太郎の購入個数を取ります。青いグラフが金額側のグラフで、オレンジのグラフが容量側のグラフです。不等式なので線上だけでなく各色の面積部分でも成り立ちます。4つの条件を満たすのは色が重なっている領域です。そして購入個数は整数なので、条件を満たす購入個数の組み合わせは緑色の点の個所になります。

 さて、この点の中から最もカロリーが高い点を選ぶわけですが、これもグラフを描く事で見定めてみましょうか。うまい棒のカロリーは1本当たり44kcal、キャベツ太郎は81kcalです。ここから、x本のうまい棒とy袋のキャベツ太郎を全部食べた時のカロリーCは、

と計算出来ます。ここから、

と直線式が作れます。この直線は傾きは固定で得られるカロリーCの値が切片になるので、Cの値によって直線が上下に平行移動する事になります。そこでCの値を色々と変化させて先のグラフに重ねてみましょう:

大きいCから値を小さくしていくと直線が徐々に下がって来て、いずれ緑色の点に重なります。ですから直線が最初に緑点に触れた時のカロリーが最大カロリーになります。その点を上のグラフから読み取ると、x=25、y=0。つまりうまい棒25本、キャベツ太郎0袋の時が最大となります。このx、yをカロリーの式に代入すると、

最大カロリーを計算できます。

 300円で1100kcalも摂れるうまい棒のコスパの凄さを実感するのと同時に、遠足とは言えうまい棒で1100kcalも摂るのは…マズイかもしれませんね(^-^;

 今回の問題はお菓子メーカーの「やおきん」が提供している実際のうまい棒とキャベツ太郎の情報を使いました。結果うまい棒のみというシンプルな結果になりました。ではキャベツ太郎を買った方が良い状況って起こるのでしょうか?

深掘:うまい棒が20円だったら…?

 遠足予算300円の小学生にとっては悲劇かもしれませんが、もしうまい棒が1本20円だったらどうなるか見てみましょう。

 うまい棒の購入本数とキャベツ太郎の購入数から出来る不等式が問題の時と少し変わります:

この範囲で問題の時と同様にグラフに条件を満たす購入数の領域を描き、カロリーの計算式、

を領域に寄せてみます:

金額条件から描ける青い線の傾きがきつくなった事で変化が生まれました。問題のように全部をうまい棒にするのではなくて、うまい棒は9本に抑え、キャベツ太郎を4袋買った方がよりお腹いっぱいになるようです。ただし得られるカロリーは、

に目減りしてしまいました。このようにうまい棒が20円に値上がりした世界では、うまい棒のコスパ感が減ってしまい、キャベツ太郎を買う利点が生まれます(カロリーで見た場合)。そう考えるとうまい棒を10円そして12円という低価格に維持してくれているやおきんさんには頭が下がります。…ちなみに案件では無いです(^-^;;(やおきんさん、うまい棒とキャベツ太郎お待ちしておりますww)

深掘2:線形計画法

 さて今回の問題で見てきたように、何らかの制約の下で目標とする値を最大(最小)にする問題を「最適化問題」と言います。そして制約条件が直線で表現される中で最適な解を求める手法を「線形計画法」と呼んでいます。もし制約条件が曲線的である場合は「非線形計画法」です。今回の問題は線形計画法の範疇です。

 線形計画法の中で今回の問題のように取りうる値が整数値に限定される物を「整数計画法」と呼んだりします。整数計画法は取りうる答えが離散的になる為、最適解を解析的に求めるのが面倒だったりします。今回の問題も正数計画法であるため解析的ではなくグラフから求める方法を採用しました。

 線形計画法(または非線形計画法)は社会生活の中で実は色々と出てきます。例えば複数の商品について商品を作るコスト(材料費、人件費、燃料費等)や時間(単位時間あたりに作成可能な商品数等)に制約がある場合に利益を最大にするにはどの商品を何個作れば良いか?こういう利益最大化を考える時に線形計画法が使われたりします。

 今回の問題ではうまい棒とキャベツ太郎という2つの変数で最適解を求めてみましたが、別の駄菓子も購入候補に含まれる場合、変数の数(次元数)が3つ4つと増えてしまう為解を探す事が難しくなっていきます。解析的に最適解を求められる場合もありますが、次元が増えた場合は数値解析で求める事もあるようです。

 皆さんの身の回りでも線形計画法が適用できそうな物を探して見て、実際に最適な解を求めてみると面白いかもしれませんね。

 ではまた(^-^)/

この記事が気に入ったらサポートをしてみませんか?