更全的杂志信息网

基于猴群算法求解0-1背包问题①

更新时间:2009-03-28

背包问题是由Merkel和Hellman在1978年提出的[1],它是一个典型的组合优化问题,属于NP-hard难题,随着问题规模越来越大,复杂度增强.在实际应用中,许多工业和金融等问题都可以用背包问题来描述,如预算控制、资源分配、项目选择、资本投资、金融组合、材料切割和物件装箱等[2].近年来,背包问题已成为众多学者研究的一个热点问题,寻找新的方法来求解背包问题具有重要的理论和实际意义[3].目前,求解背包问题的方法主要有两种: 最优算法和启发式算法.最优算法包括穷举法、动态规划法、递归算法、回溯法和分支界限法等[4–7].启发式算法包括差分进化算法[8],粒子群算法[9]和遗传算法[10]等.前者的思想比较简单,不需要其它专业知识,一般适用于求解规模较小的问题; 后者一般适用于求解规模较大的问题,可是对其求解的精度还需继续探讨.

从图4可以看出,在Ud中,其直流分量、基波分量和二次谐波分量所占比重最大,所以,可以从它们入手来进行特征信息的提取,构成故障向量。经过验证,此方法完全合理。所以在这里选取Ud、Uq的直流分量、基波幅值、基波相位和二次谐波相位作为此次故障检测的特征向量。

猴群算法是一种新兴的群智能优化算法[11],该算法的突出特点在于求解高维的优化问题时,无需考虑函数是否可导或可微,只需要计算当前位置的伪梯度,就可以确定算法的搜索方向,并且该算法的结构简单,参数少和易实现.因此,猴群算法在提出不久便得到了众多学者的广泛关注,在各个领域内得到了快速地发展,例如在大跨径连续刚构桥传感器优化布置问题[12]、入侵检测系统存在高漏报率的问题[13]、加气站项目进度的问题[14]、混合动力优化[15,16]、模糊规则的分类器[17]等领域.而文献[12–17]中均是基本猴群算法的应用,可以看出在某种程度上解决了一些问题.但是,在上述问题的应用中,随着测点数目或者规则等的增加,基本猴群算法暴露出易陷入局部最优,导致存在求解精度不高的弊端.因此,对该算法进一步研究是很必要的,并将其的应用进行扩展,来解决实际生活中的诸多应用问题具有重要的实际意义.

为了提高猴群算法的寻优性能,本文将诱导因子引入基本猴群算法的爬过程中,给出了一种诱导因子猴群算法,并将其应用到求解 0-1 背包问题.最后,通过仿真实验验证了该方法的可行性.

1 0-1 背包问题

0-1背包问题是一种常见的组合优化问题.一般可简单叙述为: 设物品的数量为D,第i个物品的体积(重量)和价格分别为wipi,一个背包的能承受的最大容量为V,选择一些物品,放入背包中.如何选择物品,在满足背包约束条件下,使背包中物品的总价值最大,这个问题被称为0-1背包问题,其数学模型建立如下:

 

其中表示物品的价值向量,表示物品对应的体积(重量)向量,表示解向量.式(1)表示目标函数;式(2)中xi为决策变量,xi=0表示第i个物品未装入包中,xi=1表示第i个物品装入包中.

2 猴群算法

2.1 基本猴群算法

基本猴群算法是由Zhao和Tang两位学者首次在期刊 Journal of Uncertain Systems 上提出的[11].该算法主要包括解的表示和初始化、爬过程、望过程和跳过程,其具体的操作过程如下:

利用诱导因子猴群算法求解0-1背包问题时,就是以式(1)作为目标函数,寻找式(1)的最大值.在求解中,它们的对应关系为: 每只猴子的位置,相当于式(1)的一组可行解; 猴群规模对应可行解的个数; 维数对应物品的数量.实施步骤如下.

