您好, 访客   登录/注册

改进多目标粒子群优化算法在营养配餐中应用

来源:用户上传      作者:

  摘 要:营养配餐计算模型为多目标模型,求解过程复杂,笔者利用改进过的多目标粒子群算法优化后,再根据配餐用户的偏好信息进行优化,摆脱了传统多目标优化的权重系数的影响,使得营养配餐计算模型能够满足各类人群的差异化、特殊化。最后,笔者以一日营养量为目标进行实际配餐,实验证明,配餐结果令人满意。
  关键词:多目标优化;多目标粒子群算法;营养配餐计算模型
  中图分类号:O224;TP392 文献标志码:A 文章编号:1671-7953(2009)02-0083-04
  
  随着我国经济的发展和社会的进步,人民生活水平逐步提高,人们的饮食已经由温饱型转向营养型。而且不同类的人群对营养的需求不同,这就要求我们要满足各类人群饮食的差异化、特殊化。例如糖尿病人需要控制糖的摄入量,肥胖人要控制热量的需求量,老人要优先补充维生素等。此外,在满足营养需求的基础上,某人想多食用他喜欢的某种或某类食物等。为了满足各类人群的多方面的需要,根据各类人群的偏好信息,笔者设计了灵活的营养配餐计算模型。利用多目标粒子群算法得到一组满足各类人群基本营养需求的配餐数据,再根据各类人群的偏好信息,选择出适合此类人群的一个配餐数据,尽量使完全不同类人群营养配餐结果不同。
  
  1 多目标优化粒子群算法
  
  1.1 多目标优化的基本概念
  单目标优化问题通常可表述为下面的形式[1]:
  
  其中x∈Rn是带有n个决策变量的向量,f(x)是目标函数,gi(x)是m个不等式约束函数,由它们形成了可行解区域。
  1.2 粒子群算法
  粒子群算法是一种新的进化计算技术,由Kennedy和Eberhart提出[2]。主要是通过每个粒子当前的状态和在飞行过程中所经历过的最好位置,以及整个群体所经历过的最好位置来计算粒子下一步运动的方向和速度。其速度和位置的更新公式如下:
  
  1.3 多目标粒子群优化算法
  虽然粒子群优化算法在许多单目标优化问题中的成功应用,说明了PSO(Particle Swarm optimization)算法的有效性,但是粒子群优化算法还不能直接应用于多目标优化问题。为了实现多目标粒子群算法,一些研究者提出了他们的改进方案,例如Parsopoulos和Vrahatis提出了一种目标聚合的多目标粒子群算法[3];Ray和Liew提出了模拟真实群体行为的多目标粒子群算法[4];Coello和Leehuga提出了一种基于网格的多目标粒子群算法(Multiple ObjectiveParticle Swarm optimization,MOPSO)[5];Sierra和CoeUo 提出一种新的基于Pareto支配关系的多目标粒子群算法[6]等。也提出了很好的解决办法,都有自己独特的方法或特点,但是从他们的发表的论文中我们可以发现它们都存在着一个共同的缺点,这些算法的分布性和收敛性还有待进一步提高。
  
  2 改进的多目标粒子群算法
  
  改进的多目标粒子群算法基于Pareto支配关系构造非支配解集合,采用外部集保存当前找到的非支配解集,将 支配概念用于更新外部集合,使算法能保持较好的分布性,通过引入半可行域的概念设计选择算子对约束条件进行处理以增加求解精度,应用拥挤制度和禁忌算法来改进全局极值和个体极值的选取方法避免陷入局部非劣最优解,并且提出了随机选择策略分组法这个构造非支配集构造方法加快算法运行效率。改进的多目标粒子群算法的主要流程如下:
  1)初始化粒子群,种群大小为N:
  For i-1 To N
  (a)Pop[i]的初始位置随机产生;
  (b)V[i]=0;(v[i]是粒子i的速度);
  (c)Pbest[i]初始化为粒子i本身;(Pbest[i]保存粒子i的个体极值)
  (d)Gbest[i]初始化为粒子i本身;(Gbest[i]保存粒子i的全局极值)
  2)应用选择算子,得到足够多的有利个体;
  3)对粒子群中每个粒子按公式(7)更新其速度,按公式(8)更新其位置:在公式(7)中,常数cl和c2控制个体极值和全局极值对粒子更新的影响程度,参数W称为惯性权重,r1和r2是[0,…,1]之间的随机数。
  
  4)计算每个粒子的适应度函数值;
  5)求非支配集:用随机选择策略分组法找出种群中的非支配粒子进入非支配解集;
  6)更新个体极值,(在这里使用支配概念。对每个粒子,若粒子i的当前位置支配其个体极值位置,则更新其个体极值;若两者为非支配关系,当两者均在可行域或半可行域时,随机选取个体极值;当两者一个在可行域另一个在半可行域或一个在半可行域另一个在非可行域时,选取前者;当两者均在非可行域时,求其d,d小者为个体极值);
  7)更新外部集,将群体的非支配集按ε支配关系插入外部集;
  8)更新全局极值,利用拥挤机制和禁忌算法在外部集中随机选择一粒子作为粒子i的全局极值;
  9)按公式对粒子进行迭代,转至(2)直至满足中止条件退出。
  外部集保存的就是算法每代运行的最好结果,在算法迭代运算完成后,外部集中的所有粒子就是算法最后得到的结果。
  
  3 改进多目标粒子群优化算法在营养配餐计算模型中应用
  
  3.1 一日营养配餐模型
  首先,确定目标约束方程
  设有n种食物,每种食物有13项营养成分;热量、蛋白质、脂肪、钙、铁、锌、硒、视黄醇、维生素E、硫胺素、核黄素、烟酸、维生素C。
  1)约束系数矩阵A:
  
  3.2 营养配餐计算模型应用实例及结果分析
  3.2.1 营养配餐计算模型应用实例
  笔者应用一日营养配餐计算模型进行实际配餐,具体如下:营养配餐期望输出量如表1所示。
  
   根据《食物成分表》(人民卫生出版社1991年出版)进行营养配餐,在无偏好信息下实际输出结果,需要229.87 (g)馒头,550.81(g)米饭,215.57(g)烙饼,56.02(g)菠菜,171.28(g)土豆,96.98(g)肉鸡,51.6l(g)鸡蛋粉的营养成分含量。营养配餐期望输出量与实际输出量对比如表2所示。
  
  3.2.2 结果分析
  (1)由表2可以看出,除硫胺素、核黄素外,营养配餐的总体误差非常小,平均误差为7.53%,其结果可信度高。
  (2)误差分析:在配餐过程中,由于硫胺素、核黄素基数很小,而实际配餐差额并不大,由于基数小,在计算过程中四舍五入影响计算精度造成。
  以上数据是在无偏好信息下得到,如果有偏好信息的加入,笔者也做了实验,需要优先满足了偏好信息,增加了一个决策量,导致误差额比无偏好信息时略大,但都在允许的范围内,因此认为得到的实验数据是可行的,有效的,是符合实际应用的。与此类似,可以选择任意一种食物作为偏好信息进行决策求解,使偏好的食物的食物量最多和最少,在满足基本营养摄入的基础上,满足不同人对食物口味的需求。使配餐结果更加的人性化,多样化,满足不同人群的多样需求。以此为基础,也可选择任意两种和两种以上食物作为偏好信息进行决策求解。总体而言,配餐结果令人满意,实用性较强。
  
  4 结论
  
  笔者的营养配餐计算模型为多目标模型,实际求解过程复杂,笔者将多目标粒子群算法应用于求多目标线性规划的最优解来解决。使得营养配餐计算模型能够满足各类人群的差异化、特殊化。此外,为了满足各类人群的多方面的需要,根据各类人群的偏好信息,通过该模型的实践证明得到较好的效果。
  
  参考文献
  [1] 谢 涛,陈火旺,康立山.多目标优化的演化算法[J].计算机学报, 2003,26(8):997-1003.
  [2] SHEN Y R.Far-infrared generation by optical mixing[J].Progress in Quantum lectronics,2000,4(3):207-232.
  [3] PARSONPOULOS K.E.,VRAHATIS M.N.Particle Swarm Optimization Method in Multiobjective Problems[C].Proceeding sof the 2002 ACM Symposium on Applied Computing(SAC 202)[S.1],2002:603-607.
  [4] RAY T.LIEW K.M. A swarm metaphor for multiobjective design optimization[J].Eng,2002,34(2):141-153.
  [5] COELLO C.A.LECHUGA M.S.MOPSO:A proposal for multiobjective particle swarm optimization[C].Proceedings of the IEEE congress on Evolutionary Computation(CEC 2002),Honolulu,Hawii,USA,2002.
  [6] M.R.SIERRA,COELLO.C.,Improving PSO-Based Multi-objective 0ptimization Using Crowding,Mutation and e-Dominance[C].Third International Conference,EMO 2005,Springer.Lecture Notes in computer Science ,Guanajuato,Mexico,2005,3410(3):505-519.
  [7] 王小刚,李明杰,王福利等. 一种新的多目标粒子群算法的研究与应用[J].东北大学学报,2008,29(10):1377-1378.

转载注明来源:https://www.xzbu.com/8/view-9179898.htm