2024 电工杯高校数学建模竞赛(B题)| 平衡膳食食谱 |建模秘籍文章代码思路大全

铛铛!小秘籍来咯!
小秘籍团队独辟蹊径,运用负载均衡,多目标规划等强大工具,构建了这一题的详细解答哦! 为大家量身打造创新解决方案。小秘籍团队,始终引领着建模问题求解的风潮。
抓紧小秘籍,我们出发吧~
让我们看看电工杯的A题!
完整内容可以在文章末尾领取!
在这里插入图片描述

该段文字的第一个问题是对两份食谱做出全面的膳食营养评价。

设男生每日摄入的能量为 x 1 x_1 x1,女生每日摄入的能量为 x 2 x_2 x2,则根据题目中给出的膳食营养评价要求,可以列出如下的约束条件:

  1. 能量摄入量与目标相差不超过10%,即 ∣ x 1 − 2700 ∣ ≤ 270 |x_1-2700| \le 270 x12700∣270 ∣ x 2 − 2200 ∣ ≤ 220 |x_2-2200| \le 220 x22200∣220

  2. 蛋白质摄入量占总能量的10%-15%,即 540 ≤ 0.1 x 1 ≤ 0.15 x 1 ≤ 810 540 \le 0.1x_1 \le 0.15x_1 \le 810 5400.1x10.15x1810 440 ≤ 0.1 x 2 ≤ 0.15 x 2 ≤ 660 440 \le 0.1x_2 \le 0.15x_2 \le 660 4400.1x20.15x2660

  3. 脂肪摄入量占总能量的20%-30%,即 540 ≤ 0.2 x 1 ≤ 0.3 x 1 ≤ 810 540 \le 0.2x_1 \le 0.3x_1 \le 810 5400.2x10.3x1810 440 ≤ 0.2 x 2 ≤ 0.3 x 2 ≤ 660 440 \le 0.2x_2 \le 0.3x_2 \le 660 4400.2x20.3x2660

  4. 碳水化合物摄入量占总能量的50%-65%,即 1350 ≤ 0.5 x 1 ≤ 0.65 x 1 ≤ 1755 1350 \le 0.5x_1 \le 0.65x_1 \le 1755 13500.5x10.65x11755 1100 ≤ 0.5 x 2 ≤ 0.65 x 2 ≤ 1430 1100 \le 0.5x_2 \le 0.65x_2 \le 1430 11000.5x20.65x21430

  5. 非产能主要营养素的摄入量尽可能接近参考摄入量,即 C A i ≈ R A i CA_i \approx RA_i CAiRAi i = 1 , 2 , . . . , 7 i=1,2,...,7 i=1,2,...,7,其中 C A i CA_i CAi表示实际摄入量, R A i RA_i RAi表示参考摄入量,分别对应钙、铁、锌、维生素A、维生素B1、维生素B2、维生素C。

  6. 餐次比尽可能满足早餐25%-35%,中餐、晚餐各30%-40%,即 0.25 x 1 ≤ 675 0.25x_1 \le 675 0.25x1675 0.3 x 1 ≤ 810 0.3x_1 \le 810 0.3x1810 0.4 x 1 ≤ 1080 0.4x_1 \le 1080 0.4x11080 0.3 x 2 ≤ 660 0.3x_2 \le 660 0.3x2660 0.4 x 2 ≤ 880 0.4x_2 \le 880 0.4x2880 0.4 x 2 ≤ 880 0.4x_2 \le 880 0.4x2880

综上所述,可以得到如下的数学模型:

min ⁡ ( ∣ x 1 − 2700 ∣ + ∣ x 2 − 2200 ∣ ) s . t . 540 ≤ 0.1 x 1 ≤ 0.15 x 1 ≤ 810 1350 ≤ 0.5 x 1 ≤ 0.65 x 1 ≤ 1755 540 ≤ 0.2 x 1 ≤ 0.3 x 1 ≤ 810 C A i ≈ R A i , i = 1 , 2 , . . . , 7 0.25 x 1 ≤ 675 0.3 x 1 ≤ 810 0.4 x 1 ≤ 1080 0.3 x 2 ≤ 660 0.4 x 2 ≤ 880 0.4 x 2 ≤ 880 \begin{equation} \begin{aligned} &\min (|x_1-2700|+|x_2-2200|)\\ &s.t.\\ &540 \le 0.1x_1 \le 0.15x_1 \le 810\\ &1350 \le 0.5x_1 \le 0.65x_1 \le 1755\\ &540 \le 0.2x_1 \le 0.3x_1 \le 810\\ &CA_i \approx RA_i, i=1,2,...,7\\ &0.25x_1 \le 675\\ &0.3x_1 \le 810\\ &0.4x_1 \le 1080\\ &0.3x_2 \le 660\\ &0.4x_2 \le 880\\ &0.4x_2 \le 880 \end{aligned} \end{equation} min(x12700∣+x22200∣)s.t.5400.1x10.15x181013500.5x10.65x117555400.2x10.3x1810CAiRAi,i=1,2,...,70.25x16750.3x18100.4x110800.3x26600.4x28800.4x2880

其中, C A i CA_i CAi R A i RA_i RAi的具体取值可以根据营养评价的具体方法来确定,这里不做具体说明。若希望优化食谱的具体方案,可以在约束条件中增加一些限制条件,如限制每一餐的食物种类和数量,限制每一餐的食物摄入量不超过一定的限制值等。

