主要内容

paretosearch

在帕累托集合中寻找点

描述

例子

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

例子

x= paretosearch (有趣的NVARS.一个b发现不平等的不平衡点* x≤.b.看到线性不平等约束

x= paretosearch (有趣的NVARS.一个bAeq说真的求受线性约束的非支配点Aeq * x说真的* x≤.b.如果没有线性不平等,则设置a = []B = []

例子

x= paretosearch (有趣的NVARS.一个bAeq说真的UB.中的设计变量定义一组上下限x, 以便x总是在范围内≤.x≤.UB..如果没有线性平衡,则设置Aeq = []说真的= [].如果x(i)没有下限,集磅(i) =负无穷.如果x(i)没有上限,集乌兰巴托(i) =正无穷

例子

x= paretosearch (有趣的NVARS.一个bAeq说真的UB.nonlcon应用非线性不等式c (x)中定义的nonlcon.的paretosearch函数找到非支配点c (x)≤0.如果没有界限,请设置磅= []乌兰巴托= [], 或两者。

请注意

现在,paretosearch不支持非线性平等约金宝app束CEQ(x)= 0

例子

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

x= paretosearch (问题找到不良点问题, 在哪里问题结构描述在问题

例子

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

例子

xfvalexitflag输出] = Par otosearch(___也退货exitflag,该整数标识算法停止的原因,并且输出,该结构包含有关解决方案流程的信息。

例子

xfvalexitflag输出残差] = Par otosearch(___也退货残差,该结构包含解决点处的约束值x

例子

全部折叠

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

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

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

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

图中包含一个坐标轴。轴包含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 ,[],[],[],[], 磅,乌兰巴托,[]选项);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。paretosetchangettolerance '和约束满足于'options. constraintolerance '。

图Paretosearch包含轴。标题Pareto Front的轴包含类型线的对象。

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

通过致电获取函数空间和参数空间的帕圈索前面paretosearch与这两者都有xfval输出。设置选项以绘制函数空间和参数空间中的帕匹索匹集。

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];磅= (4,4);乌兰巴托=磅;选择= optimoptions ('paretosearch'“PlotFcn”,{'psplotparetof'“psplotparetox”});RNG.默认%的再现性[x,fval] = paretosearch(fun,2,[],[],[],[],LB,UB,[],选项);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。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”,出口)
退出标志1。
DISP(输出)
迭代:10 Funccount:2189卷:304.4256平均值:0.0215传播:0.1742 MaxConstraint:0消息:'帕累托集满足约束。...'rngstate:[1x1 struct]

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

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

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

称呼paretosearch使用所有输出。

[x,fval,出口,输出,残差] = paretosearch(fun,2,a,b,[],[],lb,Ub,nonlcon,选项);
帕累托集合满足约束条件。优化完成是因为帕累托集合体积的相对变化小于“选项”。paretosetchangettolerance '和约束满足于'options. constraintolerance '。

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

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

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

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

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

输入参数

全部折叠

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

有趣的是一个接受一排双打的函数x的长度NVARS.返回一个实向量f(x)目标函数值的。关于写作的细节有趣的,请参阅计算目标函数

如果你设置了使用vectorized选项真正的,然后有趣的接受一个大小的矩阵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];

例子:要指定控制变量的和为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];

