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),CEQX), 和FX)是返回向量的函数。FX),CX), 和CEQX)可以是非线性函数。

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 = []说真的= [].如果x(我)下面是无界的,集lb(i)=–Inf;如果x(我)是无界的上方,设置乌兰巴托(i) =正无穷

笔记

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

例子

X=fminimax(享乐x0一种B.AEQ贝基乌兰巴托非LCON求解非线性不等式下的极大极小问题c(x)或平等CEQ(x)的定义于非LCON. 该函数进行优化,以便c(x)≤ 0ceq(x)=0.如果不存在边界,则设置磅= []乌兰巴托= [],或两者兼而有之。

例子

X=fminimax(享乐x0一种B.AEQ贝基乌兰巴托非LCON选择权使用中指定的优化选项解决极大极小问题选择权.用optimoptions设置这些选项。

X=fminimax(问题解的极大极小问题问题,中描述的结构问题

例子

[X未来值) = fminimax (___,对于任何语法,返回在中计算的目标函数的值享乐在解决方案X

例子

[X未来值maxfvalexitflag输出) = fminimax (___另外,返回解决方案中目标函数的最大值X, 一个值exitflag的退出条件fminimax,以及一个结构输出提供有关优化过程的信息。

例子

[X未来值maxfvalexitflag输出兰姆达) = fminimax (___另外返回一个结构兰姆达哪个场在解处包含拉格朗日乘数X

例子

全部崩溃

创建的一个阴谋因为函数及其在区间内的最大值[–π,π]

t=linspace(-pi,pi);plot(t,sin(t),“r-”)举行在…上情节(吨,COS(T),“b -”);情节(t,马克斯(罪(t),因为(t)),“柯”)传说(“罪(t)”“因为(t)”“马克斯(罪(t),因为(t))”“位置”“西北”

该图显示了最大的两个局部极小,一个接近1,而其他近-2。查找附近1最小。

fun=@(x)[sin(x);cos(x)];x0=1;x1=fminimax(fun,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(乐趣([X(:),Y(:)]),[],2);Z =重塑(Z,大小(X));冲浪(X,Y,Z,“线型”'没有任何')视图(-118年28)在…上行([-2,0],[1,1],[3,3],“颜色”'r'“线宽”, 8)

这个例子的目标函数是线性加常数。有关目标函数的描述和绘图,请参见比较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 2 1

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

用。求解极大极小问题单位盘约束,从开始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。

fun=@(x)[sin(x),cos(x)];options=options(“fminimax”“AbsoluteMaxObjectiveCount”,1); x0=1;A=[];%无约束b = [];Aeq = [];说真的= [];磅= [];乌兰巴托= [];nonlcon = [];x1 = fminimax (Aeq有趣,x0, A, b,说真的,磅,乌兰巴托,nonlcon,选项)
当地最小的可能。约束满足。fminimax停止,因为当前的搜索方向的大小是步长公差小于两倍的值和约束约束公差值内满意。
x1=0.7854

试着从x0 = 2

x0=-2;x2=fminimax(乐趣、x0、A、b、Aeq、beq、lb、ub、非LCON、选项)
当地最小的可能。约束满足。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(fun,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 = [];%没有其他限制beq=[];lb=[];ub=[];nonlcon=[];[x,fval,maxfval,exitflag,output,lambda]=...fminimax(有趣,x0, A、b Aeq,说真的,磅,乌兰巴托,nonlcon,选项)
目标最大线搜索方向Iter F计数值约束步长导数程序0 4 0 6 1 9 5 0 1 0.981 2 14 4.889 0 1-0.302 Hessian修改两次3 19 3.4 8.132e-09 1-0.302 Hessian修改两次局部最小可能值。满足约束。fminimax停止,因为当前搜索方向的大小小于twice步长公差值和约束满足在约束公差值范围内。
x =1×2-5.8000 - 0.6000
fval=1×3-3.2000 3.4000 3.4000
maxfval = 3.4000
exitflag=4
输出=结构体字段:firstderopt: [] constructor: 8.1323e-09 message: '…'
λ=结构体字段:下:[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和use的第一个元素optimoptions设置AbsoluteMaxObjectiveCount选择这些目标的数量。这些目标必须被分割成向量的第一个元素F返回的享乐.例如,看到解决极小极大问题采用一种客观绝对值

假设也可以计算目标函数的梯度SpecifyObjectiveGradient选择是符合事实的,由以下机构设定:

options=optimoptions('fminimax','SpecifyObjectiveGradient',true)

在本例中,函数享乐必须在第二个输出参数中返回梯度值G(a)在X.梯度由偏导数组成DF / DXF当时X.如果F是长度的向量mX长度N哪里N是的长度x0,然后是梯度G属于F (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,请使用一个= 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 = 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(lb)

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

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

数据类型:双重的

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

x (i) < =乌兰巴托(我)对所有一世

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

x (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,…)

在哪里mycon是一个MATLAB函数,如下所示:

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

假设也可以计算约束的梯度SpecifyConstraintGradient选择是符合事实的,由以下机构设定:

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

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

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

笔记

设置SpecifyConstraintGradient符合事实的是有效的,只有当SpecifyObjectiveGradient被设置为符合事实的。在内部,目标被折叠到约束中,因此解算器需要同时提供梯度(目标和约束),以避免估计梯度。

笔记

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

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

数据类型:烧焦|function_handle|字符串

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

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

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

选项 描述
AbsoluteMaxObjectiveCount

元素数F一世X)要使F一世看见解决极小极大问题采用一种客观绝对值

对于optimset,名字是MinAbsMax

ConstraintTolerance

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

对于optimset,名字是托尔康

诊断

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

DiffMaxChange

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

DiffMinChange

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

显示

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

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

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

  • 'ITER-详述'显示每次迭代的输出,并给出技术退出消息。

  • “通知”显示输出仅当功能不收敛,并给出了默认退出消息。

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

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

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

FiniteDifferenceStepSize

有限差分的标量或向量步长因子。当您设置FiniteDifferenceStepSize一个向量V.,正有限差分希腊字母表的第4个字母

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

在哪里符号'(X)=符号(x)的除了标志' (0)= 1. 中心有限差分是

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

标量FiniteDifferenceStepSize展开为向量。默认值为sqrt(每股收益)对于正向有限差分,和EPS ^(1/3)中央有限差。

对于optimset,名字是FinDiffRelStep

FiniteDifferenceType

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

估计这两种类型的有限差时该算法是小心服从边界。例如,它可能需要一个落后的差别,而不是正向的差异,避免在边界之外的一点评价。

对于optimset,名字是FinDiffType

功能公差

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

对于optimset,名字是TolFun

FunValCheck

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

MaxFunctionEvaluations.

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

对于optimset,名字是MaxFunEvals

最大

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

对于optimset,名字是麦克斯特

MaxSQPIter

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

功绩函数

如果此选项设置为“multiobj”(默认),使用目标达到或极小的评价函数。如果此选项设置为'singleobj', 使用fmincon评价函数。

OptimalityTolerance

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

对于optimset,名字是TolFun

OutputFcn

一个或多个用户定义的函数,一个优化函数在每次迭代调用。传递一个函数手柄或手柄功能的单元阵列。默认值是无([]).看输出函数和绘图函数语法

PlotFcn

显示算法执行时各种进度度量的绘图。从预定义绘图中选择或编写自己的绘图。传递名称、函数句柄或名称或函数句柄的单元格数组。对于自定义绘图函数,传递函数句柄。默认为无([]).

  • “optimplotx”绘制当前点。

  • “optimplotfunccount”绘制函数计数。

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

  • “优化冲突”绘制最大约束违背。

  • “optimplotstepsize”绘出了步长大小。

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

对于optimset,名字是PlotFcns

RelLineSrchBnd

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

RelLineSrchBndDuration

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

SpecifyConstraintGradient

梯度由用户定义的非线性约束函数。当此选项设置为符合事实的fminimax预计,约束函数为具有4个输出,如上述非LCON.当此选项设置为错误的(默认),fminimax使用有限差分估计非线性约束的梯度。

对于optimset,名字是GradConstr这些值是'在'“关闭”

SpecifyObjectiveGradient

用户定义的目标函数的梯度。请参阅的说明享乐了解如何定义渐变。将此选项设置为符合事实的具有fminimax使用所述目标函数的一个用户定义的梯度。默认的,错误的,使fminimax使用有限差分估计梯度。

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

阶跃公差

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

对于optimset,名字是收费

TolConSQP

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

典型的

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

使用并行

使用并行计算的选项。当此选项设置为符合事实的fminimax平行估计梯度。默认值是错误的看见并行计算

例子:optimoptions('fminimax'、'PlotFcn'、'optimplotfval')

问题结构,指定为与该表中的字段的结构。

字段名 进入

客观的

目标函数享乐

x0

初始点X

Aineq

线性不等式约束的矩阵

bineq

线性不等式约束向量

AEQ

线性等式约束的矩阵

贝基

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

非LCON

非线性约束函数

解算器

“fminimax”

选择权

使用创建的选项optimoptions

您必须提供至少客观的x0解算器选择权田野问题结构。

数据类型:结构

输出参数

全部崩溃

溶液,返回为真实载体或真正的数组。的大小X和尺寸一样吗x0. 典型的X什么时候能解决局部问题exitflag这是积极的。有关解决方案质量的信息,请参阅当解算器则成功

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

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

原因fminimax停止,返回一个整数。

1

函数收敛到一个解X

4.

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

5.

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

0.

超过迭代次数选项。麦克斯特ations或功能评估的次数超过选项。maxFunctionEvaluations

-1

通过输出功能或绘图功能停止

-2

没有找到可行的点。

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

迭代

采取迭代次数

功能计数

功能评估的数量

lssteplength

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

constrviolation

约束函数的最大值

步长

最后一次位移的长度X

算法

优化算法

第一顺序选择

衡量一阶最优的

信息

退出消息

解处的拉格朗日乘数,作为表中字段的结构返回。

降低

下界对应于

上面的

对应于乌兰巴托

线性不等式

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

eqlin

对应的线性等式AEQ贝基

伊内克诺林

与方程组相对应的非线性不等式C在里面非LCON

埃克诺林

对应的非线性等式CEQ在里面非LCON

算法

fminimax通过将极大极小问题转化为目标实现问题来求解极小极大问题,然后利用福格拉坦.转换设置为0,所有的目标都权重1.见方程1在里面多目标优化算法

选择功能

应用程序

优化活动编辑器任务为fminimax

扩展功能

在R2006a之前引入