第一讲 线性规划与非线性规划.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性规划与非线性规划 主讲:黄厚辉 电话邮箱:imhhh@yeah.net 三个问题 什么是线性规划问题? 如何求解线性规划问题? 求解线性规划问题的注意事项。 一、什么是线性规划问题? 线性规划是研究在一组线性约束条件下,某一个线性函数的最大值或最小值问题。一般线性规划问题数学模型为: 例一 生产决策问题 某厂生产甲乙两种产品,已知制成一吨产品甲需要用资源A 3吨,资源B 4m3;制成一吨产品乙需要用资源A 2吨,资源B 6 m3,C资源7个单位。若一吨甲和一吨乙的经济价值分别为7万元和5万元,三中资源分别为90吨、200 m3和210个单位,试决定应生产这两种产品各多少吨才能创造总经济价值最高? (1)假定自变量(决策变量) :生产产品甲的数量(吨) :生产产品乙的数量(吨) (2)分析并表达限制条件(约束条件) 资源A 限制: 资源B 限制: 资源C 限制: 非负条件: (3)分析目标 以Z表示生产甲和乙两种产品各为 和 (吨)时产生的经济价值,则有: 综上可得: 例二 投资问题 某单位有一批资金用于四个工程项目的投资,用于各个工程项目时所得之净收益(投入资金的百分比)如下表所示: 考虑到问题的目标及本身的限制条件可得数学模型: 例三 工件加工任务分配问题 某车间有两台机床甲和乙,可用于加工三种工件。假定这两台机床的可用台时数分别为700和800,三种工件的数量分别为300、500和400,且已知用不同机床加工单位数量的不同工件所需的台时数和加工费用(见表一),问怎样分配机床的加工任务才能既满足加工工件的要求,又使总加工费用最低? 表一 考虑到问题的目标及本身的限制条件可得数学模型: 小结 用未知自变量表示某种重要的可变因素,变量的一组数据表示一种解决方案,通常要求这些变量取非负值。 存在一定的限定条件(例如材料、人力、设备、时间、费用等的限制),它们可以用自变量的线性不等式和等式来表达。 都有一个要达到的目标,它是自变量的线性函数,往往需要这个函数取得最大或是最小。 二、如何求解线性规划问题? 结论: 线性规划问题实质是求解:由给定条件限定的定义域内的多元线性函数的最值。 几个概念 松弛变量 凸集 基 基解 基可行解 超平面 顶点 几条定理 定理一:线性规划的可行解是凸集 定理二:线性规划的基可行解对应于其可行域的顶点。 定理三:若线性规划问题有可行解,则必有基可行解。 定理四:线性规划问题若有最优解,则一定可在期可行域的顶点上达到;如果在几个顶点上都出现最优解,则在这些顶点的每个凸组合上也达到最优。 单纯形法 略 MATLAB求解线性规划问题 MATLAB里面只能解形如下式的线性规划问题: 转化成等价形式 (1)目标函数: (2)约束条件: 例子 MATLAB命令(help linprog) x = linprog(f,A,b) x = linprog(f,A,b,Aeq,beq) x = linprog(f,A,b,Aeq,beq,lb,ub) x = linprog(f,A,b,Aeq,beq,lb,ub,x0) x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) [x,fval] = linprog(...) [x,lambda,exitflag] = linprog(...) [x,lambda,exitflag,output] = linprog(...) [x,fval,exitflag,output,lambda] = linprog(...) 求解例一 f=[-7 -5]; A=[3 2;4 6;0 7]; b=[90;200;210]; x=linprog(f,A,b) 求解例二 f=[-0.15 -0.1 -0.08 -0.12]; A=[1 -1 -1 -1;0 -1 -1 1]; b=[0;0]; Aeq=[1 1 1 1]; beq=[1]; lb=[0;0;0;0]; ub=[inf;inf;inf;inf]; x=linprog(f,A,b,Aeq,beq,lb,ub) x=(0.5 0.25 0.0 0.25) z=0.13 求解例三 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=[700;800]; Aeq=[1 0 0 1 0 0;0 1 0 0 1 0;0 0 1 0 0 1]; beq=[300;500;400]; lb=[0 0 0 0 0 0]; ub=[inf inf inf inf inf inf]; x=linprog(f,A,b,Aeq,be

文档评论(0)

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

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

1亿VIP精品文档

相关文档