【Python】組合せ最適化で健康的なマックのメニューを考える
この記事はオモゐデ漁船 Advent Calendar 2022 - Adventar11日目の記事です
こんにちは.りです.
マックうまいですよね.毎日食べられます.
でも健康的にちょっと難があるので(僕は気にしませんが)マックを毎日食べるのを躊躇っている人もいるかもしれません.
ということで今回は健康的なマックのメニューを組み合わせ最適化を用いて考えてみました.
組み合わせ最適化とは
なんか「条件をみたす組み合わせの中で一番良いものを求めること」らしいです.
例えば「倉庫に物を多くしまう組み合わせ」みたいな問題らしいです.
まあ僕もよく分からないので詳しくはググってください.
実践
まずマクドナルド公式サイトのデータ一覧から栄養素のデータを持ってきます
今回使用するデータはエネルギー,タンパク質,脂質,炭水化物の4つです.
あとの栄養素は気合でカバーしてください.
あとここの段階で一部のメニュー(塩コショウやドレッシング)を消したり,サラダに個数制限を設けるようにしています.
そうしないと,塩を270個食べさせられたり,サラダを100個食べさせられたりして,死にます.
次に各栄養素ごとにデータを配列の形にして,Pythonでいい感じにコードを書きます.
このコードでは,総摂取栄養素が1日の接種目安の栄養素を越さないように条件指定しています.ただし,タンパク質はなんか多いほうがいいって聞いたことがあるので,タンパク質のみ目安より多くなるようにしています.
詳しい事はあんまわからないので参考にしたサイトを貼っておきます
これを実行するとこのような結果が得られます
出てきたのは番号ですが,これはExcelでの番号に相当しているので,この結果は「チキンクリスプ4つ,サラダ2つ,ワッフルコーンストロベリー2つ」になります.
終わり
今回はマクドナルドで究極の完全食メニューを生み出してしまいました.
この悪魔の発明のせいで日本の食文化が廃れ,世界がマクドナルドに支配される日もそう遠くない気がします.
Python初めてまともに使ったけど楽しかったです.でも疲れたので今からビッグマックを食べにいってきます.
それでは~