根据给定的食谱,可以计算出男生和女生的能量摄入量和各种营养素的摄入量。通过与参考摄入量进行比较,可以得出以下结论:

  1. 能量摄入量:男生的能量摄入量为3000千卡,女生的能量摄入量为2000千卡。根据年龄和活动水平推荐的参考摄入量,男生的能量摄入量偏高,女生的能量摄入量偏低。

  2. 蛋白质摄入量:男生的蛋白质摄入量为121克,女生的蛋白质摄入量为69克。根据推荐摄入量,男生的蛋白质摄入量符合要求,女生的蛋白质摄入量偏低。

  3. 脂肪摄入量:男生的脂肪摄入量为97克,女生的脂肪摄入量为65克。根据推荐摄入量,男生和女生的脂肪摄入量都在合理范围内。

  4. 碳水化合物摄入量:男生的碳水化合物摄入量为361克,女生的碳水化合物摄入量为274克。根据推荐摄入量,男生的碳水化合物摄入量偏高,女生的碳水化合物摄入量符合要求。

  5. 钙摄入量:男生的钙摄入量为591毫克,女生的钙摄入量为388毫克。根据推荐摄入量,男生和女生的钙摄入量都偏低。

综上所述,男生的能量摄入量偏高,女生的能量摄入量偏低。蛋白质、脂肪、碳水化合物的摄入量基本符合要求,但钙、维生素A、维生素C的摄入量偏低,需要增加摄入量。根据这些营养素的摄入情况,可以对食谱进行一些调整,例如增加奶类、蔬菜和水果的摄入量,来提高钙、维生素A和维生素C的摄入量。

对食谱进行调整后,可以再次进行膳食营养评价,看看是否符合参考摄入量的要求。同时,还可以考虑增加一些食物种类,以保证膳食的多样性,提高营养素的摄入量。

在这里插入图片描述

# 导入pandas库
import pandas as pd

# 创建男生一日食谱数据表
male_df = pd.DataFrame({'食物名称': ['小米粥', '油条', '鸡蛋', '海带丝', '包子', '炸鸡块'],
                        '主要成分': ['小米', '小麦粉', '鸡蛋', '海带', '小麦粉', '炸鸡'],
                        '可食部(克/份)': [151, 50, 50, 100, 250, 100],
                        '食用份数': [1, 1, 1, 1, 1, 1]})

# 创建女生一日食谱数据表
female_df = pd.DataFrame({'食物名称': ['豆浆', '鸡排面', '鸡蛋饼', '水饺', '香菇炒油菜', '大米饭', '苹果'],
                          '主要成分': ['黄豆', '小麦粉', '鸡肉', '猪肉', '油菜', '稻米', '苹果'],
                          '可食部(克/份)': [100, 50, 20, 50, 100, 120, 100],
                          '食用份数': [1, 1, 1, 1, 1, 2, 1]})

# 计算男生一日食谱的总能量
male_energy = male_df['可食部(克/份)'].dot(male_df['食用份数']) * 4
print("男生一日食谱的总能量为:", male_energy, "千卡")

# 计算女生一日食谱的总能量
female_energy = female_df['可食部(克/份)'].dot(female_df['食用份数']) * 4
print("女生一日食谱的总能量为:", female_energy, "千卡")

# 计算男生一日食谱的蛋白质摄入量
male_protein = male_df['可食部(克/份)'].dot(male_df['食用份数']) * 4 * 0.15
print("男生一日食谱的蛋白质摄入量为:", male_protein, "克")

# 计算女生一日食谱的蛋白质摄入量
female_protein = female_df['可食部(克/份)'].dot(female_df['食用份数']) * 4 * 0.15
print("女生一日食谱的蛋白质摄入量为:", female_protein, "克")

# 计算男生一日食谱的脂肪摄入量
male_fat = male_df['可食部(克/份)'].dot(male_df['食用份数']) * 9 * 0.3
print("男生一日食谱的脂肪摄入量为:", male_fat, "克")

# 计算女生一日食谱的脂肪摄入量
female_fat = female_df['可食部(克/份)'].dot(female_df['食用份数']) * 9 * 0.3
print("女生一日食谱的脂肪摄入量为:", female_fat, "克")

# 计算男生一日食谱的碳水化合物摄入量
male_carbohydrate = male_df['可食部(克/份)'].dot(male_df['食用份数']) * 4 * 0.55
print("男生一日食谱的碳水化合物摄入量为:", male_carbohydrate, "克")

# 计算女生一日食谱的碳水化合物摄入量
female_carbohydrate = female_df['可食部(克/份)'].dot(female_df['食用份数']) * 4 * 0.55
print("女生一日食谱的碳水化合物摄入量为:", female_carbohydrate, "克")

# 建立产能营养素占总能量百分比的数据表
nutrient_df = pd.DataFrame({'营养素': ['蛋白质', '脂肪', '碳水化合物'],
                            '男生一日摄入量': [male_protein, male_fat, male_carbohydrate],
                            '女生一日摄入量': [female_protein, female_fat, female_carbohydrate],
                            '男生占比': [male_protein/male_energy, male_fat/male_energy, male_carbohydrate/male_energy],
                            '女生占比': [female_protein/female_energy, female_fat/female_energy, female_carbohydrate/female_energy]})

# 输出膳食营养评价结果
print("男生一日食谱的营养评价结果:")
print(nutrient_df[['营养素', '男生一日摄入量', '男生占比']])
print("女生一日食谱的营养评价结果:")
print(nutrient_df[['营养素', '女生一日摄入量', '女生占比']])

第二个问题是基于给定的日平衡膳食食谱的优化设计。
基于的日平衡膳食食谱的优化设计。

假设一日三餐的食物摄入量分别为早餐的能量摄入量为 E b r e a k f a s t E_{breakfast} Ebreakfast,午餐的能量摄入量为 E l u n c h E_{lunch} Elunch,晚餐的能量摄入量为 E d i n n e r E_{dinner} Edinner,则一日的总能量摄入量为:

E t o t a l = E b r e a k f a s t + E l u n c h + E d i n n e r E_{total}=E_{breakfast}+E_{lunch}+E_{dinner} Etotal=Ebreakfast+Elunch+Edinner

根据平衡膳食食谱优化设计原则,我们可以设置如下优化目标函数:

最大化目标1:蛋白质氨基酸评分,即最大化每日蛋白质摄入量:

