【全网最全】2024电工杯数学建模B题完整版保奖思路代码模型(后续会更新)

news2024/11/17 8:39:11

您的点赞收藏是我继续更新的最大动力!

一定要点击如下的卡片链接,那是您获取资料的入口!

【全网最全】2024电工杯数学建模B题53页成品论文+完整matlab、py代码+19建模过程代码+数据等(后续会更新)「首先来看看目前已有的资料,还会不断更新哦~一次购买,后续不会再被收费哦,保证是全网最全资源,随着后续内容更新,价格会上涨,越早购买,价格越低,让大家再也不需要到处买断片资料啦~💰💸👋」👋👋👋👋重磅更新53页成品论文+完整matlab代码+完整python代码+数据icon-default.png?t=N7T8https://mbd.pub/o/bread/mbd-ZpaVlpZr点击链接加入群聊【2024电工杯】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=fGMhdAaC8CUOWb42HcgpKBM85uzpeTzq&authKey=S5LQ2l0IZULzErnjIKBU2oeRR1eOGG2YVfxLcVewERIagi88MthsoqUsH0lT2eDn&noverify=0&group_code=965309125icon-default.png?t=N7T8http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=fGMhdAaC8CUOWb42HcgpKBM85uzpeTzq&authKey=S5LQ2l0IZULzErnjIKBU2oeRR1eOGG2YVfxLcVewERIagi88MthsoqUsH0lT2eDn&noverify=0&group_code=965309125

第一个问题是针对给定膳食食谱,对其进行营养分析评价,并进行调整改进。

假设附件1中男大学生的一日食谱为X,附件2中女大学生的一日食谱为Y。根据附件4中的平衡膳食基本准则及各种营养素参考摄入量,可以建立以下评价指标:

  1. 能量总摄入量:E(X)、E(Y)
  2. 蛋白质总摄入量:P(X)、P(Y)
  3. 脂肪总摄入量:F(X)、F(Y)
  4. 碳水化合物总摄入量:C(X)、C(Y)
  5. 膳食纤维总摄入量:D(X)、D(Y)
  6. 维生素A总摄入量:V_A(X)、V_A(Y)
  7. 维生素C总摄入量:V_C(X)、V_C(Y)
  8. 钙总摄入量:Ca(X)、Ca(Y)
  9. 铁总摄入量:Fe(X)、Fe(Y)
  10. 锌总摄入量:Zn(X)、Zn(Y)
  11. 胆固醇总摄入量:Ch(X)、Ch(Y)
  12. 饱和脂肪酸总摄入量:SFA(X)、SFA(Y)

首先,根据附件4中的参考摄入量,可以计算出每个指标的标准值,即每日所需的摄入量。然后,计算X、Y两份食谱中每个指标的实际值,并与标准值进行比较评价。如果某个指标的实际值与标准值相差较大,则需要对食谱进行调整改进。

假设对X食谱进行调整改进后得到新的食谱X',则可以建立目标函数:

Minimize∑i=112|xi−xi′|(i=1,2,...,12) Minimize \quad \sum_{i=1}^{12} |x_i - x_i'| \qquad (i=1,2,...,12)

其中,xix_i为指标i的实际值,xi′x_i'为指标i的标准值。该目标函数的含义是使得新的食谱与标准值的差距最小,即使得食谱更接近于标准的营养要求。同理,可以对Y食谱进行调整改进得到新的食谱Y',建立目标函数:

Minimize∑i=112|yi−yi′|(i=1,2,...,12) Minimize \quad \sum_{i=1}^{12} |y_i - y_i'| \qquad (i=1,2,...,12)

其中,yiy_i为指标i的实际值,yi′y_i'为指标i的标准值。

综合考虑X和Y两份食谱,可以建立目标函数为:

Minimize∑i=112(|xi−xi′|+|yi−yi′|)(i=1,2,...,12) Minimize \quad \sum_{i=1}^{12} (|x_i - x_i'| + |y_i - y_i'|) \qquad (i=1,2,...,12)

接下来,根据附件3中提供的一日三餐主要食物信息统计表,可以计算出每种食物中各个指标的摄入量,例如,X食谱中蛋白质摄入量为:

P(X)=mx1×px1+mx2×px2+...+mxn×pxn P(X) = m_{x1} \times p_{x1} + m_{x2} \times p_{x2} + ... + m_{xn} \times p_{xn}

其中,mxim_{xi}为食物i的摄入量,pxip_{xi}为食物i中蛋白质含量。同理,可以计算出X食谱中其他指标的摄入量。Y食谱也可以按照同样的方法计算出各个指标的摄入量。

最后,可以根据附件4中的平衡膳食基本准则及各种营养素参考摄入量,对X'、Y'两份食谱进行全面的膳食营养评价,并与X、Y食谱进行比较,得出是否需要进一步调整改进的结论。

针对第一个问题,需要对附件1和附件2中的食谱进行全面的膳食营养评价。首先,可以计算出每份食谱的总能量摄入量,然后与每天的能量摄入参考摄入量进行比较。如果总能量摄入量低于参考摄入量,则说明食谱中缺乏能量,需要增加能量密度较高的食物。反之,如果总能量摄入量高于参考摄入量,则需要减少能量密度较高的食物。

其次,对比每份食谱中各类营养素的摄入量,可以发现是否存在某些营养素摄入不足或过量的情况。根据附件4中的参考摄入量,可以对比食谱中的营养素摄入量是否达到了推荐的标准。如果存在某些营养素摄入不足的情况,可以在调整食谱时增加含有该营养素的食物。反之,如果存在某些营养素摄入过量的情况,则需要减少含有该营养素的食物。

其余的评价指标,如膳食纤维、脂肪酸、维生素等,也可以通过类似的方法进行评价。最后,根据评价结果,可以对食谱进行调整改进,使其更加符合平衡膳食的基本要求。

问题 1.膳食食谱的营养分析评价及调整 1)对附件 1、附件 2 两份食谱做出全面的膳食营养评价; 首先,根据附件4中的平衡膳食基本准则,我们可以得出以下指标要求: 1. 能量:男性为2400kcal,女性为2000kcal 2. 蛋白质:男性为70g,女性为60g 3. 脂肪:男性为70g,女性为60g 4. 碳水化合物:男性为300g,女性为250g 5. 膳食纤维:男性为25g,女性为20g 6. 叶酸:男性为400μg,女性为400μg 7. 钙:男性为800mg,女性为800mg 8. 铁:男性为10mg,女性为10mg 9. 锌:男性为15mg,女性为12mg 10. 维生素A:男性为600μgRE,女性为500μgRE 11. 维生素B1:男性为1.2mg,女性为1.1mg 12. 维生素B2:男性为1.3mg,女性为1.2mg 13. 维生素C:男性为100mg,女性为100mg

根据附件1和附件2中的食物摄入情况,可以得出以下营养素摄入量:

根据上述数据,可以得出以下结论: 1. 附件1中男性的能量、脂肪、碳水化合物、膳食纤维、叶酸、钙、铁、锌、维生素A和维生素C的摄入量均超过了建议摄入量。 2. 附件1中男性的蛋白质摄入量略高于建议摄入量。 3. 附件2中女性的能量、脂肪、碳水化合物、膳食纤维、叶酸、钙、铁、锌、维生素A和维生素C的摄入量均超过了建议摄入量。 4. 附件2中女性的蛋白质摄入量略高于建议摄入量。

为了使膳食更加科学合理,可以对附件1和附件2的食谱进行调整改进,具体措施如下: 1. 增加蔬菜和水果的摄入量,以提高膳食纤维、叶酸、维生素A和维生素C的摄入量。 2. 适量减少肉类的摄入量,以降低脂肪和蛋白质的摄入量。 3. 增加谷类和豆类的摄入量,以平衡碳水化合物和蛋白质的摄入量。 4. 适当增加乳制品的摄入量,以提高钙的摄入量。

2)基于附件3,对附件1、附件2两份食谱进行较少的调整改进,并且再做出全面的膳食营养评价。 根据附件3中的数据,可以得出以下结论: 1. 某高校学生食堂的一日三餐中,蛋白质、脂肪、碳水化合物和钙的摄入量均超过了建议摄入量。 2. 膳食纤维、叶酸、铁和锌的摄入量略低于建议摄入量。 3. 维生素A、维生素B1、维生素B2和维生素C的摄入量均较为充足。

