logo资料库

Matlab优化工具箱使用方法.pdf

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
目录
声 明
1.一个简单的示例
2.优化工具箱简介
2.1.优化工具箱概述
2.2.优化工具箱函数
2.3.优化函数的变量说明
2.4.控制优化算法的参数选项以及设置
2.5.最优化方法词汇英汉对照表
A
B
C
D
E
F
G
I
J
L
M
N
O
P
Q
R
S
T
U
V
W
3.优化函数linprog的中文使用说明
4.利用linprog求解产销不平衡的运输模型
4.1.优化工具箱的工程应用步骤
4.2.问题
4.3.模型分析
4.4.模型建立
4.5.linprog求解模型
第一步把模型转化为linprog函数的标准型。
第二步编写相应的M函数
第三步运行M函数,得到模型结果
5.Matlab介绍及特点
6.Matlab的帮助系统
6.1.命令行帮助(指令帮助)
6.2.联机帮助
6.3.演示帮助
7.MATLAB 函数编写方法与应用
8.Matlab 学习的较好网站:
9.几本经典的书
Matlab 优化工具箱使用说明 Matlab 优化工具箱使用说明 目录 目录 ..................................................................................................................................................1 声 明 ..............................................................................................................................................2 1.一个简单的示例............................................................................................................................3 2.优化工具箱简介............................................................................................................................5 2.1.优化工具箱概述.................................................................................................................5 2.2.优化工具箱函数.................................................................................................................7 2.3.优化函数的变量说明.........................................................................................................9 2.4.控制优化算法的参数选项以及设置...............................................................................11 2.5.最优化方法词汇英汉对照表...........................................................................................14 3.优化函数linprog的中文使用说明 ..............................................................................................16 4.利用linprog求解产销不平衡的运输模型 ..................................................................................19 4.1.优化工具箱的工程应用步骤...........................................................................................19 4.2.问题...................................................................................................................................19 4.3.模型分析...........................................................................................................................19 4.4.模型建立...........................................................................................................................20 4.5.linprog求解模型 ...............................................................................................................20 5.Matlab介绍及特点 ......................................................................................................................23 6.Matlab的帮助系统 ......................................................................................................................25 6.1.命令行帮助(指令帮助)...............................................................................................25 6.2.联机帮助...........................................................................................................................30 6.3.演示帮助...........................................................................................................................30 7.MATLAB 函数编写方法与应用...............................................................................................31 8.Matlab 学习的较好网站: ...........................................................................................................33 9.几本经典的书..............................................................................................................................33 -1-
Matlab 优化工具箱使用说明 声 明 Matlab 是当今国际上科学界最具影响力、也是最有活力的软件之一,它提供 了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、 便捷的与其他程序和语言接口、工具箱的开放扩展功能。目前 MATLAB 产品 的工具箱就有四十多个,分别涵盖了数据获取、科学计算、控制系统设计与分析、 数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域 , 可以说是本“小百科全书”了。 在短短的 32 页纸中要详尽描述 Matlab 的功能,这是不合理也是不可能的。 Matlab 的整体结构可以说成“基本操作+工具箱”,每个工具箱对应着某个专业 领域,而现在的科学技术往往是好几门学科交叉一起,要求我们掌握多个工具箱。 本文的目的只是希望在最短的时间内,大家能有效的把握 Matlab 的大体轮廓, 并对优化工具箱能有一定的了解,举一反三,即把大家引入功能强大的 Matlab 世界中。 在这里,我们主要介绍 Matlab 的优化工具箱(Optimization Toolbox)的使 用说明,因而将略过 Matlab 的基本操作,对不可省的部分进行略加说明,详情 可以查询市面上众多的 Matlab 书籍中的某一本。 本使用说明结构为:以一个简单例子作为开始,介绍 Matlab 优化工具箱的 使用环境;接着以在线帮助文件,对优化工具箱进行整体介绍;我们以最常用的 线性规划模型求解函数 linprog 作为典型,进行了解说,其它优化函数与 linprog 结构类似;给出了工程应用的求解步骤;最后以一个产销不平衡的运输问题作为 工具箱使用说明的结束。为适合初中级使用者的进一步学习,给出了 Matlab 整 体的介绍,以及学习方法和资源,对优化工具箱所涉及到的方面尽可能做到了说 明,并给出了一些实用的方法。在应用优化工具箱碰到不清楚的地方,可以参考 后面的说明。 -2-
Matlab 优化工具箱使用说明 1.一个简单的示例 f ( 5 我们有如下的优化问题: x min 1 + 4 2 −= x − x 2 x 3 x ) x + 2 + + 3 x 2 1 1 1 ts .. ⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩ − x x x 3 3 2 0 0 0 6 x 3 x 4 ≤ ≤ ≤ ≤ ≤ ≤ − 2 20 42 30 x 1 x x 2 3 它是一个典型的线性规划问题,我们可以利用 Matlab 优化工具箱内的 linprog 进行求解。 在命令窗口(见图 1-3),输入 doc linprog,可得图 1-1(该图为帮助窗口)。 图 1-1 这是系统自带的帮助文件,里面详尽地介绍了该函数的使用,将滚动条往下拉,可以看出, 上面的例子就是该函数的使用例子。 为方便大家学习入门,我们在后面章节给出该函数的完整中文翻译,不熟悉的话可以参考。 求解步骤: 建立相应的 M 文件 在 M 文件窗口(见图 1-2)中,输入如图 1-2 所示的代码,并保存为 OptExp01.m -3-
Matlab 优化工具箱使用说明 图 1-2 运行 M 文件 在命令窗口中,输入 OptExp01,产生出我们所需的结果。如图 1-3 所示,该问题得到了最优处 理(Optimization terminated 以及 exitflag=1),最优解为 x 1 = ,0 x 2 = ,15 x 3 = 3 ,最优值为 -78。 图 1-3 -4-
Matlab 优化工具箱使用说明 2.优化工具箱简介 2.1.优化工具箱概述 Matlab 的优化工具箱(Optimization Toolbox)被放在 Matlab 的 toolbox 目录下的 optim 子目录中,包含着若干个求解最优化问题的程序。最新版 Matlab7.0 中的优化工具箱版本为 3.0 版本,随着版本的不断改进,求解最优化问题的功能也不断增强。 该版本优化工具箱可以求解线性规划、非线性规划、二次规划和无约束最优化,也可以 用于一些非线性和线性方程组的求解以及代数方程求根,并对以前版本的软肋(不能求解离 散优化模型,如整数规划、混合整数规划)进行了改进,给出了能求解变量全为 0-1 整数规 划的 bintprog 函数。期待版本的不断升级,可以象 lingo 软件般求解离散优化模型。 我们将通过系统自带的帮助文件,对该工具箱进行比较全面的介绍。 为说明方便,我们约定以后采用路径形式表示的 Help 来代指帮助窗口,用 helpOpt 代 替 Help\Contents\Optimization Toolbox。 由路径 Help\Contents\Optimization Toolbox\Tutorial\introduction\Problems Covered by the Toolbox,按约定,也可写成:helpOpt\Tutorial\introduction\Problems Covered by the Toolbox 可得图 2-1。该帮助文档详尽罗列出各函数的最优化问题求解模型的说明。 为更加清晰的表示工具箱的功能,我们罗列出如下常用的最优化问题求解程序的说明。 图 2-1 -5-
Matlab 优化工具箱使用说明 表 2-1 常用的最优化问题求解程序 通过上面的帮助文档,结合实际建立的模型,可以找到相应的函数进行求解。 注:也许是新版的原因,在帮助文档中没有出现新函数 bintprog 的模型功能说明,我们可以 在 helpOpt\Functions -- Categorical List\minimization\bintprog 找到,如图所示。 -6-
Matlab 优化工具箱使用说明 通过 help 窗口,可以看出 bintprog 能够求解变量全为 0-1 变量的整数规划问题。 图 2-2 2.2.优化工具箱函数 优化工具箱 V3.0 一共提供了六类函数总共 28 个函数和一个运算符“\”,其中最小化函 数 10 个、方程求解 2 个、最小二乘 4 个、实用函数 4 个、大型、中型方法的演示函数各 3 个、5 个。其中 bintprog、fzmult、gangstr 是新增加的函数。可用于求解模型的函数共有 16 个,加上运算符“\”,可求解 17 种类型的优化问题。详见下面的六个表。 系统帮助:helpOpt\Functions – Categorical List(函数分类表)\minimization,可得图 2-3. 图 2-3 -7-
Matlab 优化工具箱使用说明 表 2-2 最小化函数表 描 述 0-1 整数规划 多目标达到问题 有边界的标量非线性最小化 有约束的非线性最小化 最大最小化 无约束非线性最小化 半无限问题 线性课题 二次课题 表 2-3 方程求解函数表 描 述 线性方程求解 非线性方程求解 标量非线性方程求解 表 2-4 最小二乘函数表 描 述 线性最小二乘 有约束线性最小二乘 非线性曲线拟合 非线性最小二乘 非负线性最小二乘 表 2-5 实用函数表 描 述 设置参数 获取参数 函 数 Bintprog fgoalattain fminbnd fmincon fminimax fminsearch, fminunc fseminf linprog quadprog 函 数 \ fsolve fzero 函 数 \ lsqlin lsqcurvefit lsqnonlin lsqnonneg 函 数 Fzmult Gangstr optimset optimget 函 数 circustent molecule optdeblur 函 数 bandemo dfildemo goaldemo 表 2-6 大型方法的演示函数表 描 述 马戏团帐篷问题—二次课题 用无约束非线性最小化进行分子组成求解 用有边界线性最小二乘法进行图形处理 表 2-7 中型方法的演示函数表 描 述 香蕉函数的最小化 过滤器设计的有限精度 目标达到举例 -8-
分享到:
收藏