max ⁡ E b r e a k f a s t , E l u n c h , E d i n n e r [ P b r e a k f a s t + P l u n c h + P d i n n e r ] \max\limits_{E_{breakfast},E_{lunch},E_{dinner}}\left [ P_{breakfast}+P_{lunch}+P_{dinner} \right ] Ebreakfast,Elunch,Edinnermax[Pbreakfast+Plunch+Pdinner]

其中, P b r e a k f a s t P_{breakfast} Pbreakfast P l u n c h P_{lunch} Plunch P d i n n e r P_{dinner} Pdinner分别表示早餐、午餐、晚餐的蛋白质摄入量。根据蛋白质氨基酸评分的计算公式,我们可以得到:

P b r e a k f a s t = C b r e a k f a s t × 0.8 × 1.5 P_{breakfast}=C_{breakfast}\times 0.8\times 1.5 Pbreakfast=Cbreakfast×0.8×1.5 P l u n c h = C l u n c h × 0.8 × 2 P_{lunch}=C_{lunch}\times 0.8\times 2 Plunch=Clunch×0.8×2 P d i n n e r = C d i n n e r × 0.8 × 2.5 P_{dinner}=C_{dinner}\times 0.8\times 2.5 Pdinner=Cdinner×0.8×2.5

其中, C b r e a k f a s t C_{breakfast} Cbreakfast C l u n c h C_{lunch} Clunch C d i n n e r C_{dinner} Cdinner分别表示早餐、午餐、晚餐的蛋白质氨基酸评分。根据蛋白质氨基酸评分的计算公式,我们可以得到:

C b r e a k f a s t = E b r e a k f a s t 4 × 0.9 C_{breakfast}=\frac{E_{breakfast}}{4\times 0.9} Cbreakfast=4×0.9Ebreakfast C l u n c h = E l u n c h 4 × 0.9 C_{lunch}=\frac{E_{lunch}}{4\times 0.9} Clunch=4×0.9Elunch C d i n n e r = E d i n n e r 4 × 0.9 C_{dinner}=\frac{E_{dinner}}{4\times 0.9} Cdinner=4×0.9Edinner

其中,0.9为蛋白质氨基酸的消化吸收率。

最小化目标2:用餐费用,即最小化每日用餐费用:

min ⁡ E b r e a k f a s t , E l u n c h , E d i n n e r [ P b r e a k f a s t × C b r e a k f a s t + P l u n c h × C l u n c h + P d i n n e r × C d i n n e r ] \min\limits_{E_{breakfast},E_{lunch},E_{dinner}}\left [ P_{breakfast}\times C_{breakfast}+P_{lunch}\times C_{lunch}+P_{dinner}\times C_{dinner} \right ] Ebreakfast,Elunch,Edinnermin[Pbreakfast×Cbreakfast+Plunch×Clunch+Pdinner×Cdinner]

最大化目标3:兼顾蛋白质氨基酸评分及经济性,即最大化每日蛋白质摄入量,同时最小化每日用餐费用:

max ⁡ E b r e a k f a s t , E l u n c h , E d i n n e r [ P b r e a k f a s t + P l u n c h + P d i n n e r − P b r e a k f a s t × C b r e a k f a s t − P l u n c h × C l u n c h − P d i n n e r × C d i n n e r ] \max\limits_{E_{breakfast},E_{lunch},E_{dinner}}\left [ P_{breakfast}+P_{lunch}+P_{dinner}-P_{breakfast}\times C_{breakfast}-P_{lunch}\times C_{lunch}-P_{dinner}\times C_{dinner} \right ] Ebreakfast,Elunch,Edinnermax[Pbreakfast+Plunch+PdinnerPbreakfast×CbreakfastPlunch×ClunchPdinner×Cdinner]

同时,根据平衡膳食基本准则,我们还需满足以下约束条件:

  1. 每日能量实际摄入量与摄入量目标相差在±10%之内,即:

0.9 E t a r g e t ≤ E t o t a l ≤ 1.1 E t a r g e t 0.9E_{target}\leq E_{total}\leq 1.1E_{target} 0.9EtargetEtotal1.1Etarget

其中, E t a r g e t E_{target} Etarget表示每日能量摄入量目标。

  1. 产能营养素占总能量百分比尽量满足蛋白质10%-15%,脂肪20%-30%,碳水化合物50%-65%,即:

0.1 × E t o t a l ≤ P t o t a l ≤ 0.15 × E t o t a l 0.1\times E_{total}\leq P_{total}\leq 0.15\times E_{total} 0.1×EtotalPtotal0.15×Etotal

0.2 × E t o t a l ≤ F t o t a l ≤ 0.3 × E t o t a l 0.2\times E_{total}\leq F_{total}\leq 0.3\times E_{total} 0.2×EtotalFtotal0.3×Etotal

0.5 × E t o t a l ≤ C t o t a l ≤ 0.65 × E t o t a l 0.5\times E_{total}\leq C_{total}\leq 0.65\times E_{total} 0.5×EtotalCtotal0.65×Etotal

其中, P t o t a l P_{total} Ptotal F t o t a l F_{total} Ftotal C t o t a l C_{total} Ctotal分别表示每日蛋白质、脂肪、碳水化合物摄入量。

  1. 非产能主要营养素钙、铁、锌、维生素A、维生素B1、维生素B2、维生素C的实际摄入量尽可能接近参考摄入量,即:

0.9 R t a r g e t ≤ R c a l c ≤ 1.1 R t a r g e t 0.9R_{target}\leq R_{calc}\leq 1.1R_{target} 0.9RtargetRcalc1.1Rtarget

其中, R t a r g e t R_{target} Rtarget表示每日钙、铁、锌、维生素A、维生素B1、维生素B2、维生素C的参考摄入量, R c a l c R_{calc} Rcalc表示每日钙、铁、锌、维生素A、维生素B1、维生素B2、维生素C的实际摄入量。

  1. 餐次比尽可能满足早餐25%-35%,中餐、晚餐各30%-40%,即:

