System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于智慧饮食,具体涉及一种基于智慧饮食的用餐动态配餐方法及系统。
技术介绍
1、我国的“智慧饮食”的理念其实在古代就已产生,但主要以经验、习惯等方式存在于民间,并没有形成明确的概念。北魏贾思勰的《齐民要术》详细记载了农业生产、食品属性箭制作等内容,为古代“智慧饮食”的发展奠定了基础,为后世的饮食观念起到了非常好的分钡作用:《黄帝内经》提出“五谷为养,五果为助,五畜为益,五菜为充”的膳食搭配文化。此外,还有粥文化、豆腐文化、素食文化、茶文化、酒文化等,这些都是古人留下来值得世代传承的宝贵遗产。但这此文化中提到的搭配大都没有精准的量化,人们对饮食的搭配也大多是经验主义,往往难以准确掌握食物的摄入量和搭配比例。
技术实现思路
1、为了解决当前饮食搭配大都没有精准的量化,人们对饮食的搭配也大多是经验主义,往往难以准确掌握食物的摄入量和搭配比例的技术问题,本专利技术提供一种基于智慧饮食的用餐动态配餐方法及系统。
2、第一方面
3、本专利技术提供了一种基于智慧饮食的用餐动态配餐方法,包括:
4、s1:获取用餐数据;
5、s2:根据所述用餐数据,通过食物种类划分模型,获得用餐中的食物种类数据;
6、s3:根据用户偏好,通过粒子寻优算法,在每一类所述食物种类数据中确定出最优食物,以进行动态配餐。
7、进一步地,所述s2具体包括:
8、s201:初始化粒子群,所述粒子群包括多个用餐粒子:
9、x
10、
11、其中,x表示用餐粒子,bi表示第i类食物的能量集合,i=1,2,…,m,m表示食物的总类别数,xij表示第i类第j个食物的能量,j=1,2,…,ni,ni表示第i类食物的总数;
12、s202:构建食物种类划分模型的目标函数:
13、minf(x)=(f1(x),f2(x),…,fk(x))
14、其中,f()表示目标函数,fk()表示k维目标空间中的第k个子目标函数;
15、s203:比较各个用餐粒子的目标函数的函数值,确定pareto最优解集;
16、s204:组合所述pareto最优解集与其他解集,生成食物矩阵,并对所述食物矩阵进行解集标记与跨解集标记;
17、s205:通过软负载技术,将相同类型的解集标记与跨解集标记的用餐数据组成食物种类数据,并输出所述食物种类数据。
18、进一步地,所述s3具体包括:
19、s301:根据卡路里得分、营养素得分以及价格得分,构建适应度函数;
20、s302:初始化每一类所述食物种类数据中的粒子群,所述粒子群包括多个用餐粒子:
21、x=(b1,…,bi,…,bm)
22、
23、其中,x表示用餐粒子,bi表示第i类食物的能量集合,i=1,2,…,m,m表示食物的总类别数,xij表示第i类第j个食物的能量,j=1,2,…,ni,ni表示第i类食物的总数;
24、s303:计算每一类所述食物种类数据中的各个用餐粒子的适应度函数值;
25、s304:判断全局最优适应度函数值是否达到最优;若是,输出当前最优用餐粒子,并根据所述当前最优用餐粒子进行动态配餐;否则,进入下一步;
26、s305:判断迭代次数是否达到最大迭代次数;若是,输出当前最优用餐粒子,并根据所述当前最优用餐粒子进行动态配餐;否则,使用混沌扰乱更新用餐粒子,回到s303。
27、进一步地,所述适应度函数具体为:
28、
29、其中,f表示适应度函数,sc表示卡路里得分,sn表示营养素得分,sp表示价格得分。
30、进一步地,所述卡路里得分sc的计算方式为:
31、
32、其中,rc表示卡路里推荐约束量,stc表示卡路里标准参照量;
33、所述营养素得分sn的计算方式为:
34、
35、其中,rn表示营养素推荐约束量,stn表示营养素标准参照量;
36、所述价格得分sp的计算方式为:
37、
38、其中,rp表示价格推荐约束量,stp表示价格标准参照量。
39、第二方面
40、本专利技术提供了一种基于智慧饮食的用餐动态配餐系统,包括:
41、货期模块,用于获取用餐数据;
42、获得模块,用于根据所述用餐数据,通过食物种类划分模型,获得用餐中的食物种类数据;
43、配餐模块,用于根据用户偏好,通过粒子寻优算法,在每一类所述食物种类数据中确定出最优食物,以进行动态配餐。
44、进一步地,所述获得模块具体用于:
45、初始化粒子群,所述粒子群包括多个用餐粒子:
46、x=(b1,…,bi,…,bm)
47、
48、其中,x表示用餐粒子,bi表示第i类食物的能量集合,i=1,2,…,m,m表示食物的总类别数,xij表示第i类第j个食物的能量,j=1,2,…,ni,ni表示第i类食物的总数;
49、构建食物种类划分模型的目标函数:
50、minf(x)=(f1(x),f2(x),…,fk(x))
51、其中,f()表示目标函数,fk()表示k维目标空间中的第k个子目标函数;
52、比较各个用餐粒子的目标函数的函数值,确定pareto最优解集;
53、组合所述pareto最优解集与其他解集,生成食物矩阵,并对所述食物矩阵进行解集标记与跨解集标记;
54、通过软负载技术,将相同类型的解集标记与跨解集标记的用餐数据组成食物种类数据,并输出所述食物种类数据。
55、进一步地,所述配餐模块具体用于:
56、根据卡路里得分、营养素得分以及价格得分,构建适应度函数;
57、初始化每一类所述食物种类数据中的粒子群,所述粒子群包括多个用餐粒子:
58、x=(b1,…,bi,…,bm)
59、
60、其中,x表示用餐粒子,bi表示第i类食物的能量集合,i=1,2,…,m,m表示食物的总类别数,xij表示第i类第j个食物的能量,j=1,2,…,ni,ni表示第i类食物的总数;
61、计算每一类所述食物种类数据中的各个用餐粒子的适应度函数值;
62、判断全局最优适应度函数值是否达到最优;若是,输出当前最优用餐粒子,并根据所述当前最优用餐粒子进行动态配餐;否则,进入下一步;
63、判断迭代次数是否达到最大迭代次数;若是,输出当前最优用餐粒子,并根据所述当前最优用餐粒子进行动态配餐;否则,使用混沌扰乱更新用餐粒子,回到计算各个用餐粒子的适应度函数值的步骤。
64、进一步地,所述适应度函数具体为:本文档来自技高网...
【技术保护点】
1.一种基于智慧饮食的用餐动态配餐方法,其特征在于,包括:
2.根据权利要求1所述的基于智慧饮食的用餐动态配餐方法,其特征在于,所述S2具体包括:
3.根据权利要求1所述的基于智慧饮食的用餐动态配餐方法,其特征在于,所述S3具体包括:
4.根据权利要求3所述的基于智慧饮食的用餐动态配餐方法,其特征在于,所述适应度函数具体为:
5.根据权利要求4所述的基于智慧饮食的用餐动态配餐方法,其特征在于,所述卡路里得分Sc的计算方式为:
6.一种基于智慧饮食的用餐动态配餐系统,其特征在于,包括:
7.根据权利要求6所述的基于智慧饮食的用餐动态配餐系统,其特征在于,所述获得模块具体用于:
8.根据权利要求6所述的基于智慧饮食的用餐动态配餐系统,其特征在于,所述配餐模块具体用于:
9.根据权利要求8所述的基于智慧饮食的用餐动态配餐系统,其特征在于,所述适应度函数具体为:
10.根据权利要求9所述的基于智慧饮食的用餐动态配餐系统,其特征在于,所述卡路里得分Sc的计算方式为:
【技术特征摘要】
1.一种基于智慧饮食的用餐动态配餐方法,其特征在于,包括:
2.根据权利要求1所述的基于智慧饮食的用餐动态配餐方法,其特征在于,所述s2具体包括:
3.根据权利要求1所述的基于智慧饮食的用餐动态配餐方法,其特征在于,所述s3具体包括:
4.根据权利要求3所述的基于智慧饮食的用餐动态配餐方法,其特征在于,所述适应度函数具体为:
5.根据权利要求4所述的基于智慧饮食的用餐动态配餐方法,其特征在于,所述卡路里得分sc的计算方式为:
【专利技术属性】
技术研发人员:高魁鸿,弓钰,李恺,
申请(专利权)人:中电信数智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。