遗传算法求解背包问题(纯新手)

记录第一次写出遗传算法

问题来自遗传算法求解背包问题_用遗传算法实现背包问题-优快云博客

首先算法思路:

一、初始一个种群

二、进行繁衍(顺带突变一下)

三、种群中单个个体的适应度(可理解为繁衍下去的概率,和目标值有关)

四、child和原种群结合成一个新种群,定义一个select函数除去哪些繁衍概率小的个体, 重复二,三进程

五、经过n次迭代(繁衍)进程 得到最终的较为优秀种群,从中寻找到适应度最大的个体(解),

当作问题的最终答案。

六、写一个for循环,看看此算法的预测准确率

一、初始一个种群

pop = np.random.randint(0, 2, size=(POP_SIZE, DNA_SIZE))

这里用二进制表示方案选择情况,010101就是指背包里面放物品2,3,6

二、进行繁衍(顺带突变一下)

突变对种群pop中的单个个体随机初始一个突变点,然后采用最简的^1逻辑判断(a^b,规则:若a==b,则判断结果为0&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值