遗传算法的0-1背包问题(c语言)

上传人:工**** 文档编号:561967734 上传时间:2023-11-22 格式:DOC 页数:40 大小:700.50KB
返回 下载 相关 举报
遗传算法的0-1背包问题(c语言)_第1页
第1页 / 共40页
遗传算法的0-1背包问题(c语言)_第2页
第2页 / 共40页
遗传算法的0-1背包问题(c语言)_第3页
第3页 / 共40页
遗传算法的0-1背包问题(c语言)_第4页
第4页 / 共40页
遗传算法的0-1背包问题(c语言)_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《遗传算法的0-1背包问题(c语言)》由会员分享,可在线阅读,更多相关《遗传算法的0-1背包问题(c语言)(40页珍藏版)》请在金锄头文库上搜索。

1、-WORD格式 - 可编辑 -基于遗传算法的0-1 背包问题的求解摘要:一、前言组合优化问题的求解方法研究已经成为了当前众多科学关注的焦点,这不仅在于其内在的复杂性有着重要的理论价值,同时也在于它们能在现实生活中广泛的应用。比如资源分配、投资决策、装载设计、公交车调度等一系列的问题都可以归结到组合优化问题中来。但是,往往由于问题的计算量远远超出了计算机在有效时间内的计算能力,使问题的求解变为异常的困难。 尤其对于 NP 完全问题, 如何求解其最优解或是近似最优解便成为科学的焦点之一。遗传算法已经成为组合优化问题的近似最优解的一把钥匙。它是一种模拟生物进化过程的计算模型,作为一种新的全局优化搜索

2、算法,它以其简单、鲁棒性强、适应并行处理以及应用范围广等特点, 奠定了作为 21 世纪关键智能计算的地位。背包问题是一个典型的组合优化问题,在计算理论中属于NP- 完全问题, 其计算复杂度为 O(2n ) ,传统上采用动态规划来求解。设 wi 是经营活动 i 所需要的资源消耗, M 是所能提供的资源总量, pi 是人们经营活动 i 得到的利润或收益,-WORD格式 - 可编辑 -则背包问题就是在资源有限的条件下,追求总的最大收益的资源有效分配问题。二、问题描述背包问题 ( Knapsack Problem)的一般提法是:已知n个物品的重量( weight )及其价值(或收益 profit )分

3、别为 wi 0 和 pi 0 ,背包的容量( contain )假设设为 ci 0 ,如何选择哪些物品装入背包可以使得在背包的容量约束限制之内所装物品的价值最大?该问题的模型可以表示为下述0/1 整数规划模型:n目标函数: maxf ( x1 , x2 , xn )ci xii 1ns.twi xipii 1xi 0,1(i1,2, n)( * )式中 xi 为 0-1 决策变量, xi1时表示将物品i 装入背包中, xi0时则表示不将其装入背包中。三、求解背包问题的一般方法解决背包问题一般是采取动态规划、递归回溯法和贪心方法。动态规划可以把困难得多阶段决策变换为一系列相互联系比较容易的单阶段

4、问题。对于背包问题可以对子过程用-WORD格式 - 可编辑 -枚举法求解,而且约束条件越多,决策的搜索范围越小,求解也越容易。它的主要缺点是用数值方法求解时会随着状态变量的个数呈指数级的增长,往往对于求解背包问题的实际问题是不现实的。使用递归回溯法解决背包问题的优点在于它算法思想简单,而且它能完全遍历搜索空间,肯定能找到问题的最优解;但是由于此问题解的总组合数有2n 个,因此,随着物件数 n 的增大, 其解的空间将以 2 n 级增长, 当 n 大到一定程度上,用此算法解决背包问题将是不现实的。使用贪心方法求解时计算的复杂度降低了很多,但是往往难以得到最优解,有时所得解与最优解相差甚远。因此,我

5、们可以探索使用遗传算法解决物件数较大的背包问题。四、遗传算法简介遗传算法 ( Genetic Algorithms ,GA) 是在 1975 年首次由美国密西根大学的 D 。 J 。 Holland 教授和他的同事们借鉴生物界达尔文的自然选择法则和孟德尔的遗传进化机制基础之上提出的。经过近 30 年的研究、应用,遗传算法已被广泛地应用于函数优化、 机器人系统、 神经网络学习过程、模式识别、图象处理、工业优化控制等领域。-WORD格式 - 可编辑 -遗传算法是将问题的每一个可能性解看作是群体中的一个个体 (染色体 ),并将每一个染色体编码成串的形式,再根据预定的目标函数对每个个体进行评价,给出一

