网站大量收购独家精品文档,联系QQ:2885784924

第四章 规划模型课件.ppt

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

建立线性规划模型有三个基本步骤 第一步:找出待定的未知变量(决策变量),并用代数符号表示它们。 第二步:找出问题中所有的限制或约束,写出未知变量的线性方程或线性不等式。 第三不:找到模型的目标或判据,写成决策的函数,以便求出其最大值或最小值。 * 1、线性规划模型的一般形式 目标函数和所有的约束条件都是设计变量 的线性函数. 实际问题中 的优化模型 x是决策变量 f(x)是目标函数 gi(x)?0是约束条件 数学规划 线性规划(LP) 二次规划(QP) 非线性规划(NLP) 纯整数规划(PIP) 混合整数规划(MIP) 整数规划(IP) 0-1整数规划 一般整数规划 连续规划 优化模型的分类 用MATLAB优化工具箱解线性规划 min z=cX 1. 模型: 命令:x=linprog(c, A, b) 2. 模型:min z=cX 命令:x=linprog(c,A,b,Aeq,beq) 注意:若没有不等式: 存在,则令A=[ ],b=[ ]. 3. 模型:min z=cX VLB≤X≤VUB 命令:[1] x=linprog(c,A,b,Aeq,beq, VLB,VUB) [2] x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0) 注意:[1] 若没有等式约束: , 则令Aeq=[ ], beq=[ ]. [2]其中X0表示初始点 4. 命令:[x,fval]=linprog(…) 返回最优解x及x处的目标函数值fval. 解 编写M文件xxgh1.m如下: c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6]; A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08]; b=[850;700;100;900]; Aeq=[]; beq=[]; vlb=[0;0;0;0;0;0]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) ? To MATLAB (xxgh1) 解: 编写M文件xxgh2.m如下: c=[6 3 4]; A=[0 1 0]; b=[50]; Aeq=[1 1 1]; beq=[120]; vlb=[30,0,20]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) To MATLAB (xxgh2) 问题一 : 任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件.假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表.问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低? 两个实际问题 解 设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6,可建立以下线性规划模型: 解答 问题二: 某厂每日8小时的产量不低于1800件.为了进行质量控制,计划聘请两种不同水平的检验员.一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15件/小时,正确率95%,计时工资3元/小时.检验员每错检一次,工厂要损失2元.为使总检验费用最省,该工厂应聘一级、二级检验员各几名? 解 设需要一级和二级检验员的人数分别为x1、x2人, 则应付检验员的工资为: 因检验员错检而造成的损失为: 故目标函数为: 约束条件为: 线性规划模型: 解答 返 回 s.t. 改写为: 例3 问题一的解答 问题 编写M文件xxgh3.m如下: f = [13 9 10 11 12 8]; A = [0.4 1.1 1 0 0 0 0 0 0 0.5 1.2 1.3]; b = [800; 900]; Aeq=[1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1]; beq=[400 600 500]; vlb = zeros(6

文档评论(0)

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

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档