课程设计(论文)-0-1背包问题设计说明书--133829182.docVIP

  • 5
  • 0
  • 约1.3万字
  • 约 23页
  • 2016-08-23 发布于贵州
  • 举报

课程设计(论文)-0-1背包问题设计说明书--133829182.doc

课程设计(论文)-0-1背包问题设计说明书--133829182

课程设计说明书(论文)用纸 PAGE PAGE II 课程设计说明书(论文)用纸 PAGE I 摘 要 0-1背包问题在实际中有广泛的应用,本课程设计采用遗传算法中Prim算法解决0-1背包问题,遗传算法主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法不是对所有问题都能得到整体最优解,但对范围相当广的许多问题它能产生整体最优解。通过分析用遗传算法解决0-1背包问题能得到问题的最优解。 根据算法的设计结果,采用C语言实现算法,通过测试分析,程序运行结果正确,运行效率较高。 关键词:0-1背包问题,遗传算法,Prim算法 目 录 TOC \o 1-3 \h \z \u HYPERLINK \l _Toc278291312 1 问题描述 PAGEREF _Toc278291312 \h 1 HYPERLINK \l _Toc278291313 2 问题分析 PAGEREF _Toc278291313 \h 2 HYPERLINK \l _Toc278291314 3 建立数学模型 PAGEREF _Toc278291314 \h 3 HYPERLINK \l _Toc278291315 4 算法设计 PAGEREF _Toc278291315 \h 4 HYPERLINK \l _Toc278291316 5 算法实现 PAGEREF _Toc278291316 \h 5 HYPERLINK \l _Toc278291317 6 测试分析 PAGEREF _Toc278291317 \h 6 HYPERLINK \l _Toc278291318 结 论 PAGEREF _Toc278291318 \h 7 HYPERLINK \l _Toc278291319 参考文献 PAGEREF _Toc278291319 \h 8 第 PAGE 19页 共21页 第 PAGE 21页 共21页 1 问题描述 0-1背包问题:给定n中物品和一个背包。物品i的重量是Wi ,其价值为Vi ,背包的容量为C。问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大?在选择装入的背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分物品i。因此,该问题成为0-1背包问题。 遗传算法:遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它最初由美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著《Adaptation in Natural and Artificial Systems》,GA这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更

文档评论(0)

1亿VIP精品文档

相关文档