我一直在尋找一種演算法,可以幫助我根據一定量的營養素創造出最好的飲食。經過大量的研究和嘗試,它沒有成功。但我發現了一些幾乎奏效的東西,那就是飲食問題或最大化問題,它需要為每種食物設定一個值,因此無法達到我想要的目的。我想知道是否有任何類似的演算法或數學方程可以解決我的問題。
我正在尋找的示例:
我的一頓飯需要補充 300 卡路里、30 克碳水化合物、15 克蛋白質和 7 克脂肪。
我也有這兩種食物:
每 100g 含 125cal、3g 蛋白質、30 碳水化合物和 0 > 脂肪的米飯雞胸肉:每100克含160卡路里、32克蛋白質、0碳水化合物和2.5脂肪
我正在尋找的是每種食物的克數,以最大限度地提高我膳食中每種常量營養素的含量!
提前致謝!
uj5u.com熱心網友回復:
假設你吃了 r 克米飯和 c 克雞肉。那么你的卡路里總量將是 1.25r 1.6c,因為你至少需要 300 卡路里,所以你正在尋求滿足不等式
1.25r 1.6c ≥ 300
查看所有要求可為您提供以下資訊:
1.25r 1.6c ≥ 300 (卡路里)
0.3r 0c ≥ 30 (碳水化合物)
0.03r .32c ≥ 15 (蛋白質)
0r 0.025c ≥ 7 (脂肪)
滿足所有這些不等式的 r 和 c 的任何組合都將為您提供所需的一切。當然,您可以通過使 c 和 r 變大來做到這一點(例如,吃 10 公斤米飯和 10 公斤雞肉),因此您需要一些平衡力來使 c 和 r 變小。在您的問題陳述中,您提到您希望最大化每種常量營養素的數量,但是,正如我在這里指出的那樣,這實際上可能不是您真正的目標。:-)
做到這一點的一種方法是最小化你吃的所有東西的總質量——也就是說,你想要最小化 r c。這會給你一個線性程式,你可以使用現成的求解器來處理:
最小化
r c
服從
1.25r 1.6c ≥ 300 (卡路里)
0.3r 0c ≥ 30 (碳水化合物)
0.03r .32c ≥ 15 (蛋白質)
0r 0.025c ≥ 7 (脂肪)
解決這個線性程式的 r 和 c 的值將是吃米飯和雞肉的最小質量方式,以獲得您的最低要求。
或者,也許,您想盡量減少您消耗的卡路里總數。這可以通過求解這個線性程式來完成:
最小化
1.25r 1.6c
服從
1.25r 1.6c ≥ 300 (卡路里)
0.3r 0c ≥ 30 (碳水化合物)
0.03r .32c ≥ 15 (蛋白質)
0r 0.025c ≥ 7 (脂肪)
這個主題有很多變化。您可以考慮大米和雞肉的價格,或者盡量減少脂肪等。但基本思想是將您可能的食物和營養需求轉化為一系列不等式,然后嘗試解決這些不等式的一些優化問題。
希望這可以幫助!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/486293.html