11月22日下午,由《中国烹饪》杂志社、科隆展览(北京)有限公司联合主办的“中国烹饪·食享会:第十席:从原产地到餐桌”在北京世界食品博览会上举行,来自中国各地的餐饮品牌创始人、名厨、美食家、媒体人、原产地食材供应商等百余人汇聚于此,专业餐饮人与原产地风味面对面,分享、交流关于从原产地到餐桌的经验和痛点。

 

其中,M 表示种群规模,D 为维数,xij表示第 i只猴子在第 j维的位置,变量的区间为是由[0,1]之间的均匀分布的随机数组成的D维向量.

Step2.执行爬过程: 爬过程是每只猴子在当前的范围内通过逐步爬行迭代,寻找优化问题的目标函数值的过程,具体过程如下:

1) 随机生成向量 其中由式 (4)生成.参数为猴群每次爬的步长.

 

2) 计算 其中,是目标函数所在位置的伪梯度.

3) 令 其中,sign 为符号函数.

4) 如果向量范围内,并且 更新 XiYi: 否则,Xi 不变.

5) 重复 1)–4),直到达到预定的执行次数 Nc.

Step3.执行望过程: 在爬过程之后,每只猴子都到达了各自所在的山峰的顶端,并向四周眺望,观察视野范围内是否存在比当前位置更高的山峰.若存在,就从当前位置跳到更高的位置.具体过程如下:

1) 在视野范围内 随机产生实数 yij,令 那 么 其中,b 为视野长度,它决定了猴子从当前位置眺望的最远距离.

DMEM高糖培养基和胎牛血清(fetal bovine serum,FBS)购自美国Hyclone公司,重组人血管内皮抑制素注射液(15 mg/3 mL)购自山东先声麦得津生物制药有限公司,二氨基联苯胺(diaminobenzidine,DAB)染色剂购自武汉博士德公司,DDP注射液(10 mg/2 mL)购自云南个旧生物药业有限公司;TUNEL细胞凋亡检测试剂盒购自上海碧云天公司。

2) 如果向量的范围内,并且 更新 XiYi; 否则,重复1),直至找到可行的Yi.

3) 以Y作为初始位置,执行爬过程.

Step4.执行跳过程: 它的主要目的是由当前区域转移到新的区域进行搜索.选择所有猴子的重心位置作为支点,每只猴子从当前位置朝着支点的方向跳到新的区域进行搜索,具体过程如下:

Step2.随机生成一个二进制向量作为初始位置(其中,第i位为1表示第i件物件被选中,若为0,则表示第i件物件未被选中).并计算所有猴子的目标函数值 找出较优位置.

改革开放以来,我国经历了数次企业税制改革,我国的经济发展已经进入了新时期,市场趋于饱和,经济发展势头放缓,竞争越来越激烈。因此,企业必须及时转型,最大程度的提高财务管理效益,完善内控体系,从而提高经营管理效益,确保企业在激烈的竞争中存活下来。首先,企业的财务管理效益直接影响经济效益,只有对企业资产进行合理的规划,才能切实提高企业资金的利用效率,扩大利润,实现可持续稳定发展。其次,企业综合管理的效益已体现在财务管理的效益上。目前,在国内外竞争对手的激烈冲击下,我们必须树立竞争意识,牢牢把握有限的市场空间,采取各种营销策略,努力扭转颓势,找到发展之路。

2) 令:

 

中国人研究《易经》研究了几千年,《易经》64卦还潜涵着多少奥秘仍然需要研究。八卦或64卦是哲学内涵深刻、高度智慧、高度文明的成果,7000年或6000年前,人类处于新石器捕猎时期,发明八卦或64卦这样高度文明成果的可能性极少,八卦或64卦很可能属于人类史前文明成果或外星球人文明成果!

3) 如果向量范围内,并且 更新 XiYi; 否则,重复1)和2),直至找到可行的Yi.

Step5.终止条件: 重复 Step2–Step4,直到达到预先设定的迭代次数N,算法终止,输出结果.

