本文主要是介绍2024年电工杯B题论文首发+问题一论文代码分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题一论文代码链接:https://pan.baidu.com/s/1kDV0DgSK3E4dv8Y6x7LExA
提取码:sxjm
--来自百度网盘超级会员V5的分享
基于数据分析的大学生平衡膳食食谱的优化设计及评价
摘要
大学时期不仅是学术学习和身体成长的关键阶段,更是青年学生形成和培养健康饮食习惯的重要时期。本文将基于题目给出的数据进行大学生平衡膳食食谱的优化设计及评价。
这里利用《中国食物成分表》收集附件中所有主要成分物质中蛋白质、脂肪、碳水化合物、膳食纤维、酒精(乙醇)钙、铁、锌、维生素A、维生素B1/硫胺素、维生素B2/核黄素、维生素C 每种食物中每克蛋白质所含的必需氨基酸含量(mg/g蛋白质)异亮氨酸、亮氨酸、赖氨酸、含硫氨基酸、芳香族氨基酸、苏氨酸、色氨酸、缬氨酸 的具体含量相关数据。对于数据,还需要进行数据清洗,即利用KS检验判定分布方式,对于正态分布的数据使用3西格玛原则判定异常值,对于非正态分布的数据使用箱型图判定异常值。对于异常值进行剔除处理,因为剔除而导致的缺失值、数据本身的缺失值使用线性插值进行填充。利用数据清洗后的数据集,绘制可视化结果进行收集数据的描述。
针对问题一,膳食食谱的营养分析评价及调整。利用上述数据构建进行评价,首先根据收集到的61种主要成分按类别将食谱中食物归类排序,列出每种食物的数量,分析五大类别食物是否齐全,食物种类是否大于12种。根据处理后的数据结合学生食谱对主要营养素含量、食谱提供的能量、每餐的蛋白质氨基酸评分、餐次比及非产能主要营养素含量进行计算。并对结果进行可视化展示,利用结果进行分析食谱存在问题,根据存在问题进行微小调整
针对问题二,基于日食谱的优化设计。首先以蛋白质氨基酸评分最大为目标建立优化模型,我们以男生为例进行说明,决策变量x:每个键是食物名称,每个值是相应的决策变量,表示选择该食物的份数。将每餐和总日能量需求、宏量营养素比例、微量营养素的最低摄入量、食物种类和类别的多样性、餐次比需求、食物购买次数作为约束条件,为了提高求解效率,引入差分进化进行求解。对于以用餐费用最经济为目标建立优化模型,以最小化总费用作为目标函数,引入与上一问相同的优化模型进行求解,最终得到只需要31元就可以满足需求。最终,将蛋白质氨基酸评分以及餐费用经济进行加权,构建多目标优化模型进行求解。
针对问题三,以蛋白质氨基酸评分最大、用餐费用最经济、兼顾蛋白质氨基酸评分及经济性为目标,建立优化模型。决策变量表示每天每种食物的份数,每种食物每天购买次数、总能量约束在±10%之内、蛋白质、脂肪、碳水化合物比例约束、微量营养素约束、餐次比约束等作为约束条件,引入粒子群算法进行求解。
此外,本文还扩展到周食谱的设计,考虑了日常营养需求和经济性的平衡。通过模型优化结果,本研究识别了大学生饮食结构中的问题,并提出了针对性的改进建议,如多样化食物选择和规律用餐,以促进学生健康。
关键词:膳食优化,营养评价,数据分析,经济模型,健康饮食
- 模型的建立与求解
5.1 数据预处理
5.1.1 数据收集
我们利用中国食物成分表,以及题目中出现的61种食物。对这61种食物的对应的物质中蛋白质、脂肪、碳水化合物、膳食纤维、酒精(乙醇)钙、铁、锌、维生素A、维生素B1/硫胺素、维生素B2/核黄素、维生素C 每种食物中每克蛋白质所含的必需氨基酸含量(mg/g蛋白质)异亮氨酸、亮氨酸、赖氨酸、含硫氨基酸、芳香族氨基酸、苏氨酸、色氨酸、缬氨酸 的具体含量进行收据,得到结果如下所示
图1:中国食物成品表
表1:收集部分数据
食物 | 蛋白质 (g) | 碳水化合物 (g) | 膳食纤维 (g) | 脂肪 (g) |
白菜 | 1.2 | 2.2 | 0.5 | 0.2 |
扁豆 | 22.3 | 60.1 | 4.8 | 1.1 |
菠菜 | 2.9 | 3.6 | 2.6 | 0.4 |
橙 | 0.9 | 11.8 | 2.4 | 0.2 |
带鱼 | 18.8 | 0.1 | 0 | 9.7 |
稻米 | 7.4 | 76.9 | 0.7 | 0.9 |
地瓜 | 1.2 | 27.9 | 1.3 | 0.2 |
豆腐 | 8.1 | 2 | 0.3 | 4.1 |
豆芽 | 1.3 | 4.6 | 1.3 | 0.1 |
豆油 | 0 | 0 | 0 | 100 |
粉条 | 0.2 | 84.7 | 0 | 0 |
干豆腐 | 17.1 | 7.2 | 0.3 | 4.8 |
海带 | 1.7 | 8.6 | 3 | 0.2 |
胡萝卜 | 0.6 | 8.2 | 2 | 0.2 |
花生米 | 24.8 | 12 | 5.3 | 49.4 |
黄豆 | 36.3 | 23.5 | 11.2 | 16 |
首先将数据预处理后的数据集导入python,从Excel文件中读取数据,删除了不需要的行,并重新设置了数据列的名称。
对题目出现的61种成分进行了为每种食物添加了类别信息,以便后续统计分析。具体分类如下所示
表1:分类表
类别 | 具体内容 |
蔬菜、菌藻、水果类, | 白菜 扁豆 菠菜 橙 豆芽 海带 胡萝卜 黄瓜 韭菜 卷心菜 萝卜 蜜瓜 木耳 南瓜 苹果 葡萄 茄子 芹菜 青椒 酸菜 蒜台 西瓜 西红柿 香菇 香蕉 杏鲍菇 洋葱 油菜 柚子 紫菜 |
畜、禽、鱼、蛋类及制品, | 带鱼 黄花鱼 火腿肠 鸡蛋 鸡肉 明太鱼 牛肉 茄汁沙丁鱼 五花猪肉 鱼丸 炸鸡块 猪排骨 猪肉 猪肉瘦 |
谷、薯类 | 稻米 地瓜 粉条 荞麦面 土豆 小麦粉 小米 玉米面 |
奶、干豆、坚果、种子类及制品 | 豆腐 干豆腐 花生米 黄豆 牛奶 酸奶 |
图1:分类图
首先,从Excel文件中读取食堂的一日三餐食物信息,并跳过第一行(因为第一行包含表头信息)。
- 同时,从另一个Excel文件中读取所有食物的营养成分数据。
- 为食堂数据设置适当的列名,分别是序号、食物名称、主要成分、食物编码、可食部(克/份)、价格(元/份)和是否可半份。
- 为营养成分数据设置适当的列名,这些列名包括主要成分、蛋白质、脂肪、碳水化合物、膳食纤维、酒精、钙、铁、锌、维生素A、维生素B1、维生素B2、维生素C以及各类氨基酸含量。
- 删除食堂数据中的“食物编码”列,因为它在后续计算中不需要。
- 将食堂数据中的“可食部(克/份)”列转换为数值类型,确保数据在计算时能够正确处理。
- 将清洗后的食堂数据和营养成分数据根据“主要成分”列进行合并。这一步确保每种食物的营养成分信息与其在食堂中的信息相对应。
计算每种食物的具体营养成分:
- 对于每个营养成分(如蛋白质、脂肪、碳水化合物等),根据其在每100克中的含量和食堂数据中提供的“可食部(克/份)”,计算每份食物中实际的营养成分量。具体来说,将每100克的营养成分含量乘以对应的可食部(克/份)并除以100,得到每份食物的营养成分量。
- 将合并并计算好的数据保存到一个新的Excel文件中,最终部分表格文件如下所示
化后具体数据结果如下所示
表1:结果可视化
类别 | 每日总摄入量: |
植物油类 8 | 蛋白质 (g/100g) 93.6775 |
蔬菜、菌藻、水果类 6 | 脂肪 (g/100g) 115.6250 |
畜、禽、鱼、蛋类及制品 5 | 碳水化合物 (g/100g) 322.8300 |
谷、薯类 4 | 膳食纤维(g/100g) 34.9900 |
奶、干豆、坚果、种子类及制品 2 | 钙 (mg/100g) 616.2000 |
Name: count, dtype: int64 | 铁 (mg/100g) 24.6650 |
是否包含所有五大类食物: True | 锌 (mg/100g) 11.7750 |
食物种类总数: 16 | 维生素A (µg/100g) 461.4000 |
必需氨基酸评分(AAS): | 维生素B1 (mg/100g) 1.8085 |
异亮氨酸: 71.32262282832056 | 维生素B2 (mg/100g) 1.3935 |
亮氨酸: 70.62208107603212 | 维生素C (mg/100g) 19.4000 |
赖氨酸: 68.09552114241073 | dtype: float64 |
含硫氨基酸: 47.93558447103855 | 蛋白质能量: 374.71000000000004 kcal |
芳香族氨基酸: 60.373889140935646 | 脂肪能量: 1040.625 kcal |
苏氨酸: 60.97568786528247 | 碳水化合物能量: 1291.32 kcal |
色氨酸: 74.25742574257426 | 总能量: 2706.6549999999997 kcal |
缬氨酸: 62.56134077019561 | 蛋白质能量占比: 13.84% |
第一限制氨基酸: 含硫氨基酸 | 脂肪能量占比: 38.45% |
第一限制氨基酸评分: 47.93558447103855 | 碳水化合物能量占比: 47.71% |
这篇关于2024年电工杯B题论文首发+问题一论文代码分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!