paretosearch

在帕累托集合中寻找点

描述

例子

x= paretosearch (开玩笑,nvars)认为多目标函数的非劣点开玩笑。该nvars参数是优化问题的维数(决策变量的数量)。

例子

x= paretosearch (开玩笑,nvars,一个,b)发现非支配点受线性不等式* xb。看到不等式约束条件(优化工具箱)。

x= paretosearch (开玩笑,nvars,一个,b,Aeq,说真的)找到受线性约束的非支配点AEQ * X=说真的* xb。如果不存在线性不等式,设置A = []B = []

例子

x= paretosearch (开玩笑,nvars,一个,b,Aeq,说真的,,UB)中的设计变量定义一组下界和上界x, 以便x总是在范围xUB。如果不存在线性等式,设置Aeq = []BEQ = []。如果X(ⅰ)没有下限,集磅(ⅰ)= -Inf。如果X(ⅰ)没有上限,集UB(ⅰ)= Inf文件

例子

x= paretosearch (开玩笑,nvars,一个,b,Aeq,说真的,,UB,nonlcon)应用非线性不等式C(X)在定义nonlcon。该paretosearch函数找到这样的非支配点c (x)≤0。如果不存在任何界限,设定磅= [],乌兰巴托= [], 或两者。

请注意

目前,paretosearch不支持非线性等式约万博1manbetx束CEQ(X)= 0

例子

x= paretosearch (开玩笑,nvars,一个,b,Aeq,说真的,,UB,nonlcon,选项)使用指定的优化选项查找非支配点选项。使用optimoptions来设置这些选项。如果不存在非线性不等式或等式约束,则集合nonlcon = []

x= paretosearch (问题)发现的非支配点问题,其中问题结构描述在问题

例子

(x,fval] = paretosearch(___),对于任何输入变量,返回矩阵fval,所有的健身功能的价值开玩笑对于所有的解(行)万博 尤文图斯x。输出fvalNF列,NF是目标的数量,并且具有相同的行数为x

例子

(x,fval,exitflag,输出] = paretosearch(___)也回报exitflag的整数,识别算法停止的原因,并输出,包含有关解决方案流程的信息的结构。

例子

(x,fval,exitflag,输出,残差] = paretosearch(___)也回报残差,一个结构含有的溶液点约束值x

例子

全部收缩

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

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

把解画成散点图。

积(X(:,1)中,x(:,2),“m *”)xlabel(“x”(1))ylabel('×(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);
帕累托集合满足约束条件。优化完成,因为在帕累托集体积的相对变化小于“options.ParetoSetChangeTolerance”和约束“options.ConstraintTolerance”内满意。

把解画成散点图。

积(X(:,1)中,x(:,2),“m *”)xlabel(“x”(1))ylabel('×(2)')

从理论上说,这个问题的解决是一个直线距离[-2,-1][0,1]paretosearch返回这条直线附近的均匀间隔点。

在两个维度受边界两个目标问题创建一个帕累托前X(1)> = 0X(2)<= 1

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];LB = [0,-Inf];%×(1)> = 0乌兰巴托=[正无穷,1];%×(2)<= 1rng默认%的再现性x = paretosearch(乐趣2[]、[][],[],磅,乌兰巴托);
帕累托集合满足约束条件。优化完成,因为在帕累托集体积的相对变化小于“options.ParetoSetChangeTolerance”和约束“options.ConstraintTolerance”内满意。

把解画成散点图。

积(X(:,1)中,x(:,2),“m *”)xlabel(“x”(1))ylabel('×(2)')

所有的解决方案要点是在约束边界X(1)= 0要么X(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];UB = [1.1,1.1]。选择= optimoptions ('paretosearch',“ParetoSetSize”,200);x = paretosearch(乐趣2[]、[][],[],磅,乌兰巴托,@circlecons,选项);
帕累托集合满足约束条件。优化完成,因为在帕累托集体积的相对变化小于“options.ParetoSetChangeTolerance”和约束“options.ConstraintTolerance”内满意。

把解画成散点图。包括一个圆形约束边界的图。

图图(X(:,1)中,x(:,2),“k *’)xlabel(“x”(1))ylabel('×(2)')保持长方形(“位置”,[ -  1.2 -1.2 2.4 2.4],“曲率”1,“EdgeColor”,“r”) xlim([-1.2,0.5]) ylim([-0.5,1.2])轴广场持有

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

函数并[c,CEQ] = circlecons(x)的CEQ = [];C =范数(X)^ 2  -  1.2;结束

要监控进展paretosearch,指定'psplotparetof'图的功能。

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

解看起来像半径为18的四分之一圆弧,可以证明是解析解。

