学生智能营养配餐系统作品创作说明.docx

上传人:b****7 文档编号:25458064 上传时间:2023-06-08 格式:DOCX 页数:13 大小:81.72KB
下载 相关 举报
学生智能营养配餐系统作品创作说明.docx_第1页
第1页 / 共13页
学生智能营养配餐系统作品创作说明.docx_第2页
第2页 / 共13页
学生智能营养配餐系统作品创作说明.docx_第3页
第3页 / 共13页
学生智能营养配餐系统作品创作说明.docx_第4页
第4页 / 共13页
学生智能营养配餐系统作品创作说明.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

学生智能营养配餐系统作品创作说明.docx

《学生智能营养配餐系统作品创作说明.docx》由会员分享,可在线阅读,更多相关《学生智能营养配餐系统作品创作说明.docx(13页珍藏版)》请在冰豆网上搜索。

学生智能营养配餐系统作品创作说明.docx

学生智能营养配餐系统作品创作说明

 

学生智能营养配餐系统

 

创作说明

 

一、创作思想

1.1背景

美国在上世纪60年代起,将每年进行一次的“总膳食研究”列入国家计划。

这种被称为“市场菜篮子法”的系统研究,通过对美国市场销售的食品进行营养素监测,估计各类人群营养素摄入量,并制定相应的营养政策及改善措施,从而有效地改善了居民健康。

营养配餐决策支持在国外十分普遍,但在国内却尚未引起人们重视。

国内的关于营养保健决策支持研究也刚刚起步。

比较早的是有北方工业大学和北京营养研究所1991年研制的“大学生营养配餐电脑系统”,并收到较好的效果。

四川一研究所研制的“卫生导餐系统”与1997年在湖北通过了国家级鉴定。

该系统根据用户输入的情况,如身体不适的部位、年龄、性别等输出对应的食谱。

另外,近些年“婴幼儿营养配餐系统”悄然兴起,生产婴幼儿食品的厂家都不同程度的依靠这些系统来做产品分析。

国外在营养配餐和计算机进行营养配餐方面领先于我国,而且趋向于方便,实用,小型化的硬件产品。

配餐方面主要是单机软件的查询,由中国疾病预防控制中心营养与食品安全所与北京飞华通信技术有限公司合作开发的面向大众的最新权威营养指导软件,是国家科技部研究项目"中国食物品质及营养参数的研究"和北京市自然科学基金资助课题"北京市食物成分数据库的研究与建立"的重要成果。

至于实现WEB查询,主要是实现了一些营养素查询和人体营养素需求查询,对于合理的营养配餐系统,国内还没有一个比较好的系统实现膳食营养决策支持的功能。

科学合理的配餐是关系到人们身体健康和社会发展的重大问题。

现如今,我国的食物生产得到了较快的发展,人们的膳食结构也有了很好的改善。

但在一些贫困地区,某些营养缺乏病还不少见;而在一些较富裕地区,某些营养过剩的慢性病正日益增长。

如何引导人们的合理饮食,促进健康是社会向我们提出的一个必须解决和紧迫的任务。

在国外,基本上每十个人都有一个营养师,而在国内营养师尚属新兴的职业,营养师的数量不能满足人们的需求。

我国当下高中生升学压力大,学习紧张。

每当考试或体育课后,总会感觉身心疲惫、食欲不佳,而学校食堂基本是变化不大的几个菜,大部分学校没有配备专门的营养师,我想如果根据学生自身发展状况和活动量、学习紧张程度配备符合自己的营养膳食,再根据食品中各种营养物质的含量,设计一天、一周或一个月的食谱,使人体摄入的蛋白质、脂肪、碳水化合物、维生素和矿物质等几大营养素比例合理,即达到均衡膳食。

利用计算机辅助人体营养保健,进行决策,可以充分发挥计算机的优势,减轻营养配餐中大量的计算工作和查表工作,迅速、准确地得到配餐结果,优化膳食结构。

1.2目的

营养保健,就是按人们身体的需要,根据食品中各种营养物质的含量,设计一天、一周或一个月的食谱,使人体摄入的蛋白质、脂肪、碳水化合物、维生素和矿物质等几大营养素比例合理,即达到均衡膳食。

