主要内容

Fminimax.

解决Minimax约束问题

描述

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乌兰巴托.如果没有平等,则设置AEQ = []beq = [].如果x(i)在下面无界,设置LB(i)= -inf;如果x(i)在上面无界,设置UB(i)= inf

笔记

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

例子

X= fminimax(乐趣x0一种B.AEQ.贝卡乌兰巴托nonlcon.求解非线性不等式下的极大极小问题C(x)或平等CEQ(x)定义nonlcon..该功能优化了C(x)≤0CEQ(x)= 0.如果不存在边界,则设置lb = []乌兰巴托= [], 或两者。

例子

X= fminimax(乐趣x0一种B.AEQ.贝卡乌兰巴托nonlcon.选项解决了在中指定的优化选项的MIMIMAX问题选项.采用优化选择设置这些选项。

X= fminimax(问题解决了最小的问题问题,描述的结构问题

例子

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

例子

[Xfval.maxfvalExitFlag.输出) = fminimax (___另外返回解决方案的目标函数的最大值X, 一个值ExitFlag.的退出条件Fminimax.和一个结构输出有关于优化过程的信息。

例子

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

例子

全部收缩

创造一个情节因为功能及其在间隔内的最大值[-pi,pi]

t = linspace(π-π);绘图(T,SIN(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。

fun = @(x)[sin(x); cos(x)];x0 = 1;x1 = fminimax(有趣,x0)
地方最低可能。约束满足。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.

一个= (1,1);b = (1, 1);c = [0, 1];a0 = 2;b0 = 3;c0 = 4;有趣= @ (x) [x * + a0, * 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.

一个= (1,1);b = (1, 1);c = [0, 1];a0 = 2;b0 = 3;c0 = 4;有趣= @ (x) [x * + a0, * 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 = [];说真的= [];[x, fval] = fminimax (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托)
地方最低可能。约束满足。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,'linestyle''没有任何')查看(-118,28)持有线([ -  2,0],[1,1],[3,3],'颜色''r'“线宽”, 8)离开

图中包含一个坐标轴。轴包含2个类型表面的2个物体。

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

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

一个= (1,1);b = (1, 1);c = [0, 1];a0 = 2;b0 = 3;c0 = 4;有趣= @ (x) [x * + a0, * b + b0, x * c + c0];

UnitDisk.函数表示非线性不等式约束 X 2 1

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

用。求解极大极小问题UnitDisk.约束,从x0 = [0,0]

x0 = [0,0];a = [];%没有其他限制b = [];Aeq = [];说真的= [];磅= [];乌兰巴托= [];nonlcon = @unitdisk;x = fminimax (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托,nonlcon)
地方最低可能。约束满足。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”“AbsoluteMaxObjectiveCount”,1);x0 = 1;a = [];百分比没有限制b = [];Aeq = [];说真的= [];磅= [];乌兰巴托= [];nonlcon = [];x1 = fminimax(fun,x0,a,b,aeq,beq,lb,Ub,nonlcon,选项)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
X1 = 0.7854.

尝试从x0 = 2

x0 = -2;x2 = fminimax(fun,x0,a,b,aeq,beq,lb,Ub,nonlcon,选项)
地方最低可能。约束满足。Fminimax停止,因为当前搜索方向的大小小于步长的值的量,但是满足约束公差的值满足。
x2 = -3.1416.

绘制函数。

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

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

看看效果如何absolutemaxObjectiveCount.选项,将此绘图与示例中的绘图进行比较sin和cos的最大值

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

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

一个= (1,1);b = (1, 1);c = [0, 1];a0 = 2;b0 = 3;c0 = 4;有趣= @ (x) [x * + a0, * 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.

一个= (1,1);b = (1, 1);c = [0, 1];a0 = 2;b0 = 3;c0 = 4;有趣= @ (x) [x * + a0, * 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,退出帧,输出,lambda] =...fminimax(有趣,x0, A、b Aeq,说真的,磅,乌兰巴托,nonlcon,选项)
目标Max Line搜索方向Iter F-count值约束步长导数步骤0 4 0 6 19 5 0 1 0.981 2 14 4.889 8.882e-16 1 -0.302 Hessian修正2次3 19 3.4 8.132 -09 1 -0.302 Hessian修正2次局部最小可能。约束满足。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 Lssteplenth:1步骤化:6.0684E-10算法:'Active-Set'的Firstorderopt:[] Constrviolation:8.1323E-09消息:'...'
lambda =结构体字段:下:[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)(即,最小{max abs {FX)}}),将这些目标划分为F和use的第一个元素优化选择设置absolutemaxObjectiveCount.选择这些目标的数量。这些目标必须被分割成向量的第一个元素F返回乐趣.例如,看到使用一个目标的绝对值来解决极小的问题

假设也可以计算目标函数的梯度specifyobjectivegradient.选择是真的,如:

选项= Optimoptions('fminimax','specifyobjectivegradient',true)

在这种情况下,功能乐趣必须在第二个输出参数中返回梯度值G(矩阵)在X.渐变由部分衍生物组成df / dx.每个F当时X.如果F是长度的矢量mX有长度N, 在哪里N是的长度x0,然后梯度GF (x)是一个N-经过-m矩阵G (i, j)是部分衍生的缩略词)关于x(i)(那就是jth列G梯度是j目标职能缩略词)).如果您定义F作为一个阵列,那么前面的讨论适用于F(:),线性排序F大批。在任何情况下,G是一个二维矩阵。

笔记

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

数据类型:char|细绳|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或更少,使用一个= 1 (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或更少,使用一个= 1 (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 = ONE(1,N)Beq = 1

数据类型:双倍的

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

贝卡编码线性平等

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 = ONE(1,N)Beq = 1

数据类型:双倍的

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

x(i)> = lb(i)对全部一世

如果numel(lb), 然后指定

x(i)> = lb(i)为了1 <= I <= numel(lb)

如果有更少的元素比在x0,解决方案发出警告。

例子:要指定所有x组件是正的,请使用lb = zeros(size(x0))

数据类型:双倍的

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

x(i)<= UB(i)对全部一世

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

x(i)<= UB(i)为了1 <= i <= numel(UB)

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

例子:要指定所有x组件小于1,请使用UB =α(大小(x0))

数据类型:双倍的

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

  • C(x)是非线性不等式约束的数组XFminimax.试图满足

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

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

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

例如,

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

在哪里mycon是一个MATLAB功能,如下:

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

假设也可以计算约束的梯度specifyConstraintGRadient.选择是真的,如:

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

在这种情况下,功能nonlcon.还必须返回,在第三和第四个输出参数中,GC,梯度C(x), 和GCeq,梯度CEQ(x).看非线性约束有关如何在不接受提供梯度的求解器中“调整”梯度的说明。

如果nonlcon.返回一个向量Cm组件和X有长度N, 在哪里N是的长度x0,然后梯度GCC(x)是一个N-经过-m矩阵,其中GC (i, j)是部分衍生的C(j)关于x(i)(那就是jth列GC梯度是j不平等限制C(j)).同样,如果CEQ.拥有P.组件,梯度GCeqCEQ(x)是一个N-经过-P.矩阵,其中GCeq (i, j)是部分衍生的CEQ(j)关于x(i)(那就是jth列GCeq梯度是j平等约束CEQ(j)).

笔记

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

笔记

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

传递额外的参数有关如何参数化非线性约束函数的说明nonlcon.,如果必要的。

数据类型:char|function_handle.|细绳

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

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

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

选项 描述
absolutemaxObjectiveCount.

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

为了optimset, 名字是MinAbsMax

ConstraintTolerance

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

为了optimset, 名字是tolcon.

诊断

显示要最小化或解决的功能的诊断信息。选择是'在''离开'(默认)。

diffmaxchange.

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

差异

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

显示

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

  • '离开''没有任何'显示无输出。

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

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

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

  • '通知 - 详细'仅当函数不收敛时显示输出,并提供技术退出消息。

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

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

FiniteDifferenceStepSize

有限差分的标量或向量步长因子。当您设置FiniteDifferenceStepSize一个向量V.,正有限差分δ

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

在哪里签名'(x)= sign(x)除了标志' (0)= 1.中央有限差异是

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

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

为了optimset, 名字是FINDIFFRELSTEP.

FiniteDifferenceType

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

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

为了optimset, 名字是findifftype.

functiontolerance.

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

为了optimset, 名字是TolFun

FunValCheck

检查表示目标函数和约束值是否有效。'在'当目标函数或约束返回值时显示错误复杂的INF.,或.默认的'离开'显示没有错误。

MaxFunctionEvaluations.

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

为了optimset, 名字是MaxFunEvals

最大

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

为了optimset, 名字是maxiter.

maxsqpiter.

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

meritfunction.

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

OptimalityTolerance

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

为了optimset, 名字是TolFun

outputfcn.

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

Plotfcn.

在算法执行时显示各种进展措施的图。从预定义的地块中选择或写自己的。通过名称,函数句柄或名称或功能句柄的单元数组。对于自定义绘图功能,通过功能句柄。默认值为none([]).

  • 'OptimplotX'绘制当前点。

  • 'OptimplotFunccount'绘制函数计数。

  • 'OptimplotFval'绘制目标函数值。

  • 'OptimplotConstRviroation'绘制最大约束违背。

  • “optimplotstepsize”绘制阶梯尺寸。

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

为了optimset, 名字是Plotfcns.

Rellinesrchbnd.

直线搜索步长上的相对界(一个实非负标量值),使总位移在X满足|δ.X一世)|≤Rellinesrchbnd·max(|X一世)|,|典型的一世)|).该选项提供了对位移大小的控制X当求解器采取太大的步骤时。默认值为none([]).

RelLineSrchBndDuration

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

specifyConstraintGRadient.

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

为了optimset, 名字是Gradconstr.值是'在''离开'

specifyobjectivegradient.

用户定义的目标函数的梯度。请参阅描述乐趣看如何定义渐变。将此选项设置为真的具有Fminimax.使用客观函数的用户定义梯度。默认值,错误的,使Fminimax.使用有限差异来估计梯度。

为了optimset, 名字是gradobj.值是'在''离开'

StepTolerance.

终止上公差X(积极的标量)。默认为1e-6。看公差和停止标准

为了optimset, 名字是托克斯

Tolconsqp.

终止公差对内部迭代SQP约束违规(正标量)。默认值是1 e-6

典型的

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

使用指α.

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

例子:Optimoptions('fminimax','plotfcn','OptimplotFval')

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

字段名称 入口

客观的

目标函数乐趣

x0

初始点X

Aineq.

线性不等式约束的矩阵

bineq

线性不等式约束的矢量

AEQ.

线性平等约束的矩阵

贝卡

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

nonlcon.

非线性约束函数

求解器

“fminimax”

选项

选择的选项优化选择

你必须至少提供客观的x0求解器, 和选项字段问题结构。

数据类型:塑造

输出参数

全部收缩

解决方案,返回真正的矢量或真实数组。的大小X和尺寸一样吗x0.通常,X什么时候能解决局部问题ExitFlag.是积极的。有关解决方案质量的信息,请参阅当求职者成功时

目标函数在解时的值,作为实数组返回。一般来说,fval.=有趣的(x)

最多可以在解决方案处的目标函数值,作为实际标量返回。maxfval = max(fval(:))

原因Fminimax.停止,返回整数。

1

功能融合到解决方案X

4.

搜索方向的幅度小于指定的公差,约束违规小于选项。ConstraintTolerance

5.

方向衍生物的幅度小于指定的公差,约束违规小于选项。ConstraintTolerance

0.

超出迭代次数选项。maxiter.ations或超出函数评估的数量options.maxfunctionevaluations.

-1

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

-2

没有发现可行的点。

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

迭代

采取的迭代人数

Funccount.

功能评估数量

lssteplentht

线路搜索步骤的大小相对于搜索方向

constrviolation

约束函数的最大值

stepsize

最后一次位移的长度X

算法

优化算法

firstordopt.

一阶最优性的衡量

信息

退出消息

Lagrange乘法器在解决方案中,作为与此表中的字段的结构返回。

降低

对应的下限

上界对应于乌兰巴托

ineqlin.

线性不等式对应于一种B.

eqlin.

对应的线性等式AEQ.贝卡

Ineqnonlin.

对应的非线性不等式Cnonlcon.

eqnonlin.

对应的非线性等式CEQ.nonlcon.

算法

Fminimax.通过将极大极小问题转化为目标实现问题来求解极小极大问题,然后利用Fgoalattain.转换将所有目标设置为0和所有权重到1.参见等式1多目标优化算法

选择功能

应用程序

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

扩展功能

在R2006A之前介绍