6、个适应值。算法将根据适应度值进行它的寻优过程,遗传算法的寻优过程是通过选择、杂交和变异三个遗传算子来具体实现的。它的搜索能力由选择算子和杂交算子决定,变异算子则保证了算法能够搜索到问题空间的尽可能多的点,从而使其具有搜索全局最优的能力。遗传算法的高效性和强壮性可由Holland提出的模式定理( Schema Therem)和隐式并行性得以解释。在遗传算法中,定义长度较短、低阶且适应值超过平均适应值的模式在群体中数目的期望值按指数递增,这个结论称为遗传算法的基本定理。遗传算法是通过定义长度短、确定位数少、适应度值高的模式的反复抽样、组合来寻找最佳点,称这些使遗传算法有效工作的模式为积木块,是遗传

7、算法构造答案的基本材料。但归根到底,要使遗传算法有效工作必须按照遗传算法的模式定理(或积木块假设 )根据具体问题设计合理的编码方案。在运行遗传算法程序时,需要对一些参数作事先选择,它们包括种群的大小、染色体长、交叉率、变异率、最大进-WORD格式 - 可编辑 -化代数等,这些参数对GA的性能都有很重要的影响。在试验中参数一般选取如下:种群大小 N= 20100,交叉概率 p c= 0.4 0.9,变异概率 p m = 0.0010.1,最大进化代数maxgen = 100500。遗传算法是具有“生成+ 检测”的迭代过程的搜索算法。它的基本处理流程如图1 所示。编码初始化种群演化评估种群中个体适

8、应度选择交叉变异图1、遗传算法的基本流程遗传算法的基本流程描述如下:(1 )编码:将解空间的解数据进行二进制编码, 表达为遗传空间的基因型串 (即染色体) 结构数据, 如将数据 9-WORD格式 - 可编辑 -编码为“ 1001 ”;(2 )初始化种群: 定义整数 pop_size作为染色体的个数,并且随机产生pop_size个染色体作为初始种群;(3 )评估种群中个体适应度:评价函数对种群中的每个染色体( chromosome)求得其个体适应度f i ( fitness) ;(4 )选择:选择把当前群体中适应度较高的个体按某种规则或者模型遗传到下一代种群中,这里所用的规则是:染色体在种群中被

9、选择的可能性与其个体的适应度的大小成正比;( 5 )交叉:定义参数 pc 作为交叉操作的概率,由( 4 )选择得到的两个个体以概率 p c 交换各自的部分染色体,得到新的两个个体;(6 )变异:定义参数pm 作为变异操作的概率,由(5 )得到每个个体中的每个基因值都以概率p m 进行变异;(7 )演化:经过选择、交叉和变异操作,得到一个新的种群,对上述步骤经过给定的循环次数( maxgen )的种群演化,遗传算法终止。五、背包问题的遗传算法求解描述基于背包问题的模型(* ),我们设计了针对于背包问-WORD格式 - 可编辑 -题的染色体编码方法: 将待求解的各量X 表示成长为 n 的二进制字符

10、串 x j , j=1 , 2 , , n 。 x j0 表示物体 j 不放入 背 包 内 , x j 1 表 示 物 体 j 放 入 背 包 内 。 例 如 :111001100000111代表一个解, 它表示将第1 、2 、3 、6、7 n-2,n-1,n 号物体放入背包中,其它的物体则不放入。根据遗传算法的基本流程,我们确定了求解背包问题的遗传算法:步骤 1、初始化过程1.1 确定种群规模popsize、杂交概率pc 、变异概率pm、染色体长度lchrom及最大进化代数maxgen ;1.2 读入背包问题的相关信息,如每个物体的重量weightj、 每 个 物 体 的 收 益profit

11、j和 背 包 的 容 量contain,其中j0,1,(lchrom1) ;1.3 取 x ju(0,1)j0,1,(lchrom1) ,其中 u(0,1) 表示 0-1整数的均匀分布函数,即随机地生成数0 或 1,生成的 x j 串即可看为一个染色体个体。若不满足模型 (*)的约束条件, 则拒绝接受, 由 1.2 重新生成一个新的染色体个体 chrom ;如果产生的染色体-WORD格式 - 可编辑 -可行,则接受它作为种群的一名成员,经过有限次的1.2抽样后,得到popsize个可行的染色体chrom ,形成新的种群。1.4置种群的代数gen=0 ;步骤 2 、计算种群中个体适应度以及统计种

12、群适应度情况2.1按照下列公式计算种群中个体适应度:lchrom 1(1) ;weightweight j * chrom jj0lchrom 1profit j * chrom jifweightcontainfitnessj 0(2)lchrom 1profit j * chrom j alpha* (weight contain)ifweightcontainj 0公式( 2 )的下半部分即为适应度的惩罚函数,其中参数alpha1.0 。2.2按公式( 3 )计算种群的总体适应度,popsize1sumfitnessfitnessi (3)i 0并且按照排序的方法统计出种群中的最大、最小适应度的染色体个体,分别标记为maxpop、 minpop;步骤 3、选择操作3.1 生成一个随机数rand_Number,要求 0ra

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号