主要内容

fminimax

解决极大极小约束问题

描述

fminimax寻找使一组目标函数的最大值最小化的点。

问题包括任何类型的约束。详细地fminimax寻求以下公式指定的问题的最小值:

最小值 X 马克斯 一世 F 一世 X 以致 { C X 0. C E. 问: X = 0. 一种 X B. 一种 E. 问: X = B. E. 问: L. B. X B.

哪里B.说真的是向量,一种AEQ.矩阵,CX),CEQ.X), 和FX)是返回向量的函数。FX),CX), 和CEQ.X)可以是非线性函数。

X,乌兰巴托可以作为向量或矩阵传递;看见矩阵的参数

你也可以用fminimax,使用身份

马克斯 X 最小值 一世 F 一世 X = 最小值 X 马克斯 一世 F 一世 X

你可以解决表格的问题

最小值 X 马克斯 一世 | F 一世 X |

通过使用absolutemaxObjectiveCount.选择权;看见使用一个目标的绝对值来解决极小的问题

例子

X=fminimax(有趣的x0起价x0并找到一个极小极大解X的函数有趣的

传递额外参数说明如何在必要时向目标函数和非线性约束函数传递额外参数。

例子

X=fminimax(有趣的x0一种B.求解线性不等式下的极大极小问题* x≤b

X=fminimax(有趣的x0一种B.AEQ.说真的解线性等式下的极大极小问题Aeq * x =说真的也如果不存在不等式,集合一个= []b=[]

例子

X=fminimax(有趣的x0一种B.AEQ.说真的乌兰巴托解决受边界约束的极小极大问题X乌兰巴托. 如果NO.E.问:你alities exist, setAEQ = []说真的= []. 如果x(我)下面是无界的,集磅(i) =负无穷;如果x(我)在上面无界,设置乌兰巴托(i) =正无穷

如果问题的指定输入边界不一致,则输出Xx0和产出fval[]

例子

X=fminimax(有趣的x0一种B.AEQ.说真的乌兰巴托非LCON求解非线性不等式下的极大极小问题c (x)或平等CEQ(x)中定义的非LCON.函数优化如下c(x)≤ 0ceq(x)=0. 如果不存在边界,则设置lb = []ub=[],或两者兼而有之。

例子

X=fminimax(有趣的x0一种B.AEQ.说真的乌兰巴托非LCON选择权用中指定的优化选项解决极大极小问题选择权.用优化选择设置这些选项。

X=fminimax(问题解决了问题中所描述的结构问题

例子

[Xfval) = fminimax (___,对于任何语法,返回所计算的目标函数的值有趣的在解决方案X

例子

[Xfval马克斯瓦尔ExitFlag.输出) = fminimax (___另外返回目标函数在解时的最大值X, 一个值ExitFlag.它描述了fminimax,结构输出提供有关优化过程的信息。

例子

[Xfval马克斯瓦尔ExitFlag.输出λ) = fminimax (___另外返回一个结构λ哪个场在解处包含拉格朗日乘数X

例子

全部折叠

创造一个情节余弦函数及其在区间内的最大值[–π,π]

t = linspace(π-π);情节(t,罪(t)“r-”)持有绘图(T,COS(T),“b -”);情节(t,马克斯(罪(t),因为(t)),“高”)传说(“罪(t)”“因为(t)”“马克斯(罪(t),因为(t))”“位置”“西北”

图中包含一个坐标轴。轴线包含3个线型对象。这些对象代表sin(t) cos(t) max(sin(t)) cos(t))

该曲线显示了两个最大,一个接近1的局部最小值,另一个局部最小值。找到最小近1。

有趣= @ (x) [sin (x), cos (x));x0 = 1;x0, x1 = fminimax(有趣)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
x1 = 0.7854

求-2附近的最小值。

x0=-2;x2=fminimax(乐趣,x0)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
x2 = -2.3562

这个例子的目标函数是线性加常数。有关目标函数的描述和绘图,请参见比较fminimax和fminunc

将目标函数设置为形式的三个线性函数 D. O. T. X V. + V. 0. 为三个向量 V. 和三个常量 V. 0.

a=[1;1];b=[-1;1];c=[0;-1];a0=2;b0=-3;c0=4;fun=@(x)[x*a+a0,x*b+b0,x*c+c0];

求不等式下的极小极大点X (1) + 3* X (2) <= -4

a = [1,3];b = -4;x0 = [-1,-2];x = fminimax(乐趣,x0,a,b)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
x =1×2-5.8000 - 0.6000

这个例子的目标函数是线性加常数。有关目标函数的描述和绘图,请参见比较fminimax和fminunc

将目标函数设置为形式的三个线性函数 D. O. T. X V. + V. 0. 为三个向量 V. 和三个常量 V. 0.

a=[1;1];b=[-1;1];c=[0;-1];a0=2;b0=-3;c0=4;fun=@(x)[x*a+a0,x*b+b0,x*c+c0];

设定界限,-2 <= x(1) <= 2–1<=x(2)<=1并从理论上解决了极大极小问题(0,0)

lb = [-2,-1];UB = [2,1];x0 = (0,0);a = [];无线性约束b=[];Aeq=[];beq=[];[x,fval]=fminimax(乐趣,x0,A,b,Aeq,beq,lb,ub)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
x =1×2-0.0000 - 1.0000
fval=1×33.0000 -2.0000 3.0000

在这种情况下,解决方案不是唯一的。许多点满足约束条件且具有相同的极小极大值。绘制代表三个目标函数最大值的曲面,并绘制一条红线,显示具有相同的极小最大值的点。

[x,y] = meshgrid(linspace(-2,2),linspace(-1,1));z = max(fun([x(:),y(:)],[],2);z =重塑(z,size(x));冲浪(x,y,z,“线型”'没有任何')视图(-118,28)暂停线((2,0),[1],[3 3],“颜色”'r'“线宽”, 8)

图中包含一个轴。轴包含两个类型为“曲面”、“直线”的对象。

这个例子的目标函数是线性加常数。有关目标函数的描述和绘图,请参见比较fminimax和fminunc

将目标函数设置为形式的三个线性函数 D. O. T. X V. + V. 0. 为三个向量 V. 和三个常量 V. 0.

a=[1;1];b=[-1;1];c=[0;-1];a0=2;b0=-3;c0=4;fun=@(x)[x*a+a0,x*b+b0,x*c+c0];

单位盘函数表示非线性不等式约束 X 2 1

类型单位盘
函数c = unitdisk(x) c = x(1)²+ x(2)²- 1;测查= [];

用。求解极大极小问题单位盘约束,从x0 = (0,0)

x0 = (0,0);a = [];%没有其他限制b=[];Aeq=[];beq=[];lb=[];ub=[];nonlcon=@unitdisk;x=fminimax(趣味、x0、A、b、Aeq、beq、lb、ub、非LCON)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
x =1×2-0.0000 - 1.0000

fminimax可以最小化其中一个的最大值 F 一世 X | F 一世 X | 的前几个值 一世 通过使用absolutemaxObjectiveCount.选择权。使…的绝对值最小化 K. 对目标的函数值进行排序,使 F 1 X 通过 F K. X 目标是绝对最小化吗absolutemaxObjectiveCount.选择K.

在这个例子中,最小化的最大值余弦具体说明作为第一个目标,并设定absolutemaxObjectiveCount.为1。

有趣= @ (x) [sin (x), cos (x));选择= optimoptions (“fminimax”“绝对MaxObjectiveCount”,1); x0=1;A=[];%无约束b = [];Aeq = [];说真的= [];磅= [];乌兰巴托= [];nonlcon = [];x1 = fminimax (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托,nonlcon,选项)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
x1 = 0.7854

试着从x0 = 2

x0 = 2;x2 = fminimax (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托,nonlcon,选项)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
x2=-3.1416

绘制函数。

t = linspace(π-π);情节(t,马克斯(abs (sin (t)),因为(t)))

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

来看看absolutemaxObjectiveCount.选项,将此绘图与示例中的绘图进行比较最小正反最大值

获得极小极大点的位置和目标函数的值。有关目标函数的描述和绘图,请参见比较fminimax和fminunc

将目标函数设置为形式的三个线性函数 D. O. T. X V. + V. 0. 为三个向量 V. 和三个常量 V. 0.

a=[1;1];b=[-1;1];c=[0;-1];a0=2;b0=-3;c0=4;fun=@(x)[x*a+a0,x*b+b0,x*c+c0];

将初始点设置为(0,0)求极小极大点和极小极大值。

x0 = (0,0);[x, fval] = fminimax(有趣,x0)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
x =1×2-2.5000 - 2.2500
fval=1×31.7500 1.7500 1.7500

所有三个目标函数在最低限度点处具有相同的值。无约束问题通常具有至少两个等于解决方案的目标,因为如果任何目标的点不是局部最小值,并且只有一个目标具有最大值,则可以降低最大目标。

这个例子的目标函数是线性加常数。有关目标函数的描述和绘图,请参见比较fminimax和fminunc

将目标函数设置为形式的三个线性函数 D. O. T. X V. + V. 0. 为三个向量 V. 和三个常量 V. 0.

a=[1;1];b=[-1;1];c=[0;-1];a0=2;b0=-3;c0=4;fun=@(x)[x*a+a0,x*b+b0,x*c+c0];

求不等式下的极小极大点X (1) + 3* X (2) <= -4

a = [1,3];b = -4;x0 = [-1,-2];

设置迭代显示选项,并获得所有求解器输出。

选择= optimoptions (“fminimax”“显示”'iter'); Aeq=[];%没有其他限制说真的= [];磅= [];乌兰巴托= [];nonlcon = [];[x, fval maxfval, exitflag,输出,λ)=...fminimax(有趣,x0, A、b Aeq,说真的,磅,乌兰巴托,nonlcon,选项)
目标最大线搜索方向Iter F计数值约束步长导数程序0 4 0 6 1 9 5 0 1 0.981 2 14 4.889 8.882e-16 1-0.302 Hessian修改两次3 19 3.4 8.132e-09 1-0.302 Hessian修改两次局部最小可能值。满足约束条件。fminimax已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且满足的约束在约束公差值范围内。
x =1×2-5.8000 - 0.6000
fval=1×3-3.2000 3.4000 3.4000
maxfval = 3.4000
exitflag = 4
输出=带字段的结构:迭代次数:4次funcCount:19 lssteplength:1步长:6.0684e-10算法:“活动集”firstorderopt:[]冲突:8.1323e-09消息:“…”
λ=带字段的结构:下:[2x1 double]上:[2x1 double] eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: 0.2000 ineqnonlin: [0x1 double]

检查返回的信息:

  • 两个目标函数值在解处相等。

  • 解算器在4次迭代和19次函数求值中收敛。

  • lambda.ineqlin值为非零,表明线性约束在解处是主动的。

输入参数

全部折叠

目标函数,指定为函数句柄或函数名称。有趣的是一个接受向量的函数X返回一个向量F,在X。您可以指定该函数有趣的函数文件的句柄:

x = fminimax(@ myfun,x0,目标,重量)

哪里myfun是一个matlab.®等功能

函数F = myfun(x)…%计算函数在x处的值。

有趣的也可以是匿名函数的函数句柄:

x = fminimax (@ (x) sin (x) * x), x0,目标,重量);

的用户定义值XF是数组,fminimax使用线性索引将它们转换为向量(请参见数组索引).

最小化矢量某些元素的最坏情况绝对值FX)(即min{max abs{FX)}}),将这些目标划分为F的第一个元素并使用优化选择设定absolutemaxObjectiveCount.选择这些目标的数量。这些目标必须被划分为向量的第一个元素F返回的有趣的.例如,看到使用一个目标的绝对值来解决极小的问题

假设目标函数的梯度也可以计算出来specifyobjectivegradient.选择是真正的,按下列规定:

选择= optimoptions(‘fminimax’,‘SpecifyObjectiveGradient’,真的)

在本例中,函数有趣的必须在第二个输出参数中返回渐变值G(a)在X.梯度由偏导数组成df / dx.每一个F当时X. 如果F是长度的向量mX长度N,在哪里N是的长度x0,然后是梯度GF (x)是一个N-借-m矩阵G (i, j)是的偏导数F (j)关于x(我)(那就是jth列G是物体的梯度j目标函数F (j)).如果您定义F作为数组,则前面的讨论适用于F (:)的线性排序F数组。无论如何,G是一个二维矩阵。

设置specifyobjectivegradient.真正的仅当问题没有非线性约束时,或当问题具有带约束的非线性约束时,该方法才有效specifyConstraintGRadient.设置为真正的.在内部,目标被折叠到约束中,因此求解器需要提供梯度(客观和约束)以避免估计梯度。

数据类型:烧焦|一串|function_handle.

初始点,指定为实向量或实数组。解算器使用中的图元数x0和大小的x0来确定变量的数量和大小有趣的接受。

例子:x0=[1,2,3,4]

数据类型:双重的

线性不等式约束,指定为实矩阵。一种是一个m-借-N矩阵,在哪里m是不平等的数量,和N是变量的数量(元素的数量x0).对于大问题,请通过一种作为稀疏矩阵。

一种编码m线性不等式

A*x<=b

哪里X列向量是N变量x(:),B.是一个具有m元素。

例如,指定

X1+ 2X2≤10
3.X1+ 4X2≤20
5.X1+ 6X2≤30日

输入以下约束条件:

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

例子:要指定x分量的和为1或更小,请使用A=一(1,N)B = 1

数据类型:双重的

线性不平等约束,指定为真正的矢量。B.是一个m元素向量相关的一种矩阵。如果你通过了B.作为行向量,求解器内部转换B.到列向量b(:).对于大问题,不予考虑B.作为一个稀疏向量。

B.编码m线性不等式

A*x<=b

哪里X列向量是N变量x(:),一种矩阵的大小是多少m-借-N

例如,考虑一下这些不平等:

X1+ 2X2≤10
3.X1+ 4X2≤20
5.X1+ 6X2≤30。

输入以下约束指定不等式。

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

例子:要指定x分量的和为1或更小,请使用A=一(1,N)B = 1

数据类型:双重的

线性等式约束,指定为实矩阵。AEQ.是一个-借-N矩阵,在哪里是相等数,并且N是变量的数量(元素的数量x0).对于大问题,请通过AEQ.作为稀疏矩阵。

AEQ.编码线性等式

Aeq * x =说真的

哪里X列向量是N变量x(:),说真的是一个具有元素。

例如,指定

X1+ 2X2+ 3X3.= 10.
2X1+ 4X2+X3.= 20,

输入以下约束条件:

AEQ = [1,2,3; 2,4,1];Beq = [10; 20];

例子:若要指定x分量的总和为1,请使用Aeq = 1 (1, N)Beq = 1

数据类型:双重的

线性等式约束,指定为实向量。说真的是一个元素向量相关的AEQ.矩阵。如果你通过了说真的作为行向量,求解器内部转换说真的到列向量贝基(:).对于大问题,不予考虑说真的作为一个稀疏向量。

说真的编码线性等式

Aeq * x =说真的

哪里X列向量是N变量x(:),AEQ.矩阵的大小是多少-借-N

例如,考虑以下等式:

X1+ 2X2+ 3X3.= 10.
2X1+ 4X2+X3.= 20.

通过输入以下约束来指定相等项。

AEQ = [1,2,3; 2,4,1];Beq = [10; 20];

例子:若要指定x分量的总和为1,请使用Aeq = 1 (1, N)Beq = 1

数据类型:双重的

下限,指定为实向量或实数组。如果x0等于中的元素数,然后指定

x(我)> =磅(我)总的来说一世

如果努美尔(磅)<努美尔(x0),然后指定

x(我)> =磅(我)1<=i<=numel(磅)

如果有更少的元素比在x0,解算器发出警告。

例子:要指定所有x分量都为正值,请使用lb=零(尺寸(x0))

数据类型:双重的

上界,指定为实向量或实数组。如果元素的数量x0等于中的元素数乌兰巴托,然后乌兰巴托指定

x(i)<=ub(i)总的来说一世

如果numel(Ub),然后乌兰巴托指定

x(i)<=ub(i)1<=i<=numel(ub)

如果有更少的元素乌兰巴托比在x0,解算器发出警告。

例子:要指定所有x分量都小于1,使用UB =α(大小(x0))

数据类型:双重的

非线性约束,指定为函数句柄或函数名。非LCON是接受向量还是数组的函数X并返回两个数组,c (x)CEQ(x)

  • c (x)非线性不等式约束数组在Xfminimax试图满足

    c(x)<=0的所有条目C

  • CEQ(x)是非线性平等约束的数组Xfminimax试图满足

    ceq(x)=0的所有条目CEQ.

例如,

x = fminimax (@mycon @myfun, x0,…)

哪里麦肯是一个MATLAB函数,如:

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

假设约束的梯度也可以计算出来specifyConstraintGRadient.选择是真正的,按下列规定:

options=options('fminimax','specifyconstraintgradent',true)

在本例中,函数非LCON还必须返回,在第三和第四个输出参数中,GC,梯度c (x),GCeq,梯度CEQ(x).看非线性约束有关如何“条件化”渐变以在不接受提供的渐变的解算器中使用的说明,请参见。

如果非LCON返回一个向量Cm组件和X长度N,在哪里N是的长度x0,然后是梯度GCc (x)是一个N-借-m矩阵,在哪里GC(i,j)是的偏导数c(j)关于x(我)(那就是jth列GC是物体的梯度j不平等限制c(j)).同样地,如果CEQ.P.组件,梯度GCeqCEQ(x)是一个N-借-P.矩阵,在哪里GCeq (i, j)是的偏导数行政长官(j)关于x(我)(那就是jth列GCeq是物体的梯度j平等约束行政长官(j)).

设置specifyConstraintGRadient.真正的只是有效的时候specifyobjectivegradient.被设置为真正的.在内部,目标被折叠到约束中,因此求解器需要同时提供梯度(目标和约束),以避免估计梯度。

因为优化工具箱™ 函数只接受类型为的输入双重的,用户提供的目标和非线性约束函数必须返回类型的输出双重的

传递额外参数有关如何参数化非线性约束函数的说明非LCON,如有需要。

数据类型:烧焦|function_handle.|一串

的输出,指定为优化选项优化选择或一种结构,如optimset返回。

某些选择缺席优化选择显示。这些选项在下表中以斜体显示。有关详细信息,请参见视图选项

有关具有不同名称的选项的详细信息optimset, 看当前和旧选项名称

选项 描述
absolutemaxObjectiveCount.

元素数F一世X)要使F一世.看使用一个目标的绝对值来解决极小的问题

optimset,名字是MinAbsMax

约束耐受性

约束违背的终止容限(正标量)。默认值是1 e-6.看公差和停止标准

optimset,名字是托尔康

诊断

显示关于要最小化或解决的功能的诊断信息。的选择是'在'“关闭”(默认)。

DiffMaxChange

有限差分梯度(正标量)变量的最大变化。默认值为

DiffMinChange

有限差分梯度(正标量)变量变化的最小值。默认值是0.

显示

显示水平(见迭代显示):

  • “关闭”'没有任何'显示没有输出。

  • 'iter'在每次迭代时显示输出,并给出默认退出消息。

  • 'iter-comment'在每次迭代时显示输出,并给出技术退出消息。

  • “通知”仅当函数不收敛时显示输出,并给出默认退出消息。

  • “通知详细信息”仅当功能不收敛时显示输出,并给出技术退出消息。

  • “最后一次”(默认)仅显示最终输出,并给出默认退出消息。

  • 最后详细的只显示最终输出,并给出技术性退出消息。

有限差分步长

有限差分的标量或向量步长因子。当你设定有限差分步长指向向量V.,正有限差分δ

δ=v.*符号′(x)。*最大值(绝对值(x),典型值x);

哪里签名'(x)= sign(x)除了符号′(0)=1. 中心有限差分是

δ= v *马克斯(abs (x)、TypicalX);

标量有限差分步长展开成一个向量。默认值是sqrt (eps)对于正向有限差分,和EPS ^(1/3)用于中央有限差异。

optimset,名字是FINDIFFRELSTEP.

有限差分类型

用于估计梯度的有限差分类型“前进”(默认)或“中央”(中心)。“中央”需要两倍的函数求值,但通常更准确。

当估计两种类型的有限差异时,算法小心遵循界限。例如,它可能是向后差异而不是前向差异,以避免在界限之外的点处评估。

optimset,名字是FinDiffType

FunctionTolerance

函数值的终止公差(正标量)。默认值是1 e-6.看公差和停止标准

optimset,名字是TolFun

欢乐支票

检查是否表示目标函数和约束值有效。'在'当目标函数或约束返回的值不正确时,显示错误复杂的,或. 默认值“关闭”显示无错误。

MaxFunctionEvaluations.

允许的最大函数求值数(正整数)。默认值是100*numberOfVariables.看公差和停止标准迭代和函数计数

optimset,名字是MaxFunEvals

最大

允许的最大迭代次数(正整数)。默认值是400.看公差和停止标准迭代和函数计数

optimset,名字是麦克斯特

maxsqpiter.

允许的最大SQP迭代次数(正整数)。默认值是10*max(numberOfVariables, numberoffinequalities + numberOfBounds)

MeritFunction

如果此选项设置为“多目标”(默认值),使用目标达到或最低限度的函数。如果此选项设置为'singleobj', 使用fminconMerit函数。

OptimalityTolerance

一阶最优性的终止容限(正标量)。默认值是1 e-6.看一阶最优性测量

optimset,名字是TolFun

OutputFcn

一个或多个用户定义的函数,用于在每次迭代时调用优化函数。通过功能句柄或功能句柄的单元格数组。默认值为none([]).看输出函数和绘图函数语法

Plotfcn.

显示算法执行过程中各种进度的图。从预定义的情节中选择或编写您自己的。传递名称、函数句柄或由名称或函数句柄组成的单元数组。对于定制的绘图函数,传递函数句柄。默认值为none([]).

  • “optimplotx”绘制当前点。

  • “optimplotfunccount”绘制函数计数。

  • “optimplotfval”绘制目标函数值。

  • “optimplotconstrviolation”绘制最大约束违背。

  • “optimplotstepsize”绘制阶梯尺寸。

自定义绘图功能使用与输出功能相同的语法。看优化工具箱的输出函数输出函数和绘图函数语法

optimset,名字是Plotfcns.

Rellinesrchbnd.

直线搜索步长上的相对界(一个实非负标量值),使总位移在X满足X一世)|≤Rellinesrchbnd·max(|X一世)|,|typicalx一世)|). 此选项提供对中位移大小的控制X当解算器采取过大的步骤时。默认值为“无”([]).

RelLineSrchBndDuration

中指定的边界所对应的迭代次数Rellinesrchbnd.应该是主动的。默认值是1

specifyConstraintGRadient.

用户定义的非线性约束函数的梯度。此选项设置为真正的fminimax预计约束函数具有四个输出,如所述非LCON.此选项设置为(默认),fminimax使用有限差分估计非线性约束的梯度。

optimset,名字是Gradconstr.这些值是'在'“关闭”

specifyobjectivegradient.

由用户定义的目标函数的梯度。参考的描述有趣的了解如何定义渐变。将此选项设置为真正的具有fminimax使用客观函数的用户定义梯度。默认值,,原因fminimax使用有限差分估计梯度。

optimset,名字是格拉多布这些值是'在'“关闭”

阶跃公差

终止上公差X(正标量)。默认值为1e-6。看见公差和停止标准

optimset,名字是TolX

TolConSQP

内部迭代SQP约束冲突的终止容差(正标量)。默认值为1 e-6

TypicalX

典型的X值。元素的数量TypicalX等于中的元素数x0,是起点。默认值为一(numberofvariables,1).这fminimax函数使用TypicalX用于缩放梯度估计的有限差分。

UseParallel

使用并行计算的选项。当此选项设置为真正的fminimax平行估计梯度。默认值是.看并行计算

例子:optimoptions(“fminimax”、“PlotFcn”、“optimplotfval”)

问题结构,指定为具有此表中字段的结构。

字段名 入口

客观的

目标函数有趣的

x0

起始点X

Aineq

线性不等式约束的矩阵

bineq

线性不等式约束的向量

AEQ.

线性等式约束的矩阵

说真的

线性等式约束的向量
下限矢量
乌兰巴托 上界向量

非LCON

非线性约束函数

解算器

“fminimax”

选择权

使用创建的选项优化选择

你必须至少提供客观的x0解算器,选择权字段问题结构。

数据类型:塑造

输出参数

全部折叠

解决方案,返回真正的矢量或真实数组。的大小X大小与x0. 一般来说,X是问题的局部解决方案,当ExitFlag.是正的。有关解决方案质量的信息,请参见当求职者成功时

解的目标函数值,以实数组形式返回。通常地fval=有趣的(x)

目标函数在解处值的最大值,作为实标量返回。maxfval = max (fval (:))

原因fminimax停止,返回整数。

1

函数收敛到一个解X

4.

搜索方向的大小小于指定的公差,约束冲突小于选项。约束耐受性

5.

方向导数的大小小于指定的公差,且约束冲突小于选项。约束耐受性

0.

超出迭代次数选项。麦克斯特ations或超出函数评估的数量选项。maxFunctionEvaluations

-1

通过输出函数或绘图函数停止

-2

没有找到可行点。

有关优化过程的信息,返回与此表中字段的结构。

迭代

采取的迭代人数

功能计数

功能评估的数量

lssteplength

相对于搜索方向的行搜索步长的大小

违反合同

约束函数的极大值

stepsize

最后一次位移的长度X

算法

优化算法

第一顺序选择

一阶最优性的衡量

信息

退出消息

解决方案中的拉格朗日乘数,作为结构返回,包含此表中的字段。

较低的

下界对应于

上界对应于乌兰巴托

线性不等式

对应于一种B.

eqlin

对应的线性等式AEQ.说真的

伊内克诺林

对应的非线性不等式C非LCON

埃克诺林

对应于CEQ.非LCON

算法

fminimax通过将极小极大问题转换为目标达成问题,然后使用福格拉坦.转换将所有目标设置为0和所有权重到1.参见方程1多目标优化算法

替代功能

应用程序

优化活动编辑器任务为fminimax

扩展功能

之前介绍过的R2006a