主要内容

paretosearch

在帕累托集合中寻找点

描述

例子

x= paretosearch (有趣的据nvar)求多目标函数的非支配点有趣的.的据nvar参数是优化问题的维度(决策变量的数量)。

例子

x= paretosearch (有趣的据nvar一个b)找到服从线性不等式的非支配点* xb.看到线性不等式约束

x= paretosearch (有趣的据nvar一个bAeq说真的)求受线性约束的非支配点Aeq * x说真的* xb.如果不存在线性不等式,集合一个= []b = []

例子

x= paretosearch (有趣的据nvar一个bAeq说真的乌兰巴托)中的设计变量定义一组上下限x,所以x总是在范围内吗x乌兰巴托.如果不存在线性等式,集合Aeq = []说真的= [].如果x(我)没有下界,集合磅(i) =负无穷.如果x(我)没有上界,集合乌兰巴托(i) =正无穷

例子

x= paretosearch (有趣的据nvar一个bAeq说真的乌兰巴托nonlcon)应用非线性不等式c (x)中定义的nonlcon.的paretosearch函数找到非支配点c (x)≤0.如果不存在边界,则设置磅= []乌兰巴托= [],或两者兼而有之。

请注意

目前,paretosearch不支持非线性等式约金宝app束量表(x) = 0

例子

x= paretosearch (有趣的据nvar一个bAeq说真的乌兰巴托nonlcon选项)中指定的优化选项查找非支配点选项.使用optimoptions设置这些选项。如果没有非线性不等式或等式约束,则集合nonlcon = []

x= paretosearch (问题)求非支配点问题,在那里问题结构描述在问题

例子

xfval) = paretosearch (___),对于任何输入变量,返回矩阵fval中所有适应度函数的值有趣的对于所有的解(行金宝搏官方网站x.输出fvalnf列,nf目标的数量,和有相同的行数x

例子

xfvalexitflag输出) = paretosearch (___)同样的回报exitflag,该整数标识算法停止的原因,并且输出,该结构包含有关解决方案流程的信息。

例子

xfvalexitflag输出残差) = paretosearch (___)同样的回报残差,该结构包含解决点处的约束值x

例子

全部折叠

在一个二维变量的双目标函数的帕累托前找点。

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];rng默认的%的再现性x = paretosearch(有趣,2);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。paretosetchangettolerance '和约束满足于'options. constraintolerance '。

将解绘制成散点图。

情节(x (: 1) x (:, 2),“m *”)包含(“x”(1)) ylabel (“x”(2))

图中包含一个坐标轴。轴包含一个线型对象。

从理论上讲,这个问题的解决是一条直线(2, 1)[1,2]paretosearch返回接近这条线的等间距点。

为一个受线性约束的二维双目标问题创建一个帕累托前沿X (1) + X (2) <= 1

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];一个= [1];b = 1;rng默认的%的再现性x = paretosearch(乐趣2 A, b);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。paretosetchangettolerance '和约束满足于'options. constraintolerance '。

将解绘制成散点图。

情节(x (: 1) x (:, 2),“m *”)包含(“x”(1)) ylabel (“x”(2))

图中包含一个坐标轴。轴包含一个线型对象。

从理论上讲,这个问题的解决是一条直线(2, 1)[0, 1]paretosearch返回接近这条线的等间距点。

创建一个受边界约束的二维双目标问题的帕累托前沿x (1) > = 0x (2) < = 1

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];磅=(0,负);% x(1) >= 0乌兰巴托=[正无穷,1];% x(2) <= 1rng默认的%的再现性x = paretosearch(有趣,2 ,[],[],[],[], 磅,乌兰巴托);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。paretosetchangettolerance '和约束满足于'options. constraintolerance '。

将解绘制成散点图。

情节(x (: 1) x (:, 2),“m *”)包含(“x”(1)) ylabel (“x”(2))

图中包含一个坐标轴。轴包含一个线型对象。