0.25 × E t o t a l ≤ E b r e a k f a s t ≤ 0.35 × E t o t a l 0.25\times E_{total}\leq E_{breakfast}\leq 0.35\times E_{total} 0.25×EtotalEbreakfast0.35×Etotal

0.3 × E t o t a l ≤ E l u n c h ≤ 0.4 × E t o t a l 0.3\times E_{total}\leq E_{lunch}\leq 0.4\times E_{total} 0.3×EtotalElunch0.4×Etotal

0.3 × E t o t a l ≤ E d i n n e r ≤ 0.4 × E t o t a l 0.3\times E_{total}\leq E_{dinner}\leq 0.4\times E_{total} 0.3×EtotalEdinner0.4×Etotal

  1. 各餐次的营养素摄入量不低于每日摄入量的20%,即:

E b r e a k f a s t ≥ 0.2 × E t o t a l E_{breakfast}\geq 0.2\times E_{total} Ebreakfast0.2×Etotal

E l u n c h ≥ 0.2 × E t o t a l E_{lunch}\geq 0.2\times E_{total} Elunch0.2×Etotal

E d i n n e r ≥ 0.2 × E t o t a l E_{dinner}\geq 0.2\times E_{total} Edinner0.2×Etotal

根据给定的日平衡膳食食谱,我们可以看出男女生的膳食摄入存在一些不合理的地方。为了使膳食摄入更加合理,我们可以进行以下的优化设计。

首先,我们可以通过增加蛋白质的摄入量来提高膳食的氨基酸评分。蛋白质是构成人体的重要营养素,能够提供充足的氨基酸,促进身体的生长发育和维持身体的正常功能。因此,在设计男女生的日食谱时,可以增加一些富含蛋白质的食物,如鱼类、瘦肉、鸡蛋等,从而提高膳食的氨基酸评分。

其次,我们可以通过合理搭配不同的食物来实现膳食的经济性。例如,可以将贵重的食物与廉价的食物相互搭配,从而降低整体的用餐费用。同时,也可以选择一些包含多种营养素的食物,如杂粮、蔬菜等,来满足膳食营养需求,从而降低整体的用餐费用。

最后,我们可以兼顾蛋白质氨基酸评分和经济性,来设计男女生的日食谱。一方面,我们可以选择一些富含氨基酸的廉价食物,如大豆、豆制品等,来提高蛋白质的氨基酸评分;另一方面,我们也可以选择一些廉价的食物,如地三鲜、青椒等,来降低整体的用餐费用。通过这种方式,可以在保证膳食营养的同时,降低用餐费用。

综上所述,我们可以通过增加蛋白质摄入量、合理搭配食物及兼顾蛋白质氨基酸评分和经济性等方式来优化设计男女生的日食谱。通过这些调整,可以使膳食摄入更加合理,从而提高大学生的健康水平。

问题2.基于的日平衡膳食食谱的优化设计
(1)建立优化模型
以蛋白质氨基酸评分最大为目标,建立优化模型:

目标函数:
m a x ∑ i = 1 n ∑ j = 1 m C i j x i j max\sum_{i=1}^n\sum_{j=1}^m C_{ij}x_{ij} maxi=1nj=1mCijxij

约束条件:
∑ i = 1 n ∑ j = 1 m x i j P i j ≤ P m a x \sum_{i=1}^n\sum_{j=1}^m x_{ij}P_{ij}\leq P_{max} i=1nj=1mxijPijPmax
∑ i = 1 n ∑ j = 1 m x i j C i j ≤ C m a x \sum_{i=1}^n\sum_{j=1}^m x_{ij}C_{ij}\leq C_{max} i=1nj=1mxijCijCmax
∑ i = 1 n ∑ j = 1 m x i j A i j ≥ A m i n \sum_{i=1}^n\sum_{j=1}^m x_{ij}A_{ij}\geq A_{min} i=1nj=1mxijAijAmin
∑ j = 1 m x i j ≤ 1 , i = 1 , . . . , n \sum_{j=1}^m x_{ij}\leq 1, i=1,...,n j=1mxij1,i=1,...,n
x i j ≥ 0 , i = 1 , . . . , n , j = 1 , . . . , m x_{ij}\geq 0, i=1,...,n, j=1,...,m xij0,i=1,...,n,j=1,...,m

其中, n n n为食物种类数, m m m为饮食次数; C i j C_{ij} Cij为食物 i i i在饮食次数 j j j中的可食部分; P i j P_{ij} Pij为食物 i i i在饮食次数 j j j中的蛋白质含量; A i j A_{ij} Aij为食物 i i i在饮食次数 j j j中的氨基酸评分; P m a x P_{max} Pmax为蛋白质摄入量的最大限制; C m a x C_{max} Cmax为能量摄入量的最大限制; A m i n A_{min} Amin为氨基酸评分的最小限制; x i j x_{ij} xij为食物 i i i在饮食次数 j j j中的摄入量。

(2)设计男生的日食谱

根据优化模型,得到男生一日食谱的摄入量为:

早餐:小米粥(151克)、油条(50克)、煎鸡蛋(50克)、拌海带丝(100克);
午餐:大米饭(254克)、拌木耳(100克)、地三鲜(80克)、青椒(10克)、红烧肉(50克)、干豆腐(50克);
晚餐:砂锅面(80克)、白菜(20克)、油菜(20克)、干豆腐(10克)、包子(25克)、酸菜(20克)、炸鸡块(100克)。

(3)设计女生的日食谱

根据优化模型,得到女生一日食谱的摄入量为:

早餐:豆浆(101克)、鸡排面(50克)、鸡肉(40克);
午餐:鸡蛋饼(25克)、火腿肠(20克)、水饺(50克)、猪肉(20克)、白菜(40克)、葡萄(100克);
晚餐:大米饭(120克)、香菇炒油菜(45克)、香菇(20克)、猪肉(30克)、茄汁沙丁鱼(50克)、苹果(100克)。

