2024年电工杯B题论文首发+问题一论文代码分享

2024-05-25 11:04

本文主要是介绍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题论文首发+问题一论文代码分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1001318

相关文章

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

idea npm install很慢问题及解决(nodejs)

《ideanpminstall很慢问题及解决(nodejs)》npm安装速度慢可通过配置国内镜像源(如淘宝)、清理缓存及切换工具解决,建议设置全局镜像(npmconfigsetregistryht... 目录idea npm install很慢(nodejs)配置国内镜像源清理缓存总结idea npm in

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

Vue实现路由守卫的示例代码

《Vue实现路由守卫的示例代码》Vue路由守卫是控制页面导航的钩子函数,主要用于鉴权、数据预加载等场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、概念二、类型三、实战一、概念路由守卫(Navigation Guards)本质上就是 在路