主要内容gydF4y2Ba

fseminfgydF4y2Ba

求半无限约束多变量非线性函数的极小值gydF4y2Ba

描述gydF4y2Ba

fseminfgydF4y2Ba是一个非线性规划求解器,它能找到指定的问题的最小值gydF4y2Ba

最小值gydF4y2Ba xgydF4y2Ba fgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba 这样gydF4y2Ba {gydF4y2Ba 一个gydF4y2Ba ⋅gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba bgydF4y2Ba ,gydF4y2Ba 一个gydF4y2Ba egydF4y2Ba 问gydF4y2Ba ⋅gydF4y2Ba xgydF4y2Ba =gydF4y2Ba bgydF4y2Ba egydF4y2Ba 问gydF4y2Ba ,gydF4y2Ba lgydF4y2Ba bgydF4y2Ba ≤gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba ugydF4y2Ba bgydF4y2Ba ,gydF4y2Ba cgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba ≤gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba cgydF4y2Ba egydF4y2Ba 问gydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba KgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba wgydF4y2Ba 我gydF4y2Ba )gydF4y2Ba ≤gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba 1gydF4y2Ba ≤gydF4y2Ba 我gydF4y2Ba ≤gydF4y2Ba ngydF4y2Ba .gydF4y2Ba

  • bgydF4y2Ba而且gydF4y2Ba说真的gydF4y2Ba是向量。gydF4y2Ba

  • 一个gydF4y2Ba而且gydF4y2BaAeqgydF4y2Ba矩阵。gydF4y2Ba

  • cgydF4y2Ba(gydF4y2BaxgydF4y2Ba),gydF4y2Ba量表信gydF4y2Ba(gydF4y2BaxgydF4y2Ba),gydF4y2BaKgydF4y2Ba我gydF4y2Ba(gydF4y2Bax, wgydF4y2Ba我gydF4y2Ba)是返回向量的函数。gydF4y2Ba

  • fgydF4y2Ba(gydF4y2BaxgydF4y2Ba)是一个返回标量的函数。gydF4y2Ba

fgydF4y2Ba(gydF4y2BaxgydF4y2Ba),gydF4y2BacgydF4y2Ba(gydF4y2BaxgydF4y2Ba),gydF4y2Ba量表信gydF4y2Ba(gydF4y2BaxgydF4y2Ba)可以是非线性函数。向量(或矩阵)gydF4y2BaKgydF4y2Ba我gydF4y2Ba(gydF4y2BaxgydF4y2Ba,gydF4y2BawgydF4y2Ba我gydF4y2Ba)≤0gydF4y2Ba两者都是连续函数吗gydF4y2BaxgydF4y2Ba还有一组额外的变量gydF4y2BawgydF4y2Ba1gydF4y2Ba,gydF4y2BawgydF4y2Ba2gydF4y2Ba、……gydF4y2BawgydF4y2BangydF4y2Ba.的变量gydF4y2BawgydF4y2Ba1gydF4y2Ba,gydF4y2BawgydF4y2Ba2gydF4y2Ba、……gydF4y2BawgydF4y2BangydF4y2Ba是长度最多为2的向量。gydF4y2Ba

xgydF4y2Ba,gydF4y2Ba磅gydF4y2Ba,gydF4y2Ba乌兰巴托gydF4y2Ba可作为向量或矩阵传递;看到gydF4y2Ba矩阵的参数gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

xgydF4y2Ba= fseminf (gydF4y2Ba有趣的gydF4y2Ba,gydF4y2Bax0gydF4y2Ba,gydF4y2BanthetagydF4y2Ba,gydF4y2BaseminfcongydF4y2Ba)gydF4y2Ba起价gydF4y2Bax0gydF4y2Ba然后求出函数的最小值gydF4y2Ba有趣的gydF4y2Ba受到gydF4y2BanthetagydF4y2Ba中定义的半无限约束gydF4y2BaseminfcongydF4y2Ba.gydF4y2Ba

xgydF4y2Ba= fseminf (gydF4y2Ba有趣的gydF4y2Ba,gydF4y2Bax0gydF4y2Ba,gydF4y2BanthetagydF4y2Ba,gydF4y2BaseminfcongydF4y2Ba,gydF4y2Ba一个gydF4y2Ba,gydF4y2BabgydF4y2Ba)gydF4y2Ba也试着满足线性不等式gydF4y2Ba* x≤bgydF4y2Ba.gydF4y2Ba

xgydF4y2Ba= fseminf (gydF4y2Ba有趣的gydF4y2Ba,gydF4y2Bax0gydF4y2Ba,gydF4y2BanthetagydF4y2Ba,gydF4y2BaseminfcongydF4y2Ba,gydF4y2Ba一个gydF4y2Ba,gydF4y2BabgydF4y2Ba,gydF4y2BaAeqgydF4y2Ba,gydF4y2Ba说真的gydF4y2Ba)gydF4y2Ba最小化受线性等式的影响gydF4y2BaAeq * x =说真的gydF4y2Ba也集gydF4y2Ba一个= []gydF4y2Ba而且gydF4y2Bab = []gydF4y2Ba如果不存在不平等。gydF4y2Ba

xgydF4y2Ba= fseminf (gydF4y2Ba有趣的gydF4y2Ba,gydF4y2Bax0gydF4y2Ba,gydF4y2BanthetagydF4y2Ba,gydF4y2BaseminfcongydF4y2Ba,gydF4y2Ba一个gydF4y2Ba,gydF4y2BabgydF4y2Ba,gydF4y2BaAeqgydF4y2Ba,gydF4y2Ba说真的gydF4y2Ba,gydF4y2Ba磅gydF4y2Ba,gydF4y2Ba乌兰巴托gydF4y2Ba)gydF4y2Ba中设计变量的下界和上界gydF4y2BaxgydF4y2Ba,所以解总是在值域内gydF4y2Ba磅gydF4y2Ba≤gydF4y2BaxgydF4y2Ba≤gydF4y2Ba乌兰巴托gydF4y2Ba.gydF4y2Ba

