当前位置: 首页 > 专利查询>吉林大学专利>正文

一种基于多目标进化的饮食搭配方法组成比例

技术编号:38812456 阅读:11 留言:0更新日期:2023-09-15 19:51
本发明专利技术公开了一种基于多目标进化的饮食搭配方法,包括:获取多种食物的营养成分含量,并对每种食物赋予不同的ID,并按照食物种类将所述多种食物的ID分别放入不同的食物数据库中;确定饮食搭配方案结构,依据所述饮食搭配方案结构从所述食物数据库中选取食物组合成多个饮食搭配方案,作为第一饮食搭配方案解集;将所述第一饮食搭配方案解集中的所有等价解视为一个解,压缩所述第一饮食搭配方案解集的规模,得到第二饮食搭配方案解集;设定优化目标函数,从所述第二饮食搭配方案解集中随机选取N个搭配方案作为初始种群,根据所述优化目标函数对所述初始种群进行优化,得到优化种群;在所述优化种群中选取多个解,作为推荐饮食搭配方案。食搭配方案。食搭配方案。

【技术实现步骤摘要】
一种基于多目标进化的饮食搭配方法


[0001]本专利技术属于饮食营养搭配
,特别涉及一种基于多目标进化的饮食搭配方法。

技术介绍

[0002]近年来,随着物质水平的提高与日渐丰富的食物种类出现,由不健康饮食导致的肥胖和超重已经成为了一个主要的公共卫生问题。有研究表明,饮食管理是很多疾病的关键防治手段。基于保持健康以及控制疾病的需求,人们已经日渐意识到饮食搭配与管理的重要性。如果餐厅能为用户提供满足其特定营养健康需求的饮食搭配,将很大程度提升用户体验,对于商家而言也可以增加其竞争力与用户粘性。
[0003]目前针对饮食搭配问题,存在基于NSGA

II算法的解决方案。但是对于饮食搭配问题,饮食搭配目的不同,目标函数也会有所不同,且随着搭配目标细化,目标函数个数也将大幅增加。当目标函数过多时,会出现很多非支配解。非支配解增加会导致Pareto最优解的选择压力降低,难以有效逼近Pareto前沿。非支配解增多还可能导致多样性评估计算代价增加。

技术实现思路

[0004]本专利技术公开了一种个性化饮食搭配方法,本专利技术的目的是能够根据用户营养需求为其进行饮食搭配,并且提高饮食搭配的搜索效率。
[0005]本专利技术还通过采用Pareto和R支配的多目标进化算法,利用R支配辅助基于Pareto的快速非支配排序,增加选择压力,识别大量非支配解中的较优解;同时仅对于Pareto秩和R秩相同的解才计算拥挤距离,能够减小计算代价,进一步提高饮食搭配的搜索效率。
[0006]本专利技术提供的技术方案为:
[0007]一种基于多目标进化的饮食搭配方法,包括:
[0008]获取多种食物的营养成分含量,并对每种食物赋予不同的ID,并按照食物种类将所述多种食物的ID分别放入不同的食物数据库中;
[0009]确定饮食搭配方案结构,依据所述饮食搭配方案结构从所述食物数据库中选取食物组合成多个饮食搭配方案,作为第一饮食搭配方案解集;
[0010]将所述第一饮食搭配方案解集中的所有等价解视为一个解,压缩所述第一饮食搭配方案解集的规模,得到第二饮食搭配方案解集;
[0011]设定优化目标函数,从所述第二饮食搭配方案解集中随机选取N个搭配方案作为初始种群,根据所述优化目标函数对所述初始种群进行优化,得到优化种群;
[0012]其中,所述优化目标函数为:
[0013][0014]式中,P表示饮食搭配方案,R表示饮食搭配方案结构,D表示食物数据库,min c(P,
R,D)表示搭配方案P在当前饮食搭配方案结构和食物数据库下的最小代价开销,r表示饮食搭配方案中的食物编号;
[0015]在所述优化种群中选取多个解,作为推荐饮食搭配方案。
[0016]优选的是,对所述初始种群进行优化,得到优化种群,包括如下步骤:
[0017]步骤一、将所述初始种群作为父代种群,所述父代种群通过交叉、变异的遗传操作,得到子代种群;将所述子代种群与父代种群合并作为临时种群;
[0018]步骤二、确定所述临时种群中每个解的Pareto支配解的个数,对所述临时种群中的解进行分层,得到多个层;
[0019]其中,Pareto支配解个数相同的解划分为同一层;
[0020]按照Pareto支配解个数由少到多的顺序对所述多个层进行排序;
[0021]步骤三、确定每个解的R支配解的个数,并按R支配解的个数由少到多进行对同层中的解进行排序;
[0022]其中,如果同层中的多个解的R支配解的个数相同,则对R支配解的个数相同的多个解按拥挤距离从大到小的顺序进行排列;
[0023]步骤四、选取完成排序的临时种群中的前N个解作为新种群;
[0024]以所述新种群作为父代种群,多次重复进行步骤一至步骤四,对种群进行迭代更新,直到达到设定的迭代次数,将最后一次迭代得到的新种群作为优化种群。
[0025]优选的是,选取所述优化种群排序靠前的多个解作为推荐饮食搭配方案。
[0026]优选的是,所述食物的营养成分含量包括:碳水化合物、脂肪、蛋白质和能量。
[0027]优选的是,所述饮食搭配方案结构为:
[0028]R=(r1,...,r
a
,r
a+1
,...,r
b
,r
b+1
,...,r
c
);
[0029]其中,r1~ra表示早餐中食物编号,ra+1~rb表示午餐中食物编号,rb+1~rc表示晚餐中食物编号。
[0030]优选的是,所述食物数据库D=(D1,D2,D3);
[0031]其中,D1表示菜品数据库,D2表示主食数据库,D3表示果蔬数据库。
[0032]优选的是,在对所述父代种群进行遗传操作的过程中,基因交叉与基于基因变异的更新方法交替执行。
[0033]优选的是,基因交叉的概率设置为0.6,基因变异的概率设置为0.8。
[0034]优选的是,在所述基因变异中,对于解x随机选定一个变异点,对该变异点的值进行随机替换,生成解x