2.2 诱导因子猴群算法

在基本猴群算法中,爬过程是非常重要的,它是控制算法的搜索精度.可是,在基本猴群算法中,猴群位置在爬过程中的更新,是没有规律的,往往具有很大的随机性,使得算法很难找到局部范围内的最优个体,从而不容易找到全局最优个体,这样就降低了算法的求解精度.

其次,在专业课程体系方面,中英建筑工程管理专业教育的区别主要体现在技术能力水平、管理、经济、法律法规等课程所占的比例上。如表2所示,为中英建筑管理专业方向。通过对比分析来看,英国建筑工程管理专业技术类课程所占的比例要高出我国很多,技术类课程是建筑工程管理专业教育的基础。而我国建筑工程管理专业的课程则分为基础课程、平台课程、方向课程三个模块,其中平台课程涉及到了技术、管理、经济以及法律四个方面,并形成了独立的平台,目的是使学生具备更加丰富的知识储备。与此不同的是,英国经济、管理、法律平台课程基础理论更加强调综合性。

为了克服算法的这个缺陷,本文在爬过程中引入诱导过程,提出了一种诱导因子猴群算法.具体为: 在猴子爬行过程中,给定猴子向上爬行的指示,诱导它们向最优位置的方向爬行,这样可以避免绕路,尽快找到局部范围内的最优个体,从而迅速找到全局最优个体,来提高算法的寻优能力,达到提高算法的精度,其具体操作如下.

Step1.参数值设定,如种群规模 M=20,最大迭代次数等.

目前到各大中型医院就诊的患者90%以上是医保患者包括新型农村合作医疗在内,除了南方日间手术开展较好的部分地区医保部门给予门诊术前检查费用结算外,其他地区现有的医保政策则规定患者只有入院后的费用才能被结算,而入院前的门诊检查费用不包含在结算内,属于自费范围[5,8-9]。这部分费用约一千元左右,只有少数患者选择在门诊自费进行术前检查,而多数患者尽管希望早做手术,但最终因术前检查需自费而选择非日间手术流程,这进一步加剧“看病难、住院难、手术迟”这一医疗供需矛盾。而在国外由于日间手术模式已经普及,整个过程所产生的费用都会被医保结算的[10]。

其中,α为常量,用来调整的关系.

 

这样,在猴子爬行的过程中,就可以通过爬向量中0的个数来诱导猴子的爬行,来提高算法的寻优能力,进而达到提高算法的求解精度.其中,M 为种群规模,D 为维数,Nc 为爬过程中爬的次数,kc 为每次爬行的迭代次数,参数为猴子的爬步长.

模拟得到圆柱壳、开孔圆柱壳、含补强件圆柱壳的轴向压力与轴向位移变化关系如图9所示,轴压曲线先增大后减小。轴压峰值分别为195.4 MPa、158.4 MPa、164.8 MPa。

在爬过程中引入诱导过程时,为了达到提高算法寻优能力的目的,那么就需要选择一个合适的诱导次数.如果诱导次数过低,提高算法寻优能力就不太明显.如果诱导次数过高,算法往往会出现陷入局部最优,达不到提高算法寻优能力的目的.因此,本文经过多次仿真后,找到当诱导次数时,既可以提高局部寻优能力,又可以避免因过高的局部寻优能力而降低了全局寻优能力,从而提高了算法的寻优性能.

3 利用诱导因子猴群算法求解0-1背包问题

Step1.解的表示和初始化: 设 是目标函数的一个可行解,表示第i只猴子当前的位置,由式(3)生成.

在爬过程中,随机生成爬向量 其中,分量由下述过程生成.

1) 在跳区间[c,d]内随机生成一个实数 θ.

Step3.执行爬过程,计算,产生新的二进制向量 则更新第 i只猴子当前的位置,即直到预定的执行次数Nc.然后,为了能够优先选取物品中单位体积价值较高的装入背包,在这里设计一个诱导因子,具体过程如下.