通过调用获取帕累托前两个函数空间和参数空间paretosearch同时与xfval输出。设置选项来绘制在这两个函数空间和参数空间帕累托集。

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

目标函数空间的解析解是半径为18的四分之一圆弧。在参数空间中,解析解是一条直线[-2,-1][1,2]。将溶液点是接近的分析曲线。

设置选项以监视Pareto集解决方案过程。同时,获得更多的输出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-计数NumSolu万博 尤文图斯tions传播卷0 60 11  -  3.7872e + 02
1 386 12 - 3。4654e+02
2 702 27 9.4324e-01 2.9452e+02
3 1029 27 - 2.9904e+02
4 1357 40 0.0000E + 00 3.0154e + 02
5 1697 60 1.4903e-01 3.0369e + 02
6 1841 60 1.4515e-01 3.0439e + 02
7 1961 60 1.7716e-01 3.0465e+02
8 2075 60 1.6123e-01 3.0475e + 02
9 2189 60 1.7419e-01 3.0449e + 02帕累托组发现,满足的约束。优化完成,因为在帕累托集体积的相对变化小于“options.ParetoSetChangeTolerance”和约束“options.ConstraintTolerance”内满意。

检查附加输出。

流(“退出旗% d。\ n”,exitflag)
出口标志1。
DISP(输出)
迭代:10 funccount:2189体积:304.4256 averagedistance:0.0215传播:0.1742 maxconstraint:0消息:“帕累托集发现满足约束。......” rngstate:1x1的结构]

得到并检验帕累托前沿约束残差。用线性不等式约束创建一个问题总和(x) < = 1/2和非线性不等式约束范数(X)^ 2 <= 1.2。为了提高准确性,在帕累托前沿使用200点,和aParetoSetChangeTolerance1E-7,并给出自然界限-1.2 <= X(I)<= 1.2

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

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

呼叫paretosearch使用所有输出。

[X,FVAL,exitflag,输出残差] = paretosearch(乐趣,2,A,B,[],[],LB,UB,nonlcon,选项);
帕累托集合满足约束条件。优化完成,因为在帕累托集体积的相对变化小于“options.ParetoSetChangeTolerance”和约束“options.ConstraintTolerance”内满意。

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

流('最大线性不等式约束残差为%f.\n'马克斯(residuals.ineqlin))
线性不等式约束残余最大值为0.000000。
流(“最大非线性不等式约束残差%F。\ N”马克斯(residuals.ineqnonlin))
最大非线性不等式约束残差为-0.000152。

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

函数并[c,CEQ] = circlecons(x)的CEQ = [];C =范数(X)^ 2  -  1.2;结束

输入参数

全部收缩

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

开玩笑是接受双打的实际行向量函数xnvars然后返回一个向量F(X)的目标函数值。有关写作的详情开玩笑,请参阅计算目标函数

如果设置了UseVectorized选项真正,然后开玩笑接受大小的矩阵n——- - - - - -nvars,其中,所述矩阵表示n个人。开玩笑返回大小的矩阵n——- - - - - -,其中是目标函数的个数。看到向量化适应度函数

例:@(X)[的sin(x),COS(x)]的

数据类型:字符|function_handle|

变量的个数,指定为正整数。求解器传递长度的行向量nvars开玩笑

例:4

数据类型:

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

一个编码线性不等式

A * x < =,

哪里x是列向量nvars变量X(:)b列向量是元素。

例如,指定

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

给这些约束:

A = [1,2; 3,4; 5,6];B = [10; 20; 30]。

例:要指定控制变量sum为1或更小,请给出约束条件A =酮(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,

给这些约束:

A = [1,2; 3,4; 5,6];B = [10; 20; 30]。

例:要指定控制变量sum为1或更小,请给出约束条件A =酮(1,N)b = 1

数据类型:

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

Aeq编码线性等式

AEQ * X = BEQ,

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

例如,指定

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

给这些约束:

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

例:要指定控制变量之和为1,给予约束AEQ =酮(1,N)说真的= 1

数据类型:

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

说真的编码线性等式

AEQ * X = BEQ,

哪里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,N)说真的= 1

数据类型:

下界,指定为实向量或双打的阵列。表示下界元素xUB

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

例:LB = [0; -Inf; 4]手段X(1)≥0,x (3)≥4

数据类型:

上限,指定为实向量或双打的阵列。UB表示上限逐元素在xUB

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

例:乌兰巴托= (Inf; 4; 10)手段X(2)≤4,x (3)≤10

数据类型:

