matlab优化工具箱介绍

更新时间:2023-04-25 06:00:29 阅读: 评论:0


2023年4月25日发(作者:爬山廊)

matlab优化工具箱介绍

Matlab优化工具箱简介

1 引言

最优化方法是专门研究如何从多个方案中选择最佳方案的科学。

最优化是一门应用广泛的学科,它讨论决策问题的最佳选择的特性,构造

寻求最佳解的计算方法[1]。在生活和工作中,优化问题广泛存在。最

优化方法的研究和应用已经涉及很多领域,并取得了很好的经济效益

和社会效益。

MATLABMathworks公司推出的一套功能强大的过程计算及

数值分析软件,是目前世界上应用最广泛的工程计算软件之一[2]。它

包含很多工具箱,主要用来扩充matlab的数值计算、符号运算、图形

建模仿真等功能,使其能够用于多种学科。如,控制系统工具箱

Control System Toolbox)、信号处理工具箱(Signal Processing

Toolbox)、财政金融工具箱(Financial Toolbox)等等.本文主要介绍

Matlab的优化工具箱(Optimization Toolbox)的一些内容。

2 优化工具箱简介

1Matlab的优化工具箱主要应用包括:

①求解无约束条件非线性极小值;

②求解约束条件下非线性极小值,包括目标逼近问题、极大-极小

值问题;

③求解二次规划和线性规划问题;

④非线性最小二乘逼近和曲线拟合;

⑤求解复杂结构的大规模优化问题。

2

3Matlab优化函数的查阅与定位

matlab的命令窗口键入命令

help optiom

结果显示该工具箱中所有函数清单,部分函数如下图示。

优化工具箱部分函数清单

4)优化工具箱的结构

优化工具箱的结构如下图所示;

3 胃烧 优化函数简介

3.1 线性规划问题

线性规划问题是目标函数和约束条件均为线性函数的问题。

线性规划问题的数学模型为:

min n R x x f ∈'

s.t.:b x A ≤*

beq x Aeq =*

ub x lb ≤≤

其中f x b beq lb ub 为向量,A Aeq 为矩阵。

其它形式的线性规划问题都可经过适当变换化为此标准形式。

函数 linprog

调用格式如下:

x = linprog(f,A,b) %min f ' *x b x A ≤?线性规划的最

优解。

x = linprog(f,A,b,Aeq,beq) %等式约束beq x Aeq =?,若没有

不等式约束b x A ≤?,则A=[ ]b=[ ]

x = linprog(f,A,b,Aeq,beq,lb,ub) %指定x 的范围ub x lb ≤≤,

若没有等式约束beq x Aeq =? ,则Aeq=[ ]beq=[ ]

x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %设置初值x0

x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % options 为指定

的优化参数

[x,fval] = linprog(…) % 返回目标函数最优值,即fval= f ' *x

[x,lambda,exitflag] = linprog(…) % lambda 为解x Lagrange

乘子。

[x, lambda,fval,exitflag] = linprog(…) % exitflag 为终止迭代的

错误条件。

[x,fval, lambda,exitflag,output] = linprog(…) % output 为关于

优化的一些信息

3.2 非线性规划问题

3.2.1 无约束非线性规划问题