所有的解点都在约束边界上x (1) = 0x (2) = 1

为有边界的二维两目标问题创建一个帕累托前沿-1.1 <= x(i) <= 1.1以及非线性约束规范(x) ^ 2 < = 1.2.这个非线性约束函数出现在这个例子的末尾,如果您作为一个活动脚本运行这个例子,它就可以工作。要运行此示例,请将非线性约束函数作为文件包含在MATLAB®路径中。

为了更好地看到非线性约束的效果,设置选项时使用较大的帕累托集大小。

rng默认的%的再现性有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];磅= [-1.1,-1.1];乌兰巴托= [1.1,1.1];选择= optimoptions (“paretosearch”“ParetoSetSize”, 200);x = paretosearch(有趣,2 ,[],[],[],[], 磅,乌兰巴托,@circlecons选项);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。paretosetchangettolerance '和约束满足于'options. constraintolerance '。

将解绘制成散点图。包括圆形约束边界图。

图绘制(x (: 1), (:, 2),“k *’)包含(“x”(1)) ylabel (“x”(2))举行矩形(“位置”,[-1.2 -1.2 2.4 2.4],“弯曲”, 1“EdgeColor”“r”) xlim([-0.5,1.2])轴广场持有

图中包含一个坐标轴。轴包含两个类型为直线、矩形的对象。

解点是正的x (1)值或负x (2)值接近非线性约束边界。

函数[c,ceq] = circlecons(x) ceq = [];C = norm(x)^2 - 1.2;结束

监督…的进展paretosearch,指定“psplotparetof”图的功能。

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];选择= optimoptions (“paretosearch”“PlotFcn”“psplotparetof”);磅= (4,4);乌兰巴托=磅;x = paretosearch(有趣,2 ,[],[],[],[], 磅,乌兰巴托,[]选项);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。paretosetchangettolerance '和约束满足于'options. constraintolerance '。

图帕累托搜索包含一个轴。标题为Pareto Front的轴包含一个类型为line的对象。

解看起来像半径为18的1 / 4圆弧,可以被证明是解析解。

通过调用,获得函数空间和参数空间中的帕累托前沿paretosearchxfval输出。设置选项以在函数空间和参数空间中绘制帕累托集。

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];磅= (4,4);乌兰巴托=磅;选择= optimoptions (“paretosearch”“PlotFcn”,{“psplotparetof”“psplotparetox”});rng默认的%的再现性[x, fval] = paretosearch(有趣,2 ,[],[],[],[], 磅,乌兰巴托,[]选项);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。paretosetchangettolerance '和约束满足于'options. constraintolerance '。

图paretosearch包含2个轴。标题为Pareto Front的轴1包含一个类型为line的对象。带有标题参数空间的轴2包含一个类型为line的对象。

目标函数空间的解析解是半径为18的1 / 4圆弧。在参数空间中,解析解是一条直线(2, 1)[1,2].解点与解析曲线接近。

设置选项以监视帕累托集解决方案过程。此外,从paretosearch使您能够理解解决方案流程。

选择= optimoptions (“paretosearch”“显示”“通路”...“PlotFcn”,{“psplotparetof”“psplotparetox”});有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];磅= (4,4);乌兰巴托=磅;rng默认的%的再现性[x, fval exitflag,输出]= paretosearch(有趣,2 ,[],[],[],[], 磅,乌兰巴托,[]选项);
Iter F-count Num金宝搏官方网站Solutions传播量0 60 11 - 3.7872 e + 02 702 386 12 - 3.4654 e + 02年2 9.4324 e-01 2.9452 e + 27日02年3 1029 27 - 2.9904 e + 02年4 1357 40 0.0000 e + 00 3.0154 e + 2 5 1697 60 1.4903 e-01 3.0369 e + 02 6 1841 60 1.4515 e-01 3.0439 e + 02 7 1961 60 1.7716 e-01 3.0465 e + 60 02 8 2075 1.6123 e-01 3.0475 e + 02年9 2189 60 1.7419 e-01 3.0449 e + 02帕累托集发现satisfies the constraints. Optimization completed because the relative change in the volume of the Pareto set is less than 'options.ParetoSetChangeTolerance' and constraints are satisfied to within 'options.ConstraintTolerance'.