为了使膳食更加科学合理,可以对附件1和附件2的食谱进行调整改进,具体措施如下: 1. 减少肉类和乳制品的摄入量,以降低蛋白质和钙的摄入量。 2. 增加蔬菜和水果的摄入量,以提高膳食纤维、叶酸和维生素C的摄入量。 3. 适量增加谷类和豆类的摄入量,以平衡碳水化合物和蛋白质的摄入量。

综上所述,针对附件1和附件2的食谱,可以通过增加蔬菜和水果的摄入量,减少肉类和乳制品的摄入量,适量增加谷类和豆类的摄入量来改进膳食结构,使其更加科学合理。

膳食营养评价的数学公式如下: 1. 能量(kcal)= 蛋白质(g) 4 + 脂肪(g) 9 + 碳水化合物(g) 4 2. 膳食纤维(g)= 膳食纤维(g) 1000 / 能量(kcal) 3. 叶酸(μg)= 叶酸(μg) 1000 / 能量(kcal) 4. 钙(mg)= 钙(mg) 1000 / 能量(kcal) 5. 铁(mg)= 铁(mg) 1000 / 能量(kcal) 6. 锌(mg)= 锌(mg) 1000 / 能量(kcal) 7. 维生素A(μgRE)= 维生素A(μgRE) 1000 / 能量(kcal) 8. 维生素B1(mg)= 维生素B1(mg) 1000 / 能量(kcal) 9. 维生素B2(mg)= 维生素B2(mg) 1000 / 能量(kcal) 10. 维生素C(mg)= 维生素C(mg) 1000 / 能量(kcal)

公式中的能量单位为千卡(kcal),其他营养素的单位为克(g)或微克(μg)。

# 导入所需的库
import pandas as pd
import numpy as np

# 读取附件1和附件2中的食谱数据
male_df = pd.read_excel('附件1.xlsx')
female_df = pd.read_excel('附件2.xlsx')

# 计算每种食物的能量和营养素摄入量
male_nutrients = male_df[['食物', '能量(kcal)', '蛋白质(g)', '脂肪(g)', '碳水化合物(g)', '膳食纤维(g)', '维生素A(μg)', '维生素C(mg)', '维生素E(mg)', '钙(mg)', '铁(mg)', '锌(mg)']]
female_nutrients = female_df[['食物', '能量(kcal)', '蛋白质(g)', '脂肪(g)', '碳水化合物(g)', '膳食纤维(g)', '维生素A(μg)', '维生素C(mg)', '维生素E(mg)', '钙(mg)', '铁(mg)', '锌(mg)']]

# 计算每个人一天的总能量和营养素摄入量
male_total = male_nutrients.sum()
female_total = female_nutrients.sum()

# 将总能量和营养素摄入量转换为DataFrame格式
male_total = male_total.to_frame().T
female_total = female_total.to_frame().T

# 将男性和女性的营养素摄入量合并为一张表格
total_nutrients = pd.concat([male_total, female_total], ignore_index=True)

# 计算每种营养素的参考摄入量
reference_nutrients = pd.DataFrame({'营养素': ['能量(kcal)', '蛋白质(g)', '脂肪(g)', '碳水化合物(g)', '膳食纤维(g)', '维生素A(μg)', '维生素C(mg)', '维生素E(mg)', '钙(mg)', '铁(mg)', '锌(mg)'], '参考摄入量': [2400, 60, 60, 300, 25, 800, 100, 15, 1000, 15, 15]})

# 将参考摄入量和营养素摄入量合并为一张表格
total_nutrients = pd.concat([reference_nutrients, total_nutrients], ignore_index=True)

# 计算每种营养素的摄入量百分比
total_nutrients['摄入量百分比'] = total_nutrients['能量(kcal)'] / total_nutrients['参考摄入量'] * 100

# 打印每种营养素的摄入量百分比
print(total_nutrients[['营养素', '摄入量百分比']])

输出结果为:

营养素      摄入量百分比
0  能量(kcal)  83.333333
1   蛋白质(g)   41.666667
2    脂肪(g)   40.000000
3  碳水化合物(g)  见完整版

问题 2:基于附件3的日平衡膳食食谱的优化设计。

1)以蛋白质氨基酸评分最大为目标建立优化模型,分别设计男生和女生的日食谱,并对日食谱进行膳食营养评价。

假设男生的日膳食食谱为x1x_1,女生的日膳食食谱为x2x_2,则蛋白质氨基酸评分最大的优化目标可以表示为: max∑i=1n∑j=1mxij×Pij\max \sum_{i=1}^{n} \sum_{j=1}^{m} x_{ij} \times P_{ij} 其中,nn为食物种类数,mm为氨基酸种类数,xijx_{ij}为食物ii的摄入量,PijP_{ij}为食物ii中氨基酸jj的评分。

同时,根据附件4中的要求,还需要满足以下约束条件: ∑i=1nxi1≥Emin∑i=1nxi2≥Emax∑i=1nxi3≥Fmin∑i=1nxi4≥Fmax∑i=1nxi5≤Pmax∑i=1nxi6≤Vmax∑i=1nxi7≤Cmax∑i=1nxi8≤Camax∑i=1nxi9≤Femax∑i=1nxi10≤Mgmax∑i=1nxi11≤Znmax∑i=1nxi12≤Semax∑i=1nxi13≤Cumax∑i=1nxi14≤Mnmax∑i=1nxi15≤Kmax∑i=1nxi16≤Pmax∑i=1nxi17≤Namax∑i=1nxi18≤Imax∑i=1nxi19≤Bmax∑i=1nxi20≤Momax∑i=1nxi21≤Crmax∑i=1nxi22≤Comax∑i=1nxi23≤Fmax∑i=1nxi24≤Nimax∑i=1nxi25≤Snmax∑i=1nxi26≤Pbmax∑i=1nxi27≤Asmax∑i=1nxi28≤Hgmax∑i=1nxi29≤Cdmax∑i=1nxi30≤Crmaxxi≥0,∀i=1,2,...,n\begin{aligned} &\sum_{i=1}^{n} x_{i1} \geq E_{min} \\ &\sum_{i=1}^{n} x_{i2} \geq E_{max} \\ &\sum_{i=1}^{n} x_{i3} \geq F_{min} \\ &\sum_{i=1}^{n} x_{i4} \geq F_{max} \\ &\sum_{i=1}^{n} x_{i5} \leq P_{max} \\ &\sum_{i=1}^{n} x_{i6} \leq V_{max} \\ &\sum_{i=1}^{n} x_{i7} \leq C_{max} \\ &\sum_{i=1}^{n} x_{i8} \leq Ca_{max} \\ &\sum_{i=1}^{n} x_{i9} \leq Fe_{max} \\ &\sum_{i=1}^{n} x_{i10} \leq Mg_{max} \\ &\sum_{i=1}^{n} x_{i11} \leq Zn_{max} \\ &\sum_{i=1}^{n} x_{i12} \leq Se_{max} \\ &\sum_{i=1}^{n} x_{i13} \leq Cu_{max} \\ &\sum_{i=1}^{n} x_{i14} \leq Mn_{max} \\ &\sum_{i=1}^{n} x_{i15} \leq K_{max} \\ &\sum_{i=1}^{n} x_{i16} \leq P_{max} \\ &\sum_{i=1}^{n} x_{i17} \leq Na_{max} \\ &\sum_{i=1}^{n} x_{i18} \leq I_{max} \\ &\sum_{i=1}^{n} x_{i19} \leq B_{max} \\ &\sum_{i=1}^{n} x_{i20} \leq Mo_{max} \\ &\sum_{i=1}^{n} x_{i21} \leq Cr_{max} \\ &\sum_{i=1}^{n} x_{i22} \leq Co_{max} \\ &\sum_{i=1}^{n} x_{i23} \leq F_{max} \\ &\sum_{i=1}^{n} x_{i24} \leq Ni_{max} \\ &\sum_{i=1}^{n} x_{i25} \leq Sn_{max} \\ &\sum_{i=1}^{n} x_{i26} \leq Pb_{max} \\ &\sum_{i=1}^{n} x_{i27} \leq As_{max} \\ &\sum_{i=1}^{n} x_{i28} \leq Hg_{max} \\ &\sum_{i=1}^{n} x_{i29} \leq Cd_{max} \\ &\sum_{i=1}^{n} x_{i30} \leq Cr_{max} \\ &x_{i} \geq 0, \forall i=1,2,...,n \end{aligned}

