第九章 最优化方法的 Matlab 实现
在生活和工作中,人们对于同一个问题往往会提出多个解决方案,并通过各方面的论证从中提取最佳方案。 最优化方法就是专门研究如何从多个方案中科学合理地提取出最佳方案的科学。由于优化问题无所不在,目前最优化方法的应用和研究已经深入到了生产和科研的各个领域,如土木工程、机械工程、化学工程、运输调度、生产控制、经济规划、经济管理等,并取得了显著的经济效益和社会效益。
用最优化方法解决最优化问题的技术称为最优化技术,它包含两个方面的内容:
建立数学模型 即用数学语言来描述最优化问题。模型中的数学关系式反映了最优化问题所要达到的目标和各种约束条件。
数学求解 数学模型建好以后,选择合理的最优化方法进行求解。
最优化方法的发展很快,现在已经包含有多个分支,如线性规划、整数规划、非线性规划、动态规划、多目标规划等。
概 述
利用 Matlab 的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。具体而言,包括线性、非线性最小化,最大最小化,二次规划,半无限问题,线性、非
线性方程(组)的求解,线性、非线性的最小二乘问题。 另外,该工具箱还提供了线性、
非线性最小化,方程求解,曲线拟合,二次规划等问题中大型课题的求解方法,为优化方法在工程中的实际应用提供了更方便快捷的途径。
优化工具箱中的函数
优化工具箱中的函数包括下面几类:
最小化函数
表 9-1 最小化函数表
函 数 描 述
fgoalattain 多目标达到问题
fminbnd 有边界的标量非线性最小化
fmincon 有约束的非线性最小化
fminimax 最大最小化
fminsearch, 无约束非线性最小化
fminunc
fseminf 半无限问题
linprog 线性课题
quadprog 二次课题
方程求解函数
表 9-2 方程求解函数表
函 数 描 述
\ 线性方程求解
fsolve 非线性方程求解
fzero 标量非线性方程求解
最小二乘(曲线拟合)函数
表 9-3 最小二乘函数表
函 数 描 述
\ 线性最小二乘
lsqlin 有约束线性最小二乘
lsqcurvefit 非线性曲线拟合
lsqnonlin 非线性最小二乘
lsqnonneg 非负线性最小二乘
实用函数
表 9-4 实用函数表
函 数 描 述
optimset 设置参数
optimget
大型方法的演示函数
表 9-5 大型方法的演示函数表
函 数 描 述
circustent 马戏团帐篷问题—二次课题
molecule 用无约束非线性最小化进行分子组成求解
optdeblur 用有边界线性最小二乘法进行图形处理
中型方法的演示函数
表 9-6 中型方法的演示函数表
函
函
数
描
述
bandemo
香蕉函数的最小化
dfildemo
过滤器设计的有限精度
goaldemo
目标达到举例
optdemo
演示过程菜单
tutdemo
教程演示
参数设置
利用 optimset 函数,可以创建和编辑参数结构;利用 optimget 函数,可以获得
options 优化参数。
optimget 函数
功能:获得 options 优化参数。语法:
val
=
optimget(options,param)
val
=
optimget(options,param,default)
描述:
val = optimget(options,param) 返回优化参数 options 中指定的参数的值。只需要用参数开头的字母来定义参数就行了。
val = optimget(options,param,default) 若 options 结构参数中没有定义指定参数,则返回缺省值。注意,这种形式的函数主要用于其它优化函数。
举例:
下面的命令行将显示优化参数 options 返回到 my_options 结构中:
val = optimget(my_options,Display)
下面的命令行返回显示优化参数 options 到 my_options 结构中(就象前面的例子一样),但如果显示参数没有定义,则返回值 final:
optnew = optimget(my_options,Display,final);
参见:
optimset
optimset 函数
功能:创建或编辑优化选项参数结构。语法:
options
optimset
=
optimset(param1,value1,param2,value2,...)
options
=
optimset
options
=
optimset(optimfun)
options
=
optimset(oldopts,param1,value1,...)
options
=
optimset(oldopts,
原创力文档

文档评论(0)