[发明专利]一种利用改进天牛须搜索算法求解0-1背包问题的方法在审
申请号: | 202010160217.4 | 申请日: | 2020-03-10 |
公开(公告)号: | CN111368965A | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 周田江;钱谦 | 申请(专利权)人: | 昆明理工大学 |
主分类号: | G06N3/00 | 分类号: | G06N3/00 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 650093 云南*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 改进 天牛 搜索 算法 求解 背包 问题 方法 | ||
本发明公开了一种利用改进天牛须搜索算法求解0‑1背包问题的方法,属于多目标应用领域。背包问题的可以描述为:有N件物品和一个背包,每件物品有对应的价值和体积,问题是求解出将哪些物品放入背包后不会超过背包的容积,与此同时使得背包内物品的价值总和最大。本发明的方法可以有效的解决传统天牛须搜索算法不能应用于离散型问题的技术问题,同时,将本发明的方法应用于0‑1背包问题进行寻优,得到了较好的结果。
技术领域
本发明属于多目标应用领域,具体涉及一种利用改进天牛须搜索算法求解0-1背包问题的方法。
背景技术
背包问题可以描述为:有N件物品和一个背包,每件物品有对应的价值和体积,问题是求解出将哪些物品放入背包后不会超过背包的容积,与此同时使得背包内物品的价值总和最大。背包问题已被应用于资源分配、货物装载、投资组合等常见领域,求解背包问题可以有效地帮助人们解决实际生活中遇到的难题。
天牛须搜索算法是2017年由Jiang提出的一种新型生物启发式智能优化算法,模拟了天牛觅食行为,当天牛觅食时会利用左右触须来感知食物的气味强度,如果左边触须收到的气味强度大,它下一步就往气味强度大的左边飞,否则往右边飞,天牛须搜索算法中天牛的当前位置即为所求问题的可行解,食物的气味强度为适应度函数。传统的天牛须搜索算法多用于求解连续性函数的优化问题,难以求解离散型问题。
发明内容
本发明的目的是提供一种利用改进天牛须搜索算法求解0-1背包问题的方法,解决了传统天牛须搜索算法难以求解离散型问题的技术问题。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种利用改进天牛须搜索算法求解0-1背包问题的方法,所述方法包括以下步骤:
Step1、初始化0-1背包问题和天牛须搜索算法的基本参数,如种群数、步长、迭代次数、背包容积、物品数、物品价值和体积;
Step2、初始化天牛群体,并利用Sigmoid函数进行二进制编码处理;
Step3、每只天牛利用其左右触须进行试探,根据左右须的适应度再按下一步移动公式进行移动得到新位置;
Step4、计算种群的个体适应度值,溢出时进行溢出处理;
Step5、当天牛移动到新位置后,应用模拟退火Metropolis准则更新天牛的新位置;
Step6、当所有天牛都完成搜索后,更新搜索天牛的搜索步长;
Step7、对当此迭代的所有天牛应用适应度值最大原则选取当此迭代的最优解;
Step8、重复Step3-Step7,直到迭代次数达到最大次数,得到全局最优解。
进一步地,所述Step2中利用Sigmoid函数进行二进制编码的方法公式为:
其中,xi为第i个物品,e为自然常熟,即当前值不为0或1时,先带入Sigmoid函数得到一个0到1的值,再判断值大于0.5即设定为1,否则为0的编码,0表示该物品不放入背包,1表示物品放入背包。
进一步地,所述Step3中下一步移动公式为:
Xt+1=Xt+St·sign(f(Xl)-f(Xr))·rand
其中,X为天牛的位置,l、r分别表示左、右须,t表示迭代次数,S表示天牛的步长,sign()为符号函数,f()是适应度函数,+是作二进制的加法,rand是1-N的随机数,对二进制数进行位移操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于昆明理工大学,未经昆明理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010160217.4/2.html,转载请声明来源钻瓜专利网。