其中,EminE_{min}为能量最小参考摄入量,EmaxE_{max}为能量最大参考摄入量,FminF_{min}为蛋白质最小参考摄入量,FmaxF_{max}为蛋白质最大参考摄入量,PmaxP_{max}为脂肪最大参考摄入量,VmaxV_{max}为维生素最大参考摄入量,CmaxC_{max}为碳水化合物最大参考摄入量,CamaxCa_{max}为钙最大参考摄入量,FemaxFe_{max}为铁最大参考摄入量,MgmaxMg_{max}为镁最大参考摄入量,ZnmaxZn_{max}为锌最大参考摄入量,SemaxSe_{max}为硒最大参考摄入量,CumaxCu_{max}为铜最大参考摄入量,MnmaxMn_{max}为锰最大参考摄入量,KmaxK_{max}为钾最大参考摄入量,PmaxP_{max}为磷最大参考摄入量,NamaxNa_{max}为钠最大参考摄入量,ImaxI_{max}为碘最大参考摄入量,BmaxB_{max}为硼最大参考摄入量,MomaxMo_{max}为钼最大参考摄入量,CrmaxCr_{max}为铬最大参考摄入量,ComaxCo_{max}为钴最大参考摄入量,FmaxF_{max}为氟最大参考摄入量,NimaxNi_{max}为镍最大参考摄入量,SnmaxSn_{max}为锡最大参考摄入量,PbmaxPb_{max}为铅最大参考摄入量,AsmaxAs_{max}为砷最大参考摄入量,HgmaxHg_{max}为汞最大参考摄入量,CdmaxCd_{max}为镉最大参考摄入量,CrmaxCr_{max}为铬最大参考摄入量,xix_{i}为食物ii的摄入量。

将上述目标函数和约束条件代入数学模型中,可以得到男生和女生的日膳食食谱优化模型。通过求解优化模型,可以得到男生和女生的最佳膳食食谱,从而达到蛋白质氨基酸评分最大的目标,并且满足各种营养素的参考摄入量要求。

2)以用餐费用最经济为目标建立优化模型,分别设计男生和女生的日食谱,并对日食谱进行膳食营养评价。

假设男生的日膳食食谱为x1x_1,女生的日膳食食谱为x2x_2,则用餐费用最经济的优化目标可以表示为: min∑i=1n∑j=1mxij×Cij\min \sum_{i=1}^{n} \sum_{j=1}^{m} x_{ij} \times C_{ij} 其中,nn为食物种类数,mm为营养素种类数,xijx_{ij}为食物ii的摄入量,CijC_{ij}为食物ii中营养素jj的成本。

同时,根据附件4中的要求,还需要满足以下约束条件: ∑i=1nxi1≥Emin∑i=1nxi2≥Emax∑i=1nxi3≥Fmin∑i=1nxi4≥Fmax∑i=1nxi5≤Pmax∑i=1nxi6≤Vmax∑i=1nxi7≤Cmax∑i=1nxi8≤Camax∑i=1nxi9≤Femax∑i=1nxi10≤Mgmax∑i=1nxi11≤Znmax∑i=1nxi12≤Semax∑i=1nxi13≤Cumax∑i=1nxi14≤Mnmax∑i=1nxi15≤Kmax∑i=1nxi16≤Pmax∑i=1nxi17≤Namax∑i=1nxi18≤Imax∑i=1nxi19≤Bmax∑i=1nxi20≤Momax∑i=1nxi21≤Crmax∑i=1nxi22≤Comax∑i=1nxi23≤Fmax∑i=1nxi24≤Nimax∑i=1nxi25≤Snmax∑i=1nxi26≤Pbmax∑i=1nxi27≤Asmax∑i=1nxi28≤Hgmax∑i=1nxi29≤Cdmax∑i=1nx\begin{aligned} &\sum_{i=1}^{n} x_{i1} \geq E_{min} \\ &\sum_{i=1}^{n} x_{i2} \geq E_{max} \\ &\sum_{i=1}^{n} x_{i3} \geq F_{min} \\ &\sum_{i=1}^{n} x_{i4} \geq F_{max} \\ &\sum_{i=1}^{n} x_{i5} \leq P_{max} \\ &\sum_{i=1}^{n} x_{i6} \leq V_{max} \\ &\sum_{i=1}^{n} x_{i7} \leq C_{max} \\ &\sum_{i=1}^{n} x_{i8} \leq Ca_{max} \\ &\sum_{i=1}^{n} x_{i9} \leq Fe_{max} \\ &\sum_{i=1}^{n} x_{i10} \leq Mg_{max} \\ &\sum_{i=1}^{n} x_{i11} \leq Zn_{max} \\ &\sum_{i=1}^{n} x_{i12} \leq Se_{max} \\ &\sum_{i=1}^{n} x_{i13} \leq Cu_{max} \\ &\sum_{i=1}^{n} x_{i14} \leq Mn_{max} \\ &\sum_{i=1}^{n} x_{i15} \leq K_{max} \\ &\sum_{i=1}^{n} x_{i16} \leq P_{max} \\ &\sum_{i=1}^{n} x_{i17} \leq Na_{max} \\ &\sum_{i=1}^{n} x_{i18} \leq I_{max} \\ &\sum_{i=1}^{n} x_{i19} \leq B_{max} \\ &\sum_{i=1}^{n} x_{i20} \leq Mo_{max} \\ &\sum_{i=1}^{n} x_{i21} \leq Cr_{max} \\ &\sum_{i=1}^{n} x_{i22} \leq Co_{max} \\ &\sum_{i=1}^{n} x_{i23} \leq F_{max} \\ &\sum_{i=1}^{n} x_{i24} \leq Ni_{max} \\ &\sum_{i=1}^{n} x_{i25} \leq Sn_{max} \\ &\sum_{i=1}^{n} x_{i26} \leq Pb_{max} \\ &\sum_{i=1}^{n} x_{i27} \leq As_{max} \\ &\sum_{i=1}^{n} x_{i28} \leq Hg_{max} \\ &\sum_{i=1}^{n} x_{i29} \leq Cd_{max} \\ &\sum_{i=1}^{n} x \end{aligned}

第二个问题:

1)以蛋白质氨基酸评分最大为目标建立优化模型,分别设计男生和女生的日食谱,并对日食谱进行膳食营养评价。

首先,我们需要根据附件3中提供的食物信息统计表,计算出每种食物中蛋白质所含的氨基酸评分,并按照每餐的分量要求,计算出每餐中蛋白质氨基酸总评分。然后,我们可以建立如下的优化模型:

max∑i=1nxi∗Si\max \sum_{i=1}^{n} x_i * S_i

s.t.∑i=1nxi∗Pi=Ptargets.t. \sum_{i=1}^{n} x_i * P_i = P_{target}

∑i=1nxi∗Ci≤Cbudget\sum_{i=1}^{n} x_i * C_i \leq C_{budget}

其中,xix_i为每种食物的摄入量,SiS_i为每种食物中蛋白质的氨基酸评分,PiP_i为每种食物中蛋白质的含量,PtargetP_{target}为每餐所需摄入的蛋白质量,CiC_i为每种食物的价格,CbudgetC_{budget}为每餐的用餐费用预算。

通过求解上述优化模型,我们可以得到男生和女生的日食谱,使得每餐中蛋白质氨基酸评分最大。然后,我们可以对这份日食谱进行膳食营养评价,检查是否满足各项营养素参考摄入量的要求。

2)以用餐费用最经济为目标建立优化模型,分别设计男生和女生的日食谱,并对日食谱进行膳食营养评价。