开发学生智能营养配餐系统的目的,就是想利用强大的计算机工具来代替传统的解决营养配餐的反复复杂的手工配餐方式,同时采用智能技术解决手工配餐很难达到均衡膳食的这样一种缺陷,进而快速,准确地为在校学生提供更为合理和理想的食谱和营养配方,为学生的日常膳食提供一种决策支持。

学生智能营养配餐系统基于遗传算法,主要涉及学生营养配餐问题。

系统的开发综合数据库技术,.net技术,运用智能多目标遗传算法,同时参考中国居民膳食指南和平衡膳食宝塔及中国居民膳食营养标准,针对学生营养保健需求,方便、智能地为学生进行配餐。

1.3意义

随着我国经济的发展,人民生活水平的提高,人们越来越注意吃的质量问题,饮食结构正在由温饱型向营养型转变。

人们不但要吃饱而且要吃好。

也就是吃要讲科学,讲营养。

因此,我们根据学生的需要,结合适量的营养成分和不同年龄段学生的膳食营养标准,来进行营养配餐,以保证学生的身心健康,防止营养过剩和营养缺乏症的发生。

这里所讲的营养配餐,也即营养膳食决策支持,也就是按照人们身体的需要,根据食品中各种营养物质的含量,设计一天、一周或一个月的食谱,使人体摄入的能量、蛋白质、脂肪、碳水化合物、维生素E等几大营养素比例合理,即达到均衡膳食。

简单讲,就是要求配餐结构多种多样,谷、肉、果、菜无所不备。

营养配餐在国外已十分普遍,但在国内却尚未引起人们的重视。

众所周知,我国经济发展的很快,人民越来越注意吃的“质量”问题。

从以前我国居民的饮食结构来看:

我国城乡居民人均谷类和薯类的消费量占很大比例,人们的食物大都以粮食类为主。

可是近年来,肉,蛋,奶和水产品的消费出现了明显的增加,人们的膳食结构也有了很好的改善。

但在一些贫困地区,某些营养缺乏病还不少见;而在一些较富裕地区,某些营养过剩的慢性病正日益增长。

如何引导学生的合理饮食,促进健康是社会向我们提出的一个必须解决和紧迫的任务。

新世纪以来,人们开始认识到营养保健的重要性,开始注意食品的质量,并且一部分上层家庭也开始向保健医生进行咨询。

但随着我国经济进一步飞速的发展,进入中上层收入的家庭快速的增多,保健医生的数量已远远不够,再加上保健收费很高,中低层收入的家庭无法花大量的金钱在保健上,因此开发一种营养保健软件具有重要意义。

用计算机辅助人体营养保健,进行决策,可以充任发挥计算机的优势,减轻营养配餐中大量的计算工作可查表工作,迅速地得到配餐结果,优化膳食结构。

从应用上来看,这将有助于营养知识的普及达到促进人们合理饮食、平衡膳食的目的同时也具有巨大的经济效益和社会效益。

二、创作过程

2.1技术

本系统是在VisualStudio2005集成开发环境下开发的,所以这里主要用到的就是.net相关技术。

本系统开发过程中最大的特点就是利用遗传算法,在营养和自己喜爱的食物之间寻求一个平衡点,在这里主要介绍一下ADO.NET技术和数据库连接池技术,另外介绍一下自己改进的一种MD5加密算法(本系统中,该算法运用于用户注册部分)。

其他主要就是简单的.net控件编程,这里不在赘述。

1、ADO.NET技术。

ADO.NET是一种程序访问数据库的接口,利用它里面的DataSet,SqlConnection,SqlCommand,SqlAdapter(还有相对应的Oledb)可以对数据库中的数据进行相关操作,比如查询删除更新等。

本系统使用ACCESS数据库,所以主要用到数据库操作对象包括:

OledbConnection,OledbCommand,OledbDataReader,DataSet。

并在系统的开发工程中充分利用了面向对象的开发思想,创建统一的数据库操作类DB.CS,减少数据库连接,提高代码复用。

2、数据库连接池技术

数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。

对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。

数据库连接池正是针对这个问题提出来的。

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。

这项技术能明显提高对数据库操作的性能。

数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。

无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。

连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。