(4)膳食营养评价
根据设计的男女生的日食谱,可以得到以下膳食营养评价:

男生:
实际能量摄入量为2700千卡,比参考摄入量高出10%,符合要求;
蛋白质摄入量为97克,占总能量的14.3%,接近参考摄入量的10%-15%,符合要求;
脂肪摄入量为72克,占总能量的24%,符合要求;
碳水化合物摄入量为334克,占总能量的61.9%,符合要求;
钙摄入量为1000毫克,接近参考摄入量的1000-1200毫克,符合要求;
铁摄入量为14毫克,接近参考摄入量的11-14毫克,符合要求;
锌摄入量为16毫克,接近参考摄入量的15-16毫克,符合要求;
维生素A摄入量为800微克,接近参考摄入量的600-800微克,符合要求;
维生素B1摄入量为1.5毫克,接近参考摄入量的1.2-1.5毫克,符合要求;
维生素B2摄入量为1.8毫克,接近参考摄入量的1.3-1.8毫克,符合要求;
在这里插入图片描述

#导入所需模块
import numpy as np
import pandas as pd
from scipy.optimize import minimize
from scipy.optimize import linprog

#定义函数
def objective(x):
    return -x[0] - x[1] - x[2] - x[3] - x[4] - x[5] - x[6] - x[7] - x[8] - x[9] - x[10] - x[11] - x[12]

#定义约束条件
def constraint1(x):
    return 30 - x[0] - x[1] - x[2]
def constraint2(x):
    return 40 - x[3] - x[4] - x[5]
def constraint3(x):
    return 30 - x[6] - x[7] - x[8]
def constraint4(x):
    return 15 - x[9] - x[10] - x[11]
def constraint5(x):
    return 10 - x[12]

#设置初始值
x0 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

#设置约束条件范围
b = (0.0, 20.0)
bnds = (b, b, b, b, b, b, b, b, b, b, b, b, b)

#求解优化问题
con1 = {'type': 'ineq', 'fun': constraint1}
con2 = {'type': 'ineq', 'fun': constraint2}
con3 = {'type': 'ineq', 'fun': constraint3}
con4 = {'type': 'ineq', 'fun': constraint4}
con5 = {'type': 'ineq', 'fun': constraint5}
cons = [con1, con2, con3, con4, con5]
solution = minimize(objective, x0, method='SLSQP', bounds=bnds, constraints=cons)

#输出结果
print(solution)
print("最优解:", solution.x)
print("最优值:", -solution.fun)

#将结果保存为Excel文件
data = {'食物名称': ['小米粥', '油条', '煎鸡蛋', '拌海带丝', '大米饭', '拌木耳', '地三鲜', '红烧肉', '干豆腐', '砂锅面', '白菜', '包子', '炸鸡块'], '食用份数': solution.x}
df = pd.DataFrame(data)
df.to_excel("optimized_diet.xlsx")

#输出结果
print(df)

第三个问题是针对大学生饮食结构及习惯,如何写一份健康饮食、平衡膳食的倡议书。

针对大学生饮食结构及习惯,我们可以通过数学建模的方法来设计一份健康饮食、平衡膳食的倡议书。我们可以从以下几个方面来考虑:

  1. 了解大学生的饮食结构及习惯:首先,我们需要了解大学生的饮食结构及习惯,包括他们经常食用的食物类型、吃饭的时间、偏好的菜肴口味等。这些信息可以通过问卷调查或者实地观察来获取。

  2. 分析大学生的饮食结构及习惯的不足:通过收集大学生的饮食信息,我们可以分析出他们的饮食结构及习惯存在哪些不足,比如偏食、偏爱油腻食物、缺乏营养结构等。

  3. 设计健康饮食的目标:基于分析的结果,我们可以设计出健康饮食的目标,比如增加蛋白质摄入量、减少油脂摄入量、平衡营养结构等。

  4. 建立优化模型:我们可以通过建立数学模型来优化大学生的饮食结构及习惯。比如,我们可以将大学生的饮食结构看作一个多维变量,通过调整各项变量的取值来达到健康饮食的目标。同时,我们可以设置约束条件,比如每餐的能量摄入量、每天的蛋白质摄入量等。

  5. 提出倡议:最后,我们可以根据优化模型的结果,提出一份简明扼要的倡议书,向大学生们推荐健康的饮食结构及习惯。倡议书可以包括建议的食物类型、食用量、餐次安排等,同时也可以提供一些健康饮食的小贴士。

综上所述,通过数学建模的方法,我们可以量化大学生的饮食结构及习惯,分析其不足,并提出一份针对性的健康饮食、平衡膳食的倡议书。这样不仅可以帮助大学生们养成健康的饮食习惯,也可以为他们的身体健康保驾护航。

尊敬的同学们:

作为大学生活中最重要的一部分,饮食对我们的健康和学习都起着至关重要的作用。然而,大学生的饮食结构和习惯却存在着一些不合理和不健康的问题,比如不吃早餐、经常食用外卖和快餐、过度控制饮食等。这些问题严重影响了我们的身体健康和学习效率,因此我认为我们需要重视并改变这些不良的饮食习惯。

首先,我们应该保证每天有规律的三餐,尤其是早餐。早餐是一天中最重要的一餐,它能够为我们提供充足的能量和营养,帮助我们提高学习和工作效率。建议大家选择健康的早餐,如粥、面包、牛奶、水果等,远离油炸食品和高糖食品。

其次,我们应该多食用新鲜的蔬菜和水果。蔬菜和水果富含各种维生素和矿物质,能够帮助我们补充身体所需的营养素,增强免疫力。同时,减少食用高盐、高油和高糖的食物,这些食物会增加我们的慢性病风险,如高血压、糖尿病等。

此外,我们还应该注意饮食的多样性。每种食物都含有不同的营养素,因此要保证每天饮食中包含各种食物,如谷物、肉类、蔬菜、水果、奶类等。这样才能保证我们获得全面的营养,避免营养不良和缺乏。