xgydF4y2Ba= fseminf (gydF4y2Ba有趣的gydF4y2Ba,gydF4y2Bax0gydF4y2Ba,gydF4y2BanthetagydF4y2Ba,gydF4y2BaseminfcongydF4y2Ba,gydF4y2Ba一个gydF4y2Ba,gydF4y2BabgydF4y2Ba,gydF4y2BaAeqgydF4y2Ba,gydF4y2Ba说真的gydF4y2Ba,gydF4y2Ba磅gydF4y2Ba,gydF4y2Ba乌兰巴托gydF4y2Ba,gydF4y2Ba选项gydF4y2Ba)gydF4y2Ba中指定的优化选项最小化gydF4y2Ba选项gydF4y2Ba.使用gydF4y2BaoptimoptionsgydF4y2Ba设置这些选项。gydF4y2Ba

xgydF4y2Ba= fseminf (gydF4y2Ba问题gydF4y2Ba)gydF4y2Ba找到最小值gydF4y2Ba问题gydF4y2Ba中描述的结构gydF4y2Ba问题gydF4y2Ba.gydF4y2Ba

[gydF4y2BaxgydF4y2Ba,gydF4y2BafvalgydF4y2Ba) = fseminf (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba,对于任何前面的输入语法,返回目标函数的值gydF4y2Ba有趣的gydF4y2Ba在解决方案gydF4y2BaxgydF4y2Ba.gydF4y2Ba

请注意gydF4y2Ba

如果问题的指定输入边界不一致,则输出gydF4y2BaxgydF4y2Ba是gydF4y2Bax0gydF4y2Ba和输出gydF4y2BafvalgydF4y2Ba是gydF4y2Ba[]gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

[gydF4y2BaxgydF4y2Ba,gydF4y2BafvalgydF4y2Ba,gydF4y2BaexitflaggydF4y2Ba,gydF4y2Ba输出gydF4y2Ba) = fseminf (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba也返回一个值gydF4y2BaexitflaggydF4y2Ba描述了出口条件和结构gydF4y2Ba输出gydF4y2Ba包含关于优化过程的信息。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2BaxgydF4y2Ba,gydF4y2BafvalgydF4y2Ba,gydF4y2BaexitflaggydF4y2Ba,gydF4y2Ba输出gydF4y2Ba,gydF4y2BaλgydF4y2Ba) = fseminf (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba返回一个结构gydF4y2BaλgydF4y2Ba谁的场包含解的拉格朗日乘子gydF4y2BaxgydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

最小化函数gydF4y2Ba

(gydF4y2Ba xgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 2gydF4y2Ba ,gydF4y2Ba

受限于gydF4y2Ba

0gydF4y2Ba ≤gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba 2gydF4y2Ba

ggydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba (gydF4y2Ba xgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba -gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba 2gydF4y2Ba ≤gydF4y2Ba 0gydF4y2Ba 对所有gydF4y2Ba 0gydF4y2Ba ≤gydF4y2Ba tgydF4y2Ba ≤gydF4y2Ba 1gydF4y2Ba .gydF4y2Ba

无约束目标函数在gydF4y2Ba xgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba .然而,约束gydF4y2Ba

ggydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ≤gydF4y2Ba 0gydF4y2Ba 对所有gydF4y2Ba 0gydF4y2Ba ≤gydF4y2Ba tgydF4y2Ba ≤gydF4y2Ba 1gydF4y2Ba

意味着gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba .请注意,gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba 2gydF4y2Ba ≥gydF4y2Ba 0gydF4y2Ba ,所以gydF4y2Ba

马克斯gydF4y2Ba tgydF4y2Ba ggydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba xgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba .gydF4y2Ba

因此,gydF4y2Ba

马克斯gydF4y2Ba tgydF4y2Ba ggydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ≤gydF4y2Ba 0gydF4y2Ba 当gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba .gydF4y2Ba

来解决这个问题gydF4y2BafseminfgydF4y2Ba,将目标函数写成匿名函数。gydF4y2Ba

objfun = @ (x) (x - 1) ^ 2;gydF4y2Ba

写出半无限约束函数gydF4y2BaseminfcongydF4y2Ba,其中包括非线性约束[],的初始采样间隔gydF4y2Ba tgydF4y2Ba (0 ~ 1,步长0.01),半无限约束函数gydF4y2Ba ggydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba tgydF4y2Ba )gydF4y2Ba .的代码gydF4y2BaseminfcongydF4y2Ba函数出现在gydF4y2Ba此示例结束gydF4y2Ba.gydF4y2Ba

设定起始点gydF4y2Bax0 = 0.2gydF4y2Ba.gydF4y2Ba

x0 = 0.2;gydF4y2Ba

指定一个半无限约束。gydF4y2Ba

ntheta = 1;gydF4y2Ba

通过打电话来解决问题gydF4y2BafseminfgydF4y2Ba并查看结果。gydF4y2Ba

x = fseminf (objfun x0、ntheta @seminfcon)gydF4y2Ba
找到了满足约束条件的局部极小值。由于目标函数在可行方向上不减少,优化完成,在最优性公差的值内,约束满足在约束公差的值内。gydF4y2Ba
x = 0.5000gydF4y2Ba

下面的代码创建gydF4y2BaseminfcongydF4y2Ba函数。gydF4y2Ba

函数gydF4y2Ba[c, ceq, K1, s] = seminfcon(x,s)gydF4y2Ba无有限非线性不等式和不等式约束。gydF4y2Bac = [];测查= [];gydF4y2Ba%样本集gydF4y2Ba如果gydF4y2Baisnan (s)gydF4y2Ba%初始采样间隔gydF4y2BaS = [0.01 0];gydF4y2Ba结束gydF4y2Bat = 0: (1): 1;gydF4y2Ba计算半无限约束gydF4y2BaK1 = (x - 0.5) - (t - 0.5) ^2;gydF4y2Ba结束gydF4y2Ba

最小化函数gydF4y2Ba

(gydF4y2Ba xgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 2gydF4y2Ba ,gydF4y2Ba

受限于gydF4y2Ba

0gydF4y2Ba ≤gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba 2gydF4y2Ba

ggydF4y2Ba (gydF4y2Ba xgydF4y2Ba ,gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba (gydF4y2Ba xgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba -gydF4y2Ba (gydF4y2Ba tgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba 2gydF4y2Ba ≤gydF4y2Ba 0gydF4y2Ba 对所有gydF4y2Ba 0gydF4y2Ba ≤gydF4y2Ba tgydF4y2Ba ≤gydF4y2Ba 1gydF4y2Ba .gydF4y2Ba

这个问题在实例中得到了表述和解决gydF4y2Ba具有半无限约束的极小化函数gydF4y2Ba它收集关于解决方案和解决方案过程的更多信息。gydF4y2Ba

来解决这个问题gydF4y2BafseminfgydF4y2Ba,将目标函数写成匿名函数。gydF4y2Ba

objfun = @ (x) (x - 1) ^ 2;gydF4y2Ba

非线性半无限约束函数的代码gydF4y2BaseminfcongydF4y2Ba出现在gydF4y2Ba此示例结束gydF4y2Ba.gydF4y2Ba

设定起始点gydF4y2Bax0 = 0.2gydF4y2Ba.gydF4y2Ba

x0 = 0.2;gydF4y2Ba

指定一个半无限约束。gydF4y2Ba

ntheta = 1;gydF4y2Ba

通过打电话来解决问题gydF4y2BafseminfgydF4y2Ba并查看结果。gydF4y2Ba

一个= [];b = [];Aeq = [];说真的= [];磅= 0;乌兰巴托= 2;[x, fval exitflag、输出λ)= fseminf (x0, objfun ntheta, @seminfcon,gydF4y2Ba...gydF4y2Ba说真的,A、b Aeq磅,乌兰巴托)gydF4y2Ba
找到了满足约束条件的局部极小值。由于目标函数在可行方向上不减少,优化完成,在最优性公差的值内,约束满足在约束公差的值内。gydF4y2Ba
x = 0.5000gydF4y2Ba
fval = 0.2500gydF4y2Ba
exitflag = 1gydF4y2Ba
输出=gydF4y2Ba结构体字段:gydF4y2Ba迭代:2 funcCount: 4 lssteplth: 1 stepsize: 4.6841e-12 algorithm: 'active-set' firstorderopt: 9.3682e-12 constrbreach: 4.6841e-12 message: 'Local minimum found that满足约束....'gydF4y2Ba
λ=gydF4y2Ba结构体字段:gydF4y2BaLower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [1x0 double]gydF4y2Ba

返回值显示:gydF4y2Ba

  • 问题在gydF4y2Ba xgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba .gydF4y2Ba

  • 目标函数的值,gydF4y2Ba (gydF4y2Ba xgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 2gydF4y2Ba ,是gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 4gydF4y2Ba .gydF4y2Ba

  • 求解器需要两次迭代和四次函数求值才能得到解。gydF4y2Ba

  • 除了半无限的约束之外唯一的约束就是边界,所以gydF4y2BaλgydF4y2Ba结构没有线性或非线性值。的gydF4y2Balambda.lowergydF4y2Ba而且gydF4y2Balambda.uppergydF4y2Ba与边界对应的字段不是空的,而是零值,因为解不在任何一个边界上。gydF4y2Ba

下面的代码创建gydF4y2BaseminfcongydF4y2Ba函数。gydF4y2Ba

函数gydF4y2Ba[c, ceq, K1, s] = seminfcon(x,s)gydF4y2Ba无有限非线性不等式和不等式约束。gydF4y2Bac = [];测查= [];gydF4y2Ba%样本集gydF4y2Ba如果gydF4y2Baisnan (s)gydF4y2Ba%初始采样间隔gydF4y2BaS = [0.01 0];gydF4y2Ba结束gydF4y2Bat = 0: (1): 1;gydF4y2Ba计算半无限约束gydF4y2BaK1 = (x - 0.5) - (t - 0.5) ^2;gydF4y2Ba结束gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

函数要最小化,指定为函数句柄或函数名。gydF4y2Ba有趣的gydF4y2Ba函数是否接受向量或数组gydF4y2BaxgydF4y2Ba并返回一个实标量gydF4y2BafgydF4y2Ba,目标函数在gydF4y2BaxgydF4y2Ba.gydF4y2Ba

fseminfgydF4y2Ba通过gydF4y2BaxgydF4y2Ba目标函数和任何非线性约束函数的形状gydF4y2Bax0gydF4y2Ba论点。例如,如果gydF4y2Bax0gydF4y2Ba是5 × 3的数组吗gydF4y2BafseminfgydF4y2Ba通过gydF4y2BaxgydF4y2Ba来gydF4y2Ba有趣的gydF4y2Ba作为一个5 × 3的数组。然而,gydF4y2BafseminfgydF4y2Ba乘以线性约束矩阵gydF4y2Ba一个gydF4y2Ba或gydF4y2BaAeqgydF4y2Ba与gydF4y2BaxgydF4y2Ba转换后gydF4y2BaxgydF4y2Ba到列向量gydF4y2Bax (:)gydF4y2Ba.gydF4y2Ba

指定gydF4y2Ba有趣的gydF4y2Ba作为文件的函数句柄。gydF4y2Ba

x = fseminf (@myfungydF4y2Ba...gydF4y2Ba)gydF4y2Ba

在这里,gydF4y2BamyfungydF4y2BaMATLAB是一种gydF4y2Ba®gydF4y2Ba函数如下所示。gydF4y2Ba

函数gydF4y2BaF = myfun(x) F =gydF4y2Ba...gydF4y2Ba计算函数在x处的值gydF4y2Ba

您还可以指定gydF4y2Ba有趣的gydF4y2Ba作为匿名函数的函数句柄。gydF4y2Ba

x = fseminf (@ (x)规范(x) ^ 2,gydF4y2Ba...gydF4y2Ba);gydF4y2Ba

如果你能计算出梯度gydF4y2Ba有趣的gydF4y2Ba而且gydF4y2Ba的gydF4y2BaSpecifyObjectiveGradientgydF4y2Ba选项设置为gydF4y2Ba真正的gydF4y2Ba,按gydF4y2Ba

选择= optimoptions (gydF4y2Ba“fseminf”gydF4y2Ba,gydF4y2Ba“SpecifyObjectiveGradient”gydF4y2Ba,真正的);gydF4y2Ba
然后gydF4y2Ba有趣的gydF4y2Ba必须返回梯度向量吗gydF4y2Bag (x)gydF4y2Ba在第二个输出参数中。gydF4y2Ba

例子:gydF4y2Ba有趣= @ (x) sin (x (1)) * cos (x (2))gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Bafunction_handlegydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

初始点,指定为实向量或实数组。中的元素的数量gydF4y2Bax0gydF4y2Ba和大小gydF4y2Bax0gydF4y2Ba来确定变量的数量和大小gydF4y2Ba有趣的gydF4y2Ba接受。gydF4y2Ba

例子:gydF4y2Bax0 =(1、2、3、4)gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

半无限约束的个数,指定为正整数。gydF4y2Ba

例子:gydF4y2Ba4gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

计算非线性不等式约束向量的函数gydF4y2BacgydF4y2Ba,为非线性等式约束的向量gydF4y2Ba量表信gydF4y2Ba,gydF4y2BanthetagydF4y2Ba半无限约束(向量或矩阵)gydF4y2BaK1gydF4y2Ba,gydF4y2BaK2gydF4y2Ba,gydF4y2Ba...gydF4y2Ba,gydF4y2BaKnthetagydF4y2Ba在区间内计算gydF4y2Ba年代gydF4y2Ba在点gydF4y2BaxgydF4y2Ba.您可以指定gydF4y2BaseminfcongydF4y2Ba作为函数句柄。gydF4y2Ba

x = fseminf (@myfun x0、ntheta @myinfcon)gydF4y2Ba

在哪里gydF4y2BamyinfcongydF4y2Ba是MATLAB函数,如gydF4y2Ba

函数(c,测查,K1, K2,…,Kntheta,S] = myinfcon(x,S) % Initial sampling interval if isnan(S(1,1)), S = ...% S has ntheta rows and 2 columns end w1 = ...% Compute sample set w2 = ...% Compute sample set ... wntheta = ... % Compute sample set K1 = ... % 1st semi-infinite constraint at x and w K2 = ... % 2nd semi-infinite constraint at x and w ... Kntheta = ...% Last semi-infinite constraint at x and w c = ... % Compute nonlinear inequalities at x ceq = ... % Compute nonlinear equalities at x

年代gydF4y2Ba建议的采样间隔,函数可能不会使用该间隔。返回gydF4y2Ba[]gydF4y2Ba为gydF4y2BacgydF4y2Ba而且gydF4y2Ba量表信gydF4y2Ba如果不存在这样的约束。gydF4y2Ba

向量或矩阵gydF4y2BaK1gydF4y2Ba,gydF4y2BaK2gydF4y2Ba,gydF4y2Ba...gydF4y2Ba,gydF4y2BaKnthetagydF4y2Ba包含为自变量的采样值集计算的半无限约束gydF4y2Baw1gydF4y2Ba,gydF4y2Baw2gydF4y2Ba,gydF4y2Ba...gydF4y2Ba,gydF4y2BawnthetagydF4y2Ba,分别。两列矩阵gydF4y2Ba年代gydF4y2Ba的值的建议采样间隔gydF4y2Baw1gydF4y2Ba,gydF4y2Baw2gydF4y2Ba,gydF4y2Ba...gydF4y2Ba,gydF4y2BawnthetagydF4y2Ba,用于评估gydF4y2BaK1gydF4y2Ba,gydF4y2BaK2gydF4y2Ba,gydF4y2Ba...gydF4y2Ba,gydF4y2BaKnthetagydF4y2Ba.的gydF4y2Ba我gydF4y2Bath排gydF4y2Ba年代gydF4y2Ba包含用于计算的建议采样间隔gydF4y2BaKgydF4y2Ba我gydF4y2Ba.当gydF4y2BaKgydF4y2Ba我gydF4y2Ba是向量,函数只用吗gydF4y2Ba(我,1)gydF4y2Ba(第二列可以是全零)。当gydF4y2BaKgydF4y2Ba我gydF4y2Ba是矩阵,函数用的gydF4y2Ba(2)我gydF4y2Ba对中的行进行采样gydF4y2BaKgydF4y2Ba我gydF4y2Ba,并使用gydF4y2Ba(我,1)gydF4y2Ba的列的采样间隔gydF4y2BaKgydF4y2Ba我gydF4y2Ba(见gydF4y2Ba二维半无限约束gydF4y2Ba).因为gydF4y2Ba年代gydF4y2Ba是gydF4y2Ba南gydF4y2Ba在第一次迭代中,gydF4y2BaseminfcongydF4y2Ba必须确定某个初始采样间隔。gydF4y2Ba

请注意gydF4y2Ba

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

用于参数化的方法gydF4y2BaseminfcongydF4y2Ba,如有必要,见gydF4y2Ba传递额外的参数gydF4y2Ba.有关单采样点和二维采样点的示例,请参见gydF4y2Ba创建采样点示例gydF4y2Ba.gydF4y2Ba

线性不等式约束,指定为实矩阵。gydF4y2Ba一个gydF4y2Ba是一个gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba矩阵,gydF4y2Ba米gydF4y2Ba不等式的个数,和gydF4y2BaNgydF4y2Ba变量的个数(元素的个数?gydF4y2Bax0gydF4y2Ba).对于大问题,不考虑gydF4y2Ba一个gydF4y2Ba作为一个稀疏矩阵。gydF4y2Ba

一个gydF4y2Ba编码gydF4y2Ba米gydF4y2Ba线性不等式gydF4y2Ba

A * x < =gydF4y2Ba,gydF4y2Ba

在哪里gydF4y2BaxgydF4y2Ba列向量是gydF4y2BaNgydF4y2Ba变量gydF4y2Bax (:)gydF4y2Ba,gydF4y2BabgydF4y2Ba列向量是gydF4y2Ba米gydF4y2Ba元素。gydF4y2Ba

例如,考虑以下这些不等式:gydF4y2Ba

xgydF4y2Ba1gydF4y2Ba+ 2gydF4y2BaxgydF4y2Ba2gydF4y2Ba≤10gydF4y2Ba
3.gydF4y2BaxgydF4y2Ba1gydF4y2Ba+ 4gydF4y2BaxgydF4y2Ba2gydF4y2Ba≤20gydF4y2Ba
5gydF4y2BaxgydF4y2Ba1gydF4y2Ba+ 6gydF4y2BaxgydF4y2Ba2gydF4y2Ba≤30日gydF4y2Ba

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

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

例子:gydF4y2Ba要指定x分量的和为1或更小,请使用gydF4y2Ba一个= 1 (1,N)gydF4y2Ba而且gydF4y2Bab = 1gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

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

bgydF4y2Ba编码gydF4y2Ba米gydF4y2Ba线性不等式gydF4y2Ba

A * x < =gydF4y2Ba,gydF4y2Ba

在哪里gydF4y2BaxgydF4y2Ba列向量是gydF4y2BaNgydF4y2Ba变量gydF4y2Bax (:)gydF4y2Ba,gydF4y2Ba一个gydF4y2Ba矩阵的大小gydF4y2Ba米gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba.gydF4y2Ba

例如,考虑以下这些不等式:gydF4y2Ba

xgydF4y2Ba1gydF4y2Ba+ 2gydF4y2BaxgydF4y2Ba2gydF4y2Ba≤10gydF4y2Ba
3.gydF4y2BaxgydF4y2Ba1gydF4y2Ba+ 4gydF4y2BaxgydF4y2Ba2gydF4y2Ba≤20gydF4y2Ba
5gydF4y2BaxgydF4y2Ba1gydF4y2Ba+ 6gydF4y2BaxgydF4y2Ba2gydF4y2Ba≤30。gydF4y2Ba

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

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

例子:gydF4y2Ba要指定x分量的和为1或更小,请使用gydF4y2Ba一个= 1 (1,N)gydF4y2Ba而且gydF4y2Bab = 1gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

线性等式约束,指定为实矩阵。gydF4y2BaAeqgydF4y2Ba是一个gydF4y2Ba我gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba矩阵,gydF4y2Ba我gydF4y2Ba等式的个数,和gydF4y2BaNgydF4y2Ba变量的个数(元素的个数?gydF4y2Bax0gydF4y2Ba).对于大问题,不考虑gydF4y2BaAeqgydF4y2Ba作为一个稀疏矩阵。gydF4y2Ba

AeqgydF4y2Ba编码gydF4y2Ba我gydF4y2Ba线性等式gydF4y2Ba

Aeq * x =说真的gydF4y2Ba,gydF4y2Ba

在哪里gydF4y2BaxgydF4y2Ba列向量是gydF4y2BaNgydF4y2Ba变量gydF4y2Bax (:)gydF4y2Ba,gydF4y2Ba说真的gydF4y2Ba列向量是gydF4y2Ba我gydF4y2Ba元素。gydF4y2Ba

例如,考虑以下这些不等式:gydF4y2Ba

xgydF4y2Ba1gydF4y2Ba+ 2gydF4y2BaxgydF4y2Ba2gydF4y2Ba+ 3gydF4y2BaxgydF4y2Ba3.gydF4y2Ba= 10gydF4y2Ba
2gydF4y2BaxgydF4y2Ba1gydF4y2Ba+ 4gydF4y2BaxgydF4y2Ba2gydF4y2Ba+gydF4y2BaxgydF4y2Ba3.gydF4y2Ba= 20,gydF4y2Ba

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

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

例子:gydF4y2Ba要指定x分量的和为1,使用gydF4y2BaAeq = 1 (1, N)gydF4y2Ba而且gydF4y2Ba说真的= 1gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

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

说真的gydF4y2Ba编码gydF4y2Ba我gydF4y2Ba线性等式gydF4y2Ba

Aeq * x =说真的gydF4y2Ba,gydF4y2Ba

在哪里gydF4y2BaxgydF4y2Ba列向量是gydF4y2BaNgydF4y2Ba变量gydF4y2Bax (:)gydF4y2Ba,gydF4y2BaAeqgydF4y2Ba矩阵的大小gydF4y2Ba我gydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba.gydF4y2Ba

例如,考虑以下等式:gydF4y2Ba

xgydF4y2Ba1gydF4y2Ba+ 2gydF4y2BaxgydF4y2Ba2gydF4y2Ba+ 3gydF4y2BaxgydF4y2Ba3.gydF4y2Ba= 10gydF4y2Ba
2gydF4y2BaxgydF4y2Ba1gydF4y2Ba+ 4gydF4y2BaxgydF4y2Ba2gydF4y2Ba+gydF4y2BaxgydF4y2Ba3.gydF4y2Ba= 20。gydF4y2Ba

通过输入以下约束来指定等式。gydF4y2Ba

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

例子:gydF4y2Ba要指定x分量的和为1,使用gydF4y2BaAeq = 1 (1, N)gydF4y2Ba而且gydF4y2Ba说真的= 1gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

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

x(我)> =磅(我)gydF4y2Ba对所有gydF4y2Ba我gydF4y2Ba.gydF4y2Ba

如果gydF4y2Ba元素个数(磅)<元素个数(x0)gydF4y2Ba,然后gydF4y2Ba磅gydF4y2Ba指定gydF4y2Ba

x(我)> =磅(我)gydF4y2Ba为gydF4y2Ba1 <= I <= numel(lb)gydF4y2Ba.gydF4y2Ba

如果gydF4y2Ba磅gydF4y2Ba元素少于gydF4y2Bax0gydF4y2Ba,求解者发出警告。gydF4y2Ba

例子:gydF4y2Ba要指定所有x分量都是正的,使用gydF4y2Ba磅= 0(大小(x0))gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

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

x (i) < =乌兰巴托(我)gydF4y2Ba对所有gydF4y2Ba我gydF4y2Ba.gydF4y2Ba

如果gydF4y2Ba元素个数(乌兰巴托)<元素个数(x0)gydF4y2Ba,然后gydF4y2Ba乌兰巴托gydF4y2Ba指定gydF4y2Ba

x (i) < =乌兰巴托(我)gydF4y2Ba为gydF4y2Ba1 <= I <= numel(ub)gydF4y2Ba.gydF4y2Ba

如果gydF4y2Ba乌兰巴托gydF4y2Ba元素少于gydF4y2Bax0gydF4y2Ba,求解者发出警告。gydF4y2Ba

例子:gydF4y2Ba要指定所有x分量都小于1,使用gydF4y2Ba乌兰巴托= 1(大小(x0))gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba

优化选项,指定为的输出gydF4y2BaoptimoptionsgydF4y2Ba或者一个结构,比如gydF4y2BaoptimsetgydF4y2Ba的回报。看到gydF4y2Ba优化选择参考gydF4y2Ba的详细信息。gydF4y2Ba

的选项中缺少一些选项gydF4y2BaoptimoptionsgydF4y2Ba显示。这些选项在下表中以斜体显示。有关详细信息,请参见gydF4y2Ba视图选项gydF4y2Ba.gydF4y2Ba

选项gydF4y2Ba 描述gydF4y2Ba

CheckGradientsgydF4y2Ba

比较用户提供的导数(目标或约束的梯度)和有限差分导数。的选择是gydF4y2Ba真正的gydF4y2Ba或默认gydF4y2Ba假gydF4y2Ba.gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaDerivativeCheckgydF4y2Ba这些值是gydF4y2Ba“上”gydF4y2Ba或gydF4y2Ba“关闭”gydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

ConstraintTolerancegydF4y2Ba

约束违反上的终止容忍(一个正标量)。默认值是gydF4y2Ba1 e-6gydF4y2Ba.看到gydF4y2Ba公差和停止标准gydF4y2Ba.gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaTolCongydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

诊断gydF4y2Ba

显示关于要最小化或解决的功能的诊断信息。的选择是gydF4y2Ba“上”gydF4y2Ba或默认gydF4y2Ba“关闭”gydF4y2Ba.gydF4y2Ba

DiffMaxChangegydF4y2Ba

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

DiffMinChangegydF4y2Ba

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

显示gydF4y2Ba

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

  • “关闭”gydF4y2Ba或gydF4y2Ba“没有”gydF4y2Ba显示没有输出。gydF4y2Ba

  • “通路”gydF4y2Ba在每个迭代中显示输出,并给出默认的退出消息。gydF4y2Ba

  • “iter-detailed”gydF4y2Ba在每个迭代中显示输出,并给出技术退出消息。gydF4y2Ba

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

  • “notify-detailed”gydF4y2Ba仅在函数不收敛时显示输出,并给出技术退出消息。gydF4y2Ba

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

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

FiniteDifferenceStepSizegydF4y2Ba

有限差分的标量或向量步长因子。当您设置gydF4y2BaFiniteDifferenceStepSizegydF4y2Ba一个向量gydF4y2BavgydF4y2Ba,正向有限差分gydF4y2BaδgydF4y2Ba是gydF4y2Ba

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

在哪里gydF4y2Ba符号“(x) =符号(x)gydF4y2Ba除了gydF4y2Ba标志' (0)= 1gydF4y2Ba.中心有限差分为gydF4y2Ba

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

标量gydF4y2BaFiniteDifferenceStepSizegydF4y2Ba展开成一个向量。默认值是gydF4y2Basqrt (eps)gydF4y2Ba对于正向有限差分,和gydF4y2Baeps ^ (1/3)gydF4y2Ba对于中心有限差分。gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaFinDiffRelStepgydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

FiniteDifferenceTypegydF4y2Ba

有限差分,用来估计梯度,是其中之一gydF4y2Ba“前进”gydF4y2Ba(默认)或gydF4y2Ba“中央”gydF4y2Ba(中心)。gydF4y2Ba“中央”gydF4y2Ba需要两倍的函数求值,但可以更准确。gydF4y2Ba

该算法在估计两种有限差分时都小心地服从边界。例如,为了避免在边界外的点上求值,算法可能采用向后差分而不是向前差分。gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaFinDiffTypegydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

FunctionTolerancegydF4y2Ba

函数值(一个正标量)上的终止公差。默认值是gydF4y2Ba1的军医gydF4y2Ba.看到gydF4y2Ba公差和停止标准gydF4y2Ba.gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaTolFungydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

FunValCheckgydF4y2Ba

检查目标函数和约束值是否有效。设置gydF4y2Ba“上”gydF4y2Ba当目标函数或约束返回值为时显示错误gydF4y2Ba复杂的gydF4y2Ba,gydF4y2Ba正gydF4y2Ba,或gydF4y2Ba南gydF4y2Ba.默认的gydF4y2Ba“关闭”gydF4y2Ba显示没有错误。gydF4y2Ba

MaxFunctionEvaluationsgydF4y2Ba

允许的函数求值的最大数量(正整数)。默认值是gydF4y2Ba100 * numberOfVariablesgydF4y2Ba.看到gydF4y2Ba公差和停止标准gydF4y2Ba而且gydF4y2Ba迭代和函数计数gydF4y2Ba.gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaMaxFunEvalsgydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

MaxIterationsgydF4y2Ba

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

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2Ba麦克斯特gydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

MaxSQPItergydF4y2Ba

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

OptimalityTolerancegydF4y2Ba

一阶最优性(一个正标量)上的终止公差。默认值是gydF4y2Ba1 e-6gydF4y2Ba.看到gydF4y2Ba一阶最优性测量gydF4y2Ba.gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaTolFungydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

OutputFcngydF4y2Ba

指定优化函数在每次迭代中调用的一个或多个用户定义函数。传递函数句柄或函数句柄的单元格数组。默认值是none (gydF4y2Ba[]gydF4y2Ba).看到gydF4y2Ba输出函数和图函数语法gydF4y2Ba.gydF4y2Ba

PlotFcngydF4y2Ba

绘制算法执行时的各种进度度量;从预定义的情节中选择或编写自己的情节。传递名称、函数句柄或名称或函数句柄的单元格数组。对于自定义plot函数,传递函数句柄。默认值是none (gydF4y2Ba[]gydF4y2Ba).gydF4y2Ba

  • “optimplotx”gydF4y2Ba绘制当前点。gydF4y2Ba

  • “optimplotfunccount”gydF4y2Ba绘制函数计数。gydF4y2Ba

  • “optimplotfval”gydF4y2Ba绘制函数值。gydF4y2Ba

  • “optimplotfvalconstr”gydF4y2Ba将找到的最佳可行目标函数值绘制成折线图。图中用可行性公差表示不可行点为红色,可行点为蓝色gydF4y2Ba1 e-6gydF4y2Ba.gydF4y2Ba

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

  • “optimplotstepsize”gydF4y2Ba绘制步长。gydF4y2Ba

  • “optimplotfirstorderopt”gydF4y2Ba绘制一阶最优测度。gydF4y2Ba

自定义plot函数使用与输出函数相同的语法。看到gydF4y2Ba优化工具箱的输出函数gydF4y2Ba而且gydF4y2Ba输出函数和图函数语法gydF4y2Ba.gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaPlotFcnsgydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

RelLineSrchBndgydF4y2Ba

相对边界(一个真实的非负标量值)上的直线搜索步长,使总位移在gydF4y2BaxgydF4y2Ba满足gydF4y2Ba|ΔgydF4y2BaxgydF4y2Ba(gydF4y2Ba我gydF4y2Ba)|≤relLineSrchBnd·max(| .gydF4y2BaxgydF4y2Ba(gydF4y2Ba我gydF4y2Ba) | |gydF4y2BatypicalxgydF4y2Ba(gydF4y2Ba我gydF4y2Ba) |)gydF4y2Ba.这个选项提供了对位移大小的控制gydF4y2BaxgydF4y2Ba对于解算器采取的步骤gydF4y2BafseminfgydF4y2Ba认为太大。默认值是no bounds (gydF4y2Ba[]gydF4y2Ba).gydF4y2Ba

RelLineSrchBndDurationgydF4y2Ba

中指定的边界的迭代次数gydF4y2BaRelLineSrchBndgydF4y2Ba应该是活动的(默认是gydF4y2Ba1gydF4y2Ba).gydF4y2Ba

SpecifyObjectiveGradientgydF4y2Ba

用户定义的目标函数的梯度。参见前面的描述gydF4y2Ba有趣的gydF4y2Ba看看如何定义梯度gydF4y2Ba有趣的gydF4y2Ba.将此选项设置为gydF4y2Ba真正的gydF4y2Ba有gydF4y2BafseminfgydF4y2Ba使用目标函数的用户定义梯度。默认的gydF4y2Ba假gydF4y2Ba原因gydF4y2BafseminfgydF4y2Ba用有限差分估计梯度。gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaGradObjgydF4y2Ba这些值是gydF4y2Ba“上”gydF4y2Ba或gydF4y2Ba“关闭”gydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

StepTolerancegydF4y2Ba

终止上公差gydF4y2BaxgydF4y2Ba,一个正标量。默认值为gydF4y2Ba1的军医gydF4y2Ba.看到gydF4y2Ba公差和停止标准gydF4y2Ba.gydF4y2Ba

为gydF4y2BaoptimsetgydF4y2Ba,名字是gydF4y2BaTolXgydF4y2Ba.看到gydF4y2Ba当前和遗留选项名称gydF4y2Ba.gydF4y2Ba

TolConSQPgydF4y2Ba

终止容忍的内部迭代SQP约束违反,一个正标量。默认值是gydF4y2Ba1 e-6gydF4y2Ba.gydF4y2Ba

TypicalXgydF4y2Ba

典型的gydF4y2BaxgydF4y2Ba值。元素的数量gydF4y2BaTypicalXgydF4y2Ba等于元素的个数gydF4y2Bax0gydF4y2Ba,起点。默认值为gydF4y2Ba的(numberofvariables, 1)gydF4y2Ba.gydF4y2BafseminfgydF4y2Ba使用gydF4y2BaTypicalXgydF4y2Ba为缩放有限差分梯度估计。gydF4y2Ba

例子:gydF4y2Ba选择= optimoptions(‘fseminf’,‘PlotFcn’,‘optimplotfval’)gydF4y2Ba

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

字段名gydF4y2Ba 条目gydF4y2Ba

客观的gydF4y2Ba

目标函数gydF4y2Ba

x0gydF4y2Ba

初始点gydF4y2BaxgydF4y2Ba

nthetagydF4y2Ba

半无限约束的个数gydF4y2Ba

seminfcongydF4y2Ba

半无限约束函数gydF4y2Ba

AineqgydF4y2Ba

矩阵用于线性不等式约束gydF4y2Ba

bineqgydF4y2Ba

线性不等式约束的向量gydF4y2Ba

AeqgydF4y2Ba

矩阵用于线性等式约束gydF4y2Ba

说真的gydF4y2Ba

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

解算器gydF4y2Ba

“fmseminf”gydF4y2Ba

选项gydF4y2Ba

选择创建gydF4y2BaoptimoptionsgydF4y2Ba

你必须提供至少gydF4y2Ba客观的gydF4y2Ba,gydF4y2Bax0gydF4y2Ba,gydF4y2BaseminfcongydF4y2Ba,gydF4y2Ba解算器gydF4y2Ba,gydF4y2Ba选项gydF4y2Ba字段gydF4y2Ba问题gydF4y2Ba结构。gydF4y2Ba

数据类型:gydF4y2Ba结构体gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

解决方案,作为实向量或实数组返回。的大小gydF4y2BaxgydF4y2Ba的尺寸是一样的吗gydF4y2Bax0gydF4y2Ba.通常情况下,gydF4y2BaxgydF4y2Ba本地解决问题是什么时候gydF4y2BaexitflaggydF4y2Ba是正的。有关解决方案质量的信息,请参见gydF4y2Ba当求解器成功时gydF4y2Ba.gydF4y2Ba

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

原因gydF4y2BafseminfgydF4y2Ba停止,作为整数返回。gydF4y2Ba

国旗gydF4y2Ba

描述gydF4y2Ba

1gydF4y2Ba

函数收敛到一个解gydF4y2BaxgydF4y2Ba.gydF4y2Ba

4gydF4y2Ba

搜索方向的幅度小于规定公差,违反约束的幅度小于规定公差gydF4y2Ba选项。ConstraintTolerancegydF4y2Ba.gydF4y2Ba

5gydF4y2Ba

方向导数的幅度小于规定的公差,违反约束的幅度小于规定的公差gydF4y2Ba选项。ConstraintTolerancegydF4y2Ba.gydF4y2Ba

0gydF4y2Ba

超过的迭代次数gydF4y2Ba选项。麦克斯特ations,或超过函数求值的次数gydF4y2Ba选项。米axFunctionEvaluations.gydF4y2Ba

-1gydF4y2Ba

被输出函数或绘图函数停止。gydF4y2Ba

-2gydF4y2Ba

没有找到可行的点。gydF4y2Ba

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

字段名gydF4y2Ba 描述gydF4y2Ba
迭代gydF4y2Ba

迭代次数gydF4y2Ba

funcCountgydF4y2Ba

函数求值的次数gydF4y2Ba

lssteplengthgydF4y2Ba

直线搜索步长相对于搜索方向的大小gydF4y2Ba

stepsizegydF4y2Ba

最终位移gydF4y2BaxgydF4y2Ba

算法gydF4y2Ba

优化算法gydF4y2Ba

constrviolationgydF4y2Ba

约束函数的最大值gydF4y2Ba

firstorderoptgydF4y2Ba

一阶最优性的度量gydF4y2Ba

消息gydF4y2Ba

退出消息gydF4y2Ba

迭代gydF4y2Ba

迭代次数gydF4y2Ba

funcCountgydF4y2Ba

函数求值的次数gydF4y2Ba

解的拉格朗日乘子,作为具有以下字段的结构返回。gydF4y2Ba

字段名gydF4y2Ba 描述gydF4y2Ba
较低的gydF4y2Ba

下界对应于gydF4y2Ba磅gydF4y2Ba

上gydF4y2Ba

对应的上界gydF4y2Ba乌兰巴托gydF4y2Ba

ineqlingydF4y2Ba

线性不等式对应于gydF4y2Ba一个gydF4y2Ba而且gydF4y2BabgydF4y2Ba

eqlingydF4y2Ba

线性等式对应于gydF4y2BaAeqgydF4y2Ba而且gydF4y2Ba说真的gydF4y2Ba

ineqnonlingydF4y2Ba

对应的非线性不等式gydF4y2BacgydF4y2Ba在gydF4y2BaseminfcongydF4y2Ba

eqnonlingydF4y2Ba

对应的非线性方程gydF4y2Ba量表信gydF4y2Ba在gydF4y2BaseminfcongydF4y2Ba

限制gydF4y2Ba

  • 被最小化的函数,约束条件和半无限约束条件必须是的连续函数gydF4y2BaxgydF4y2Ba而且gydF4y2BawgydF4y2Ba.gydF4y2Ba

  • fseminfgydF4y2Ba可能只提供当地的解决方案。gydF4y2Ba

算法gydF4y2Ba

fseminfgydF4y2Ba利用三次插值和二次插值技术估计半无限约束下的峰值。算法使用峰值形成提供给SQP方法的一组约束,如gydF4y2BafmincongydF4y2Ba函数。当约束的数量发生变化时,算法将拉格朗日乘子重新分配到新的约束集上。gydF4y2Ba

建议的采样间隔计算使用插值的峰值和数据集中的峰值之间的差值来估计函数需要取更多的点还是更少的点。该函数还通过外推曲线并将其与曲线上的其他点进行比较来评估插值的有效性。当峰值接近约束边界(即零)时,建议采样间隔减小。gydF4y2Ba

当问题不可行的时候,gydF4y2BafseminfgydF4y2Ba试图最小化最大约束值。gydF4y2Ba

有关所使用算法和程序类型的详细信息,请参阅gydF4y2Ba程序gydF4y2Ba标题的时候gydF4y2Ba显示gydF4y2Ba选项设置为gydF4y2Ba“通路”gydF4y2Ba与gydF4y2BaoptimoptionsgydF4y2Ba,请参阅gydF4y2BaSQP实现gydF4y2Ba.有关的详细信息gydF4y2BafseminfgydF4y2Ba算法,看到gydF4y2Bafsemf问题的表述与算法gydF4y2Ba.gydF4y2Ba

版本历史gydF4y2Ba

之前介绍过的R2006agydF4y2Ba

Baidu
map