本系统一方面对数据的操作频繁,另一方面又采用的是ACCESS数据库(它对数据的处理能力比较有限),所以在开发的过程中运用连接池技术,减轻数据库负担,节省系统资源。

3、MD5算法

在VisualStudio2005中,也即.net集成开发环境中,有自带的MD5算法,当然在本系统中也可以利用开发环境自带的MD5类。

但由于该算法应用普遍,基本原理简单,所以从系统安全性的角度考虑,本人对该算法进行了改进,形成个人风格的算法模式,建立一个实现MD5散列字符串的类,代码如图2-1。

2.2改进的遗传算法及其在配餐系统中的应用

本系统核心部分运用了人工智能的相关算法----遗传算法。

1、遗传算法(GeneticAlgorithm)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它是有美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著《AdaptationinNaturalandArtificialSystems》,GA这个名称才逐渐为人所知,J.Hilland教授所提出的GA通常为简单遗传算法(SGA)。

遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。

每个个体实际上是染色体(chromosome)带有特征的实体。

染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。

因此,在一开始需要实现从表现型到基因型的映射即编码工作。

由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小挑选(selection)个体,并借助于自然遗传学的遗传算子(geneticoperators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。

这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。

遗传算法的流程如图2-2所示。

图2-1一个实现MD5散列字符串的类

图2-2遗传算法流程图

2、本系统核心模块采用的算法是遗传算法的改进型,在基本的遗传选择算法上增加保存最优个体,抑制快速收敛等操作。

目的在于提高算法的性能。

多目标遗传选择算法模块,也就是配餐算法中心,该模块是整个软件的核心部分。

遗传算法(GeneticAlgorithm,简称GA)是通过模拟生物进化过程来完成优化搜索的,该算法是非确定型算法,适合目标函数具有多极值且随机分布的情况,它的计算效率,性能也比较高。

该模块算法的流程图2-3。

3、算法具体描述以及在配餐系统中的应用。

Ⅰ、Pareto定义和营养决策优化问题

在某种意义上,Pareto定义类似于最优化的概念。

事实上,对于那些目标个数少以及每个目标计算代价高的工程设计问题来说,这个定义是贴切的和有用的,但很少适用于许多其他类型问题(尤其是决策问题),在这些问题中目标个数比较多而且每个目标计算代价可能较小。

例如,我们考虑一个有50个目标f1,...,f50(在工程问题不常见,但常见于许多现实的决策问题)的最小化问题,有两个点v1和v2,其中在49个目标中v1好于v2(比如fi(v1)

很显然,任何人都会认为v1好于v2。

不过,根据Pareto定义,它们是绝对等价的。

模糊逻辑工具与多目标优化或多目标决策的结合在很多文献中有大量的相关论述。

通常当通过新的优化战略处理模糊目标函数时,使用模糊优化这个术语;这里我们用模糊优化定义来考虑这个新的目标函数。

这个研究的主要思想就是要把Pareto优化定义扩展,以便使用一些模糊推理工具获取通常意义上对多目标决策问题的最优化概念。

如果我们要解决复杂的超多目标优化问题,我们可以从文献中介绍的最好的进化方法中选择一个,像NSGA-

,SPEA2等,并且希望能快速达到目标。

不过所有这些算法需要在种群中存在支配个体,以便执行对应的遗传操作。

对于较多目标情况,这也许会成为一个问题,因为在种群中有支配个体的概率随着目标维数的增加将迅速变为0。

在一些文献中,提出了对超多目标的pareto支配关系的改进。

其中,发现使用模糊成员支配来表示一个点属于pareto集合的程度(即所谓模糊优化)。

作者设计了一个改进的支配度量,使用了一个在搜索中能更早地达到pareto前端的方法。

这个方法表明在多于3个目标的域中能够成功地工作。

结果表明使用模糊概念是富有成果的,不过这个方法不能提供一个直接的手段用公式来表示对应的EMO算法。

因此,它的局限性是只考虑两点之间的关系。

本系统我们使用模糊融合理论来实现一个更长远的目标。

不仅仅是只介绍两点之间的支配度,而是把一个点集合内的共同支配度结合在一起,并且给集合中的每个点赋予一个排名值。

采用同样方式,这些排名值可以应用到单目标算法中,例如,在一个种群内给个体排名,并且很容易扩展这个标准遗传算法到多个目标。

注意这和把多目标减少到单个目标是不一样的(例如加权求和的方法),这个排名值在一个给定的集合中是固定的,一旦集合变化,其排名值也会变化。

这里已经表明这个方法已经可以操作具有单个Pareto前端的搜索问题。

并且也很容易解决更多个目标的问题。

实际的营养决策优化问题涉及到多个互相竞争目标的同时最优化。

在一个多目标优化问题中,不存在针对所有对象的一个最优解。

通常我们的目标是求一个折中平面,它是由非支配解构成的一个点的集合,即Pareto最优解。

在非支配解集合中,不存在一个绝对比其他解要好的解,它们之中任何一个解都是可行解。

我们需要通过了解优化问题的相关知识以及与问题相关的一些因素从中选择一个解。

Ⅱ、模糊Pareto支配驱动的遗传算法

我们使用模糊排名方法可以很容易把标准遗传算法扩充成多目标的情况。

我们可以使用等式2的支配度给集合M的多变量数据(向量)进行排序,该向量是由多目标优化问题的适应值赋予。

M中的每个元素被赋予被任何其他元素支配度最大值,并且M中的元素按照排名值的升序分类。

注意该定义与一个集合相关。

M集合a的排名值仅仅参考包含a的集合M来赋予它。

对M中的元素按排名值的升序进行分类(FPD排序,FPD即模糊Pareto支配),我们可以得到M中元素的部分排名。

上述讨论导致(FDD模糊支配驱动)FDD-GA算法,即一个遗传算法的变体,它使用模糊适应排名值(在多目标优化情况下代表向量)来定义选择操作。

这个算法和它的组成见图。

FDD-GA维持了四个存放个体的池:

–解集合:

包含了n个个体,即标准GA中的存放解的种群。

–交配池:

包含了被选择的个体对,用来作交叉运算。

–存档集合H:

这个池是由来自其他池的个体组成,由它们(n+1代种群)来取代第n代种群中的个体。

–α-集合:

在这个池中,收集了所有非支配个体。

同时也给出了FDD-GA算法的输出。

在随机初始化种群后,FDD-GA算法迭代重复下列步骤,直到停止标准被满足(种群代数,α-集合的尺寸)。

①按FPD适应值向量顺序对种群排列。

②从排序后的种群中选择最好个体a(具有最低排列值的个体),有条件地把它加到α-集合。

即仅仅当a的适应值不被已经在α-集合中的任何个体支配,并且a的适应值不等于已经在α-集合中任何个体的适应值时,个体a才能加入到α-集合。

③按照FPD排序值,把种群中最好的pn个个体加到存档集合H中(0≤p≤1)

④从种群中采用轮盘赌方法,使用排名值的负对数来选择(1-p)n对个体,把它们加入交配池。

⑤给交配池的个体使用交叉和变异操作,并且把这些最新创建的个体也加到存档集合H。

⑥由存档集合H来取代种群中的个体。

FDD-GA算法最终获得α-集合中的非支配个体。

在进化意义上,这些FDDPareto集合将会接近多目标问题的Pareto前沿。

对于FDD-GA,我们清楚知道,即使维数为20,一个相当小的种群数(10个个体),也能够发现Pareto盒问题的单个最优,并且整个曲线远远地处在随机搜索的曲线之下。

值得注意的是,即使NSGA-II,在运行中直到维数为8时,同样也能发现最优点。

在较低的2-3维的情况,NSGA-II要超过FDD-GA。

Ⅲ、多目标进化算法解决多目标营养决策优化问题

我们用上面研究中描述的多目标进化算法来解决多目标营养决策优化问题。

我们主要搜索发现各种营养目标的Pareo最优集合。

目的就是发现多个目标函数的Pareo最优点,其中第一个营养目标为能量,第二个营养目标为蛋白质,第三个营养目标为钙。

约束条件是设计变量的边界。

在模拟中其他目标的要求被忽略。

营养决策优化的多目标优化数学模型陈述如下:

F=min{F1,F2,F3}=min{abs((e(x)-e0)/e0),abs(p(x)-p0)/p0},abs(c(x)-c0)/c0}}