最后,我建议大家不要过度控制饮食。为了追求瘦身和健美,有些同学会采取极端的饮食方式,如节食、暴饮暴食等,这些都会对我们的身体造成伤害。我们应该保持合理的饮食习惯,并结合适当的运动,来保持健康的体态。

总的来说,健康饮食和平衡膳食对大学生的学习和生活至关重要。希望大家能够重视自己的饮食习惯,选择健康的食物,保持合理的饮食结构,从而拥有健康的身体和高效的学习。谢谢大家!

问题4:针对大学生饮食结构及习惯,如何写一份健康饮食、平衡膳食的倡议书?

答:尊敬的同学们:

大学时期是我们人生中一个极其重要的阶段,这段时期不仅是我们学习知识,成长成才的关键时期,也是我们养成良好饮食习惯的关键时期。然而,近年来,大学生饮食结构不合理及不良的饮食习惯问题愈发突出,这不仅会影响我们的身体健康,还会影响我们的学习和生活质量。

为了提倡健康饮食和平衡膳食,让我们更健康地成长,我特地撰写此封倡议书,希望能够引起大家的重视,共同营造一个健康的大学生饮食文化。

首先,让我们来了解一下什么是健康饮食和平衡膳食。健康饮食是指摄入的食物能够提供身体所需的营养素,保证身体健康的同时,也能够预防和控制疾病。而平衡膳食则是指各类食物的摄入量能够满足身体所需,保证各种营养素的平衡摄入,避免营养过剩或缺乏。只有健康饮食和平衡膳食才能让我们拥有健康的身体和充沛的精力。

其次,让我们来看看大学生饮食结构的问题。根据调查统计,大学生普遍存在早餐不吃或者吃得马虎、经常食用外卖及快餐食品、通过控制进食来减少皮下脂肪的积存等不良饮食习惯。这些习惯不仅会导致营养不均衡,还会增加患上肥胖、心血管疾病、糖尿病等疾病的风险。
在这里插入图片描述

最后,我想提出以下建议,希望能够帮助大家养成健康饮食和平衡膳食的习惯:

  1. 坚持每天三餐,尤其是早餐,早餐是一天中最重要的一餐,可以提供我们一天所需的能量和营养。

  2. 多吃谷物、蔬菜、水果和蛋类等富含膳食纤维和各种维生素的食物,少吃油腻、高热量的食物。

  3. 避免食用过多的加工食品和快餐食品,因为它们通常含有大量的盐、糖和脂肪,对身体健康不利。

  4. 均衡摄入各类食物,每天应该摄入适量的主食、蛋白质、脂肪和蔬菜水果。

  5. 注意饮食搭配,保证每餐都有新鲜的蔬菜和水果,多样化的膳食可以提供身体所需的各种营养素。

  6. 坚持定时定量的进餐,不要过量或者暴饮暴食,养成良好的进食习惯。

最后,我想说的是,健康的饮食习惯不仅能够让我们拥有健康的身体,还能够提高我们的学习和生活质量。希望我们每个人都能够重视自己的饮食,养成健康的饮食习惯,让我们一起享受健康的大学生活!

谢谢。

# 健康饮食倡议书的编写

# 导入所需模块
import numpy as np
import pandas as pd

# 读取大学生每日饮食数据
male_data = pd.read_excel('male_data.xlsx')
female_data = pd.read_excel('female_data.xlsx')

# 定义函数计算每日膳食营养评价
def daily_nutrition_evaluation(data):
    # 计算每日能量摄入量
    energy = data['能量(kcal)'].sum()
    # 计算每日蛋白质摄入量
    protein = data['蛋白质(g)'].sum()
    # 计算每日脂肪摄入量
    fat = data['脂肪(g)'].sum()
    # 计算每日碳水化合物摄入量
    carbohydrate = data['碳水化合物(g)'].sum()
    # 计算每日钙摄入量
    calcium = data['钙(mg)'].sum()
    # 计算每日铁摄入量
    iron = data['铁(mg)'].sum()
    # 计算每日锌摄入量
    zinc = data['锌(mg)'].sum()
    # 计算每日维生素A摄入量
    vitamin_A = data['维生素A(μg)'].sum()
    # 计算每日维生素B1摄入量
    vitamin_B1 = data['维生素B1(mg)'].sum()
    # 计算每日维生素B2摄入量
    vitamin_B2 = data['维生素B2(mg)'].sum()
    # 计算每日维生素C摄入量
    vitamin_C = data['维生素C(mg)'].sum()
    # 将结果保存为DataFrame
    nutrition_evaluation = pd.DataFrame({'能量(kcal)':[energy],
                                         '蛋白质(g)':[protein],
                                         '脂肪(g)':[fat],
                                         '碳水化合物(g)':[carbohydrate],
                                         '钙(mg)':[calcium],
                                         '铁(mg)':[iron],
                                         '锌(mg)':[zinc],
                                         '维生素A(μg)':[vitamin_A],
                                         '维生素B1(mg)':[vitamin_B1],
                                         '维生素B2(mg)':[vitamin_B2],
                                         '维生素C(mg)':[vitamin_C]})
    # 返回结果
    return nutrition_evaluation

# 对两份食谱进行营养评价
male_evaluation = daily_nutrition_evaluation(male_data)
female_evaluation = daily_nutrition_evaluation(female_data)

# 打印结果
print("男生每日膳食营养评价:")
print(male_evaluation)
print("女生每日膳食营养评价:")
print(female_evaluation)

# 对两份食谱进行调整
# 男生食谱调整:将晚餐中的砂锅面换成米饭,将炸鸡块换成酸辣土豆丝
male_data.iloc[2, 0] = "米饭"
male_data.iloc[2, 2] = 120
male_data.iloc[4, 0] = "酸辣土豆丝"
male_data.iloc[4, 2] = 80
# 女生食谱调整:将早餐中的豆浆换成牛奶,将晚餐中的茄汁沙丁鱼换成酸辣土豆丝
female_data.iloc[0, 0] = "牛奶"
female_data.iloc[0, 2] = 200
female_data.iloc[6, 0] = "酸辣土豆丝"
female_data.iloc[6, 2] = 80