图paretosearch包含2个轴。标题为Pareto Front的轴1包含一个类型为line的对象。带有标题参数空间的轴2包含一个类型为line的对象。

检查额外的输出。

流(“退出旗% d。\ n”exitflag)
出口标志1。
disp(输出)
迭代:10 funccount: 2189 volume: 304.4256 averagedistance: 0.0215 spread: 0.1742 maxconstraint: 0 message: 'Pareto set found that满足约束. ...' rngstate: [1x1 struct]

获得并检查帕累托前约束残差。产生一个线性不等式约束的问题总和(x) < = 1/2以及非线性不等式约束规范(x) ^ 2 < = 1.2.为了提高精度,在帕累托前面使用200个点ParetoSetChangeTolerance1 e -,并给予自然的界限-1.2 <= x(i

这个非线性约束函数出现在这个例子的末尾,如果您作为一个活动脚本运行这个例子,它就可以工作。要运行此示例,请将非线性约束函数作为文件包含在MATLAB®路径中。

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];一个= [1];b = 1/2;磅= [-1.2,-1.2];乌兰巴托=磅;nonlcon = @circlecons;rng默认的%的再现性选择= optimoptions (“paretosearch”“ParetoSetChangeTolerance”1 e -...“PlotFcn”,{“psplotparetof”“psplotparetox”},“ParetoSetSize”, 200);

调用paretosearch使用所有输出。

[x, fval exitflag、输出残差)= paretosearch(乐趣2 A、b[],[],磅,乌兰巴托,nonlcon,选项);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。paretosetchangettolerance '和约束满足于'options. constraintolerance '。

图paretosearch包含2个轴。标题为Pareto Front的轴1包含一个类型为line的对象。带有标题参数空间的轴2包含一个类型为line的对象。

与无约束集相比,不等式约束减小了帕累托集的大小。检查返回的残差。

