[发明专利]一种利用改进天牛须搜索算法求解0-1背包问题的方法在审
申请号: | 202010160217.4 | 申请日: | 2020-03-10 |
公开(公告)号: | CN111368965A | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 周田江;钱谦 | 申请(专利权)人: | 昆明理工大学 |
主分类号: | G06N3/00 | 分类号: | G06N3/00 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 650093 云南*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 改进 天牛 搜索 算法 求解 背包 问题 方法 | ||
1.一种利用改进天牛须搜索算法求解0-1背包问题的方法,其特征在于,所述方法包括以下步骤:
Step1、初始化0-1背包问题和天牛须搜索算法的基本参数,如种群数、步长、迭代次数、背包容积、物品数、物品价值和体积;
Step2、初始化天牛群体,并利用Sigmoid函数进行二进制编码处理;
Step3、每只天牛利用其左右触须进行试探,根据左右须的适应度再按下一步移动公式进行移动得到新位置;
Step4、计算种群的个体适应度值,溢出时进行溢出处理;
Step5、当天牛移动到新位置后,应用模拟退火Metropolis准则更新天牛的新位置;
Step6、当所有天牛都完成搜索后,更新搜索天牛的搜索步长;
Step7、对当此迭代的所有天牛应用适应度值最大原则选取当此迭代的最优解;
Step8、重复Step3-Step7,直到迭代次数达到最大次数,得到全局最优解。
2.根据权利要求1所述的利用改进天牛须搜索算法求解0-1背包问题的方法,其特征在于,所述Step2中利用Sigmoid函数进行二进制编码的方法公式为:
其中,xi为第i个物品,e为自然常熟,即当前值不为0或1时,先带入Sigmoid函数得到一个0到1的值,再判断值大于0.5即设定为1,否则为0的编码,0表示该物品不放入背包,1表示物品放入背包。
3.根据权利要求1所述的利用改进天牛须搜索算法求解0-1背包问题的方法,其特征在于,所述Step3中下一步移动公式为:
Xt+1=Xt+St·sign(f(Xl)-f(Xr))·rand
其中,X为天牛的位置,l、r分别表示左、右须,t表示迭代次数,S表示天牛的步长,sign()为符号函数,f()是适应度函数,+是作二进制的加法,rand是1-N的随机数,对二进制数进行位移操作。
4.根据权利要求1所述的利用改进天牛须搜索算法求解0-1背包问题的方法,其特征在于,所述Step4中溢出处理的具体步骤为:
先按照解的顺序检测当前物品是否超过背包的剩余容积,不超过则将物品放入背包中,超过则将所有未被放入背包中的物品按价值从大到小的顺序排序,再选择能放入背包中的最大价值物品,如果价值相同优先选择体积小的物品,并且在本次迭代中,标记放入背包的物品。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于昆明理工大学,未经昆明理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010160217.4/1.html,转载请声明来源钻瓜专利网。