其中e0,p0,c0分别表示对应个体的能量蛋白质和钙的每天标准摄入量。

e(x),p(x)和c(x)分别表示在配餐为x的情况下能量蛋白质和钙的每天实际摄入量。

求解该问题时涉及到配餐x,它由多种原料或菜组成,原料和菜的数目是可变的,编码的长度也是可变的。

使用NSGA结合对x的有限编码,我们可以得到优化配餐x以及各种目标的实际结果(算法采用轮盘赌选择,其中Pc=0.9,Pm=0.05,Npop=50,Nger=50)。

结果见如下表。

2.3总结

将数据库技术、.net技术、多目标遗传选择算法结合,并依据中国居民膳食指南和平衡膳食宝塔及中国居民膳食营养标准,针对营养保健需求,开发基于遗传算法的学生智能营养配餐系统,给学生提供营养保健、营养膳食的全方位的支持,帮助学生科学、营养、合理地膳食,从而提高学生的健康水平,增强其体质。

本系统主要包括九大个功能模块,其中包括饮食大全,各地风味,家常方案,营养知识,用户管理,数据库管理,已有方案查询,智能配餐,用户注册。

其中最为得意之功能就是智能配餐部分,该功能不仅运用了相关的.net技术,而且引入了人工智能的经典算法,是理论与实践的完美结合,并产生了实际的应用价值。