例子:要指定控制变量的和为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 (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 (1, N)说真的= 1

数据类型:双倍的

下界,指定为实向量或双精度数组。表示在元素方面的下界≤.x≤.UB.

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

例子:lb = [0; -inf; 4]意味着X(1)≥0x(3)≥4

数据类型:双倍的

上限,指定为真正的矢量或双打数组。UB.表示上限元素明智≤.x≤.UB.

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

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

数据类型:双倍的

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

  • c (x)是非线性不等式限制的行矢量x.的paretosearch功能尝试满足C(x)<= 0对于所有参赛作品c

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

如果你设置了使用vectorized选项真正的,然后nonlcon接受一个大小的矩阵n——- - - - - -NVARS.,其中矩阵表示n个人。nonlcon返回大小的矩阵n——- - - - - -mc在第一个论点,在哪里mc是非线性不等式约束的数量。看到向适应度函数向量化

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

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

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

数据类型:字符|function_handle|细绳

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

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

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

选择Patternsearch.paretosearch

选项 描述

约束特许

对约束的公差。

对于选项结构,使用tolcon.

正标量|{1 e-6}

展示

显示水平。

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

MaxFunctionEvaluations

最大客观函数评估数。

对于选项结构,使用Maxfunevals.

正整数|{' 2000 * numberOfVariables '}Patternsearch.{'3000 *(numberofvariables + numberofobjects)'}paretosearch, 在哪里numberOfVariables是问题变量的数量,和numberOfObjectives是客观函数的数量

MaxIterations

最大迭代次数。

对于选项结构,使用麦克斯特

正整数|{'100 * numberofvariables'}Patternsearch.{100 * (numberOfVariables + numberOfObjectives)}paretosearch, 在哪里numberOfVariables是问题变量的数量,和numberOfObjectives是客观函数的数量

MaxTime

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

对于选项结构,使用期限

正标量|{Inf}

MeshTolerance

对网格尺寸的宽度。

对于选项结构,使用TolMesh

正标量|{1 e-6}

outputfcn.

函数在每次迭代时调用优化函数。指定为函数句柄或功能句柄阵列。

对于选项结构,使用outputfcns.

功能手柄或功能手柄数组|{[]}

PlotFcn

从模式搜索的输出绘图。指定为内置绘图函数,函数句柄或内置绘图函数或功能句柄名称的小区数组的名称。

对于选项结构,使用PlotFcns

{[]}|都Patternsearch.paretosearch“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设置为真正的它是平行轮询的。

真正的|{假}

使用vectorized

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

请注意

必须设置UseCompletePoll真正的Patternsearch.使用矢量化或平行轮询。同样,集合UseCompleteSearch真正的用于向量化或并行搜索。

对于选项结构,使用矢量化“上”'离开'

真正的|{假}

选择paretosearch只有

选项 描述

InitialPoints

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

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

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

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

    • fvals.——矩阵numobjectives列,其中每行代表对应点处的目标函数值X0.

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

paretosearch计算任何缺失的值fvals.Cineq字段。

矩阵与NVARS.列|结构|{[]}

MinPollFraction

轮询模式的最小分数。

标量从0到1 |{0}

ParetoSetSize

帕累托集合中的点数。

正整数|{'max(numberofobjectives,60)'}, 在哪里numberOfObjectives是客观函数的数量

帕奇塞格兰德经理

当迭代窗口的停止测量的相对变化小于或等于时,求解器停止帕奇塞格兰德经理

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

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

看到帕累诗歌算法的定义

当任何适用度量的相对变化小于时,求解器停止帕奇塞格兰德经理或者这些措施的时间序列的平方傅里叶变换的最大值相对较小。看到帕累诗歌算法

请注意

环境帕奇塞格兰德经理<sqrt (eps)~ 1.5e-8不推荐。

正标量|{1}的军医

选择Patternsearch.只有

选项 描述
缓存

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

请注意

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

“上”|{‘off’}

CacheSize

历史的规模。

正标量|{1 e4}

CacheTol

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

正标量|{eps}

FunctionTolerance

对功能的宽容。如果函数值的变化小于,则迭代停止FunctionTolerance网格尺寸小于StepTolerance..此选项不适用于Mads Polling。

对于选项结构,使用塔尔芬

正标量|{1 e-6}

initialmeshsize.

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

正标量|{1.0}

InitialPenalty

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

正标量|{10}

MaxMeshSize

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

正标量|{Inf}

MeshContractionFactor

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

对于选项结构,使用MeshContraction

正标量|{0.5}

MeshExpansionFactor

成功迭代的网格膨胀因子。

对于选项结构,使用MeshExpansion.

正标量|{2.0}

meshotate.

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

'离开'|{'在'}

PenaltyFactor

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

正标量|{100}

PlotInterval

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

正整数|{1}

pollordoralgorithm.

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

对于选项结构,使用PollingOrder

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

ScaleMesh

自动变量缩放。

对于选项结构,使用ScaleMesh“上”'离开'

{真的}|

SearchFcn

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

对于选项结构,使用SearchMethod

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

StepTolerance.

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

对于选项结构,使用TolX

正标量|{1 e-6}

托尔布宁

绑定公差。看到约束参数

正标量|{1E-3}

UseCompletePoll

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

对于选项结构,使用CompletePoll“上”'离开'

真正的|{假}

UseCompleteSearch

在搜索方法是轮询方法时,完全搜索当前点。看到搜索和轮询

对于选项结构,使用CompleteSearch“上”'离开'

真正的|{假}

例子:选项= Optimoptions('paretosearch','显示','none','deverepareliall',true)

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

  • 客观的——目标函数

  • X0.——起点

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

  • Bineq.- 线性不等式约束的矢量

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

  • 说真的- 线性平等约束的矢量

  • 的下界x

  • UB.- 上限x

  • nonlcon- 非线性约束函数

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

  • 选项- 使用的选项optimoptions

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

请注意

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

数据类型:结构体

输出参数

全部折叠

帕累托点,返回为——- - - - - -NVARS.阵列,其中是帕累托前面的点数。每一行的x代表帕累托前面的一点。

函数值的帕累托前端,返回为——- - - - - -nf数组中。是帕累托前面的点数,nf是健身功能的数量。每一行的fval表示一个帕累托点的函数值x

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

退出旗帜 停止条件
1

满足以下条件之一。

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

  • Pareto集合的分布相对变化小于选项。帕奇塞格兰德经理和约束(如果有的话)对内部满意选项.ConstraintTolerance.

  • 体积的相对变化小于帕累托集选项。帕奇塞格兰德经理和约束(如果有的话)对内部满意选项.ConstraintTolerance.

0 迭代次数超过options.maxIterations.,或函数求值次数超过options.maxfunctionevaluations.
-1

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

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

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

  • 迭代—总迭代次数。

  • Funccount.—函数求值的总数。

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

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

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

  • MaxConstraint.- 最大约束违规,如果有的话。

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

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

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

字段名 场大小 条目
较低的 ——- - - - - -NVARS. - - - - - -x
——- - - - - -NVARS. x- - - - - -UB.
ineqlin ——- - - - - -NCON. * x - b
eqlin ——- - - - - -NCON. | AEQ * X - B |
ineqnonlin ——- - - - - -NCON. c (x)
  • -返回点数x在帕累托前面

  • NVARS.—控制变量个数

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

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

更多关于

全部折叠

Nondominated

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

算法

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

选择功能

应用程序

优化Live Editor任务提供可视界面paretosearch

扩展能力

介绍了R2018b