云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第8章最优化方法的MATLAB实现讲稿

第8章最优化方法的MATLAB实现讲稿

  • 62 次阅读
  • 3 次下载
  • 2025/12/9 12:01:05

0 1 0 0 0 1 1 0 0 0 0 0 fval =

-1018 exitflag = -4

8.7 最大最小化

通常我们遇到的都是目标函数的最大化和最小化问题,但是在某些情况下,则要求使最大值最小化才有意义。例如,城市规划中需要确定急救中心、消防中心的位置,可取的目标函数应该是到所有地点最大距离的最小值,而不是到所有目的地的距离和为最小。这是两种完全不同的准则,在控制理论、逼近论、决策论中也使用最大最小化原则。 8.7.1 基本数学原理

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

xminmax?F(x)?

?F??c(x)?0?ceq(x)?0???A?x?b ?Aeq?x?beq???lb?x?ub式中x,b,beq,lb和ub为矢量,A和Aeq为矩阵,c(x),ceq(x)和F(x)为函数,返回矢量。F(x),c(x)和ceq(x)可以是非线性函数。

- 21 -

8.7.2 有关函数介绍

fminimax使多目标函数中的最坏情况达到最小化。给定初值估计,该值必须服从一定的约束条件。其调用格式如下:

●x=fminimax(fun,x0):初值为x0,找到fun函数的最大最小化解x。 ●x=fminimax(fun,x0,A,b):给定线性不等式Ax?b,求解最大最小化问题。 ●x=fminimax(fun,x0,A,b,Aeq,beq):还给定线性等式Aeq?x?beq,求解最大最小化问题。如果没有不等式存在,设置A=[]、b=[]。

●x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub):还为设计变量x定义一系列下限lb和上限ub,使得总有lb?x?ub。

●x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon):在nonlcon参数中给定非线性不等式c(x)或等式ceq(x)。fminimax函数要求c(x)?0且ceq(x)?0。若无边界存在,则设lb =[]和(或)ub =[]。

●x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options):用options参数指定的参数进行优化。

●x=fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2,┅):将问题参数P1,P2等直接传递给函数fun和nonlcon。如果不需要变量A,b,Aeq,beq,lb,ub,nonlcon和options,则将它们设置为空矩阵。

●[x,fval]=fminimax(…):还返回解x处的目标函数值。

●[x,fval,maxfval]=fminimax(…):还返回解x处的最大函数值。 ●[x,fval,maxfval,exitflag]=fminimax(…):返回exitflag参数,描述函数计算的退出条件。

●[x,fval,maxfval,exitflag,output]=fminimax(…):返回描述优化信息的结构输出output参数。

●[x,fval,maxfval,exitflag,output,lambda]= fmincon(…):返回包含解x处拉格朗日乘子的lambda参数。

其中,maxfval变量为解x处函数值的最大值,即maxfval=max{fun(x)}。 使用fminimax函数时需要注意下面几个问题:

⑴在options.MinAbsMax中设置F最大绝对值最小化了的目标数。该目标应该放到F的第1个元素中去。

⑵当提供了等式约束并且在二次子问题中发现并剔除了因变等式时,则在等式连续的情况下才被剔除。若系统不连续,则子问题不可行并且在过程标题中打印‘infeasible’字样。

另外,要求目标函数必须连续,否则fminimax函数有可能给出局部最优解。

- 22 -

8.7.3 应用实例

例8-8 定位问题。

设某城市有某种物品的10个需求点,第i个需求点Pi的坐标为(ai,bi),道路网与坐标轴平行,彼此正交。现打算建一个该物品的供应中心,且由于受到城市某些条件的限制,该供应中心只能设在x界于[5,8],y界于[5,8]的范围内。问该中心应建在何处为好? Pi点的坐标为:

ai:1 4 3 5 9 12 6 20 17 8 bi:2 10 8 18 1 4 5 10 8 9

解 设供应中心的位置为(x,y),要求它到最远需求点的距离尽可能小。由于此处应采用沿道路行走的距离,可知用户Pi到该中心的距离为:

|x?ai|?|y?bi|。

从而可得目标函数如下:

x,yminmax?|x?ai|?|y?bi|?

1?i?m创建目标函数(文件名为example8_7_3a.m): function f=example11_3_3a(x) a=[1 4 3 5 9 12 6 20 17 8]'; b=[2 10 8 18 1 4 5 10 8 9]'; f=abs(x(1)-a)+abs(x(2)-b); end

输入初值,调用fminimax函数进行计算: x0=[7;7];

lb=[5;5];ub=[8;8];

[x,fval,maxfval]=fminimax(@example8_7_3a,x0,[],[],[],[],lb,ub) 运行结果: x = 8 8 fval = 13 6 5 13 8

- 23 -

8 5 14 9 1 maxfval =

14.0000(最小的最大距离)

8.8 多目标决策

前面介绍的规划问题只有一个目标函数,是单目标最优化问题。但是,在许多实际工程问题中,往往希望多个指标都达到最优值,所以就有多个目标函数。这种问题称为多目标规划问题。多目标规划有权和法、?约束法、目标达到法和改进的目标达到法等多种解法。 8.8.1有关函数介绍

利用fgoalattain函数求解多目标达到问题。假设多目标达到问题的数学模型为

min?

x,??F(x)?weight???goal?c(x)?0???ceq(x)?0 ??A?x?b?Aeq?x?beq???lb?x?ub式中x,weight,goal,b,beq,lb和ub为矢量,A和Aeq为矩阵,c(x),ceq(x)和F(x)为函数,返回矢量。F(x),c(x)和ceq(x)可以是非线性

函数。

fgoalattain函数的调用格式如下。

●x=fgoalattain(fun,x0,goal,weight):试图通过变化x来使目标函数fun达到goal指定的目标。初值为x0,weight参数指定权重。

●x=fgoalattain(fun,x0,goal,weight,A,b):求解目标达到问题,约束条件为线性不等式A?x?b。

●x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq):求解目标达到问题,除提

- 24 -

搜索更多关于: 第8章最优化方法的MATLAB实现讲稿 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

0 1 0 0 0 1 1 0 0 0 0 0 fval = -1018 exitflag = -4 8.7 最大最小化 通常我们遇到的都是目标函数的最大化和最小化问题,但是在某些情况下,则要求使最大值最小化才有意义。例如,城市规划中需要确定急救中心、消防中心的位置,可取的目标函数应该是到所有地点最大距离的最小值,而不是到所有目的地的距离和为最小。这是两种完全不同的准则,在控制理论、逼近论、决策论中也使用最大最小化原则。 8.7.1 基本数学原理 最大最小化问题的数学模型为: xminmax?F(x)? ?F??c(x)?0?ceq(x)?0???A?

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com