MATLAB求解线性规划问题

上传人:抢*** 文档编号:245992691 上传时间:2024-10-11 格式:PPT 页数:25 大小:277.50KB
返回 下载 相关 举报
MATLAB求解线性规划问题_第1页
第1页 / 共25页
MATLAB求解线性规划问题_第2页
第2页 / 共25页
MATLAB求解线性规划问题_第3页
第3页 / 共25页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章 最优化计算方法,一、实验目的:,第一节 线性方程组的应用,1,、了解线性规划问题及可行解、最优解的概念,;,2,、掌握,Matlab,软件关于求解线性规划的语句和方法。,二、实验原理和方法:,在生活实践中,很多重要的实际问题都是线性的(至少能,够用线性函数很好的近似表示),所以我们一般把这些问,题化为线性的目标函数和约束条件进行分析,通常将目标,函数和约束都是线性表达式的规划问题称为线性规划。,它的一般形式是:,也可以用矩阵形式来表示:,线性规划的可行解是满足约束条件的解;线性规划的最优解是使目标函数达到最优的可行解。,线性规划关于解的情况可以是:,1,、无可行解,即不存在满足约束条件的解;,2,、有唯一最优解,即在可行解中有唯一的最有解;,4,、有可行解,但由于目标函数值无界而无最优解。,3,、有无穷最优解,即在可行解中有无穷个解都可使目,标函数达到最优;,一般求解线性规划的常用方法是单纯形法和改进,的单纯形法,这类方法的基本思路是先求得一个可行,解,检验是否为最优解;若不是,可用迭代的方法找,到另一个更优的可行解,经过有限次迭代后,可以找,到可行解中的最优解或者判定无最优解。,三、内容与步骤:,在,Matlab,优化工具箱中,,linprog,函数是使用单纯形法求解,下述线性规划问题的函数。,它的命令格式为:,其中:,A,为约束条件矩阵,,b,c,分别为目标函数的系数向量和,约束条件中最右边的数值向量;也可设置解向量的上界,vlb,和,下界,vub,,,即解向量必须满足,vlb,=x=,vub,;,还可预先设置,初始解向量,x0。,如没有不等式,而只有等式时,,A=,b=;,输出的结果:,x,表示最优解向量;,fval,表示最优值。,【,例,1】,求解线性规划问题:,解:考虑到,linprog,函数只解决形如,的线性规划。所以先要将线性规划,变为如下形式:,然后建立,M,文件如下:,c=-3;1;1;A=1-2 1;4-1-2;b=11;-3;,aeq,=2 0-1;,beq,=-1;,vlb,=0;0;0;,x,fval,=,linprog,(c,A,b,aeq,beq,vlb,),Matlab,程序:,ch701.m,以,ch701,作为文件名保存此,M,文件后,在命令窗口,输入,ch701,后即可得到结果:,x=4.0000,1.0000,9.0000,同时返回,fval,=-2,对应到原来的线性规划中即知目标函数的最大值为,2,,此时,x1=4,x2=1,x3=9。,第二节 无约束规划计算方法,一、实验目的,1,、了解无约束规划问题的求解原理与方法,;,2,、会用,Matlab,软件求解无约束规划问题。,二、实验原理和方法,无约束规划问题的解法一般按目标函数的形式分为两大类:,一类是一元函数的一维搜索法,如黄金分割法、插值法等;,另一类是求解多元函数的下降迭代法。,迭代的基本思想和步骤大致可分为以下四步:,三、实验内容与步骤,在,Matlab,软件中,求解无约束规划的常用命令是:,x=fminunc(fun,x0),其中,,fun,函数应预先定义到,M,文件中,并设置初始,解向量为,x0,。,【,例,2】,求解,取,解:首先建立函数文件,fun702.m,以,fun702,为文件名保存此函数文件。,在命令窗口输入:,x0=-2;4;,x=fminunc(fun702,x0),结果显示:,f=,-1.0000,x=,1.0000,1.0000,即极小值为,-1,,是,x1=1,x2=1,时取得。,Matlab,程序:,ch702.m,【,例,3】,解非线性方程组,解:解此非线性方程组等价于求解无约束非线性规划问题:,然后建立函数文件,fun703.m,在命令窗口输入:,x0=0;0;,x=fminunc(fun703,x0),结果显示:,f=5.2979e-011,x=1.0673,0.1392,则非线性方程组的解为,x1=1.0673,x2=0.1392,。,Matlab,程序:,ch703.m,第三节,约束非线性规划计算方法,一、实验目的,1、,了解约束非线性规划问题的求解原理与方法,;,2、,会用,Matlab,软件求解约束非线性规划问题。,二、实验原理和方法,对于约束非线性规划,随着目标函数和约束条件的不同,,解法也不同,一般来说,有两类方法:,(1)、将约束问题化为无约束问题的求解方法;,(2)、用线性规划来逼近非线性规划;,三、实验内容与步骤,约束非线性规划的一般形式为:,其中,,f(x),为多元实值函数,;,g(x),为向量函数,并且,f(x),g(x),中至少有一个函数是非线性函数的(否则成为线性规划问题)。,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,),在,Matlab,优化工具箱中,,fmincon,函数是用,SQP,算法来,解决一般的约束非线性规划的函数,它的命令格式为:,【,例,4】,求解约束非线性规划:,(初值为1;1),解,:,首先建立一个,m,文件,fun7041.m,function y=fun7041(x),y=-exp(x(1)*x(2)2*(3-exp(x(1)-x(2)2);,存储为,fun7041.m,首先将问题转化为,matlab,要求的格式;即求出,fun,A,b,Aeq,Beq,X0,Lb,Ub,然后建立一个,m,文件,fun7042.m,function c,cep,=fun7042(x),c=;,%c,为非线性不等式,且为,c=0,cep,=exp(x(1)+x(2)2-3;,%,cep,为,非线性等式,然后存储为,fun7042.m,最后在命令窗口中输入:,A=;b=;,Aeq,=;,Beq,=;Lb=;,Ub,=;,x,f=,fmincon,(fun7041,1;1,fun7042),-f,因题目中有非线性约束条件,所以建立非线性约束,m-,文件。,Matlab,程序:,ch704.m,结果为:,x=0.8852,0.7592,f=6.2043e-016,ans,=-6.2043e-016,最后的结果为:,-6.2043,e-016,【,例,5】,求解约束非线性规划:,解:首先建立一个,m,文件,fun705.m,function y=fun705(x),y=(x(1)-1)2+(x(2)-2)2+(x(3)-3)2+(x(4)-4)2;,存储为,fun705.m,文件,.,x0=1;1;1;1;A=1 1 1 1;3 3 2 1;,B=5;10;Aeq=;,Beq,=;,Lb=0;0;0;0;,x,g=fmincon(fun705,x0,A,B,Aeq,Beq,Lb),答案为:,x=,0.0000,0.6667,1.6665,2.6668,g=,6.3333,Matlab,程序:,ch705.m,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!