线性与非线性规划算法及实现.ppt
《线性与非线性规划算法及实现.ppt》由会员分享,可在线阅读,更多相关《线性与非线性规划算法及实现.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数学实验第九章 线性规划内容:内容:本讲主要介绍线性规划问题的求解本讲主要介绍线性规划问题的求解目的:目的:接触最优化问题接触最优化问题,学习线性规划算法的学习线性规划算法的 MATLAB实现实现(基于单纯型法变种基于单纯型法变种)要求:要求:能够运用软件直接对小规模线性规划能够运用软件直接对小规模线性规划 问题进行求解问题进行求解了解线性规划问题的基本概念、形式和算法了解线性规划问题的基本概念、形式和算法掌握线性规划问题的图解法掌握线性规划问题的图解法(2维维)和和lp算法算法通过范例通过范例,掌握线性规划问题求解一般过程掌握线性规划问题求解一般过程第第9.1节节引引入入与与导导言言01数学
2、实验关于线性规划的引入和概述 线性规划线性规划隶属于运筹学中的隶属于运筹学中的约束优化约束优化,简,简单说就是单说就是目标函数目标函数(希望进行最优化的指标希望进行最优化的指标)和和约束条件约束条件(决策变量受到的限制决策变量受到的限制)均为线性函数均为线性函数的约束优化(否则称为的约束优化(否则称为非线性规划非线性规划)。)。线性规划问题是企业运作、科技研发和工线性规划问题是企业运作、科技研发和工程设计的常见问题,应用十分广泛。具有代表程设计的常见问题,应用十分广泛。具有代表性的算法有性的算法有单纯型法、椭球法和单纯型法、椭球法和KarmarkarKarmarkar算算法法。随着计算机硬件和
3、软件技术发展,几十万。随着计算机硬件和软件技术发展,几十万变量和约束的线性规划问题已经很普通。变量和约束的线性规划问题已经很普通。MATLABMATLAB优化工具箱优化工具箱(Optimization Optimization ToolboxToolbox)采用投影法采用投影法(单纯型法变种单纯型法变种),由函数,由函数linproglinprog实现求解。实现求解。第第9.1节节引引入入与与导导言言02数学实验解决规划问题的基本流程第第9.1节节引引入入与与导导言言03第1步:问题的分析理解及描述(数学建模)第2步:解决问题的整体目标(目标函数)第3步:影响目标的各种限制条件(约束条件)第4
4、步:应用相关函数获得求解(算法实现)数学实验哪样一些问题可以描述成为线性规划问题?哪样一些问题可以描述成为线性规划问题?线性规划模型的一般形式第第9.31节节线线性性规规划划一一般般形形式式04当当 均为线性函数,上述优化模型称为均为线性函数,上述优化模型称为线线性规划性规划,否则称为,否则称为非线性规划非线性规划。关于线性规划的形式,有诸如标准形式、规范关于线性规划的形式,有诸如标准形式、规范形式等形式等之分之分,在这里我们只关心在这里我们只关心MATLAB能够能够接受的形式:接受的形式:一般来说不同形式之间可以转换一般来说不同形式之间可以转换(YCXp14)z目标函数目标函数/c价值向量价
5、值向量/A约束矩阵约束矩阵/b右端向量右端向量一个满足约束的一个满足约束的x-可行解可行解/可行解集合可行解集合-可行域可行域数学实验线性规划的图解法(2维情形)1通过一个简单的实例通过一个简单的实例,巩固对线性规划的若干巩固对线性规划的若干概念的理解:概念的理解:exp.1 图解法求解线性规划问题图解法求解线性规划问题:第第9.34节节线线性性规规划划图图解解法法05将前三个约束条件的不等号改为等号将前三个约束条件的不等号改为等号,就是如上就是如上三条直线三条直线,下面考察直线下面考察直线L1,L2,L3及坐标轴围及坐标轴围成的可行域成的可行域:数学实验线性规划的图解法(2维情形)2第第9.
6、34节节线线性性规规划划图图解解法法如图所示如图所示:五边形五边形OQ1Q2Q4Q3构成可行域构成可行域06x1x2oL1L2L3Q1Q2Q4(4,1)Q3Z1 Z2 Z3 Z4 Z5 当目标函数当目标函数z=3x1+x2取不同值时,表示一组平行取不同值时,表示一组平行直线,如图中虚线,最优解在直线,如图中虚线,最优解在Q4点,点,Zmax=13数学实验线性规划的图解法(2维情形)3一些直观结论和定理:一些直观结论和定理:在在2维情形维情形下,可行域为直线组成的凸多边下,可行域为直线组成的凸多边形形,目标函数的等值线为直线,最优解在凸多边目标函数的等值线为直线,最优解在凸多边形的形的 某个顶点
7、处取得。某个顶点处取得。可行域可行域空集空集,如改例中第,如改例中第3个约束为个约束为-3x1+2x2 14,则无最优解;则无最优解;可行域可行域无界无界,如去掉例中第如去掉例中第3个约束个约束-3x1+2x2 14,则可能无最优解;则可能无最优解;无穷多无穷多最优解,如改例中第最优解,如改例中第3个约束为个约束为3x1+x2 14,则最优解在凸多边形一条边上取得;则最优解在凸多边形一条边上取得;推广到推广到n维欧氏空间维欧氏空间,线性规划问题若有最优,线性规划问题若有最优解,则最优解必是作为可行域的凸多面体的某个解,则最优解必是作为可行域的凸多面体的某个顶点。顶点。第第9.34节节线线性性规
8、规划划图图解解法法07数学实验线性规划的LP解法相关函数介绍:相关函数介绍:lp第第9.2节节线线性性规规划划LP解解法法08x=lp(c,A,b)x=lp(c,A,b,v1,v2)%即有约束即有约束v1 x v2x=lp(c,A,b,v1,v2,x0)%x0为初始解,缺省为为初始解,缺省为0 x,lag=lp()%lag为拉格朗日乘子,非为拉格朗日乘子,非 零分量对应于起作用的约束条件零分量对应于起作用的约束条件x,lag,how=lp()%how给出求解信息,无给出求解信息,无可行解可行解infeasible,无有界解无有界解unbounded,成功成功ok不过在高版本中不过在高版本中lp
9、已被已被linprog取代!取代!数学实验lp函数求解示例:第第9.2节节线线性性规规划划LP解解法法针对前述针对前述exp.1可如下计算:可如下计算:c=-3,1;a=-1,1;1,-2;3,2;b=2,2,14;v1=0,0;x=lp(c,a,b,v1)z=-c*xx=4.0000 1.0000z=13.000009c=-3;1;a=-1,1;1,-2;3,2;b=2;2;14;v1=0,0;x=lp(c,a,b,v1)z=-c*x数学实验线性规划的LP解法相关函数介绍:相关函数介绍:linprog第第9.2节节线线性性规规划划LP解解法法10 x=linprog(f,A,b)x=linp
10、rog(f,A,b,Aeq,beq)%增加约束增加约束Aeq*x=beqx=linprog(f,A,b,Aeq,beq,lb,ub)%设计变量下上界设计变量下上界x,fval,exitflag,output,lambda=linprog()%fval返回返回目标函数值目标函数值/exitflag返回退出条件返回退出条件/output返回优化返回优化信息信息/lambda返回显示哪些主动约束(返回显示哪些主动约束(参数繁杂会用即参数繁杂会用即可可)数学实验linprog函数求解示例:第第9.2节节线线性性规规划划LP解解法法11exp.2求解下列线性规划问题:求解下列线性规划问题:f=-5;-4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 非线性 规划 算法 实现
限制150内