① 求出每件物品的单位体积的价值量,第i件物品为:

 

② 求出每件物品所占背包的比例,第i件物品为:

父母被气得半晌说不出一句话来,最后,他们当然是结婚了,父母从一开始的反对,到后来见识到了老何的好,毕竟做父母的只求女儿一世安稳。婚礼不算盛大,父母笑得合不拢嘴。

 

③ 据此设计诱导因子为:

 

随机生成一个M×D阶矩阵 其 中 ,分 量βi j是在区间[0,1]上随机生成的一个实数.当时, 否则, 这样,分量就可由下式(6)来表示.

④ 随机选取两个值 c1c2,其中, 如果并且 则更新猴子的位置的变量为 否则更新为 计算 则更新第 i只猴子的位置.直到一定的诱导次数guide.

Step4.执行望过程,在视野范围内生成新的二进制向量 并计算 则更新第 i只猴子当前的位置,即

其中,其中被称为支点.

Step5.执行跳过程,计算, 产生新的二进制向量 计算计算 则更新第 i只猴子当前的位置,即

1.4 统计学方法 采用SPSS 19.0统计软件进行数据分析。计量资料以x±s表示,采用t检验。以P<0.05为差异有统计学意义。

肝癌组血清PIVKA-II含量同其他组显著提高(P<0.05),肝硬化患者和其它消化系统肿瘤患者较健康对照组显著提高(P<0.05)。肝癌患者PIVKA-II水平同肝硬化外组显著增加(P<0.05)。相关研究指出[10],随着肿瘤分级提高,患者血清PIVKA-II随之升高。

Step6.重复 Step3–Step5,直到达到预定的最大迭代次数nMax,算法结束,输出最优个体和最优值.

要想从根本上提高衡阳市水稻生产水平,不仅要建立完整的种植管理监督机制,也要结合衡阳市实际情况,优化水稻种植技术。当地政府要组织相关部门对农户进行水稻种植技术的培训和指导,确保农户能真正体会到新技术类型产生的经济效益,从而推动水稻种植管理发展进程,实现经济效益和环保效益的共赢。

4 实例仿真及其分析

为了验证所给算法的可行性,下边给出两个算例,它们的规模由小变大,具体数据见以下相关算例数据.比较差分进化算法 (Differential Evolution Algorithm,DEA)[8]、粒子群算法 (Particle Swarm Optimization,PSO)[9]、遗传算法 (Genetic Algorithm,GA)[10]、基本猴群算法 (Basic Monkey Algorithm,BMA)[11]以及本文所给诱导因子猴群算法 (Inducing Factor Monkey Algorithm,IFMA)求解问题的效果.

算例 1.物品数量 n=50,背包容量 V=1000,物品价值 R=[220,208,198,192,180,180,65,162,160,158,155,130,125,122,120,118,115,110,105,101,100,100,98,96,95,90,88,82,80,77,75,73,72,70,69,66,65,63,60,58,56,50,30,20,15,10,8,5,3,1],物品重量 W=[80,82,85,70,72,70,66,50,55,25,50,55,40,48,50,32,22,60,30,32,40,38,35,32,25,28,30,22,50,30,45,30,60,50,20,65,20,25,30,10,20,25,15,10,10,10,4,4,2,1].

算例 2.物品数量 n=100,背包容量 V=2010,物品价值 R=[68,101,125,159,65,146,28,92,143,37,5,154,183,117,96,127,139,113,100,95,12,134,65,112,69,45,158,60,142,179,36,43,107,143,49,6,130,151,102,149,24,155,41,177,109,40,124,139,83,142,116,59,131,107,187,146,73,30,174,13,91,37,168,175,53,151,125,31,192,138,88,184,110,159,189,147,31,169,192,56,160,138,84,42,151,37,21,22,200,85,135,200,139,189,68,94,84,22,18,115],物品重量 W=[42,35,70,79,63,6,82,62,96,28,92,3,93,22,19,48,72,70,68,36,4,23,74,42,54,48,63,38,24,30,17,91,89,41,65,47,91,71,7,94,30,85,57,67,32,45,27,38,19,30,34,40,5,78,74,22,25,71,78,98,87,62,56,56,32,51,42,67,8,8,58,54,46,10,22,23,7,14,1,63,11,25,49,96,3,92,75,97,49,69,82,54,19,1,28,29,49,8,11,14].