三、原创部分

系统在设计开发中,基本上采用了软件开发的模式,尽量严格要求按照软件工程定义的软件开发阶段来实现系统的进度。

在系统需求分析中,着重进行系统的功能需求分析及系统的逻辑模型分析。

在系统设计中着重进行了营养配餐模块的设计。

在系统的开发过程中尽量使流程图做到规范化和准确;在代码编写过程中,特别注意软件结构设计的模块化和代码的重用性及可读性。

主要研究成果如下:

1、提出了营养配餐决策的新思路,给出了单机架构系统的体系结构设计,其中,主要应用.net技术。

2、对简单遗传算法加以改进,形成一种多目标遗传算法,成功地解决了传统的手工配餐处理膳食平衡的缺陷,较好地解决了决策支持中的配餐平衡问题。

3、最终实现了一个单机架构的决策支持系统。

从现阶段的测试来看,系统基本可以提供良好的决策支持。

其他创作还包括:

1、营养数据库的组织和建立。

数据库设计与数据的录入也是本系统的关键。

在设计的过程中考虑到以下几个方面的因素:

①数据来源。

本系统的数据主要涉及到两个主要组成部分:

一方面是国家对不同学生年龄段人群的膳食标准,该标准通过互联网可以找到这样的膳食标准表;另一方面是食物类型、具体食物以及各营养元素在该食物中的含量,该部分数据经过本人多方面的收集,以及通过营养师的帮助,共组建几十个食物大类,包含几千条日常食物,可以满足本系统配餐的需要。

②数据库设计。

根据智能算法的要求以及操作的方便,设计出了便于软件开发和系统运行的数据库。

为了用户使用的方便,该软件在不影响数据操作性能的基础上选择ACCESS作为DBMS,也便于达到最终将系统做成绿色软件的目的。

2、根据平衡膳食的营养评价要求以及营养学理论构建营养多目标模型以及营养综合评估模型。

3、数据优化算法模块设计。

四、参考资源

[1]陈国良,王熙法等。

《遗传算法及其应用》人民邮电出版社。

[2]芦金婵,李乃成,王伟东。

基于最佳进化方向的多目标遗传算法计算机工程与应用。

2005,(19)。

[3]芦金婵,李乃成,王伟东。

基于最佳进化方向的多目标遗传算法计算机工程与应用。

2005,(8)。

[4]田小梅,郑金华。

一种有效的基于实数编码的多目标遗传算法湘潭大学自然科学学报。

2005,(8)。

[5]李敏强,寇纪淞,林丹等著。

遗传算法的基本理论与应用科学出版社,2002。

[6](美)內格尔《C#高级编程(第四版)》清华大学出版社2006年。

五、制作用软件及运行环境

开发环境:

VisualStudio2005开发语言:

C#

系统运行环境:

MicrosoftWindows2000以上withMicrosoft.NETFramework2.0

六、报送材料清单

七、其他说明

本配餐系统运行所在操作系统必须具备Microsoft.NETFramework2.0运行环境。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1