求半无限约束多变量非线性函数的最小值gydF4y2Ba
查找指定问题的最小值gydF4y2Ba
bgydF4y2Ba和gydF4y2Ba说真的gydF4y2Ba是向量,gydF4y2Ba一个gydF4y2Ba和gydF4y2BaAeqgydF4y2Ba是矩阵,gydF4y2BacgydF4y2Ba(gydF4y2BaxgydF4y2Ba),gydF4y2Ba量表信gydF4y2Ba(gydF4y2BaxgydF4y2Ba), 和gydF4y2BaKgydF4y2Ba我gydF4y2Ba(gydF4y2Bax, wgydF4y2Ba我gydF4y2Ba)是返回向量的函数gydF4y2BafgydF4y2Ba(gydF4y2BaxgydF4y2Ba)是返回标量的函数。gydF4y2BafgydF4y2Ba(gydF4y2BaxgydF4y2Ba),gydF4y2BacgydF4y2Ba(gydF4y2BaxgydF4y2Ba), 和gydF4y2Ba量表信gydF4y2Ba(gydF4y2BaxgydF4y2Ba)可以是非线性函数。vectors(或矩阵)gydF4y2BaKgydF4y2Ba我gydF4y2Ba(gydF4y2BaxgydF4y2Ba,gydF4y2BawgydF4y2Ba我gydF4y2Ba)≤0.gydF4y2Ba两者都是连续函数吗gydF4y2BaxgydF4y2Ba还有一组额外的变量gydF4y2BawgydF4y2Ba1gydF4y2Ba,gydF4y2BawgydF4y2Ba2gydF4y2Ba、……gydF4y2BawgydF4y2BangydF4y2Ba.变量gydF4y2BawgydF4y2Ba1gydF4y2Ba,gydF4y2BawgydF4y2Ba2gydF4y2Ba、……gydF4y2BawgydF4y2BangydF4y2Ba都是长度不超过2的向量。gydF4y2Ba
xgydF4y2Ba,gydF4y2Ba磅gydF4y2Ba, 和gydF4y2Ba乌兰巴托gydF4y2Ba可以作为向量或矩阵传递;看gydF4y2Ba矩阵论据gydF4y2Ba.gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon)gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon, A, b)gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon, A, b, Aeq, beq)gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon, A, b, Aeq,说真的,磅,乌兰巴托)gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon, A, b, Aeq,说真的,磅,乌兰巴托,选项)gydF4y2Ba
x = fseminf(问题)gydF4y2Ba
[x, fval] = fseminf(…)gydF4y2Ba
[x, fval exitflag] = fseminf(…)gydF4y2Ba
[x, fval exitflag、输出]= fseminf(…)gydF4y2Ba
[x,fval,出口,输出,lambda] = fseminf(...)gydF4y2Ba
fseminfgydF4y2Ba
从初始估计开始,发现最少有几个变量的半无限限制标量函数。目的是最小化gydF4y2BafgydF4y2Ba(gydF4y2BaxgydF4y2Ba),因此约束条件适用于的所有可能值gydF4y2BawgydF4y2Ba我gydF4y2Ba∈gydF4y2BaℜgydF4y2Ba1gydF4y2Ba(或gydF4y2BawgydF4y2Ba我gydF4y2Ba∈gydF4y2BaℜgydF4y2Ba2gydF4y2Ba).因为不可能计算所有可能的值gydF4y2BaKgydF4y2Ba我gydF4y2Ba(gydF4y2Bax, wgydF4y2Ba我gydF4y2Ba)gydF4y2Ba,必须选择一个地区gydF4y2BawgydF4y2Ba我gydF4y2Ba计算一个适当的抽样值集。gydF4y2Ba
请注意gydF4y2Ba
通过额外的参数gydF4y2Ba说明如何在必要时向目标函数和非线性约束函数传递额外参数。gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon)gydF4y2Ba
起价gydF4y2Bax0gydF4y2Ba
求函数的最小值gydF4y2Ba乐趣gydF4y2Ba
受到gydF4y2BanthetagydF4y2Ba
半无限约束定义gydF4y2BaseminfcongydF4y2Ba
.gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon, A, b)gydF4y2Ba
也试图满足线性不等式gydF4y2Ba* x≤bgydF4y2Ba
.gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon, A, b, Aeq, beq)gydF4y2Ba
最小值服从线性等式gydF4y2BaAeq * x =说真的gydF4y2Ba
也集gydF4y2Ba一个= []gydF4y2Ba
和gydF4y2Bab = []gydF4y2Ba
如果没有不等式。gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon, A, b, Aeq,说真的,磅,乌兰巴托)gydF4y2Ba
中的设计变量定义一组上下限gydF4y2BaxgydF4y2Ba
,所以解总是在这个范围内gydF4y2Ba磅gydF4y2Ba
≤gydF4y2BaxgydF4y2Ba
≤gydF4y2Ba乌兰巴托gydF4y2Ba
.gydF4y2Ba
请注意gydF4y2Ba
看到gydF4y2Ba迭代会违反约束gydF4y2Ba.gydF4y2Ba
x = fseminf(有趣,x0, ntheta seminfcon, A, b, Aeq,说真的,磅,乌兰巴托,选项)gydF4y2Ba
中指定的优化选项最小化gydF4y2Ba选项gydF4y2Ba
.使用gydF4y2BaoptimoptionsgydF4y2Ba
设置这些选项。gydF4y2Ba
x = fseminf(问题)gydF4y2Ba
求最小值gydF4y2Ba问题gydF4y2Ba
,在那里gydF4y2Ba问题gydF4y2Ba
结构描述在gydF4y2Ba输入参数gydF4y2Ba.gydF4y2Ba
[x, fval] = fseminf(…)gydF4y2Ba
返回目标函数的值gydF4y2Ba乐趣gydF4y2Ba
在解决方案gydF4y2BaxgydF4y2Ba
.gydF4y2Ba
[x, fval exitflag] = fseminf(…)gydF4y2Ba
返回一个值gydF4y2BaexitflaggydF4y2Ba
描述退出条件。gydF4y2Ba
[x, fval exitflag、输出]= fseminf(…)gydF4y2Ba
返回一个结构gydF4y2Ba输出gydF4y2Ba
包含关于优化的信息。gydF4y2Ba
[x,fval,出口,输出,lambda] = fseminf(...)gydF4y2Ba
返回一个结构gydF4y2Balambda.gydF4y2Ba
其字段在解决方案中包含Lagrange乘法器gydF4y2BaxgydF4y2Ba
.gydF4y2Ba
请注意gydF4y2Ba
如果问题的指定输入边界不一致,则输出gydF4y2BaxgydF4y2Ba
是gydF4y2Bax0gydF4y2Ba
和输出gydF4y2BafvalgydF4y2Ba
是gydF4y2Ba[]gydF4y2Ba
.gydF4y2Ba
函数输入参数gydF4y2Ba包含传入参数的一般描述gydF4y2BafseminfgydF4y2Ba
.本节提供特定于函数的详细信息gydF4y2Ba乐趣gydF4y2Ba
,gydF4y2BanthetagydF4y2Ba
,gydF4y2Ba选项gydF4y2Ba
,gydF4y2BaseminfcongydF4y2Ba
, 和gydF4y2Ba问题gydF4y2Ba
:gydF4y2Ba
|
要最小化的函数。gydF4y2Ba x = fseminf (@myfun x0、ntheta seminfcon)gydF4y2Ba 在哪里gydF4y2Ba 函数f = myfun(x)f = ...%compute函数值xgydF4y2Ba
有趣= @ (x) sin (x " * x);gydF4y2Ba 如果是梯度gydF4y2Ba 选择= optimoptions(‘fseminf’,‘SpecifyObjectiveGradient’,真的)gydF4y2Ba 然后是这个功能gydF4y2Ba |
|
nthetagydF4y2Ba |
半无限约束的个数。gydF4y2Ba |
|
选项gydF4y2Ba |
选项gydF4y2Ba提供特定于功能的详细信息gydF4y2Ba |
|
|
计算非线性不等式约束向量的函数,gydF4y2Ba x = fseminf (@myfun x0、ntheta @myinfcon)gydF4y2Ba 在哪里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 the nonlinear equalities at x
载体或矩阵gydF4y2Ba 请注意gydF4y2Ba 因为最优化工具箱™函数只接受类型的输入gydF4y2Ba 通过额外的参数gydF4y2Ba解释如何参数化gydF4y2Ba |
|
问题gydF4y2Ba |
|
目标函数gydF4y2Ba |
|
初始点gydF4y2BaxgydF4y2Ba |
|
nthetagydF4y2Ba |
半无限约束的个数gydF4y2Ba | |
seminfcongydF4y2Ba |
半无限约束函数gydF4y2Ba | |
|
线性不等式约束的矩阵gydF4y2Ba | |
|
线性不等式约束的矢量gydF4y2Ba | |
|
线性等式约束的矩阵gydF4y2Ba | |
|
线性等式约束的向量gydF4y2Ba | |
磅gydF4y2Ba |
下界向量gydF4y2Ba | |
乌兰巴托gydF4y2Ba |
上界向量gydF4y2Ba | |
|
'fseminf'gydF4y2Ba |
|
|
选择创建gydF4y2BaoptimoptionsgydF4y2Ba |
函数输入参数gydF4y2Ba由返回的参数的一般描述gydF4y2BafseminfgydF4y2Ba
.本节提供特定于函数的详细信息gydF4y2BaexitflaggydF4y2Ba
,gydF4y2Balambda.gydF4y2Ba
, 和gydF4y2Ba输出gydF4y2Ba
:gydF4y2Ba
|
整数,标识算法终止的原因。的值如下所示gydF4y2Ba |
|
|
函数收敛到一个解gydF4y2Ba |
|
|
搜索方向的大小小于指定的公差,约束违背小于gydF4y2Ba |
|
|
方向导数的大小小于规定的公差,约束违背小于gydF4y2Ba |
|
|
超过迭代次数gydF4y2Ba |
|
|
算法由输出函数终止。gydF4y2Ba |
|
|
没有发现可行的点。gydF4y2Ba |
|
|
在解处包含拉格朗日乘子的结构gydF4y2Ba |
|
降低gydF4y2Ba |
下限gydF4y2Ba |
|
上gydF4y2Ba |
上限gydF4y2Ba |
|
ineqlingydF4y2Ba |
线性不等式gydF4y2Ba |
|
eqlingydF4y2Ba |
线性平等gydF4y2Ba |
|
ineqnonlingydF4y2Ba |
非线性不等式gydF4y2Ba |
|
eqnonlingydF4y2Ba |
非线性等式gydF4y2Ba |
|
|
结构,包含关于优化的信息。结构的域是gydF4y2Ba |
|
迭代gydF4y2Ba |
迭代次数gydF4y2Ba |
|
funcCountgydF4y2Ba |
函数计算次数gydF4y2Ba |
|
lssteplenthtgydF4y2Ba |
直线搜索步骤相对于搜索方向的大小gydF4y2Ba |
|
一步的大小gydF4y2Ba |
最终流离失所gydF4y2Ba |
|
算法gydF4y2Ba |
优化算法使用gydF4y2Ba |
|
CONSTRVIOMATION.gydF4y2Ba |
约束函数的最大值gydF4y2Ba |
|
firstorderoptgydF4y2Ba |
一阶最优性的度量gydF4y2Ba |
|
消息gydF4y2Ba |
退出消息gydF4y2Ba |
使用的优化选项gydF4y2BafseminfgydF4y2Ba
.使用gydF4y2BaoptimoptionsgydF4y2Ba
设置或改变gydF4y2Ba选项gydF4y2Ba
.看到gydF4y2Ba优化选项参考gydF4y2Ba的详细信息。gydF4y2Ba
控件中缺少一些选项gydF4y2BaoptimoptionsgydF4y2Ba
显示。这些选项在下表中以斜体显示。有关详细信息,请参见gydF4y2Ba视图选项gydF4y2Ba.gydF4y2Ba
|
将用户提供的衍生物(客观或约束的梯度)进行有限差分衍生物。选择是gydF4y2Ba 为gydF4y2Ba |
约束特许gydF4y2Ba |
约束违背的终止容限,一个正标量。默认值是gydF4y2Ba 为gydF4y2Ba |
诊断gydF4y2Ba | 显示有关要最小化或解决的函数的诊断信息。选择是gydF4y2Ba |
DiffMaxChangegydF4y2Ba | 有限差分梯度(正标量)变量的最大变化量。默认值是gydF4y2Ba |
DiffMinChangegydF4y2Ba | 有限差分梯度(正标量)变量变化的最小值。默认值是gydF4y2Ba |
显示gydF4y2Ba |
显示水平(见gydF4y2Ba迭代显示gydF4y2Ba):gydF4y2Ba
|
finitedifferencestepsize.gydF4y2Ba |
有限差分的标量或向量步长因子。当您设置gydF4y2Ba
符号“(x) =符号(x)gydF4y2Ba 除了gydF4y2Ba标志'(0)= 1gydF4y2Ba .中心有限差分是gydF4y2Ba
finitedifferencestepsize.gydF4y2Ba 扩展到向量。默认值是gydF4y2Basqrt (eps)gydF4y2Ba 对于正向有限差分,和gydF4y2Baeps ^ (1/3)gydF4y2Ba 对于中心有限差分。gydF4y2Ba为gydF4y2Ba |
FiniteDifferenceTypegydF4y2Ba |
用于估计梯度的有限差分是gydF4y2Ba 当估计两种类型的有限差异时,算法小心遵循界限。因此,例如,它可以追溯,而不是向前的差异,以避免在外部界限的点处评估。gydF4y2Ba 为gydF4y2Ba |
FunctionTolerancegydF4y2Ba |
函数值的终止容限,一个正标量。默认值是gydF4y2Ba 为gydF4y2Ba |
FunValCheckgydF4y2Ba | 检查目标函数和约束值是否有效。gydF4y2Ba |
MaxFunctionEvaluationsgydF4y2Ba |
允许的函数求值的最大数目,一个正整数。默认值是gydF4y2Ba 为gydF4y2Ba |
MaxIterationsgydF4y2Ba |
允许的最大迭代次数,一个正整数。默认值是gydF4y2Ba 为gydF4y2Ba |
MaxSQPItergydF4y2Ba | 允许的最大SQP迭代次数,一个正整数。默认值是gydF4y2Ba |
OptimalityTolerancegydF4y2Ba |
一阶最优性的终止容限(正标量)。默认值是gydF4y2Ba 为gydF4y2Ba |
OutputFcngydF4y2Ba |
指定优化函数在每次迭代时调用的一个或多个用户定义函数。传递一个函数句柄或函数句柄的单元格数组。默认为none (gydF4y2Ba |
PlotFcngydF4y2Ba |
绘制算法执行时的各种进度度量;从预定义的情节中选择或编写您自己的。传递名称、函数句柄或由名称或函数句柄组成的单元格数组。对于定制的绘图函数,传递函数句柄。默认为none (gydF4y2Ba
自定义绘图功能使用与输出功能相同的语法。看到gydF4y2Ba优化工具箱™的输出功能gydF4y2Ba和gydF4y2Ba输出函数和绘图函数语法gydF4y2Ba.gydF4y2Ba 为gydF4y2Ba |
RelLineSrchBndgydF4y2Ba | 直线搜索步长上的相对界(一个实非负标量值),使总位移在gydF4y2Ba |
RelLineSrchBndDurationgydF4y2Ba | 中指定的边界所对应的迭代次数gydF4y2Ba |
SpecifyObjectiveGradientgydF4y2Ba |
由用户定义的目标函数的梯度。参见前面的描述gydF4y2Ba 为gydF4y2Ba |
StepTolerancegydF4y2Ba |
终止上公差gydF4y2Ba 为gydF4y2Ba |
TolConSQPgydF4y2Ba | 内迭代SQP约束违背的终止容忍,一个正标量。默认值是gydF4y2Ba |
典型的gydF4y2Ba |
典型的gydF4y2Ba |
优化程序gydF4y2BafseminfgydF4y2Ba
可能会改变建议的采样间隔,gydF4y2Ba年代gydF4y2Ba
,设置gydF4y2BaseminfcongydF4y2Ba
,因为对于效率或鲁棒性而言,建议间隔以外的值可能更合适。还有有限区域gydF4y2BawgydF4y2Ba我gydF4y2Ba,而gydF4y2BaKgydF4y2Ba我gydF4y2Ba(gydF4y2BaxgydF4y2Ba,gydF4y2BawgydF4y2Ba我gydF4y2Ba)gydF4y2Ba,在优化过程中允许变化,前提是它不会导致局部最小值的数量发生显著变化gydF4y2BaKgydF4y2Ba我gydF4y2Ba(gydF4y2BaxgydF4y2Ba,gydF4y2BawgydF4y2Ba我gydF4y2Ba)gydF4y2Ba.gydF4y2Ba
要最小化的函数、约束条件和半无限约束条件,必须是连续的函数gydF4y2BaxgydF4y2Ba
和gydF4y2BawgydF4y2Ba
.gydF4y2BafseminfgydF4y2Ba
可能只给出局部解决方案。金宝搏官方网站gydF4y2Ba
当问题不可行时,gydF4y2BafseminfgydF4y2Ba
尝试最小化最大约束值。gydF4y2Ba
fseminfgydF4y2Ba
使用立方和二次插值技术来估计半无限约束中的峰值。峰值值用于形成提供给SQP方法的一组约束,如gydF4y2BafmincongydF4y2Ba
函数。当约束的数量发生变化时,拉格朗日乘子被重新分配到新的约束集。gydF4y2Ba
推荐的采样间隔计算使用插值的峰值与数据集中出现的峰值之间的差值来估计函数是否需要更多或更少的点。该函数还通过外推曲线并将其与曲线中的其他点进行比较来评估插值的有效性。当峰值接近约束边界,即为零时,建议的采样间隔减小。gydF4y2Ba
有关所使用的算法的更多详细信息以及所显示的过程类型gydF4y2Ba程序gydF4y2Ba
朝前的时候gydF4y2Ba显示gydF4y2Ba
选项设置为gydF4y2Ba“通路”gydF4y2Ba
与gydF4y2BaoptimoptionsgydF4y2Ba
,看到也gydF4y2BaSQP实现gydF4y2Ba.有关的详细资料gydF4y2BafseminfgydF4y2Ba
算法,看到gydF4y2Ba问题的表述和算法gydF4y2Ba.gydF4y2Ba