多元函数最小值的数学模型为:

)x (f min x

其中:x 为向量,如]x ,,x ,x [x n 21 =

可以使用函数fminbnd fminarch fminunc

函数 fminbnd

格式 x = fminbnd(fun,x1,x2) %返回自变量x 在区间21x x x <<

上函数

fun 取最小值时x 值,fun 为目标函数的表达

式字符串或MATLAB 自定义函数的函数柄。

x = fminbnd(fun,x1,x2,options) % options 为指定优化参数选

[x,fval] = fminb首先近义词 nd(…) % fval 为目标函数的最小值

[x,fval,exitflag] = fminbnd(…) %xitflag 为终止迭代的条件

[x,fval,exitflag,output] = fminbnd(…) % output 为优化信息

fminarch

格式 x = fminarch(fun,x0) %x0为初始点,fun 为目标函数的

表达式

字符串或MATLAB 自定义函数的函数柄。

x = fminarch(fun,x0,options) % options optimt

[x,fval] = fminarch(…) %最优点的函数值

[x,fval,exitflag] =fminarch(…)% exitflag 与单变量情形一致

[x,fval,exitflag,output] = fminarch(…) %output 与单变量情

形一致

函数 fminunc

格式 x = fminunc(fun,x0) %返回给定初始点x0的最小函数值点

x佛跳墙的家常做法 = fminunc(fun,x0,options) % options 为指定优化参数

[x,fval] = fminunc(…) %fval 最优点x 处的函数值

[x,fval,exitflag] = fminunc(…) % exitflag 为终止迭代的条件。

[x,fval,exit避孕药的危害 flag,output] = fminunc(…) %output 为输出优化信息

[x,fval,exitflag,output,grad] = fminunc(…) % grad 为函数在解

x 处的梯度值

[x,fval,exitflag,output,grad,hessian] = fminunc(…) %目标

函数在解x 处的海赛(Hessian )值

3.2.2 约束非线性规划问题

非线性有约束的多元函数的数学模型为:

)(min x f

s.t. 0)x (C ≤

0)x (Ceq =

b x A ≤?

beq x Aeq =?

ub x lb ≤≤

其中:x b beq lb ub 是向量,A Aeq 为矩阵,C(x)

Ceq(x)是返回向量的函数,f(x)为目标函数,f(x)C(x)Ceq(x)可以

是非线性函数。

函数 fmincon

格式 x = fmincon(fun,x0,A,b)

x = fmincon(fun,x0,A,b,Aeq,beq)

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

[x,fval] = fmincon(…)

[x,fval,exitflag] = fmincon(…)

[x,fval,exitflag,output] = fmincon(…)

[x,fval,exitflag,output,lambda] = fmincon(…)

[x,fval,exitflag,output,lambda,grad] = fmincon(…)

[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(…) 谢谢你朋友

3.2.3 二次规划问题

二次规划问题的数学模型为:

x f x H x 2

1min '+' s.t. b x A ≤?

beq x Aeq =?

b u x b l ≤≤

其中,H A Aeq 为矩阵,f b beq lb ub x 为向量

其它形式的二次规划问题都可转化为标准形式。白带常规检查多少钱

函数 quadprog

格式 x = quadprog(H,f,A,b) %其中H,f,A,b 为标准形中的参数,

x 为目

标函数的最小值。

x = quadprog(H,f,A,b,Aeq,beq) %Aeq,beq 满足等约束条件

beq x Aeq =?

x = quadprog(H,f,A,b,Aeq,beq,lb,ub) % lb,ub 分别为解x 的下

界与上界。

x = quad七皇子 prog(H,f,A,b,Aeq,beq,lb,ub,x0) %x0为设置的初值

x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) % options

为指定的优化参数

[x,fval] = quadprog(…) %fval 为目标函数最优值

[x,fval,exitflag] = quadprog(…) % exitflag 与线性规划中参数意

义相同

[x,fval,exitflag,output] = quadprog(…) % output 与线性规划中

参数意义相同

[x,fval,exitflag,output,lambda] = quadprog(…) % lambda 与

线性规划中参数意义相同

3.3 最小、最大化问题

最小、最大化问题的数学模型为:

)}x (F {max min i }F {x i

s.t. 0)x (C ≤

0)x (Ceq =

b x A ≤?

beq x Aeq =?

ub x lb ≤≤

其中:x b beq lb ub 是向量,A Aeq 为矩阵,C(x)

Ceq(x)F(x)是返回向量的函数,F(x)C(x)Ceq(x)可以是非线性函

数。

优化函数 fminimax

格式 x = fminimax(fun,x0)

x = fminimax(fun,x0,A,b)

x = fminimax(fun,x0,A,b,Aeq,beq)

x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub)

x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

[x,fval,maxfval] = fminimax(…)

[x,fval,maxfval,exitflag] = fminimax(…)

[x,fval,maxfval,exitflag,output] = fminimax(…)

[x,fval,maxfval,exitflag,output,lambda] = fminimax(…)

3.4 多目标规划问题

多目标规划是指在一组约束下,对多个不同目标函数进行优化。

它的一般形式为

])x (f ,),x (f ),x (f [min m 21

p ,,2,1j 0)x (g j =≤

其中:)x ,,x ,x (x n 21 =

在同一约束下,当目标函数处于冲突状态时,不存在最优解x 使

所有目标函数同时达到最优。此时,我们使用有效解,即如果不存在S

x ∈,使得)x (f )x (f *i i ≥,i=1,2,…m, 则称x*为有效解。

MATLAB 中,多目标问题的数学模型为:

,min x imize

s.t. goal

-

?

)x(F≤

weight

C≤

)x(

Ceq=

)x(

A≤

x

b

Aeq=

beq

x

lb≤

ub

x

其中:xbbeqlbub是向量;AAeq为矩阵;C(x)

Ceq(x)F(x)是返回向量的函数;F(x)C(x)Ceq(x)可以是非线性函

数;weight为权值系数向量,用于控制对应的目标函数与用户定义的

目标函数值的接近程度;goal 为用户设计的与目标函数相应的目标函

数值向量;为一个松弛因子标量;F(x)为多目标规划中的目标函数向

量。

函数 fgoalattain

格式 x = fgoalattain(fun,x0,goal,weight)

x = fgoalattain(fun,x0,goal,weight,A,b)

x = fgoalattain(fu关于桥的成语 n,x0,goal,weight,A,b,Aeq,beq)

x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub)

x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)

x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,

options)

[x,fval] = fgoalattain(…)

[x,fval,attainfactor] = fgoalattain(…)

[x,fval,attainfactor,exitflag] = fgoalattain(…)

[x,fval,attainfactor,exitflag,output] = fgoalattain(…)

[x,fval,attainfactor,exitflag,output,lambda]=fgoalattain() 参考

文献:

[1]褚洪生,杜增吉,阎金华,.MATLAB7.2优化设计实例指导教程

[M].北京:机械工业出

版社,2007.

[2]李丽,王振领.MATLAB工程计算及应用[M].北京:人民邮电出版

,2004.

[3]张德丰.MATLAB数值分析与应用[M].国防工业出版社,2009.

[4]张武.MATLAB优化工具箱及其应用[J].农业网络信息,138~142

2008年第8.

[5]MATLAB./p-

.

[6]matlab优化工具箱使用实战.

/blog/static/1

/

[7]MATLAB./p-

#


本文发布于:2023-04-25 06:00:29,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/846954.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:linprog
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图