;通过Pareto支配规则和R支配规则判断解x

与解x相比是否得到优化;
[0035]其中,如果根据Pareto支配规则解x

支配解x或根据R支配规则解x

支配解x,则将解x

保留;否则再次对解x进行变异,直至解x得到优化或者达到最大尝试次数。
[0036]本专利技术的有益效果是:
[0037]本专利技术提供的基于多目标进化的饮食搭配方法,能够根据用户营养需求为其进行饮食搭配,并且提高饮食搭配的搜索效率。
[0038]本专利技术通过采用Pareto和R支配的多目标进化算法,利用R支配辅助基于Pareto的快速非支配排序,增加选择压力,识别大量非支配解中的较优解;同时仅对于Pareto秩和R秩相同的解才计算拥挤距离,能够减小计算代价,进一步提高饮食搭配的搜索效率。
附图说明
[0039]图1为本专利技术所述的同质食物假设下饮食搭配策略示意图。
[0040]图2为本专利技术所述的基于多目标进化的饮食搭配方法的流程图。
[0041]图3为本专利技术所述的拥挤距离示意图。
[0042]图4为本专利技术所述的分段基因交叉示意图。
[0043]图5为本专利技术试验例中三维优化目标的运行结果示意图。
[0044]图6为本专利技术试验例中四维优化目标的运行结果示意图。
[0045]图7为本专利技术试验例中五维优化目标的运行结果示意图。
[0046]图8为本专利技术试验例中六维优化目标的运行结果示意图。
[0047]图9为本专利技术试验例中三种算法在不同维度目标函数下的GD指标对比图。
[0048]图10为本专利技术试验例中三种算法在不同维度目标函数下的Spacing指标对比图。
具体实施方式
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多目标进化的饮食搭配方法,其特征在于,包括:获取多种食物的营养成分含量,并对每种食物赋予不同的ID,并按照食物种类将所述多种食物的ID分别放入不同的食物数据库中;确定饮食搭配方案结构,依据所述饮食搭配方案结构从所述食物数据库中选取食物组合成多个饮食搭配方案,作为第一饮食搭配方案解集;将所述第一饮食搭配方案解集中的所有等价解视为一个解,压缩所述第一饮食搭配方案解集的规模,得到第二饮食搭配方案解集;设定优化目标函数,从所述第二饮食搭配方案解集中随机选取N个搭配方案作为初始种群,根据所述优化目标函数对所述初始种群进行优化,得到优化种群;其中,所述优化目标函数为:式中,P表示饮食搭配方案,R表示饮食搭配方案结构,D表示食物数据库,min c(P,R,D)表示搭配方案P在当前饮食搭配方案结构和食物数据库下的最小代价开销,r表示饮食搭配方案中的食物编号;在所述优化种群中选取多个解,作为推荐饮食搭配方案。2.根据权利要求1所述的基于多目标进化的饮食搭配方法,其特征在于,对所述初始种群进行优化,得到优化种群,包括如下步骤:步骤一、将所述初始种群作为父代种群,所述父代种群通过交叉、变异的遗传操作,得到子代种群;将所述子代种群与父代种群合并作为临时种群;步骤二、确定所述临时种群中每个解的Pareto支配解的个数,对所述临时种群中的解进行分层,得到多个层;其中,Pareto支配解个数相同的解划分为同一层;按照Pareto支配解个数由少到多的顺序对所述多个层进行排序;步骤三、确定每个解的R支配解的个数,并按R支配解的个数由少到多进行对同层中的解进行排序;其中,如果同层中的多个解的R支配解的个数相同,则对R支配解的个数相同的多个解按拥挤距离从大到小的顺序进行排列;步骤四、选取完成排序的临时种群中的前N个解作为新种群;以所述新种群作为父代种群,多次重复进行步骤一至步骤四,对种群进行迭代更新,直到达到设定的迭代次数,将最后一次迭代...

【专利技术属性】
技术研发人员:白洪涛张婷婷欧阳丹彤孙成林何丽莉曹英晖
申请(专利权)人:吉林大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1