⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 源码说明.txt

📁 背包问题算法解决
💻 TXT
字号:
                      

                      =====================================================================
                                        作者:陶善文
                                        南京航空航天大学信息与计算科学专业
					个人主页:http://home.pudn.com/ahei
                                        QQ:8261525 Email:ahei080210114@hotmail.com
                      =====================================================================
  本程序利用遗传算法来求解背包问题.采用二进制字符串编码,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:得到选择概率

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -