非线性规划问题_第1页
非线性规划问题_第2页
非线性规划问题_第3页
非线性规划问题_第4页
非线性规划问题_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验5.2 非线性规划问题5.2.1实验目的(1.)学习非线性规划的基本理论与建模方法。(2.)学习Matlab软件中非线性规划问题的求解方法。5.2.2实验背景知识介绍1.非线性规划问题的数学模型在数学规划问题中,若目标函数或约束条件中至少有一个是非线性函数,这类问题称之为非线性规划问题,简记为NP。同线性规划问题的数学模型一样,非线性规划问题的数学模型可以具有不同的形式,但不同形式之间往往可以转换,因此非线性规划问题一般形式可以表示成 (5.2.1)其中:称为模型(NP)的决策变量,称为目标函数:和称为约束函数;称为等式约束;称为不等式约束。把一个实际问题归结成非线性规划问题时,一般要注意如下4点。(1. )确定供选方案。首先要收集同问题有关的资料和数据,在全面熟悉问题的基础上,确认什么是问题的可供选择的方案,并用一组变量来表示它们。(2. )提出追求的目标。经过资料分析,根据实际需要和可能,提出要追求极小化或极大化的目标。并且,运用各种科学和技术原理,把它表示成数学关系式。(3. )给出价值标准。在提出要追求的目标之后,要确立所考虑目标的“好”或“坏”的价值标准,并用某种数量形式来描述它。(4. )寻求限制条件。由于所追求的目标一般都要在一定的条件下取得极小化或极大化效果,因此还要寻找出问题的所有限制条件,这些条件通常用变量之间的一些不等式或等式来表示。 2.非线性规划的Matlab解法在含Matlab的优化工具箱中,非线性规划问题表示成 (5.2.2)求解式(5.2.2)的Matlab命令函数是fmincon(),根据规划问题的条件不同,其主要运用格式有以下几种形式。x=fmincon(fun,x0,A,b).x=fmincon(fun,x0,A,b,Aeq,beq).x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub).x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon).x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options).x,fval=fmincon(.).x,fval,exitflag=fmincon(.).x,fval,exitflag,output=fmincon(.).x,fval,exitflag,output,lambda=fmincon(.).x,fval,exitflag,output,lambda,grad=fmincon(.).参数说明:fun为目标函数,x0为初始值,A,b满足线性不等式约束Axb,若没有不等式约束,则取A= ,b= ;Aeq、beq满足等式约束Aeqx=beq,若没有,则取Aeq= ,beq= ;lb、ub满足lbxub,若没有界,可设lb= ,ub= ;lambda是Lagrange乘子,它体现哪一个约束有效;output输出优化信息;gard表示目标函数x处的梯度。其中参数nonlcon的作用是通过接受的向量x来计算非线性不等约束C(x)0和等式约束Ceq(x)=0分别在x处的估计C和Ceq,通过指定函数柄来使用,如:x=fmincon(myfun,x0,Ab,Aeq,beq,lb,ub,mycon).先建立非线性约束函数,并保存为mycon.m:functionC,Ceq=mycon(x)C= %计算x处的非线性不等约束C(x)0的函数值Ceq= %计算x处的非线性等式约束Ceq(x)=0的函数值3. 二次规划问题二次规划是特殊的一类非线性规划,其目标函数是二次函数,约束条件仍是线性的,其数学模型的一般形式为 (5.2.3)其中H为对称矩阵,约束条件与线性规划相同.在Matlab的优化工具箱中有一个求解二次规划问题的命令quadprog(),其主要格式为x,fval,exitflag,output,lambda=quadprog(H,c,A,b,Aeq,beq,lb,ub,x0,options)其中参数的主要用法及说明同线性规划,这里不再赘述。5.2.3实验内容1. 非线性规划问题例5.2.1 求解非线性规划问题 解 建立目标函数的M文件function y=nline(x)Y=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);建立非线性约束条件的M文件Function c1,c2=nyushu(x)c1=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;c2=0;在命令窗口中输入x0=-1,1;a=1,-1;b=1;Aeq=1,1;beq=0;x,f=fmincon(nline,x0,a,b,Aeq,beq, , ,nyueshu)运行后得x= -1.2247 1.2247f= 1.8951计算结果表明:当,时,目标函数的极小值为1.8951.例5.2.2 求解如下二次规划问题 解 将目标函数化为标准形式 在命令窗口中输入H=2,0;0,2;c=-8,-10;a=3,2;b=6;lb=0,0;x0=1,1;计算结果表明:当时,目标函数的极小值为-21.3077.x,f=quadprog(H,c,a,b,lb,x0)运行后得x= 0.3077 2.5385f= -21.307计算结果表明:当=0.3077,=2.5385时,目标函数的最大值为-21.3077.2. 非线性规划问题的实例例5.2.3 (资金最优使用方案)设有400万元资金,要求在4年内使用完,若在一年内使用资金x万元,则可获得效益万元(设效益不再投资),当年不用的资金可存入银行,年利率为10%,试制定出这笔资金的使用方案,以使4年的经济效益总和为最大。分析 针对现有资金400万元,对于不同的使用方案,4年内所获得的效益的总和是不相同的。比如第一年就把400万元全部用完,这获得的效益总和为=20.0万元;若前三年均不用这笔资金,而把它存入银行,则第四年时的本息和为400=532.4万元,再把它全部用完,则效益总和为23.07万元,比第一种方案效益多3万多元,所以用最优化方法可以制定出一种最优的使用方案,以使4年的经济效益总和为最大。建立模型:设表示第i年所使用资金数,T表示4年的效益总和,则目标函数为: 决策变量的约束条件:每一年所使用资金既不能为负数,也不能超过当年所拥有的资金数,即第一年使用的资金数,满足 0400第二年资金数,满足 0(400-)1.1(第一年未使用资金存入银行一年后的本利之和);第三年资金数,满足 0(400-)1.1-1.1第四年资金数,满足 0(400-)1.1-1.1-1.1这样,资金使用问题的数学模型为 模型的求解:这是非线性规划模型的求解问题,可选用函数 x.fval=fmincon(fun,x0,a,b,Aeq,beq,lb,ub)对问题进行求解。首先,用极小化的形式将目标函数改写为 其次,将约束条件表示为如下形式 其中各输入参数为, , 解 首先编写目标函数的M文件,并将其保存为totle.mFunction y=totle(x)y=-sqrt(x(1)-sqrt(x(2)-sqrt(x(3)-sqrt(x(4);其次编写主程序并保存为文件exam523.mClear allA=1.1,1,0;1.21,1.1,1,0;1.331,1.21,1.1,1;b=440,484,532.4;Lb=0,0,0,0;ub=400,1000,1000,1000;x0=100,100,100,100;x,fval=fmincon(totle,x0,A,b,lb,ub)结果输出:运行exam523.m,可获得如下的运行结果x=(84.2440 107.6353 128.9031 148.2391)Fval= -43.0821也即如表5.5所列表5.8 资金最优使用方案第一年第二年第三年第四年现有资金/万元400347.4263.8148.2使用金额/万元84.2107.6128.9148.24年效益总和最大值为T=43.08万元,这是第一年用完全部资金效益20.0万元的2倍多,这也反映出进行定量的优化计算的作用。所以,一些业内人士称最优化方法为“无需增加投入就能增加产品的手段。”例 5.2.4 某公司欲以每件2元的价格购进一批商品。一般来说随着商品售价的提高预期销售量将减少,并对此进行了估算,结果如表一、二栏。为了尽快收回资金并获得较多的赢利,公司打算做广告,投入一定的广告费后,销售量将有一个增长,可由销售增长因子来表示。据统计,广告费与销售增长因子关系如表三、四栏所示。问公司采取怎样的营销决策能使预期的利润最大?表5.9 售价与预期销售量、广告费与销售增长因子售价/元2.002.503.003.504.004.505.005.506.00预期销售量/万元4.13.83.43.22.92.82.52.22.0广告费/万元01234567销售增长因子1.001.401.701.851.952.001.951.80解: 设x表示售价(单位:元),y表示预期销售量(单位:万元),z表示广告费(单位:万元)k表示销售增长因子。投入广告费后,实际销量记为s(万元),获得的利润记为p(单位:万元)。由表易知预期销售量y随着售价x的增加而单调下降,而销售增长因子k在开始时随着广告费z的增加而增加,在广告费z等于5万元时达到最大值,然后在广告费增加时反而有所回落,为此先画出散点图。程序如下:Clearx=2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0;s=4.1 3.8 3.4 3.2 2.9 2.8 2.5 2.2 2.0;plot(x,s,-*) %画售价与预期销售量散点图(图5.2)z=0,1,2,3,4,5,6,7;k=1.00 1.40 1.70 1.85 1.95 2.00 1.95 1.80;plot(z,k,-*) %画广告费与销售增长因子散点图(图5.3) 图5.2 图5.3从图5.2和图5.3易见,售价x与预期销售量y近似于一条直线,广告费z与销售增长因子k近似于一条二次曲线,为此建立拟合函数模型,令: 其中系数a,b,c,d,e为待定系数。 再建立优化模型: 模型求解:先求拟合函数的系数a,b,c,d,e,并画出散点图和拟合曲线,程序命令(接上面的程序)为: a1=polyfit(x,s,1) a2=polyfit(z,k,2) 结果为:a1=-0.5133 5.0422a2=-0.0426 0.4092 1.0188即拟合函数的系数a=-0.5133,b= 5.0422,c=1.0188,d=0.4092,e=-0.0426。其次求解优化模型,因Matlab中仅能求极小值,程序命令为:function y=nline(x)y=x(2)-(-0.5133*x(1)+5.0422)*(-0.0426*x(2)2+0.4092*x(2)+1.0188)*(x(1)-2);在命令窗口中输入x,fval=fmincon(nline,5;3.3,0;0,) %求解规划问题输出结果 x=5.9115 3.3083 Fval= -11.66314即当销售价格为x=5.9115元,广告费z=3.083万元时,公司的预期的利润最大11.6631万元。例5.2.5(经营方式安排问题)某公司经营两种设备,第一种设备每件售价30元,第二种设备每件售价450元,根据统计售出第一件第一种设备所需的营业时间平均为0.5小时,第二种设备是(2+0.25)小时,其中是第二种设备的售出数量,已知该公司在这段时间内的总营业时间为800小时,试确定使营业额最大的营业计划。解 设该公司计划经营的一种设备为,第二种设备件,根据题意,建立如下的数学模型 首先,编写M文件来定义目标函数,并将其保存为exp525.m.functionf=exp525(x)f=-30*x(1)-450*x(2);其次,由于约束条件是非线性不等式约束,因此,需要编写一个约束条件的M文件,将其保存为exp525 1.m%exp525 1.mfunctionc.cep=exp525 1(x)c=0.5*x(1)+2*x(2)+0.25*x(2)*x(2)-800;cep=;最后,编制主程序并存为exp525_2.m.clear alllb=0,0;x0=0,0;x,w=fmincon(exp525,x0,lb,exp525_1)运行exp525_2.m,即得到结果:x=1495.5 11,w=-49815,即该公司经营第一种设备1496件,经营第二种设备11件,即可使总营业额最大,为49815元。5.2.4 练习1,求解下面的二次规划问题 2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论