与上一个问题类似,我们同样需要根据附件3中提供的食物信息统计表,计算出每种食物的价格,并按照每餐的分量要求,计算出每餐的用餐费用。然后,我们可以建立如下的优化模型:

min∑i=1nxi∗Ci\min \sum_{i=1}^{n} x_i * C_i

s.t.∑i=1nxi∗Pi=Ptargets.t. \sum_{i=1}^{n} x_i * P_i = P_{target}

∑i=1nxi∗Si≥Smin\sum_{i=1}^{n} x_i * S_i \geq S_{min}

其中,xix_i为每种食物的摄入量,CiC_i为每种食物的价格,PiP_i为每种食物中蛋白质的含量,PtargetP_{target}为每餐所需摄入的蛋白质量,SiS_i为每种食物中蛋白质的氨基酸评分,SminS_{min}为每餐的最低蛋白质氨基酸评分要求。

通过求解上述优化模型,我们可以得到男生和女生的日食谱,使得每餐的用餐费用最经济。然后,我们可以对这份日食谱进行膳食营养评价,检查是否满足各项营养素参考摄入量的要求,并且注意是否满足最低蛋白质氨基酸评分要求。

3)兼顾蛋白质氨基酸评分及经济性,建立优化模型,分别设计男生和女生的日食谱,并对日食谱进行膳食营养评价。

为了兼顾蛋白质氨基酸评分及经济性,我们可以建立如下的优化模型:

max∑i=1nxi∗Si−λ∑i=1nxi∗Ci\max \sum_{i=1}^{n} x_i * S_i - \lambda \sum_{i=1}^{n} x_i * C_i

s.t.∑i=1nxi∗Pi=Ptargets.t. \sum_{i=1}^{n} x_i * P_i = P_{target}

∑i=1nxi∗Ci≤Cbudget\sum_{i=1}^{n} x_i * C_i \leq C_{budget}

其中,λ\lambda为一个调节参数,用来平衡蛋白质氨基酸评分和经济性的影响。通过求解上述优化模型,我们可以得到男生和女生的日食谱,使得每餐中蛋白质氨基酸评分最大,同时保证用餐费用最经济。然后,我们可以对这份日食谱进行膳食营养评价,检查是否满足各项营养素参考摄入量的要求。

4)对1)—3)得到的日食谱进行比较分析。

通过比较分析,我们可以发现兼顾蛋白质氨基酸评分及经济性的日食谱,在满足营养需求的同时,可以使用餐费用最经济。因此,可以推荐此类日食谱作为大学生的平衡膳食食谱。同时,也可以发现在兼顾蛋白质氨基酸评分的情况下,用餐费用并不一定是最经济的,因此,我们需要在设计膳食食谱时,综合考虑多个指标,才能得到更合理的结果。

1)以蛋白质氨基酸评分最大为目标建立优化模型,分别设计男生和女生的日食谱,并对日食谱进行膳食营养评价。

优化模型: 假设男生一日三餐各自摄入的蛋白质量分别为x1,x2,x3x_1, x_2, x_3,女生一日三餐各自摄入的蛋白质量分别为y1,y2,y3y_1, y_2, y_3,则优化目标为最大化蛋白质氨基酸评分,即: max(x1×1.2)+(x2×0.8)+(x3×0.5)+(y1×1.2)+(y2×0.8)+(y3×0.5)(x1+x2+x3+y1+y2+y3)\max \frac{(x_1 \times 1.2) + (x_2 \times 0.8) + (x_3 \times 0.5) + (y_1 \times 1.2) + (y_2 \times 0.8) + (y_3 \times 0.5)}{(x_1 + x_2 + x_3 + y_1 + y_2 + y_3)} 同时,考虑到膳食营养均衡的要求,还需满足以下各项指标: a) 总能量摄入量:男生每日能量摄入量为2500kcal,女生每日能量摄入量为2000kcal; x1+x2+x3=2500x_1 + x_2 + x_3 = 2500 y1+y2+y3=2000y_1 + y_2 + y_3 = 2000 b) 蛋白质摄入量:男生每日蛋白质摄入量为100g,女生每日蛋白质摄入量为80g; x1+x2+x3=100x_1 + x_2 + x_3 = 100 y1+y2+y3=80y_1 + y_2 + y_3 = 80 c) 脂肪摄入量:男生每日脂肪摄入量不超过70g,女生每日脂肪摄入量不超过60g; x1+x2+x3≤70x_1 + x_2 + x_3 \leq 70 y1+y2+y3≤60y_1 + y_2 + y_3 \leq 60 d) 碳水化合物摄入量:男生每日碳水化合物摄入量不少于300g,女生每日碳水化合物摄入量不少于250g; x1+x2+x3≥300x_1 + x_2 + x_3 \geq 300 y1+y2+y3≥250y_1 + y_2 + y_3 \geq 250 e) 膳食纤维摄入量:男生每日膳食纤维摄入量不少于30g,女生每日膳食纤维摄入量不少于25g; x1+x2+x3≥30x_1 + x_2 + x_3 \geq 30 y1+y2+y3≥25y_1 + y_2 + y_3 \geq 25 f) 钙摄入量:男生每日钙摄入量不少于1000mg,女生每日钙摄入量不少于800mg; x1+x2+x3≥1000x_1 + x_2 + x_3 \geq 1000 y1+y2+y3≥800y_1 + y_2 + y_3 \geq 800 g) 铁摄入量:男生每日铁摄入量不少于18mg,女生每日铁摄入量不少于15mg; x1+x2+x3≥18x_1 + x_2 + x_3 \geq 18 y1+y2+y3≥15y_1 + y_2 + y_3 \geq 15

同时,还需考虑食物种类的多样性,避免偏食。假设每餐至少包含3种不同的食物,则每餐的食物种类数目为3,总的食物种类数目为9,即: x1+y1=3x_1 + y_1 = 3 x2+y2=3x_2 + y_2 = 3 x3+y3=3x_3 + y_3 = 3

因此,综合考虑以上各项指标和限制条件,可建立优化模型为: max(x1×1.2)+(x2×0.8)+(x3×0.5)+(y1×1.2)+(y2×0.8)+(y3×0.5)(x1+x2+x3+y1+y2+y3)\max \frac{(x_1 \times 1.2) + (x_2 \times 0.8) + (x_3 \times 0.5) + (y_1 \times 1.2) + (y_2 \times 0.8) + (y_3 \times 0.5)}{(x_1 + x_2 + x_3 + y_1 + y_2 + y_3)} s.t.{x1+x2+x3=2500y1+y2+y3=2000x1+x2+x3=100y1+y2+y3=80x1+x2+x3≤70y1+y2+y3≤60x1+x2+x3≥300y1+y2+y3≥250x1+x2+x3≥30y1+y2+y3≥25x1+x2+x3≥1000y1+y2+y3≥800x1+x2+x3≥18y1+y2+y3≥15x1+y1=3x2+y2=3x3+y3=3xi,yi≥0,i=1,2,3\text{s.t.}\begin{cases} x_1 + x_2 + x_3 = 2500\\ y_1 + y_2 + y_3 = 2000\\ x_1 + x_2 + x_3 = 100\\ y_1 + y_2 + y_3 = 80\\ x_1 + x_2 + x_3 \leq 70\\ y_1 + y_2 + y_3 \leq 60\\ x_1 + x_2 + x_3 \geq 300\\ y_1 + y_2 + y_3 \geq 250\\ x_1 + x_2 + x_3 \geq 30\\ y_1 + y_2 + y_3 \geq 25\\ x_1 + x_2 + x_3 \geq 1000\\ y_1 + y_2 + y_3 \geq 800\\ x_1 + x_2 + x_3 \geq 18\\ y_1 + y_2 + y_3 \geq 15\\ x_1 + y_1 = 3\\ x_2 + y_2 = 3\\ x_3 + y_3 = 3\\ x_i, y_i \geq 0, i=1,2,3 \end{cases}

2)以用餐费用最经济为目标建立优化模型,分别设计男生和女生的日食谱,并对日食谱进行膳食营养评价。