流('最大线性不等式约束残差为%f.\n'马克斯(residuals.ineqlin))
最大线性不等式约束残差为0.000000。
流(最大非线性不等式约束残差为%f.\n'马克斯(residuals.ineqnonlin))
最大非线性不等式约束残差为-0.002619。

最大返回残差为负,表示所有返回点都是可行的。返回的最大残差接近于零,这意味着每个约束对于某些点是活动的。

函数[c,ceq] = circlecons(x) ceq = [];C = norm(x)^2 - 1.2;结束

输入参数

全部折叠

适应度函数要优化,指定为函数句柄或函数名。

有趣的是一个接受实行向量的双精度函数吗x的长度据nvar返回一个实向量F (x)目标函数值的。关于写作的细节有趣的,请参阅计算目标函数

如果你设置UseVectorized选项真正的,然后有趣的接受大小矩阵n——- - - - - -据nvar,其中矩阵表示n个人。有趣的返回一个size的矩阵n——- - - - - -,在那里为目标函数的个数。看到向适应度函数向量化

例子:@ (x) (sin (x), cos (x))

数据类型:字符|function_handle|字符串

变量的数量,指定为正整数。求解器传递长度的行向量据nvar有趣的

例子:4

数据类型:

线性不等式约束,指定为实矩阵。一个是一个——- - - - - -据nvar矩阵,是不等式的个数。

一个编码线性不等式

A * x < =

在哪里x列向量是据nvar变量x (:),b列向量是元素。

例如,指定

x1+ 2x2≤10
3.x1+ 4x2≤20
5x1+ 6x2≤30日

给这些约束:

= [1, 2, 3, 4, 5, 6);b =(10、20、30);

例子:要指定控制变量的和为1或更小,请给出约束条件一个= 1 (1,N)b = 1

数据类型:

线性不等式约束,指定为实向量。b是一个元素向量相关的一个矩阵。如果你通过b作为行向量,求解器内部转换b到列向量b (:)

b编码线性不等式

A * x < =

在哪里x列向量是N变量x (:),一个矩阵的大小是多少——- - - - - -N

例如,指定

x1+ 2x2≤10
3.x1+ 4x2≤20
5x1+ 6x2≤30日

给这些约束:

= [1, 2, 3, 4, 5, 6);b =(10、20、30);

例子:要指定控制变量的和为1或更小,请给出约束条件一个= 1 (1,N)b = 1

数据类型:

线性等式约束,指定为实矩阵。Aeq是一个——- - - - - -据nvar矩阵,是等式的个数。

Aeq编码线性等式

Aeq * x =说真的

在哪里x列向量是N变量x (:),说真的列向量是元素。

例如,指定

x1+ 2x2+ 3x3.= 10
2x1+ 4x2+x3.= 20,

给这些约束:

Aeq =[1、2、3、2、4、1];说真的=(10、20);

例子:要指定控制变量的和为1,请给出约束条件Aeq = 1 (1, N)说真的= 1

数据类型:

线性等式约束,指定为实向量。说真的是一个元素向量相关的Aeq矩阵。如果你通过说真的作为行向量,求解器内部转换说真的到列向量说真的(:)

说真的编码线性等式

Aeq * x =说真的

在哪里x列向量是N变量x (:),Aeq矩阵的大小是多少微地震——- - - - - -N

例如,指定

x1+ 2x2+ 3x3.= 10
2x1+ 4x2+x3.= 20,

给这些约束:

Aeq =[1、2、3、2、4、1];说真的=(10、20);

例子:要指定控制变量的和为1,请给出约束条件Aeq = 1 (1, N)说真的= 1

数据类型:

下界,指定为实向量或双精度数组。表示在元素方面的下界x乌兰巴托

在内部,paretosearch将一个数组的向量磅(:)

例子:磅=[0;无穷;4)意味着x(1)≥0x(3)≥4

数据类型:

上界,指定为实向量或双精度数组。乌兰巴托表示中元素的上界x乌兰巴托

在内部,paretosearch将一个数组乌兰巴托的向量乌兰巴托(:)

例子:乌兰巴托= (Inf; 4; 10)意味着x(2)≤4x(3)≤10

数据类型:

非线性约束,指定为函数句柄或函数名。nonlcon是接受行向量的函数吗x返回两个行向量,c (x)量表(x)

  • c (x)非线性不等式的行向量约束在x.的paretosearch函数试图满足c (x) < = 0的所有条目c

  • 量表(x)必须返回[]目前,因为paretosearch不支持非线性等式约金宝app束。

如果你设置UseVectorized选项真正的,然后nonlcon接受大小矩阵n——- - - - - -据nvar,其中矩阵表示n个人。nonlcon返回一个size的矩阵n——- - - - - -mc在第一个参数中mc为非线性不等式约束的个数。看到向适应度函数向量化

例如,x = paretosearch(据nvar @myfun, A、b Aeq,说真的,磅,乌兰巴托,@mycon),在那里myconMATLAB是一种®功能如:

函数[c,ceq] = mycon(x)%在x处计算非线性不等式ceq =[] %在x处没有非线性不等式

有关更多信息,请参见非线性约束

数据类型:字符|function_handle|字符串

的输出,指定为优化选项optimoptions或者作为一个结构。

optimoptions中列出的选项斜体;看到Options隐藏的选项

{}表示默认值。请参阅模式搜索选项

选项patternsearchparetosearch

选项 描述

ConstraintTolerance

公差约束。

对于期权结构,请使用TolCon

积极的标量|{1 e-6}

显示

显示水平。

“关闭”|“通路”|“诊断”|{'最后'}

MaxFunctionEvaluations

目标函数求值的最大次数。

对于期权结构,请使用MaxFunEvals

正整数|{' 2000 * numberOfVariables '}patternsearch{3000 * (numberOfVariables + numberOfObjectives)}paretosearch,在那里numberOfVariables是问题变量的数量,和numberOfObjectives目标函数的个数是多少

MaxIterations

最大迭代次数。

对于期权结构,请使用麦克斯特

正整数|{' 100 * numberOfVariables '}patternsearch{100 * (numberOfVariables + numberOfObjectives)}paretosearch,在那里numberOfVariables是问题变量的数量,和numberOfObjectives目标函数的个数是多少

MaxTime

允许优化的总时间(以秒为单位)。

对于期权结构,请使用期限

积极的标量|{Inf}

MeshTolerance

网目尺寸公差。

对于期权结构,请使用TolMesh

积极的标量|{1 e-6}

OutputFcn

优化函数在每次迭代时调用的函数。指定为函数句柄或函数句柄的单元格数组。

对于期权结构,请使用OutputFcns

函数句柄或函数句柄的单元数组|{[]}

PlotFcn

模式搜索的输出图。指定为内置绘图函数、函数句柄或内置绘图函数或函数句柄名称的单元数组的名称。

对于期权结构,请使用PlotFcns

{[]}|都patternsearchparetosearch“psplotfuncount”|“psplotmaxconstr”|自定义绘制函数

paretosearch只有多个目标:“psplotdistance”|“psplotparetof”|“psplotparetox”|“psplotspread”|“psplotvolume”

patternsearch只或paretosearch只有一个目标:“psplotbestf”|“psplotmeshsize”|“psplotbestx”

PollMethod

在模式搜索中使用的轮询策略。

{' GPSPositiveBasis2N '}|“GPSPositiveBasisNp1”|“GSSPositiveBasis2N”|“GSSPositiveBasisNp1”|“MADSPositiveBasis2N”|“MADSPositiveBasisNp1”

paretosearch只有:{' GSSPositiveBasis2np2 '}

UseParallel

并行计算目标函数和非线性约束函数。看到矢量化和并行选项如何在全局优化工具箱中使用并行处理

请注意

必须设置UseCompletePoll真正的patternsearch使用向量化或并行轮询。类似地,组UseCompleteSearch真正的用于向量化或并行搜索。

从R2019a开始,当你设置UseParallel选项真正的patternsearch内部覆盖UseCompletePoll设置为真正的它是平行轮询的。

真正的|{假}

UseVectorized

指定函数是否向量化。看到矢量化和并行选项向量化目标函数和约束函数

请注意

必须设置UseCompletePoll真正的patternsearch使用向量化或并行轮询。类似地,组UseCompleteSearch真正的用于向量化或并行搜索。

对于期权结构,请使用矢量化“上”“关闭”

真正的|{假}

选项paretosearch只有

选项 描述

InitialPoints

初始点paretosearch.使用以下数据类型之一:

  • 矩阵据nvar列,其中每一行表示一个初始点。

  • 结构,包含以下字段(所有字段都是可选的,除了X0):

    • X0——矩阵据nvar列,其中每一行表示一个初始点。

    • Fvals——矩阵numObjectives列,其中每一行表示在中对应点的目标函数值X0

    • Cineq——矩阵numIneq列,其中每一行表示在中对应点处的非线性不等式约束值X0

paretosearch中任何缺失的值FvalsCineq字段。

矩阵据nvar柱|结构|{[]}

MinPollFraction

要轮询的模式的最小部分。

从0到1|的标量{0}

ParetoSetSize

帕累托集合中的点数。

正整数|{“马克斯(numberOfObjectives 60)”},在那里numberOfObjectives目标函数的个数是多少

ParetoSetChangeTolerance

当一个迭代窗口中停止度量的相对变化小于或等于时,求解器停止ParetoSetChangeTolerance

  • 对于三个或更少的目标,paretosearch使用音量和传播度量。

  • 对于四个或更多的目标,paretosearch使用传播和距离度量。

看到帕累托搜索算法定义

当任何适用措施的相对变化小于时,求解程序停止ParetoSetChangeTolerance,或这些测量的时间序列的傅里叶变换的平方的最大值相对较小。看到paretosearch算法

请注意

设置ParetoSetChangeTolerance<sqrt (eps)~ 1.5e-8不推荐。

积极的标量|{1}的军医

选项patternsearch只有

选项 描述
缓存

缓存设置为“上”patternsearch保留它投票的网格点的历史。在后继的迭代中,patternsearch民调点数与已经民调的点数并不接近。使用此选项patternsearch在计算目标函数时运行缓慢。如果目标函数是随机的,不要使用这个选项。

请注意

缓存当并行运行求解器时,不工作。

“上”|{‘off’}

CacheSize

历史的规模。

积极的标量|{1 e4}

CacheTol

从当前网格点到历史上任何点的最大距离patternsearch以避免轮询当前点。如果使用缓存选项设置为“上”

积极的标量|{eps}

FunctionTolerance

函数的公差。如果函数值的变化小于,迭代将停止FunctionTolerance并且网格尺寸小于StepTolerance.此选项不适用于MADS轮询。

对于期权结构,请使用TolFun

积极的标量|{1 e-6}

InitialMeshSize

算法的初始网格大小。看到模式搜索轮询如何工作

积极的标量|{1.0}

InitialPenalty

惩罚参数的初始值。看到非线性约束求解算法

积极的标量|{10}

MaxMeshSize

在轮询或搜索步骤中使用的最大网格大小。看到模式搜索轮询如何工作

积极的标量|{Inf}

MeshContractionFactor

不成功迭代的网格收缩因子。

对于期权结构,请使用MeshContraction

积极的标量|{0.5}

MeshExpansionFactor

成功迭代的网格扩展因子。

对于期权结构,请使用MeshExpansion

积极的标量|{2.0}

MeshRotate

在声明一个点为最佳点之前,先旋转模式。看到网格选项

“关闭”|{'在'}

PenaltyFactor

点球更新参数。看到非线性约束求解算法

积极的标量|{100}

PlotInterval

指定每隔一段时间调用绘图函数。

正整数|{1}

PollOrderAlgorithm

模式搜索中轮询方向的顺序。

对于期权结构,请使用PollingOrder

“随机”|“成功”|{“连续”}

ScaleMesh

自动缩放变量。

对于期权结构,请使用ScaleMesh“上”“关闭”

{真的}|

SearchFcn

模式搜索中使用的搜索类型。指定为名称或函数句柄。

对于期权结构,请使用SearchMethod

' gppositive basis2n ' | ' gppositive basisnp1 ' | ' gspositive basis2n ' | ' gpositive basisnp1 ' | ' madpositive basis2n ' | ' madpositive basisnp1 ' | 'searchga' | 'searchlhs' | 'searchneldermead' | {[]} |自定义搜索功能

StepTolerance

变量的容忍度。如果位置和网格尺寸的变化都小于,迭代将停止StepTolerance.此选项不适用于MADS轮询。

对于期权结构,请使用TolX

积极的标量|{1 e-6}

TolBind

绑定的宽容。看到约束参数

积极的标量|{1 e - 3}

UseCompletePoll

围绕当前点完成民意测验。看到模式搜索轮询如何工作

对于期权结构,请使用CompletePoll“上”“关闭”

真正的|{假}

UseCompleteSearch

当搜索方法是轮询方法时,围绕当前点完成搜索。看到搜索和轮询

对于期权结构,请使用CompleteSearch“上”“关闭”

真正的|{假}

例子:选择= optimoptions(‘paretosearch’,‘显示’,‘没有’,‘UseParallel’,真的)

问题结构,指定为具有以下字段的结构:

  • 客观的——目标函数

  • x0——起点

  • Aineq-线性不等式约束的矩阵

  • bineq-线性不等式约束的向量

  • Aeq-线性等式约束的矩阵

  • 说真的-线性等式约束的向量

  • 的下界x

  • 乌兰巴托-的上界x

  • nonlcon-非线性约束函数

  • 解算器- - - - - -“paretosearch”

  • 选项-使用optimoptions

  • rngstate—可选字段,重置随机数生成器的状态

请注意

各个领域中问题是必需的,除了rngstate,这是可选的。

数据类型:结构体

输出参数

全部折叠

帕累托点,返回为——- - - - - -据nvar数组,是帕累托前面的点数。每一行的x代表帕累托前面的一点。

函数值的帕累托前端,返回为——- - - - - -nf数组中。是帕累托前面的点数,然后呢nf为适应度函数的个数。每一行的fval表示函数在一个帕累托点处的值x

原因paretosearch已停止,作为该表中的一个整数值返回。

出口标志 停止条件
1

满足以下条件之一。

  • 所有在位者的网格尺寸小于选项。我shTolerance约束条件(如果有的话)满足于内部选项。ConstraintTolerance

  • Pareto集合的分布相对变化小于选项。ParetoSetChangeTolerance约束条件(如果有的话)满足于内部选项。ConstraintTolerance

  • 体积的相对变化小于帕累托集选项。ParetoSetChangeTolerance约束条件(如果有的话)满足于内部选项。ConstraintTolerance

0 迭代次数超过选项。麦克斯特ations,或函数求值次数超过选项。米axFunctionEvaluations
-1

优化被输出函数或绘图函数停止。

-2 求解器不能找到满足所有约束条件的点。
-5 优化时间超过选项。MaxTime

关于优化过程的信息,作为带有以下字段的结构返回:

  • 迭代—总迭代次数。

  • funccount—函数求值的总数。

  • 体积-功能空间中由帕累托点组成的集合的超体积。看到帕累托搜索算法定义

  • averagedistance-函数空间中帕累托点的平均距离度量。看到帕累托搜索算法定义

  • 传播-帕累托点的平均传播度量。看到帕累托搜索算法定义

  • maxconstraint—最大约束违背(如果有)。

  • 消息—终止算法的原因。

  • rngstate-在算法开始之前,MATLAB随机数生成器的状态。中的值可以使用rngstate当您使用随机轮询方法时,例如“MADSPositiveBasis2N”或者当你使用默认的拟随机方法创建初始总体时。看到复制的结果,其中讨论了相同的技术遗传算法

约束残差在x,作为带有这些字段的结构返回(表后有字段大小术语和条目的术语表)。

字段名 字段长度 条目
较低的 ——- - - - - -据nvar - - - - - -x
——- - - - - -据nvar x- - - - - -乌兰巴托
ineqlin ——- - - - - -ncon * x - b
eqlin ——- - - - - -ncon | | Aeq * x - b
ineqnonlin ——- - - - - -ncon c (x)
  • -返回点数x在帕累托前面

  • 据nvar—控制变量个数

  • ncon—相关类型的约束数(如:的行数)一个或返回的非线性等式的个数)

  • c (x)—非线性约束函数的数值

更多关于

全部折叠

Nondominated

非劣势点,也称非劣势点,是指没有其他点具有更低的所有目标函数值的点。换句话说,对于非支配点,在不提高其他目标函数值的情况下,任何目标函数值都不能提高(降低)。看到什么是多目标优化?

算法

paretosearch使用模式搜索来搜索帕累托前端的点。有关详细信息,请参见paretosearch算法

选择功能

应用程序

优化活动编辑器任务为paretosearch

扩展功能

介绍了R2018b