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

相关文章

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja