基于遗传算法的01背包问题研究.docx

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于遗传算法的0-1背包问题研究 摘要 本文介绍了0-1背包问题的基本概念,总结了解决0-1背包问题的传统方法。问题中的应用;利用Matlab仿真平台对两个实例进行了测试,证明了遗传算法解决背包问题的有效性;通过实例分析了种群规模、迭代次数和变异概率对算法结果的影响;图形用户界面(GUI )实现参数的输入和仿真结果的显示。 关键词: 0-1背包问题;遗传算法;人口规模; MATLAB;图形用户界面 目录 TOC \o 1-3 \h \z \u 摘要 一 摘要 二 目录 III 前言 五 第 1 章 引言 1 1.1背包问题介绍 1 1.1.1 0-1背包问题背景 1 1.1.2背包问题研究现状 1 1.2遗传算法介绍 2 1.2.1遗传算法研究现状及发展趋势 3 1.2.2遗传算法的特点 5 1.2.3遗传算法的分类 6 1.2.4遗传算法的应用 7 1.3本文主要工作 7 第2章基于遗传算法的 0-1背包问题研究9 2.1遗传算法的思想 9 2.1.1遗传算法的数学基础 10 2.1.2遗传算法的基本原理 12 2.1.3遗传算法的实现过程 13 2.2用遗传算法解决0-1背包问题 16 2.3数值实验及结果分析 20 2.3.1示例1 21 2.3.2示例2 24 第 3 章GUI界面设计 29 3.1概述 29 3.2 GUI界面设计 29 3.2.1 GUI界面设计步骤 29 3.2.2界面运行结果 33 第四章结论与展望 36 4.1结论 36 4.2展望 36 总结与经验 38 到 40 参考文献 41 附录 1 源程序 43 MATLAB主程序 43 GUI界面设计程序 51 附录二 外文文件翻译 60 附录三 外文文献 71 前言 背包问题是一个组合优化NP-完全问题,类似问题经常出现在商业、组合学、计算复杂性理论、密码学、应用数学等领域。背包问题可分为一维背包问题、二维背包问题、完全背包问题、多重背包问题、分组背包问题等。 0-1背包问题作为最基本的背包问题,包括背包问题的设计状态和方程的最基本思想。因此,其他背包问题也可以转化为0-1背包问题来求解。 遗传算法?算法)是从生物世界的进化规律(适者生存,适者生存的遗传机制)演化而来的一种随机搜索方法。由美国J. Holland教授于1975年首次提出,其主要特点是直接对结构对象进行运算,对推导和功能连续性没有限制;具有出色的并行性和更好的全局优化能力;使用概率优化方法,可以自动获取并引导优化后的搜索空间,自适应调整搜索方向,不需要一定的规则。遗传算法的这些特性已广泛应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代智能计算的关键技术。 文中详细介绍了遗传算法的数学基础、基本原理和实现过程,给出了两个利用遗传算法求解0-1背包问题的例子并得到了相关的仿真结果,仿真结果进行了分析。然后,通过设置不同的种群规模、交叉概率和迭代次数,讨论了这些算子对遗传算法求解背包问题性能的影响。最后在matlab环境下设计了GUI界面。通过GUI界面,可以直观地看到0-1背包问题的两个例子在不同参数设置下的仿真曲线变化。 第一章介绍 1.1 背包问题简介 1.1.1 0-1背包问题背景 背包问题是Markel和Hellman提出的一类具有实际应用背景的经典NP问题[1]。背包问题的主要思想是假设一个人有大量物品,物品的重量不同,他想选择一些物品放入背包中。物品的重量是已知的,所有可能的物品也是已知的,但背包里的物品是除了背包的重量限制之外的。列出大规模背包问题的所有可能项目在计算上是不可能的。在各类背包问题中,0-1背包问题是最基本的背包问题,其他的背包问题往往可以转化为0-1背包问题。 在我们的现实生活中,很多问题都可以用背包问题来描述,比如工厂的裁剪材料问题、管理中的资源配置问题、包装箱问题、资金预算问题等等。建模为背包问题。此外,背包问题经常作为其他复杂组合优化问题的子问题出现。对于由简单结构组成的复杂结构,深入探索简单问题往往可以解决复杂问题。因此,在前人研究经验的基础上开展背包问题的研究具有重要意义。 1.1.2 背包问题研究现状 Dantzing 于 1950 年代首次进行开创性研究,利用贪心算法[2]获得 0-1 背包问题的最优解的上界。在接下来的 20 年里,背包问题并没有得到很大的发展。直到 1974 年,hoeowitz 和 salmi 使用分支节点方法[3]解决了背包问题。他们提出了背包问题的可分离性,并指出了解决该问题的新途径。随后balas和zemel提出了背包问题的“核”

文档评论(0)

xiangxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档