在仿真中,用本文所给IFMA求解上述问题时,算法的参数设定为: 种群规模M=20,最大迭代次数nMax=500,爬步长 a=1,爬的迭代次数 Nc=20,诱导次数 guide=5,视野长度 b=0.5,望的迭代次数 Nw=3,跳区间 常量 α=1.2.

利用上述五种算法分别对算例1和算例2进行一次求解,得到算例1的最优值和最优个体罗列在表1,寻优过程如图1所示,算例2的最优值和最优个体罗列在表2,优化过程曲线如图2所示.

2.2.1 总体发病情况 超声心动图检查发现,40例患者(40/1 053,3.80%)合并先天性心脏病。其中,男性21例(52.5%)、女性19例(47.5%)。24例患者仅存在1种类型的心脏或大血管畸形(简单先天性心脏病),包括卵圆孔未闭9例、房间隔缺损7例、室间隔缺损5例、动脉导管未闭3例;其余16例存在2种及以上心脏或大血管畸形(即复合先天性心脏病),包括心内膜垫缺损1例、法洛四联症3例、法洛三联症2例、Ebstain 畸形合并房间隔缺损1例、动脉导管未闭合并室间隔缺损4例、动脉导管未闭合并室间隔缺损及房间隔缺损1例、动脉导管未闭合并卵圆孔未闭2例、房间隔缺损合并室间隔缺损2例。

 

表1 算例 1 的最优值和最优个体

  

最优个体DEA 2619 11001000010111101001001001011111101011111111011011 PSO 2482 11011101000010101010010001000111111000101111111000 GA 2810 00101000111111111011001111110110101001010011010000 BMA 2877 11011001111010011111100100110100000010111101100001 IFMA 3019 11010101111011011011100111110000001011010011111111算法 最优值

 

表2 算例 2 的最优值和最优个体

  

最优个体DEA 5079 1101010100001000101110001110111000100000111100101 1100110000101011000000110001101000011011111000011 PSO 6346 01110101100111001001000100100101010001010101000100 00110010100011010011011110011010001000101111000000 GA 6067 000100001000101111000001001001001000010101011001010 0001000100011110111010111011011001010100111000100 BMA 6659 110001010101011100001111001011101001010000011111110 0100100100001111011011011111110001111100111100111 IFMA 7883 11000100000101111001110100111110010001101001101111111 01110100011011011011111111011101000101111111111算法 最优值

接着,进一步利用这5种算法分别对算例1和算例2进行50次求解,得出它们的最优值、最差值、平均值和方差分别罗列在如表3和表4.

 

表3 算例 1 的结果

  

算法 最优值 最差值 平均值 方差DEA 2845 2433 2.6496e+003 6.9232e+003 PSO 2999 2482 2.8772e+003 1.2611e+004 GA 2991 2622 2.8783e+003 4.5210e+003 MA 2963 2840 2.9063e+003 802.5322 MA 3072 3019 3.0438e+003 132.7629

 

表4 算例 2 的结果

  

算法 最优值 最差值 平均值 方差EA 5809 4818 5.2604e+003 7.1192e+004 SO 7391 5499 6.9648e+003 1.5032e+005 GA 6639 4906 5.9914e+003 1.4987e+005 MA 7034 6176 6.5908e+003 3.7698e+004 MA 7968 7818 7.8955e+003 951.6004

