背包问题的遗传算法解法

背包问题的遗传算法解法
 整理日期:2004年9月14日
 运行环境:Windows环境
 授权形式:共享软件
 推荐程度:
 下载次数:1396
 文件尺寸:25K
 下载类型:源码下载--人工智能
 作    者:陶善文
 下载链接:链接1 
 下载简介:
本程序利用遗传算法来求解背包问题.采用二进制字符串编码,1表示选择物体,0则不选择.

背包问题描述:在M件物品取出若干件放在空间为W的背包里,每件物品的重量为W1,W·2……Wn,与之相对应的价值为P1,P2……Pn。求出获得最大价值的方案。注意:在本题中,所有的重量值均为整数。

以下是本程序的主要函数说明:

1.GetRandChromosomes(szChromosome() As String, iChromosomeCount As Integer):随机初始化染色体

2.GetRandValueAndContent(iValue() As Integer, iContent() As Integer, iObjectCount As Integer):随机初始化物体容量和物体价值

3.GetRandAllContentByContent(iContent() As Integer, iObjectCount As Integer):根据物体体积随机初始背包容量,使得物体的总体积大于背包的容量

4.CopyChromosomes(iProbability() As Single, szChromosome() As String, iChromosomeCount As Integer):染色体复制

5.SelChromosomeBySelProba(iProbability() As Single, iChromosomeCount As Integer) As Integer:根据选择概率选择染色体

6.IsLiveGene(szChromosome As String, iContent() As Integer, iKitContent As Integer) As Boolean:判断染色体是否为活的染色体,即是否满足条件

7.Cross(szChromosome1 As String, szChromosome2 As String, iObjectCount As Integer):染色体之间进行杂交

8.Aberrance(szChromosome As String, iObjectCount As Integer):染色体变异

9.GetAdaptablity(szChromosome As String, iValue() As Integer, iContent() As Integer, iChromosomeCount As Integer) As Integer:得到染色体的适应度

10.GetSelectProbability(iAdaptablity() As Integer, iChromosomeNum As Integer, iChromosomeCount As Integer) As Single:得到选择概率

参考资料:<<计算智能的数学基础>>科学出版社,锗蕾蕾,陈绥阳,周梦编著

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值