非线性约束,指定为功能手柄或函数的名称。nonlcon是一个接受行向量的函数吗x和返回两个行向量,C(X)量表(x)

  • C(X)是在非线性不等式约束的行矢量x。该paretosearch功能试图满足C(X)<= 0对于所有条目c

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

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

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

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

欲了解更多信息,请参阅非线性约束(优化工具箱)。

数据类型:字符|function_handle|

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

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

{}表示默认值。见选项细节模式搜索选项

对于选项patternsearchparetosearch

选项 描述

ConstraintTolerance

公差限制。

对于期权的结构,使用TolCon

正标|{1 e-6}

显示

显示水平。

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

MaxFunctionEvaluations

目标函数评估的最大数量。

对于期权的结构,使用MaxFunEvals

正整数|{ '2000 * numberOfVariables'}patternsearch,{ '3000 *(numberOfVariables + numberOfObjectives)'}paretosearch,其中numberOfVariables为问题变量个数,numberOfObjectives是目标函数的数

MaxIterations

最大迭代次数。

对于期权的结构,使用MAXITER

正整数|{ '100个* numberOfVariables'}patternsearch,{ '100 *(numberOfVariables + numberOfObjectives)'}paretosearch,其中numberOfVariables为问题变量个数,numberOfObjectives是目标函数的数

MAXTIME

总时间(单位:秒),允许进行优化。

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

正标|{}天道酬勤

MeshTolerance

公差的网目尺寸。

对于期权的结构,使用TolMesh

正标|{1 e-6}

OutputFcn

功能优化的函数调用在每次迭代。指定为功能句柄或函数处理的一个单元阵列。

对于期权的结构,使用OutputFcns

功能句柄或功能手柄单元阵列|{[]}

PlotFcn

从模式搜索输出的情节。作为指定的名称内建绘图功能,功能手柄,或名称的单元阵列内置的情节函数或函数处理。

对于期权的结构,使用PlotFcns

{[]}|都patternsearchparetosearch:“psplotfuncount”|自定义绘图功能

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

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

PollMethod

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

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

paretosearch只有:{' GSSPositiveBasis2np2 '}

UseParallel

在并行计算客观和非线性约束功能。看到向量化和并行选项(用户功能评价)如何使用全局优化工具箱并行处理

真正|{假}

UseVectorized

指定函数是否向量化。看到向量化和并行选项(用户功能评价)向量化目标和约束函数

对于期权的结构,使用矢量化=“上”要么“关”

真正|{假}

对于选项paretosearch只有

选项 描述

InitialPoints

初始点paretosearch。使用这些数据类型之一:

  • 矩阵nvars列,其中每行代表一个初始点。

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

    • X0——矩阵nvars列,其中每行代表一个初始点。

    • Fvals——矩阵numObjectives列,其中每行代表在相应点上的目标函数值X0

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

paretosearch计算在任何遗漏值FvalsCineq字段。

矩阵nvars列|结构|{[]}

MinPollFraction

图案到轮询的最低分数。

通过0-1标|{0}

ParetoSetSize

在帕累托集点数。

正整数|{ '最大(numberOfObjectives,60)'},其中numberOfObjectives是目标函数的数

ParetoSetChangeTolerance

解算器停止时处于停止量度超过迭代的窗口的相对变化小于或等于ParetoSetChangeTolerance

  • 对于三个或更少的目标,paretosearch使用卷和蔓延的措施。

  • 对于四个或四个以上的目标,paretosearch使用扩展和距离度量。

看到定义为paretosearch算法

当在任何适用的措施的相对变化小于所述解算器停止ParetoSetChangeTolerance或最大的时间序列的这些措施的平方傅立叶变换的比较少。看到paretosearch算法

请注意

设置ParetoSetChangeTolerance<sqrt (eps)〜不推荐1.5E-8。

正标|{1}的军医

对于选项patternsearch只有

选项 描述
缓存

缓存设置为“上”,patternsearch保持网格点是投票的历史。在随后的迭代,patternsearch民意调查的结果并不接近那些已经投票的人。在以下情况下使用此选项patternsearch运行速度慢而计算的目标函数。如果目标函数是随机的,不使用此选项。

“上”|{‘off’}

CacheSize

历史上的大小。

正标|{} 1E4

CacheTol

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

正标|{eps}

FunctionTolerance

公差的功能。迭代停止如果函数值的变化小于FunctionTolerance和网孔尺寸小于StepTolerance。此选项不适用于MADS投票。

对于期权的结构,使用TolFun

正标|{1 e-6}

InitialMeshSize

初始网格尺寸的算法。看到如何模式搜索查询作品

正标|{1.0}

InitialPenalty

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

正标|{10}

MaxMeshSize

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