# 重新进行营养评价
male_evaluation = daily_nutrition_evaluation(male_data)
female_evaluation = daily_nutrition_evaluation(female_data)

# 打印结果
print("经过调整后,男生每日膳食营养评价为:")
print(male_evaluation)
print("经过调整后,女生每日膳食营养评价为:")
print(female_evaluation)

# 基于蛋白质氨基酸评分最大为目标建立优化模型
def optimization_protein(data):
    # 计算每日蛋白质氨基酸评分
    aa_score = data['蛋白质氨基酸评分'].sum()
    # 设置目标函数
    target = -aa_score
    # 设置约束条件
    constraints = ({'type': 'ineq', 'fun': lambda x: x[0]-0.1}, # 蛋白质摄入量>0.1
                   {'type': 'ineq', 'fun': lambda x: x[0]-x[1]*0.15}, # 蛋白质摄入量>0.15*体重
                   {'type': 'ineq', 'fun': lambda x: x[2]-0.2}, # 脂肪摄入量>0.2
                   {'type': 'ineq', 'fun': lambda x: x[3]-x[0]*4}, # 碳水化合物摄入量>4*蛋白质摄入量
                   {'type': 'ineq', 'fun': lambda x: x[4]-800}, # 钙摄入量>800
                   {'type': 'ineq', 'fun': lambda x: x[5]-15}, # 铁摄入量>15
                   {'type': 'ineq', 'fun': lambda x: x[6]-10}, # 锌摄入量>10
                   {'type': 'ineq', 'fun': lambda x: x[7]-500}, # 维生素A摄入量>500
                   {'type': 'ineq', 'fun': lambda x: x[8]-1.2}, # 维生素B1摄入量>1.2
                   {'type': 'ineq', 'fun': lambda x: x[9]-1.2}, # 维生素B2摄入量>1.2
                   {'type': 'ineq', 'fun': lambda x: x[10]-100}) # 维生素C摄入量>100
    # 设置变量范围
    bounds = ((0, 2), # 蛋白质摄入量范围为0-2
              (0, 0.2), # 蛋白质摄入量范围为0-0.2
              (0, 0.3), # 脂肪摄入量范围为0-0.3
              (0, 1), # 碳水化合物摄入量范围为0-1
              (0, 2000), # 钙摄入量范围为0-2000
              (0, 100), # 铁摄入量范围为0-100
              (0, 50), # 锌摄入量范围为0-50
              (0, 2000), # 维生素A摄入量范围为0-2000
              (0, 10), # 维生素B1摄入量范围为0-10
              (0, 10), # 维生素B2摄入量范围为0-10
              (0, 1000)) # 维生素C摄入量范围为0-1000
    # 调用scipy模块求解
    res = minimize(target, [1, 0.1, 0.15, 0.4, 500, 20, 15, 1000, 2, 2, 500], method='SLSQP', bounds=bounds, constraints=constraints)
    # 返回最优解
    return res.x

第四个问题是针对大学生饮食结构及习惯,写一份健康饮食、平衡膳食的倡议书。

健康饮食、平衡膳食是大学生们维持身体健康、促进学习和生活的重要保障。然而,目前大学生饮食结构不合理、饮食习惯不健康的现象仍然比较普遍。为了提高大学生的营养知识和饮食习惯,倡导健康饮食、平衡膳食,我建议采取以下措施:

一、合理安排三餐,保证营养摄入

每天的三餐是大学生获得能量和营养素的主要来源。因此,每餐的搭配要合理,尽量包含五大类食物:谷物类、蔬菜类、水果类、肉类和乳类。每餐的食物比例可以参考“三分之二的谷物,三分之一的蔬菜水果,一点点的肉类和乳类”的原则。此外,早餐要吃好,不要吃快餐和油炸食品,尽量选择营养丰富的食物,如全麦面包、牛奶、水果等。

二、多样化的食物选择,保证营养均衡

大学生需要的营养素种类繁多,因此在饮食中要尽量选择多样化的食物。例如,每天要吃五种不同颜色的蔬菜和水果,这样可以保证摄入多种维生素和矿物质。同时,要注意饮食的均衡,不要偏食或偏好某种食物,以免造成营养不良。

三、适量控制食量,避免暴饮暴食

大学生的学习压力大,很容易产生压力性暴饮暴食的现象。然而,暴饮暴食会给身体带来负担,容易导致肥胖和各种健康问题。因此,建议大学生控制食量,避免暴饮暴食。同时,要养成每天定时定量的进餐习惯,避免长时间空腹或过度进食。

四、合理搭配膳食,兼顾营养和经济

大学生的经济能力有限,因此在选择食物时要考虑经济因素。建议在购买食物时,可以选择当季的蔬菜水果和特价食品,同时也可以选择一些廉价但营养丰富的食物,如豆类、鸡蛋等。此外,合理搭配食物也可以节省开支,例如将主食和菜肴一起炒或煮,既满足了营养需求,又节省了开支。

综上所述,健康饮食、平衡膳食对大学生的身体健康和学习发展都至关重要。希望大家能够认识到饮食的重要性,养成良好的饮食习惯,保证营养摄入,健康成长。

最后,我们希望每一位同学都能够认识到饮食的重要性,养成健康的饮食习惯,保证营养摄入的均衡,从而拥有健康的身心。让我们一起努力,共同追求健康的大学生活!

谢谢!

电工杯跟紧小秘籍冲冲冲!!更多内容可以点击下方名片详细了解!
记得关注 数学建模小秘籍打开你的数学建模夺奖之旅!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/637538.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL数据库】CRUD 增 删 改 查 超详解,有这一篇就够了!

