主要内容

paretosearch

在帕累托集合中找到点

描述

例子

x= paretosearch(乐趣NVARS.发现多目标函数的Nondomination积分乐趣.的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 = []beq = [].如果x(i)没有下限,集LB(i)= -inf.如果x(i)没有上限,集UB(i)= inf

例子

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

例子

xfval.exitflag输出] = Par otosearch(___也退货exitflag,一个识别算法停止的原因的整数,输出,该结构包含关于解决方案流程的信息。

例子

xfval.exitflag输出残差] = Par otosearch(___也退货残差,一个包含解决方案点处的约束值的结构x

例子

全部收缩

在帕累托前面查找二维变量的双目标函数的帕圈索前面。

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];RNG.默认%的再现性x = paretosearch(fun,2);
找到满足约束条件的帕累托集合。优化完成是因为相对变化量的帕累托集小于‘选项’。paretosetchangtolerance '和约束被满足在'options. constraintolerance '之内。

用散点图表示解。

plot(x(:,1),x(:,2),“m *”)xlabel('x(1)')ylabel('x(2)'

图中包含一个轴。轴包含一个类型为line的对象。

从理论上讲,这个问题的解决方案是直线[-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);
找到满足约束条件的帕累托集合。优化完成是因为相对变化量的帕累托集小于‘选项’。paretosetchangtolerance '和约束被满足在'options. constraintolerance '之内。

用散点图表示解。

plot(x(:,1),x(:,2),“m *”)xlabel('x(1)')ylabel('x(2)'

图中包含一个轴。轴包含一个类型为line的对象。

从理论上讲,这个问题的解决方案是直线[-2,-1][0,1]paretosearch返回靠近这条线的均匀间隔的点。

在受界限的两个维度中为两个客观问题创建一个帕累托前面x(1)> = 0x(2)<= 1

有趣= @ (x)[规范(x -[1, 2]) ^ 2;规范(x + (2,1)) ^ 2];lb = [0,-inf];%x(1)>> = 0乌兰巴托=[正无穷,1];%x(2)<= 1RNG.默认%的再现性x = paretosearch(有趣,2 ,[],[],[],[], 磅,乌兰巴托);
找到满足约束条件的帕累托集合。优化完成是因为相对变化量的帕累托集小于‘选项’。paretosetchangtolerance '和约束被满足在'options. constraintolerance '之内。

用散点图表示解。

plot(x(:,1),x(:,2),“m *”)xlabel('x(1)')ylabel('x(2)'

图中包含一个轴。轴包含一个类型为line的对象。

所有解决方案点都在约束边界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];LB = [-1.1,-1.1];UB = [1.1,1.1];选择= optimoptions ('paretosearch'“ParetoSetSize”, 200);x = paretosearch(有趣,2 ,[],[],[],[], 磅,乌兰巴托,@circlecons选项);
找到满足约束条件的帕累托集合。优化完成是因为相对变化量的帕累托集小于‘选项’。paretosetchangtolerance '和约束被满足在'options. constraintolerance '之内。

用散点图表示解。包括一个圆形约束边界的绘图。

图绘图(x(:,1),x(:,2),“k *’)xlabel('x(1)')ylabel('x(2)') 抓住长方形(“位置”,[ -  1.2 -1.2 2.4 2.4],'曲率',1,“EdgeColor”“r”)XLIM([ -  1.2,0.5])ylim([ -  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(fun,2,[],[],[],[],LB,UB,[],选项);
找到满足约束条件的帕累托集合。优化完成是因为相对变化量的帕累托集小于‘选项’。paretosetchangtolerance '和约束被满足在'options. constraintolerance '之内。

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

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

通过致电获取函数空间和参数空间的帕圈索前面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,[],选项);
找到满足约束条件的帕累托集合。优化完成是因为相对变化量的帕累托集小于‘选项’。paretosetchangtolerance '和约束被满足在'options. constraintolerance '之内。

图帕膜搜索包含2个轴。带有标题帕累托前线的轴1包含类型线的物体。带有标题参数空间的轴2包含类型线的对象。

目标函数空间中的解析解是半径为18的四分之一圆弧。在参数空间中,解析解是一条直线[-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'.

图帕膜搜索包含2个轴。带有标题帕累托前线的轴1包含类型线的物体。带有标题参数空间的轴2包含类型线的对象。

检查额外的输出。

流('退出标志%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,选项);
找到满足约束条件的帕累托集合。优化完成是因为相对变化量的帕累托集小于‘选项’。paretosetchangtolerance '和约束被满足在'options. constraintolerance '之内。

图帕膜搜索包含2个轴。带有标题帕累托前线的轴1包含类型线的物体。带有标题参数空间的轴2包含类型线的对象。

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

流('最大线性不等式约束残差为%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 = ONE(1,N)说真的= 1

数据类型:双倍的

线性平等约束,指定为真正的矢量。说真的是一个- 与...相关的矢量Aeq矩阵。如果你通过说真的作为一排矢量,求解器内部转换说真的到列向量Beq(:)

说真的编码线性等式

aeq * x = beq

在哪里x是栏矢量N变量X(:), 和Aeq是大小的矩阵MEQ.——- - - - - -N

例如,要指定

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

给这些约束:

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

例子:要指定控制变量总和为1,请给出约束AEQ = ONE(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——- - - - - -马克在第一个论点,在哪里马克是非线性不等式约束的数量。看到向量化适应度函数

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

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

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

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

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

optimoptions中列出的选项被隐藏斜斜体;看隐藏最佳选项的选项

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

选择Patternsearch.paretosearch

选项 描述

约束特许

对约束的公差。

对于选项结构,使用tolcon.

正标量|{1 e-6}

展示

显示水平。

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

MaxFunctionEvaluations

最大客观函数评估数。

对于选项结构,使用Maxfunevals.

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

MaxIterations

最大迭代次数。

对于选项结构,使用maxiter.

正整数|{'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 '}

使用指α.

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

请注意

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

从R2019A开始,当你设置的时候使用指α.选项真的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.保留IT民意调查的网格点的历史。在随后的迭代,Patternsearch.不接近那些已经投票的点。在以下情况下使用此选项Patternsearch.计算目标函数时慢慢运行。如果目标函数是随机的,请不要使用此选项。

请注意

缓存在并行运行求解器时不起作用。

“上”|{‘off’}

缓存

历史的大小。

正标量|{1E4}

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

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

正整数|{1}

pollordoralgorithm.

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

对于选项结构,使用PollingOrder

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

ScaleMesh

自动变量缩放。

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

{真的}|错误的

searchfcn.

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

对于选项结构,使用SearchMethod.

'gpspositivebasis2n'|'gpspositivebasisnp1'|'gsspositivebasis2n'|'gsspositivebasisnp1'|'madspositivebasis2n'|'madspositivebasisnp1'|'searchga'|'searchlhs'|'searchneldermead'|{[]} |自定义搜索功能

StepTolerance.

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

对于选项结构,使用托克斯

正标量|{1 e-6}

托尔布宁

绑定公差。看到约束参数

正标量|{1E-3}

UseCompletePoll

围绕当前点完成投票。看到模式如何搜索轮询工作

对于选项结构,使用complyepoll.“上”或者'离开'

真的|{错误的}

UseCompleteSearch

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

对于选项结构,使用完成搜索“上”或者'离开'

真的|{错误的}

例子:选项= 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

满足下列条件之一。

  • 所有在职网目大小都小于options.meshtolerance.和约束(如果有的话)对内部满意选项.ConstraintTolerance.

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

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

0 迭代次数超过options.maxIterations.或者函数评估的数量超过options.maxfunctionevaluations.
-1

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

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

有关优化过程的信息,作为具有这些字段的结构返回:

  • 迭代—总迭代次数。

  • Funccount.- 函数评估总数。

  • 体积- 由函数空间中的帕累托点形成的集合的超容积。看到帕累诗歌算法的定义

  • 平均值- 功能空间帕翼点的平均距离测量。看到帕累诗歌算法的定义

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

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

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

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

约束残差at.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)- 非线性约束函数的数值

更多关于

全部收缩

nondominived.

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

算法

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

替代功能

应用程序

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

扩展能力

介绍了R2018b