- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LINDO和LINGO软件能求解的优化模型 实例1 生产计划问题 某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元。现工厂共有原料60千克,工人150名。问如何安排生产计划,即两种饮料各生产多少使获利最大? 3、若以百箱为最小生产单位,怎么办? 对原模型增加整数解的要求 —— 整数规划 3.5 整数规划 在前面讨论的线性规划问题中,有些最优解可能是分数或小数,但对于某些问题,常要求解必须是整数(称为整数解)。我们称这样的问题为整数规划 (Integer Programming),简称 IP; 整数规划的分类 如果所有的变量都限制为(非负)整数,就称为纯整数规划(Pure Integer Programming)或称为全整数规划(All Integer Programming); 如果仅一部分变量限制为整数,则称为混合整数规划(Mixed Integer Programming); 0-1规划,即变量的取值仅限于0或1。 IP的解法思考 1、求解相应线性规划,将已得到的带有分数或小数的解“舍入化整” 到最靠近的整数解。 化整后不见得是可行解; 虽是可行解,但不一定是最优解。 不可取 例: A max z = 20x1+10x2 s.t. 5x1+4x2 ≤ 24 2x1+5x2 ≤ 13 x1,x2≥0且为整数 不考虑整数限制,求解相应的LP问题 (A的LP松弛),容易求得相应的线性规划问题的最优解 x1=4.8 x2=0 max z = 96 如将 (x1=4.8,x2=0) 凑整为 (x1=5,x2=0),则不可行; 如将 (x1=4.8,x2=0) 舍去尾数0.8,变为(x1=4,x2=0),是可行解,此时z=80;而当x1=4,x2=1 (可行解)时,z=90,则(4,0)不是最优解。 2、若IP可行域有界,则可行解只有有限多个,容易想到枚举法,即列出所有的整数点,然后比较它们的目标函数值,从而确定最优解。 对于规模较小的问题,变量个数很少,可行解的组合数也较小时,这个方法是可行的,也是有效的; 对于大型问题,可行的整数组合数会很大,枚举法不可取。 3、现有解法 求解IP没有统一的有效方法,不同方法的效果与问题的具体性质有很大关系。 割平面法 分支定界法 隐枚举法(0-1规划) 割平面法 zmin 一般的,在LP中加入新的约束条件会使可行域减少一部分 首先不考虑整数限制,求解IP的LP松弛; 若得到非整数的最优解,则增加割平面(线性约束条件),使得原可行域被切割掉一部分,这部分只包含非整数解,而不切割掉任何整数可行解; 使切割后最终得到可行域的一个顶点恰好是问题的最优整数解。 算法:如何找到恰当的割平面? 基本思想 1、求解相应LP松弛,得最优解 x1=4.81,x2=1.82,z0=356。 分支定界法 例: B:max z=40x1+90x2 s.t. 9x1+7x2 ≤ 56 7x1+20x2 ≤ 70 x1,x2≥0且为整数 2、由于x1=4.81(非整数),则在原问题B中增加两个约束条件:x1≤4 和 x1≥5,将原问题B分解为两个子问题 B1 和 B2 (即两支)。B1 和 B2 的LP松弛的可行域如下图: x1≤4 x1≥5 3、由于没有得到整数解,继续对问题B1和B2进行分解。因z1>z2,故先分解B1为两枝:增加条件x2≤2,称为问题B3;增加条件x2≥3,称为问题B4。相当于在上图中再去掉x2>2与x3<3之间的区域,进行第二次迭代。 4、继续对问题 B2 进行分解 (x2≥2, x2≤1) 解题过程 整数解 不分枝 不分枝 0-1规划实例及隐枚举法 指派问题 3 4 2 10 10 8 6 2 7 6 3 4 5 3 4 1 甲 乙 丙 丁 D C B A 工作 人员 假定每人只能分派一项工作,并希望分派后总的生产效率最高,应如何分派工作? 决策变量:分派方案,即指定第i人做第j项工作 xij = 1 指派第i人去做第j项工作 0 否则 目标函数:总生产效率 (
文档评论(0)