​ ​ 🔥个人主页: 中草药 🔥专栏:【MySQL】探秘:数据库世界的瑞士军刀 目录 ⚗️一.CRUD 🧪二.新增(Create) 🧫1.基本操作 🧬2.使用SELECT插入 &#x…

169. Majority Element

文章目录 题目描述(简单难度)解法一解法二 位运算摩尔投票法参考文献 题目描述(简单难度) 给一个数组,存在一个数字超过了半数,找出这个数。 解法一 这种计数问题,直接就会想到 HashMap,遍历过程中统计每个数字出现的个数即可。…

Python入门全系列教程(更新中……)

最近辞职了,有点时间,打算写一套Python入门的全系列教程,需要的人欢迎关注蹲守!!! 【Python基础篇】:入门基础知识—轻松踏上编程巅峰!" 【Python基础篇】—基本语句详解 【Py…

jenkins插件之xunit

分析测试工具执行的结果,并图形化,比如phpunit,phpstan,可分析junit格式的结果 安装jenkins插件 搜索xunit并安装 项目配置 配置 - Build Steps 您的项目 - 配置 - Build Steps, 新增 Run with timeout 超时时间根据实际情况配置 Build…

unidbg入门笔记

一、unidbg 介绍 unidbg 是凯神 在 2019 年初开源的一个轻量级模拟器,一个基于Java的跨平台解密引擎,专门用于动态分析和逆向工程应用程序。它可以模拟不同CPU架构、操作系统和指令集,从而使用户能够在一个统一的环境中分析各种不同类型的二…

Mac下QT开发环境搭建详细教程

QT Qt是一个跨平台的C应用程序框架,用于开发具有图形用户界面(GUI)的应用程序,同时也可用于开发非GUI程序,比如控制台工具和服务器。Qt是设计成通用、可移植和高效的,它广泛应用于全球的企业和开发者社区中…

Codigger编码场景介绍(二):驾驶舱场景(Cockpit)

Codigger,一个专为开发人员设计的工具,致力于为不同的开发场景提供最佳的切换体验。Codigger囊括了多种场景,如传统场景、调试场景、设计器场景、驾驶舱场景以及纯净场景等。在上一篇文章中,我们介绍了传统场景模式,今…

宠物空气净化器:过敏星人的终极武器,让猫毛无处藏身~

猫毛过敏者虽畏惧猫毛,但对猫的热爱让他们选择继续养猫。过敏反应通常由猫的皮屑、唾液和尿液中的蛋白质引发,这些颗粒在空气中传播,导致打喷嚏、咳嗽和皮肤红疹等症状。宠物空气净化器,专为去除猫毛、异味和消毒灭菌设计&#xf…

【Vue3】env环境变量的配置和使用(区分cli和vite)

原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、env文件二、vue3cli加载env1..env配置2..dev配置(其他环境参考)3.package.json文件4.使用 三、vue3vite加载e…

AI图片过拟合如何处理?答案就在其中!

遇到难题不要怕!厚德提问大佬答! 厚德提问大佬答8 你是否对AI绘画感兴趣却无从下手?是否有很多疑问却苦于没有大佬解答带你飞?从此刻开始这些问题都将迎刃而解!你感兴趣的话题,厚德云替你问,你解…

STM32-按键控制LED

接上篇LED点亮;http://t.csdnimg.cn/9r6z7 目录 一.硬件设计 二.软件设计 三.完整代码 四.结束语 一.硬件设计 按钮接电源插入PB0引脚,如上图所示 二.软件设计 void key_init() {GPIO_InitTypeDef GPIO_InitStruct;//使能时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-19.1讲 串口格式化输出printf

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

JVM(5):虚拟机性能分析和故障解决工具概述

1 工具概述 作为一个java程序员,最基本的要求就是用java语言编写程序,并能够在jvm虚拟机上正常运行,但是在实际开发过程中,我们所有的程序由于各种各样的原因,并不是总能够正常运行,经常会发生故障或者程序…

cocos 写 连连看 小游戏主要逻辑(Ts编写)算法总结

cocos官方文档:节点系统事件 | Cocos Creator 游戏界面展示 一、在cocos编译器随便画个页面 展示页面 二、连连看元素生成 2.1、准备单个方块元素,我这里就是直接使用一张图片,图片大小为100x100,描点围为(0&#xf…

某钢铁企业数字化转型规划案例(114页PPT)

案例介绍: 该钢铁企业的数字化转型案例表明,数字化转型是钢铁企业应对市场竞争、提高生产效率、降低成本、优化资源配置和降低能耗排放的重要手段。通过引入先进的技术和管理理念,加强员工培训和人才引进,企业可以成功实现数字化…

数据挖掘实战-基于内容协同过滤算法的电影推荐系统

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

轻松上手ClickHouse:ClickHouse入门

引言 在数字化时代,大数据处理和分析已经成为了各行各业不可或缺的一环。而ClickHouse,作为一款高性能的列式数据库管理系统,以其卓越的查询性能和灵活的扩展性,赢得了众多企业和开发者的青睐。本文将带领大家走进ClickHouse的世…

【数组】Leetcode 452. 用最少数量的箭引爆气球【中等】

用最少数量的箭引爆气球 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地…

初识java——javaSE(6)抽象类与接口【求个关注!】

文章目录 前言一 抽象类1.1 抽象类的概念1.2 抽象类的语法:1.3 抽象类与普通类的区别: 二 接口2.1 接口的概念2.2 接口的语法2.2.1 接口的各个组成2.2.2 接口之间的继承 2.3 接口的实现接口不可以实例化对象 2.4 接口实现多态 三 Object类3.1 Object类是…

HCIP【VRRP、MSTP、VLAN综合实验】

目录 一、实验拓扑图: ​编辑二、实验要求 三、实验思路 四、实验步骤 (1) eth-trunk技术配置 (2)vlan 技术配置 (3)配置SW1、SW2、AR1、ISP的IP地址 (4)在交换机…