03_整数规划讲义.ppt

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
谢谢 提示:从理论上来讲,舍入凑整法是不能用来求解整数规划问题的,上述的例 3.3.3 也说明了这一点。 然而,在实践中,不必把整数规划与普通的线性规划界限划得太清。因为在许多实际问题中,模型的建立本身就包含了一些不确定因素,同时常常也允许近似的或粗略的结果。因此,舍入凑整法在实践中经常是有用的。 但要注意,需要大致验证是否可行解。 §3.4 求解整数规划的蒙特卡洛方法 在§3.4 中介绍的分枝定界方法,算法的每一个计算步骤都是固定的,而且可以保证求得最优解。 但是,当整数线性规划的决策变量数目很大时,分枝定界法的代价可能是巨大的;特别是当整数规划本身是非线性的时候,尚未有一种成熟而有效的求解方法,因为非线性规划本身的通用有效解法尚未找到。 然而,由于整数规划解的数目是有限的,于是为枚举法提供了方便。当然,当决策变量数目很大、取值范围很宽情况下,企图用完全搜索(即穷举法)计算出最优值是不现实的,但是应用蒙特卡洛算法,在一定的计算量下,完全可以得出一个满意解。 例 3.4.1 已知非线性整数规划为: Z = x12 ? x22 ? 3x32 ? 4x42 ? 2x52 ? 8x1 ? 2x2 ? 3x3 ? x4 ? 2x5 x1 ? x2 ? x3 ? x4 ? x5 ? 400 x1 ? 2x2 ? 2x3 ? x4 ? 6x5 ? 800 2x1 ? x2 ? 6x3 ? 200 x3 ? x4 ? 5x5 ? 200 5x1 ? 9x2 ? 45 0 ? xi ? 99,i = 1, 2, 3, 4, 5 max s.t. 对该问题,目前尚无有效方法求出准确的最优解。如果用穷举法(完全搜索)试探,共需计算1005 = 1010 个点,计算量非常大。 然而概率理论能够保证,应用蒙特卡洛方法随机计算106个点,便可找到问题的满意解,而 且时间代价非常小(运行 Matlab 程序不到 30 秒)。 解:用蒙特卡洛方法求解这个问题必须借助计算机来实现。 首先编写 M 文件 mente.m 定义目标函数 f 和约束向量函数 g,程序如下: 其次,编写主程序求问题的解。 由于是随机搜索,故运行程序 10 次,可得如下表所示的结果: 106 26.7s 26.5s 26.3s 26.4s 26.6s 26.6s 26.5s 26.6s 26.3s 26.5s 时间 41339 x = (4, 2, 27, 99, 9)T 第十次运行 41711 x = (5, 1, 30, 99, 3)T 第九次运行 39026 x = (2, 0, 4, 98, 19)T 第八次运行 41463 x = (3, 3, 27, 99, 12)T 第七次运行 40035 x = (2, 2, 18, 99, 4)T 第六次运行 39082 x = (1, 4, 23, 97, 4)T 第五次运行 40760 x = (6, 1, 24, 99, 3)T 第四次运行 39715 x = (7, 0, 21, 98, 9)T 第三次运行 40676 x = (1, 2, 23, 99, 6)T 第二次运行 40325 x = (1, 3, 30, 97, 10)T 第一次运行 最优值 最优解 运行程序 注:蒙特卡洛(Monte Carlo)算法是一种随机搜索算法,它允许算法在执行的过程中随机选择下一个计算步骤。许多情况下,当算法在执行过程中面临一个选择时,随机性选择常比最优选择省时,因此蒙特卡洛算法可在很大程度上降低算法的复杂度。但另一方面,同一实例用蒙特卡洛算法求解两次可能得到完全不同的结果,也就是说,用蒙特卡洛算法能够求得问题的一个解,但无法判断这个解是否正确,求得正确解的概率依赖于算法所用的时间,算法所用的时间越多,得到正确解的概率就越高。 §3.5 范例——招聘计划 招聘计划:一家保姆服务公司专门向顾主提供保姆服务。根据估计,下一年的需求是:春季 6000 人日,夏季 7500 人日,秋季 5500 人日,冬季 9000 人日。公司新招聘的保姆必须经过 5 天的培训才能上岗,每个保姆每季度工作(新保姆包括培训)65 天。保姆从该公司而不是从顾主那里得到报酬,每人每月工资 3000 元。春季开始时公司拥有 120 名保姆,在每个季度结束后,将有 15% 的保姆自动离职。 (1) 如果公司不允许解雇保姆,

文档评论(0)

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

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

1亿VIP精品文档

相关文档