MATLAB求解线性规划问题.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB求解线性规划问题

第七章 最优化计算方法 * * 一、实验目的: 第一节 线性方程组的应用 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)为向量

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档