线性规划-整数规划选编.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性规划-整数规划选编

第四章 整数规划;整数规划问题的提出;依照决策变量取整要求的不同,整数规划可分为纯整数规划、 0-1整数规划、混合整数规划。; 纯整数规划:如果所有决策变量都要求取整数,则称为“纯整数规划” ;整数规划模型应用举例;排班问题(人力资源配置问题);解:设xi为第i天开始上班的人数: Min:z=x1+x2+x3+x4+x5+x6+x7 s.t. x1 +x4+x5+x6+x7≥17 x1+x2 +x5+x6+x7≥13 x1+x2+x3 +x6+x7≥15 x1+x2+x3+x4+ +x7≥19 x1+x2+x3+x4+x5 ≥14 x2+x3+x4+x5+x6 ≥16 x3+x4+x5+x6+x7≥11 xi≥0 ( i=1,2,…,7) X=(1.3, 3.3, 2, 7.3, 0, 3.3, 5)T , z=22.3;投资问题 ;投资问题的数学模型:0-1规划;背包问题;背包问题的数学模型: 0-1规划;布点问题 ;布点问题的数学模型: 0-1规划;游泳运动员的选拔;解: 设i=1,2,3,4分别表示甲、乙、丙、丁;j=1,2,3,4分别表示仰泳、蛙泳、蝶泳、自由泳。并设 xij= 0,表示 i 不参加 j 1,表示 i 参加 j 据题意,此题的数学模型为:;固定费用问题:见教材p69;整数规划问题的求解方法;求解思路:既然整数规划是线性规划的一种特殊形式,求解只需在线性规划的基础上,通过舍入取整求解即可。?; 目前,常用的求解整数规划的方法有: 分枝定界法、割平面法; 隐枚举法、匈牙利法。;指派问题与匈牙利法;指派问题及其数学模型(Assignment Problem) 假定有n项任务分配给n个人去完成,并指定每人完成其中一项,每项只交给其中一个人去完成,应如何分配使总效率为最高。 ;例1 有一份中文说明书,需翻译成英、日、德、俄四种文字,分别记作E、J、G、R,现有甲、乙、丙、丁四人,他们将中文说明书翻译成英、日、德、俄四种文字所需时间如下,问应该如何分配工作,使所需总时间最少?;任务人员;解: 设i=1,2,3,4分别表示甲、乙、丙、丁; j=1,2,3,4分别表示英语、日语、德语、俄语; 并设 xij= 0,表示 i 不翻译 j 1,表示 i 翻译 j 据题意,此题的数学模型为:;指派问题的数学模型: 设xij=1分配第i人去完成第j 项任务, xij=0不分配第i人去完成第j 项任务。 Min Z=? ? cijxij ? xij =1 (j=1,2……n) ① ? xij =1 (i=1,2……n) ② xij = 0或1 (i=1,2…..n; j=1,2……n) 约束条件①说明第j项任务只能由1人去完成; 约束条件②说明第i人只能完成1项任务。;匈牙利法求解;任务人员;可行解xij写成矩阵形式,称为解矩阵。;在系数矩阵(cij)中,我们关心位于不同行不同列的0元素,以下简称为独立的0元素。 若能在系数矩(cij)中找出n个独立的0元素。 则令解矩阵(xij)中对应这n个独立的0元素的元素(位置)取值为1,其它元素取值为0,将其代入目标函数中得到z,它一定是最小值。这就是以(cij)为系数矩阵的指派问题的最优解。;指派问题的最优解具有这样的性质: 若从系数矩阵(cij)的一行(列)各元素中分别减去一个常数 ,得到新矩阵(cij),那么以(cij)为系数矩阵求得的最优解和用原系数矩阵求得的最优解相同。;指派问题求解的思想;匈牙利算法的步骤;例1的计算为 ;第二步:进行试指派,以寻求最优解。 经第一步变换后,系数矩阵中每行每列都已有了0元素,但需找出n个独立的0元素。 若能找出,就以这些独立0元素对应解矩阵(xij)中的元素为1,其余为0,这就得到最优解。 当n较小时,可用观察法、试探法去找出n个独立0元素。若n较大时,就必须按一定的步骤去找。 ;寻找独立0元素的步骤: 对每一行检查,若该行只有一个0元素,就给这个0元素加圈。同时把该元素所在列的其他0元素划去。 再对每一列检查,若该列只有一个0元素,就给这个0

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档