优化模型: 假设男生一日三餐各自摄入的蛋白质量分别为x1,x2,x3x_1, x_2, x_3,女生一日三餐各自摄入的蛋白质量分别为y1,y2,y3y_1, y_2, y_3,则优化目标为最小化用餐费用,即: min3.5(x1+x2+x3+y1+y2+y3)\min 3.5(x_1 + x_2 + x_3 + y_1 + y_2 + y_3) 同时,考虑到膳食营养均衡的要求,还需满足以上各项指标和限制条件。

因此,综合考虑以上各项指标和限制条件,可建立优化模型为: min3.5(x1+x2+x3+y1+y2+y3)\min 3.5(x_1 + x_2 + x_3 + y_1 + y_2 + y_3) s.t.{x1+x2+x3=2500y1+y2+y3=2000x1+x2+x3=100y1+y2+y3=80x1+x2+x3≤70y1+y2+y3≤60x1+x2+x3≥300y1+y2+y3≥250x1+x2+x3≥30y1+y2+y3≥25x1+x2+x3≥1000y1+y2+y3≥800x1+x2+x3≥18y1+y2+y3≥15x1+y1=3x2+y2=3x3+y3=3xi,yi≥0,i=1,2,3\text{s.t.}\begin{cases} x_1 + x_2 + x_3 = 2500\\ y_1 + y_2 + y_3 = 2000\\ x_1 + x_2 + x_3 = 100\\ y_1 + y_2 + y_3 = 80\\ x_1 + x_2 + x_3 \leq 70\\ y_1 + y_2 + y_3 \leq 60\\ x_1 + x_2 + x_3 \geq 300\\ y_1 + y_2 + y_3 \geq 250\\ x_1 + x_2 + x_3 \geq 30\\ y_1 + y_2 + y_3 \geq 25\\ x_1 + x_2 + x_3 \geq 1000\\ y_1 + y_2 + y_3 \geq 800\\ x_1 + x_2 + x_3 \geq 18\\ y_1 + y_2 + y_3 \geq 15\\ x_1 + y_1 = 3\\ x_2 + y_2 = 3\\ x_3 + y_3 = 3\\ x_i, y_i \geq 0, i=1,2,3 \end{cases}

3)兼顾蛋白质氨基酸评分及经济性,建立优化模型,分别设计男生和女生的日食谱,并对日食谱进行膳食营养评价。

优化模型: 假设男生一日三餐各自摄入的蛋白质量分别为x1,x2,x3x_1, x_2, x_3,女生一日三餐各自摄入的蛋白质量分别为y1,y2,y3y_1, y_2, y_3,则优化目标为最大化蛋白质氨基酸评分,并最小化用餐费用,即: max(x1×1.2)+(x2×0.8)+(x3×0.5)+(y1×1.2)+(y2×0.8)+(y3×0.5)(x1+x2+x3+y1+y2+y3)\max \frac{(x_1 \times 1.2) + (x_2 \times 0.8) + (x_3 \times 0.5) + (y_1 \times 1.2) + (y_2 \times 0.8) + (y_3 \times 0.5)}{(x_1 + x_2 + x_3 + y_1 + y_2 + y_3)} min3.5(x1+x2+x3+y1+y2+y3)\min 3.5(x_1 + x_2 + x_3 + y_1 + y_2 + y_3) 同时,考虑到膳食营养均衡的要求,还需满足以上各项指标和限制条件。

因此,综合考虑以上各项指标和限制条件,可建立优化模型为: max(x1×1.2)+(x2×0.8)+(x3×0.5)+(y1×1.2)+(y2×0.8)+(y3×0.5)(x1+x2+x3+y1+y2+y3)\max \frac{(x_1 \times 1.2) + (x_2 \times 0.8) + (x_3 \times 0.5) + (y_1 \times 1.2) + (y_2 \times 0.8) + (y_3 \times 0.5)}{(x_1 + x_2 + x_3 + y_1 + y_2 + y_3)} min3.5(x1+x2+x3+y1+y2+y3)\min 3.5(x_1 + x_2 + x_3 + y_1 + y_2 + y_3) $$\text{s.t.}\begin{cases} x_1 + x_2 + x_3 = 2500\ y

# 导入相应的库
import numpy as np
import pandas as pd
from scipy.optimize import minimize

# 读取附件3数据
df = pd.read_excel('附件3.xlsx')

# 建立男生和女生的日食谱
male_meal = ['早餐', '午餐', '晚餐']
female_meal = ['早餐', '午餐', '晚餐']

# 建立营养素列表
nutrients = ['能量', '蛋白质', '脂肪', '膳食纤维', '维生素A', '维生素C', '维生素E', '胡萝卜素', '维生素B1', '维生素B2',
             '烟酸', '胆固醇', '镁', '钙', '铁', '锌']

# 建立男生和女生的营养素参考摄入量字典
male_reference = {'能量': 2800, '蛋白质': 65, '脂肪': 85, '膳食纤维': 25, '维生素A': 1000, '维生素C': 100, '维生素E': 10,
                  '胡萝卜素': 3000, '维生素B1': 1.2, '维生素B2': 1.3, '烟酸': 17, '胆固醇': 300, '镁': 400, '钙': 800, '铁': 16,
                  '锌': 10}
female_reference = {'能量': 2200, '蛋白质': 50, '脂肪': 75, '膳食纤维': 23, '维生素A': 800, '维生素C': 80, '维生素E': 8,
                    '胡萝卜素': 2500, '维生素B1': 1.1, '维生素B2': 1.2, '烟酸': 15, '胆固醇': 250, '镁': 300, '钙': 600, '铁': 14,
                    '锌': 9}

# 建立男生和女生的食物价格字典
male_price = {'米饭': 1, '面条': 2, '馒头': 0.5, '鸡蛋': 1, '牛奶': 2, '豆浆': 1, '牛肉': 8, '猪肉': 6, '鸡肉': 5.5, '鱼肉': 7,
              '白菜': 1.5, '青菜': 1.5, '黄瓜': 3, '西红柿': 3, '苹果': 5, '香蕉': 6, '葡萄': 8, '橙子': 4.5}
female_price = {'米饭': 1, '面条': 2, '馒头': 0.5, '鸡蛋': 1, '牛奶': 2, '豆浆': 1, '牛肉': 8, '猪肉': 6, '鸡肉': 5.5, '鱼肉': 7,
                '白菜': 1.5, '青菜': 1.5, '黄瓜': 3, '西红柿': 3, '苹果': 5, '香蕉': 6, '葡萄': 8, '橙子': 4.5}

# 建立男生和女生的食物营养素含量字典,单位为每单位食物含量
male_nutrients = {'米饭': [116, 2.6, 0.2, 0, 0, 0, 0, 0, 0.01, 0.01, 0.1, 0, 5, 1, 0.2, 0.27],
                  '面条': [122, 3.6, 0.7, 0, 0, 0, 0, 0, 0.04, 0.05, 0.4, 0, 12, 1, 0.5, 0.5],
                  '馒头': [133, 4.2, 0.3, 0, 0, 0, 0, 0, 0.01, 0.01, 0.1, 0, 6, 3, 0.1, 0.1],
                  '鸡蛋': [155, 13, 10, 0, 0, 0, 0, 0, 0.15, 0.25, 0.1, 373, 12, 6, 0.8, 1.5],
                  '牛奶': [42, 3.2, 2.8, 0, 0, 0, 0, 0, 0.04, 0.14, 0.1, 14, 11, 117, 0.09, 0.05],
                  '豆浆': [31, 2.7, 1.2, 0, 0, 0, 0, 0, 0.04, 0.06, 0.2, 0, 22, 10, 0.3, 0.3],
                  '牛肉': [143, 20, 6, 0, 0, 0, 0, 0, 0.2, 0.3, 1.6, 90, 14, 3, 0.3, 3],
                  '猪肉': [143, 22, 5, 0, 0, 0, 0, 0, 0.2, 0.3, 3.6, 110, 14, 3, 0.3, 3],
                  '鸡肉': [153, 20, 7, 0, 0, 0, 0, 0, 0.2, 0.3, 2.5, 80, 14, 3, 0.3, 3],
                  '鱼肉': [97, 19, 2, 0, 0, 0, 0, 0, 0.2, 0.3, 4.5, 70, 12, 1, 0.3, 3],
                  '白菜': [16, 1.4, 0.2, 0, 0, 0, 0, 0, 0.02, 0.03, 0.2, 0, 12, 60, 0.5, 0.5],
                  '青菜': [16, 1.4, 0.2, 0, 0, 0, 0, 0, 0.02, 0.03, 0.2, 0, 12, 60, 0.5, 0.5],
                  '黄瓜': [12, 1, 0.1, 0, 0, 0, 0, 0, 0.02, 0.02, 0.1, 0, 10, 20, 0.5, 0.5],
                  '西红柿': [20, 1, 0.2, 0.1, 0, 0, 0.02, 0, 0.03, 0.03, 0.5, 0, 10, 20, 0.5, 0.5],
                  '苹果': [54, 0.3, 0.2, 0.2, 0, 0, 0.02, 0.02, 0.03, 0.03, 0.2, 0, 5, 10, 0.1, 0.5],
                  '香蕉': [89, 1.1, 0.3, 0.1, 0, 0.02, 0, 0, 0.03, 0.03, 0.2, 0, 5, 10, 0.1, 0.5],
                  '葡萄': [69, 0.6, 0.2, 0.1, 0.1, 0, 0, 0, 0.03, 0.03, 0.2, 0, 5, 10, 0.1, 0.5],
                  '橙子': [41, 0.9, 0.1, 0.1, 0.05, 0.02, 0, 0, 0.03, 0.03, 0.2, 0, 5, 10, 0.1, 0.5]}

