6MATLAB求解线性规划问题_第1页
6MATLAB求解线性规划问题_第2页
6MATLAB求解线性规划问题_第3页
6MATLAB求解线性规划问题_第4页
6MATLAB求解线性规划问题_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章优化计算方法,第一,实验目的:第一节理解线性方程的应用,第一节理解线性规划问题和可行解,最佳解的概念,掌握Matlab软件解线性规划的句子和方法。 二、实验原理和方法:在生活实践中,许多重要的实际问题是线性的(至少可以用线性函数很好地近似),所以我们一般把这些问题作为线性目标函数和约束条件来分析,通常把目标函数和约束为线形式的计划问题称为线性规划。 其常用形式也可以用:矩阵形式表示:线性规划的可执行解是满足制约条件的解线性规划的最佳解是目标函数可能最佳化的解。 线性规划对解的情况为:1,没有可执行的解,即,不存在满足约束的解,2,有唯一的最佳解,即,在可执行解中有唯一的最佳解,4,虽然有

2、可能的解,但由于目标函数值没有边界,所以没有最佳解。 3、有无限的最佳解,即,在可能解中有无限的解时,可以优化目标函数,一般来说,解线性规划的一般方法是简单的形式和改进的简单形式,这种方法的基本想法是首先寻求可执行的解,验证是否是最佳解可以通过迭代方法找到另一个更好的可执行解,并且经过有限迭代,可以在可执行解之中找到或确定没有最佳解。 三、内容和步骤:在Matlab优化工具箱中,linprog函数是以简单形式解决下一个线性规划问题的函数。 其命令形式是: 其中a是限制矩阵,b、c也可以分别设定目标函数的系数向量和限制条件右端的数值向量即解向量的上边界vlb和下边界vub。 即,解向量必须满足v

3、lb=x=vub,也可以预先设定初始解向量x0。 如果没有不等式,只有方程式的情况下,A=,b=; 输出结果: x表示最佳解向量,fval表示最佳值。 【例1】,解决线性规划问题:解:考虑linprog函数解决线性规划。 因此,首先把线性计划变更为以下的形式:然后生成m文件:c=-3; 1; 1; A=1-21; 4-1-2; b=11; -3; aeq=20-1; beq=-1; vlb=0; 0; 0; x、fval=linprog(c、a、b、aeq、beq、vlb )、Matlab程序:如果将ch701.m、ch701作为文件名保存此m文件,则在命令窗口中输入ch701时,结果:x1=

4、4. 第二节了解不受约束计划的计算方法、一、实验目的、一、不受约束计划问题的解决原理和方法;2、用Matlab软件解决不受约束的计划问题。 二、实验原理和方法、无限制规划问题的解法一般分为目标函数的形式两种:一种是一维函数的一维搜索法,如黄金分割法、插值法,另一种是解多元函数的下降迭代法。 重复的基本思想和步骤大致可分为以下四个阶段:三、实验内容和步骤,在Matlab软件中,解除无约束计划的常用指令为:x=fminunc(fun,x0 )。 在此,fun函数被预先定义为m文件,并将初始解向量设定为x0。【例2】,解,解:首先,创建函数文件fun702.m,并以fun702的文件名存储该函数文件

5、。 在命令窗口中,输入:x0=-2;4; x=fminunc(fun702,x0 )的结果,在f=-1.0000、f=-1.0000、即最小值为-1、x1=1时取得。 Matlab程序: ch702.m、【例3】、解非线性方程式,解:解此非线性方程式等效于解无约束的非线性规划问题:并创建函数文件fun703.m,在指令窗口中:x0=0; 0; 作为x=fminunc(fun703,x0 )的结果,f=5.2979e-011x=1.06730.1392,非线性方程式的解为x1=1.0673,x2=0.1392。 Matlab程序: ch703.m,第三节了解约束非线性规划计算方法,一、实验目的,

6、一、约束非线性规划问题的解决原理和方法,2,用Matlab软件解决约束非线性规划问题。二、实验原理和方法、约束非线性规划的解法因目标函数和约束条件而异,一般有使约束问题成为无约束问题的解决方法两种方法,(2)用线性规划近似非线性规划,三、实验内容和程序、约束非线性规划的一般形式是:其中f(x ) 是多变量实数函数的g(x )是向量函数,并且f(x )和g(x )中的至少一个函数是非线性函数(否则是线性规划问题)。 x=最小con (fun,x0,a,b ) x=最小con (fun,x0,a,b,Aeq,beq ) x=最小con (fun,x0,a,b,Aeq,beq,lb,ub ) x=最

7、小con (fun non lcon )在MATLAB优化工具箱中,fmincon函数是使用SQP算法解决一般约束非线性计划的函数,其指令形式为:【例4】,(初始值为1; 1 )解:首先包括m个文件fun 7041.mfunctiony=fun 7041 (x ) y=-exp (x (1) ) * x (2)2* (3- exp (x (1) )-x (2); 存储为fun7041.m,首先求出将问题转换为matlab请求的形式的fun、a、b、Aeq、Beq、X0、Lb、Ub,并求出m个文件fun7042.mfunctionc,cep=fun7042(x)c=; %c是一个非线性不等式,其

8、中c=0cep=exp(x(1) x(2)2-3; 在非线性方程式中作为fun7042.m记忆,最后在指令窗口中: A=; b=; Aeq=; Beq=; Lb=; Ub=; x,f=fmin con (fun 7041,1; 1,fun7042)-f,因为主题有非线性约束条件,所以生成非线性约束m-文件。 Matlab程序: ch704.m,结果为:x=0. 88520.7592 f=6. 2043 e-016 ans=-6.2043 e-016,最后的结果为:-6.2043e-016,【例5】,解除约束非线性计划:解: 作为fun705.m文件存储,x0=1; 1; 1; 1; A=1111; 3321; B=5;

温馨提示

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

评论

0/150

提交评论