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

数学建模非线性规划.ppt

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

* * 优化问题三要素:决策变量;目标函数;约束条件 约束条件 决策变量 目标函数 第六章 非线性规划 非线性规划(NLP) 目标或约束中存在非线性函数 二次规划(QP) 目标为二次函数、约束为线性 引 例 例1、大学生就业问题 某大学希望为它的毕业生安排工作位置。为简单起见,假设每个毕业生接受政府部门、工业界或科学院中的一个位置。令: Nj=第j年毕业的人数(j=1,2,…,n) 并令:Gj、Ij和Aj(Gj+Ij+Aj=Nj)分别为第j年进入政府、工业界或科学院的人数。 例1、大学生就业问题 假设给出每年学生人数参加各部门的比例,设分布为λi(i=1,2,3),则在第j年可估计出参加各种工作的人数为: 为衡量模型的可靠性,必须要求n年中进入这三个部门的实际人数与预测人数之间的总差别不能太大,即 尽可能的小 例1、大学生就业问题 为了计算的简便,上述的问题的目标函数可以写成以下形式: 另外,同时满足所有毕业生为这些行业所雇用的约束条件 这种估计方法称为最小二乘估计 例1、大学生就业问题 因此,优化模型为 非线性规划模型 二次规划模型 例2、投资问题 假设某公司在下一个计划期内可用于投资的总资本为b万元,可供选择的投资项目共有n个,分别记为1,2,…,n.已知对第j个项目的投资总额为aj万元,而收益总额为cj万元。问如何进行投资,才能使利润率(即单位投资可获得的收益)最高? 例2、投资问题 解 设投资决策变量 则该问题的优化模型为 非线性整数规划 非线性规划的基本解法 SUTM外点法 SUTM内点法(障碍罚函数法) 1、罚函数法 2、近似规划法 用MATLAB软件求解,其输入格式如下: 1. x=quadprog(H,C,A,b); 2. x=quadprog(H,C,A,b,Aeq,beq); 3. x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB); 4. x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0); 5. x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0,options); 6. [x,fval]=quaprog(...); 7. [x,fval,exitflag]=quaprog(...); 8. [x,fval,exitflag,output]=quaprog(...); 1、二次规划 例1 min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22 s.t. x1+x2≤2 -x1+2x2≤2 x1≥0, x2≥0 1、写成标准形式: 2、 输入命令: H=[2 -2; -2 4]; c=[-2 ;-6];A=[1 1; -1 2];b=[2;2]; Aeq=[];beq=[]; VLB=[0;0];VUB=[]; [x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB) 3、运算结果为: x =0.8 1.2 z = -7.2 s.t. 1. 首先建立M文件fun.m,定义目标函数F(X): function f=fun(X); f=F(X); 2、一般非线性规划 其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同.用Matlab求解上述问题,基本步骤分三步: 3. 建立主程序.非线性规划求解的函数是fmincon,命令的基本格式如下: (1) x=fmincon(‘fun’,X0,A,b) (2) x=fmincon(‘fun’,X0,A,b,Aeq,beq) (3) x=fmincon(‘fun’,X0,A,b, Aeq,beq,VLB,VUB) (4) x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’) (5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,options) (6) [x,fval]= fmincon(...) (7) [x,fval,exitflag]= fmincon(...) (8)[x,fval,exitflag,output]= fmincon

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档