通过以上仿真结果中的图1,图2和表1至表4可以看出,文中在BMA算法中的爬过程中引入诱导过程后,很好地诱导了猴子向着指定的方向爬行,从而避免了算法走弯路,提高了算法的局部寻优能力和全局寻优能力.而且随着物品数量的增大,复杂度的增强,相对于 DEA,PSO,GA 和 BMA 算法,所给 IFMA 算法的求解精度仍然较高,且方差较小.从而说明所给IFMA算法具有较高的可行性和稳定性,达到了预期的效果,为求解0-1背包问题提供了新的途径.

5 结束语

在利用猴群算法求解0-1背包问题时,在爬过程中,引入诱导因子后,可以诱导猴子向着指定的方向爬行,从而避免绕路,使得所给IFMA能够找到全局最优解.通过仿真实验表明,利用所给的IFMA求解0-1背包问题达到了预期的结果,提高了求解精度.

  

图1 算例 1 优化过程曲线

  

图2 算例 2 优化过程曲线

参考文献

1Merkle R,Hellman M.Hiding information and signatures in trapdoor knapsacks.IEEE Transactions on Information Theory,1978,24(5): 525–530.[doi: 10.1109/TIT.1978.1055 927]

2赵学武,刘向娇,王兴,等.求解 0-1 背包问题的遗传算法.南阳师范学院学报,2014,13(6): 21–25.

3Srinivasan V,Varghese G.Fast address lookups using controlled prefix expansion.ACM Transactions on Computer Systems,1999,17(1): 1–40.[doi: 10.1145/296502.296503]

4李鸣山,郑海虹.0-1背包问题的多重分枝-限界算法.武汉测绘科技大学学报,1995,20(1): 83–87.

5宁爱兵,马良.0/1背包问题快速降价法及其应用.系统工程理论方法应用,2005,14(4): 372–375.

6王粉兰,孙小玲.不可分离凸背包问题的拉格朗日分解和区域分割方法.运筹学学报,2004,8(4): 45–53.

7王乐,王世卿,张静乐.基于 Matlab 的 0-1 背包问题的动态规划方法求解.计算机技术与发展,2006,16(4): 88–89,92.

8荆源.背包问题的差分进化算法.才智,2011,(7): 92–93.

9赵传信,季一木.粒子群优化算法在0/1背包问题的应用.微机发展,2005,15(10): 23–25.[doi: 10.3969/j.issn.1673-629X.2005.10.009]

10乐天.遗传算法求解0/1背包问题的综述.浙江海洋学院学报 (自然科学版),2013,32(1): 71–74.

11Zhao RQ,Tang WS.Monkey algorithm for global numerical optimization.Journal of Uncertain Systems,2008,2(3):164–176.

12李晓,倪富陶,孙维刚,等.基于猴群算法的连续刚构桥传感器优化布置研究.公路,2016,61(3): 65–69.

13张佳佳,张亚平,孙济洲.基于猴群算法的入侵检测技术.计算机工程,2011,37(14): 131–133.[doi: 10.3778/j.issn.1002-8331.2011.14.037]

14赵涛,夏雨,宗玛利.基于猴群算法的加气站项目进度研究.价值工程,2010,29(8): 90–92.

15申彩英,高韬.基于猴群算法的混合动力汽车能量管理策略 .计 算 机 工 程 与 应 用 ,2014,50(14): 9 –13,120.[doi:10.3778/j.issn.1002-8331.1308-0015]

16Ituarte-Villarreal CM,Lopez N,Espiritu JF.Using the monkey algorithm for hybrid power systems optimization.Procedia Computer Science,2012,(12): 344 –349.[doi: 10.1016/j.procs.2012.09.082]

17Hodashinsky IA,Samsonov SS.Design of fuzzy rule based classifier using the monkey algorithm.Mathematical Methods and Algorithms of Business Informatics,2017,1(39): 61–67.

 
徐小平,师喜婷,钱富才
《计算机系统应用》 2018年第05期
《计算机系统应用》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号