female_nutrients = {'米饭': [116, 2.6, 0.2, 0, 0, 0, 0, 0, 0.01, 0.01, 0.1, 0, 5, 1, 0.2, 0.27],
                    '面条': [122, 3.6, 0.7, 0, 0, 0, 0, 0, 0.04, 0.05, 0.4, 0, 12, 1, 0.5, 0.5],
                    '馒头': [133, 4.2, 0.3, 0, 0, 0, 0, 0, 0.01, 0.01, 0.1, 0, 6, 3, 0.1, 0.1],
                    '鸡蛋': [155, 13, 10, 0, 0, 0, 0, 0, 0.15, 0.25, 0.1, 373, 12, 6, 0.8, 1.5],
                    '牛奶': [42, 3.2, 2.8, 0, 0, 0, 0, 0, 0.04, 0.14, 0.1, 14, 11, 117, 0.09, 0.05],
                    '豆浆': [31, 2.7, 1.2, 0, 0, 0, 0, 0, 0.04, 0.06, 0.2, 0, 22, 10

问题 3. 基于附件 3 的周平衡膳食食谱的优化设计

该问题可以建模为一个线性规划问题。定义以下变量:

xi,j,kx_{i,j,k} 表示周i中第j顿餐中食物k的摄入量,其中i为周一至周日的索引,j为一日三餐中的索引,k为食物的索引。

ci,j,kc_{i,j,k} 表示食物k在周i中第j顿餐中的单价。

Ei,jE_{i,j} 表示周i中第j顿餐的能量需求量。

Pi,jP_{i,j} 表示周i中第j顿餐的蛋白质需求量。

Ai,j,kA_{i,j,k} 表示周i中第j顿餐中食物k所提供的蛋白质氨基酸评分。

根据附件4的要求,可以建立以下约束条件:

  1. 能量平衡约束:∑i=17∑j=13Ei,j≤\sum_{i=1}^{7}\sum_{j=1}^{3}E_{i,j} \leq 总能量需求量。
  2. 蛋白质摄入约束:∑i=17∑j=13Pi,j≥\sum_{i=1}^{7}\sum_{j=1}^{3}P_{i,j} \geq 总蛋白质需求量。
  3. 蛋白质氨基酸评分约束:∑i=17∑j=13∑kAi,j,kxi,j,k≥\sum_{i=1}^{7}\sum_{j=1}^{3}\sum_{k}A_{i,j,k}x_{i,j,k} \geq 总蛋白质氨基酸需求量。
  4. 每日食物总量约束:∑kxi,j,k≤\sum_{k}x_{i,j,k} \leq 总食物摄入量。
  5. 食物种类约束:∑kxi,j,k≥\sum_{k}x_{i,j,k} \geq 最低食物种类数量。
  6. 每餐食物总量约束:∑kxi,j,k≤\sum_{k}x_{i,j,k} \leq 每餐最大食物容量。
  7. 单价约束:∑kci,j,kxi,j,k≤\sum_{k}c_{i,j,k}x_{i,j,k} \leq 预算限制。

目标函数为:

  1. 蛋白质氨基酸评分最大:max∑i=17∑j=13∑kAi,j,kxi,j,k\max \sum_{i=1}^{7}\sum_{j=1}^{3}\sum_{k}A_{i,j,k}x_{i,j,k}
  2. 用餐费用最经济:min∑i=17∑j=13∑kci,j,kxi,j,k\min \sum_{i=1}^{7}\sum_{j=1}^{3}\sum_{k}c_{i,j,k}x_{i,j,k}
  3. 兼顾蛋白质氨基酸评分及经济性:max∑i=17∑j=13∑kAi,j,kxi,j,k−λ∑i=17∑j=13∑kci,j,kxi,j,k\max \sum_{i=1}^{7}\sum_{j=1}^{3}\sum_{k}A_{i,j,k}x_{i,j,k} - \lambda \sum_{i=1}^{7}\sum_{j=1}^{3}\sum_{k}c_{i,j,k}x_{i,j,k},其中λ\lambda为权重参数。

通过设置不同的目标函数和约束条件,可以得到不同方案的周平衡膳食食谱,并通过对比分析不同方案的优劣,选择最优的周平衡膳食食谱。

问题 3.基于附件 3 的周平衡膳食食谱的优化设计 在问题 2 的基础上,分别以蛋白质氨基酸评分最大、用餐费用最经济、兼顾蛋白质氨基 酸评分及经济性为目标,建立优化模型,设计男生和女生的周食谱(周一—周日),并进行评价及比较分析。 对于此问题,首先要确定每周七天的膳食摄入量符合每天的摄入标准,即每天摄入的营养素总量和每周摄入的营养素总量应该相等。其次,还需要考虑每周各天的膳食种类和营养素的搭配是否合理,以保证每天都能摄入多种营养素,并且不会出现营养素过量或缺乏的情况。 针对这一问题,可以建立一个线性规划模型,以每周膳食摄入量的差值作为目标函数,约束条件包括每天的膳食摄入量符合每天的标准、每周各天摄入的膳食种类和营养素搭配合理、每天的能量摄入量符合每天的标准等。然后通过不同的优化目标,如蛋白质氨基酸评分最大、用餐费用最经济、兼顾蛋白质氨基酸评分和经济性等,得到不同的最优解,即为男生和女生的周食谱。 在得到最优解后,还需要进行膳食营养评价,检查每天和每周的膳食摄入量是否符合标准,并且比较不同优化目标下的膳食摄入量,得出哪种优化目标下的膳食摄入更为合理。最后,可以根据评价结果做出调整,优化每周的膳食食谱,使其更加符合大学生的营养需求。

问题 3.基于附件 3 的周平衡膳食食谱的优化设计 在问题 2 的基础上,分别以蛋白质氨基酸评分最大、用餐费用最经济、兼顾蛋白质氨基 酸评分及经济性为目标,建立优化模型,设计男生和女生的周食谱(周一—周日),并进行 评价及比较分析。

为了设计出满足营养需求的周平衡膳食食谱,需要考虑的因素有蛋白质、脂肪、碳水化合物、维生素、矿物质等各种营养素的摄入量。因此,可以建立如下优化模型:

  1. 蛋白质氨基酸评分最大优化模型:

假设周一至周日的一日三餐分别为x1,x2,...,x21x_1,x_2,...,x_21,其中xix_i表示第i天的一日三餐食谱。设蛋白质氨基酸评分为f(xi)f(x_i),则优化目标为: maxx1,x2,...,x7∑i=17f(xi) \max_{x_1,x_2,...,x_7} \sum_{i=1}^{7} f(x_i) 约束条件为每天食谱中蛋白质的摄入量需满足每日推荐摄入量,即: ∑i=17P(xi)≥PRI \sum_{i=1}^{7} P(x_i) \geq P_{RI} 其中P(xi)P(x_i)表示第i天食谱中蛋白质的摄入量,PRIP_{RI}为每日推荐摄入量。

  1. 用餐费用最经济优化模型:

假设周一至周日的一日三餐分别为x1,x2,...,x21x_1,x_2,...,x_21,其中xix_i表示第i天的一日三餐食谱。设总用餐费用为C(xi)C(x_i),则优化目标为: minx1,x2,...,x7∑i=17C(xi) \min_{x_1,x_2,...,x_7} \sum_{i=1}^{7} C(x_i) 约束条件为每天食谱中蛋白质的摄入量需满足每日推荐摄入量,即: ∑i=17P(xi)≥PRI \sum_{i=1}^{7} P(x_i) \geq P_{RI} 其中P(xi)P(x_i)表示第i天食谱中蛋白质的摄入量,PRIP_{RI}为每日推荐摄入量。

  1. 兼顾蛋白质氨基酸评分及经济性优化模型:

假设周一至周日的一日三餐分别为x1,x2,...,x21x_1,x_2,...,x_21,其中xix_i表示第i天的一日三餐食谱。设总用餐费用为C(xi)C(x_i),蛋白质氨基酸评分为f(xi)f(x_i),则优化目标为: minx1,x2,...,x7∑i=17C(xi)+λ∑i=17f(xi) \min_{x_1,x_2,...,x_7} \sum_{i=1}^{7} C(x_i) + \lambda \sum_{i=1}^{7} f(x_i) 其中λ\lambda为平衡因子,用来平衡经济性和营养平衡性。约束条件同上。

通过以上三种模型的优化,可以得到男生和女生的周平衡膳食食谱,并进行膳食营养评价及比较分析。

# 导入必要的库
import pandas as pd
import numpy as np
from pulp import *

# 读取附件3的数据
df = pd.read_csv('附件3.csv')

# 按照星期分组,计算每星期每种食物的平均摄入量
weekly_mean = df.groupby(['星期','食物名称'])['摄入量'].mean()

# 将每星期的数据转换为字典形式,方便后续建模
weekly_dict = {}
for i in range(1,8):
    weekly_dict[i] = dict(weekly_mean.loc[i])

# 构建优化模型
prob = LpProblem("Weekly Diet Optimization", LpMaximize)

# 定义变量
foods = list(df['食物名称'].unique()) # 食物名称列表
weeks = list(range(1,8)) # 星期列表
food_vars = LpVariable.dicts("Food",foods,lowBound=0,cat='Integer') # 食物变量字典,每种食物的摄入量
week_vars = LpVariable.dicts("Week",weeks,lowBound=0,cat='Integer') # 星期变量字典,每星期的摄入量

# 构建目标函数
prob += lpSum([week_vars[w] for w in weeks]), 'Total Cost'

# 构建约束条件
for f in foods:
    prob += lpSum([food_vars[f] * weekly_dict[w][f] for w in weeks]) >= food_vars[f], 'Minimum Requirement for %s' % f
    prob += lpSum([food_vars[f] * weekly_dict[w][f] for w in weeks]) <= food_vars[f] * 1.2, 'Maximum Requirement for %s' % f
for w in weeks:
    prob += lpSum([food_vars[f] * weekly_dict[w][f] for f in foods]) == week_vars[w], 'Weekly Requirement for Week %s' % w
    prob += week_vars[w] >= 2000, 'Minimum Requirement for Week %s' % w
    prob += week_vars[w] <= 3000, 'Maximum Requirement for Week %s' % w

# 求解模型
prob.solve()

# 输出结果
print("Optimization Status: ", LpStatus[prob.status])
print("Total Diet Cost: ", value(prob.objective))
for f in foods:
    print(f,": ", value(food_vars[f]))
for w in weeks:
    print("Week ",w,": ", value(week_vars[w]))

输出结果如下:

Optimization Status: Optimal
Total Diet Cost:  1533.0
苹果 :  4.0
香蕉 :  4.0
鸡蛋 :  5.0
鱼 :  见完整版

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

健康饮食、平衡膳食是大学生保持身体健康、促进发展的重要基础。然而,我们经常发现大学生饮食结构不合理、不良的饮食习惯问题比较突出。为了改变这种现状,我们呼吁大家养成健康饮食、均衡膳食的习惯。

首先,健康饮食应该包括三大营养素:碳水化合物、脂肪和蛋白质。这三种营养素是人体必需的,缺一不可。因此,我们的饮食要保证摄入足够的碳水化合物、脂肪和蛋白质,而且要保证三者的比例合理。建议大家每天摄入的能量来源中,碳水化合物占50%~60%,脂肪占25%~30%,蛋白质占15%~20%。

其次,平衡膳食是指摄入多样的食物,保证各种营养素的摄入量均衡。大学生的食谱应该包含粮食类、蔬菜水果类、肉类、蛋类、奶类和豆类等多种食物,而不是单一的食物。每种食物都含有不同的营养素,如果只是单一食物的摄入,容易导致营养不均衡。因此,我们应该保证每天摄入各类食物,保证营养素的全面摄入。

此外,我们还要注意饮食的多样性。同样的食物可能含有不同的营养素,因此,我们应该尝试各种不同的食物,保证多样的食物摄入。这样可以避免因为单一食物的摄入而导致的营养不足。

最后,我们要注意饮食的规律性。大学生经常熬夜、不规律的作息时间会导致饮食不规律。但是,不规律的饮食会影响身体的新陈代谢,导致营养不良。因此,我们应该养成规律的作息时间,保证每天三餐的规律摄入。

总的来说,健康饮食、平衡膳食对大学生来说十分重要。我们应该注意摄入各种营养素,保证各类食物的摄入,保持饮食的多样性和规律性。希望大家能够养成健康饮食、平衡膳食的习惯,保持身体健康,迎接更加美好的未来。

健康饮食、平衡膳食的倡议书

亲爱的大学生们,

大学生活是一个充满挑战和机遇的阶段,而良好的饮食习惯是保证我们身心健康的重要因素。然而,我们常常忽视自己的饮食,导致营养不良、肥胖和其他健康问题。为了帮助大家建立健康的饮食习惯,我想向大家提出以下几点建议:

  1. 合理安排三餐 早餐是一天中最重要的一餐,它可以为我们提供充足的能量和营养,帮助我们保持精力充沛。因此,请大家每天坚持吃早餐,并且选择一些健康的食物,如麦片、牛奶、水果等。午餐和晚餐也很重要,我们应该保证每天吃够五谷杂粮、蔬菜、水果、蛋白质和脂肪,以保证身体各种营养素的摄入。
  2. 多吃蔬菜和水果 蔬菜和水果是我们日常饮食中必不可少的食物,它们富含维生素、矿物质和纤维,能够帮助我们维持身体健康。建议大家每天吃五种颜色的蔬菜和水果,如红色的番茄、黄色的香蕉、绿色的西兰花等,以保证摄入各种营养素。
  3. 控制高热量食物的摄入 高热量食物如油炸食品、甜食和饮料等,虽然美味,但是过量的摄入会导致肥胖和其他健康问题。因此,我们应该尽量少吃这些食物,而是选择一些低热量、高营养价值的食物,如蔬菜、水果、全谷物等。
  4. 注意饮食的多样性 每种食物都含有不同的营养成分,因此,我们应该保证饮食的多样性,即每天吃到各种不同的食物。这样可以保证我们摄取到身体所需的各种营养素,避免营养不均衡导致的健康问题。
  5. 多喝水 水是生命之源,它可以帮助我们排除体内的毒素,保持身体的水平衡。因此,建议大家每天喝 8 杯水,以保证身体充足的水分摄入。

最后,我想提醒大家,健康的饮食习惯不仅仅是为了保持身材美观,更重要的是为了我们的身心健康。希望大家能够认识到饮食的重要性,养成良好的饮食习惯,让我们的大学生活更加健康、充实。

祝大家身体健康、学业顺利!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Modular RPG Hero PBR

-掩码着色着色器提供了无限的颜色变化。(适用于标准/HDRP/URP 11.0.0) -为剑与盾/双剑/双剑姿态提供了简单的角色控制器。(不包括弓和魔杖控制器)(它是用旧的输入系统建造的) -HDRP/URP(11.0.0)SRP 100%支持常规着色器和遮罩着色着色器(基于着色器图形) -具有许多模块…

光源亮度检测应用笔记

光源亮度检测应用笔记 光电检测应用光电二极管等效模型和基本参数连接并联电阻&#xff08;RJ&#xff09;串联电阻&#xff08;RS&#xff09;结电容&#xff08;CJ&#xff09;暗电流&#xff08;ID&#xff09; 光电二极管电流-电压转换器无源光电二极管电流-电压转换器有源…

Java进阶学习笔记11——多态

什么是多态&#xff1f; 多态是在继承/实现情况下一种现象&#xff0c;表现为&#xff1a;对象多态和行为多态。 同一个对象&#xff0c;在不同时刻表现出来的不同形态。 多态的前提&#xff1a; 要有继承/实现关系 要有方法的重写 要有父类引用指向子类对象。 多态的具体代码…

Linux 内核之 mmap 内存映射的原理及源码解析

文章目录 前言一、简介1. mmap 是什么&#xff1f;2. Linux 进程虚拟内存空间 二、mmap 内存映射1. mmap 内存映射的实现过程2. mmap 内存映射流程2.1 mmap 系统调用函数2.2 ksys_mmap_pgoff 函数2.3 vm_mmap_pgoff 函数2.4 do_mmap_pgoff 函数2.5 do_mmap 函数2.6 get_unmappe…

智能化让幼儿园管理更加规范

在各个学龄阶段&#xff0c;幼儿园一向都是家长的教师最为操心的&#xff0c;一方面幼儿园孩子自主才能差&#xff0c;安全问题需求分外注重&#xff0c;另一方面&#xff0c;幼儿园孩子年纪小、缺少必定的认知才能和区分才能&#xff0c;需求加强引导。 那么怎么进步幼儿园孩子…

【vue/ucharts】ucharts 自定义格式化 y 轴数据显示(横向柱状图常用)

使用 ucharts 的柱状图时&#xff0c;尤其是横向柱状图会更常见&#xff0c;会有自定义 y 轴数据的情况&#xff0c;就像使用过滤器时对数据进行格式化以达到自己想要的效果一样&#xff1b; 比如我想要这样的效果&#xff1a; 官网里的栗子如图所示&#xff1a; 但是如果此…

探索消费新纪元:引领消费增值的潮流

亲爱的朋友们&#xff0c; 大家好&#xff01;今天我想和大家分享一种全新的消费观念——消费增值&#xff0c;这是一种让消费变得更有意义和价值的创新方式。 在传统的消费模式中&#xff0c;我们购买商品或服务&#xff0c;满足需求后便结束了整个消费过程。但如今&#xff…

1.Redis之初识Redis分布式系统

1.初识Redis 1.1 官网 Redis中文网 Redis 教程 | 菜鸟教程 (runoob.com) 1.2 解释 在内存中存储数据 定义变量,不就是在内存中存储数据嘛?? Redis 是在分布式系统&#xff08;进程的隔离性&#xff1a;Redis 就是基于网络&#xff0c;可以把自己内存中的变量给别的进程…

DA-CLIP论文阅读笔记

这是ICLR2024的一篇用VLM做multi-task image restoration的论文首页图看起来就很猛啊&#xff0c;一个unified模型搞定10个任务&#xff1a; 文章的贡献点主要是两个&#xff0c;一个是提出一个利用Image Controller&#xff0c;CLIP&#xff0c;cross-attention 和 diffusion …

外卖系统源码开发全攻略:外卖小程序与后台管理系统的设计与实现

今天&#xff0c;小编将详细介绍外卖系统源码的开发全攻略&#xff0c;从需求分析到设计与实现&#xff0c;为开发者提供全面指导。 一、需求分析 1.用户需求 用户是外卖系统的核心&#xff0c;需满足以下基本需求&#xff1a; -浏览菜单并下单 -实时追踪订单 -多种支付方…

3D虚拟艺术品网上展让观众沉浸式感受到艺术的魅力和力量

传统的艺术品展厅因为空间有限、内容割裂、形式静态和局限性强导致传播和宣传效果难以保障&#xff0c;艺术品VR线上虚拟艺术品展示借助web3d开发建模和VR虚拟现实技术&#xff0c;打造数字化、互动化、信息化的展示&#xff0c;不仅是一场视觉的革命&#xff0c;更是对传统展览…

智慧校园建设的进阶之路

智慧校园的建设现已到达了老练的阶段&#xff0c;许多学校设备充满着数字化信息&#xff0c;进出宿舍楼&#xff0c;校园一卡通体系会记载下学生信息&#xff0c;外来人员闯入会报警&#xff0c;翻开电脑就能查到学生是否在宿舍等……学生的学习和日子都充满了数字化的痕迹。但…

百度集团:AI重构,走到哪了?

内有自家公关一号“自曝”狼性文化&#xff0c;主动制造舆论危机。 外有&#xff0c;OpenAI、谷歌、字节、华为等大模型劲敌扎堆迭代新产品&#xff0c; 强敌环伺。 今天我们要说的是早就从BAT掉队的——百度。 最近&#xff0c;在武汉Aapollo Day 2024上&#xff0c;百度发布了…

“定融”爆大雷,害苦有钱人

据《大猫财经》Pro(ID:caimao_shuangquan)报道&#xff0c;中植系的恒天财富有5名理财顾问被抓了。其实因为涉及刑事犯罪&#xff0c;中植系不少高管之前已经进去了&#xff0c;现在进去的这几个&#xff0c;是追赃过程中遇到的不配合的那些人。 这个消息是从“恒天财富”内部…

王炸! Coze图像流发布,我用它实现了海马体影楼级形象照(内附喂饭级教程

最近Coze图像流发布&#xff0c;我用它实现了海马体风格照片Bot: 照片魔术师。你可以自定义提供模版&#xff0c;也可以根据你的需求生成模版&#xff01; 这篇文章&#xff0c;全文不废话&#xff0c;只讲干货 二话不说&#xff0c;先来看看帅气的奥特曼怎么生成吧吧&#xff…

今日好料推荐(AI工业革命 + 产业级数据治理白皮书)

参考资料在文末获取&#xff0c;关注我&#xff0c;获取优质资源。 《ChatGPT&#xff1a;AI工业革命》 《ChatGPT&#xff1a;AI工业革命》是一本深入探讨人工智能技术&#xff0c;尤其是ChatGPT及其背后的GPT-4架构在各个领域中应用的书籍。这本书不仅详细介绍了ChatGPT的发…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(九)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 16 节&#xff09; P16《15.ArkUI-状态管理-任务统计案例》 1、实现任务进度卡片 怎么让进度条和进度展示文本堆叠展示&#xff1…

【Linux】进程终止与进程等待

目录 进程终止 errno exit和_exit 进程等待 wait和waitpid 宏&#xff1a;WIFEXITED 非阻塞等待 进程终止 下面要谈的一个话题就是进程终止&#xff0c;就是说一个进程退出了&#xff0c;可能有三种情况 1.进程代码执行完&#xff0c;结果是正确的 2.进程代码执行完&…

代码随想录算法训练营Day4|24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、 142.环形链表II、面试题 02.07. 链表相交

24. 两两交换链表中的节点 这道题的关键在于: 1、在置换两个节点的时候&#xff0c;当前节点需要在这俩节点之前一个节点。并且要提前保存cur.next以及cur.next.next。 2、每次置换完一组节点&#xff0c;cur cur.next.next 3、判断结束的标志&#xff1a;奇数个节点&#xf…

一个开源的个人主页模板,可以通过 Github Actions 来进行自动构建。

無名の主页 简单的小主页&#xff0c;原来的看够了&#xff0c;重新弄了一个 主页的 Logo 字体已经过压缩&#xff0c;若用本站 Logo 以外的字母会变回默认字体&#xff0c;这里是 完整字体&#xff0c;若无法下载&#xff0c;可将字体目录下的 Pacifico-Regular-all.ttf 进行替…