正标|{}天道酬勤

MeshContractionFactor

网不成功迭代收缩的因素。

对于期权的结构,使用MeshContraction

正标|{0.5}

MeshExpansionFactor

网成功迭代展开因素。

对于期权的结构,使用MeshExpansion

正标|{2.0}

MeshRotate

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

“关”|{'在'}

PenaltyFactor

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

正标|{100}

PlotInterval

指定在每个间隔调用绘图函数。

正整数|{1}

PollOrderAlgorithm

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

对于期权的结构,使用PollingOrder

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

ScaleMesh

变量的自动缩放。

对于期权的结构,使用ScaleMesh=“上”要么“关”

{真的}|

SearchFcn

键入模式搜索中使用的搜索。指定为名称或功能句柄。

对于期权的结构,使用SearchMethod

'GPSPositiveBasis2N' |'GPSPositiveBasisNp1' |'GSSPositiveBasis2N' |'GSSPositiveBasisNp1' |'MADSPositiveBasis2N' |'MADSPositiveBasisNp1' |'searchga' |'searchlhs' |'searchneldermead' |{[]} |自定义搜索功能

StepTolerance

变量的公差。如果位置变化和网格大小都小于,迭代就停止StepTolerance。此选项不适用于MADS投票。

对于期权的结构,使用TolX

正标|{1 e-6}

TolBind

结合宽容。看到约束参数

正标|{1E-3}

UseCompletePoll

完成围绕当前点的民意调查。看到如何模式搜索查询作品

对于期权的结构,使用CompletePoll=“上”要么“关”

真正|{假}

UseCompleteSearch

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

对于期权的结构,使用CompleteSearch=“上”要么“关”

真正|{假}

例:选项= optimoptions( 'paretosearch', '显示', '无', 'UseParallel',真)

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

  • 目的——目标函数

  • X0- 初始点

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

  • bineq- 载体的线性不等式约束

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

  • 说真的- 载体的线性等式约束

  • -往下界x

  • UB- 上开往x

  • nonlcon- 非线性约束函数

  • 求解- - - - - -'paretosearch'

  • 选项- 选项与创建optimoptions

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

请注意

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

数据类型:结构体

输出参数

全部收缩

帕累托点,返回为——- - - - - -nvars阵列,其中是帕累托前沿的点的个数。每一行的x代表在帕累托前沿的一个点。

上帕累托前面函数值,返回一个——- - - - - -NF数组中。是点上的帕累托前沿的数量,并且NF是的健身功能的数量。每一行的fval表示在一个帕累托点的函数值x

原因paretosearch停止,返回此表中的整数值之一。

出口标志 停止条件
1

满足以下条件之一。

  • 所有在位者的网格大小都小于options.MeshTolerance和约束(如果有的话)被满足到内options.ConstraintTolerance

  • 相对变化的帕累托集合小于options.ParetoSetChangeTolerance和约束(如果有的话)被满足到内options.ConstraintTolerance

  • 在帕累托集的量相对变化小于options.ParetoSetChangeTolerance和约束(如果有的话)被满足到内options.ConstraintTolerance

0 迭代次数超过options.MaxIterations,或者函数计算的次数超过options.MaxFunctionEvaluations
-1

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

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

关于优化过程的信息,返回与这些领域的结构:

  • 迭代-迭代的总次数。

  • funccount- 功能评估的总数。

  • 体积-功能空间中由帕累托点形成的集合的超容量。看到定义为paretosearch算法

  • averagedistance-函数空间中Pareto点的平均距离度量。看到定义为paretosearch算法

  • 传播-平均扩展衡量帕累托点。看到定义为paretosearch算法

  • maxconstraint- 最大约束冲突,如果有的话。

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

  • rngstate- MATLAB随机数生成器在算法开始之前的状态。可以使用in中的值rngstate重现输出,当你使用一个随机调查方法如“MADSPositiveBasis2N”或者使用默认的准随机方法来创建初始种群。看到结果重现,其中讨论了相同的技术遗传算法

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

字段名 字段大小 条目
降低 ——- - - - - -nvars - - - - - -x
——- - - - - -nvars x- - - - - -UB
ineqlin ——- - - - - -NCON A * X - B
eqlin ——- - - - - -NCON | AEQ * X - B |
ineqnonlin ——- - - - - -NCON C(X)
  • - 返回的点数x帕累托前

  • nvars-控制变量的数量

  • NCON- 相关类型的约束(诸如行数数一个或返回的非线性等式的个数)

  • C(X)- 数字的非线性约束函数值

更多关于

全部收缩

非支配

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

算法

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

扩展功能

介绍了R2018b