解决多目标目标实现问题
福格拉坦
解决目标实现问题,一个最小化多目标优化问题的公式。
福格拉坦
查找指定问题的最小值
重量
,目标
,b,说真的是向量,一个和Aeq矩阵,F(x),c(x),量表信(x)是返回向量的函数。F(x),c(x),量表信(x)可以是非线性函数。
x,磅,乌兰巴托可以作为向量或矩阵传递;看到矩阵的参数.
考虑两个目标函数
这个函数显然是最小化的 在 ,得到值2,并使之最小化 在 ,得到值5。
设定目标[3,6]和权重[1,1],从开始解决目标实现问题x0
= 1。
有趣= @ (x) [2 + (- 3) ^ 2; 5 + x ^ 2/4);目标=(3、6);重量= [1];x0 = 1;x=fgoalattain(乐趣、x0、目标、重量)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x = 2.0000
找出…的价值 在解决方案。
有趣的(x)
ans =2×13.0000 - 6.0000
福格拉坦
准确完成目标。
目标函数为
给你,p_1
= [2,3] and p_ .2
=(4 1)。目标为[3,6],权值为[1,1],线性约束为
.
创建目标函数、目标和权重。
p_1 =(2、3);p_2 = (4 1);有趣= @ (x)[2 +规范(x-p_1) ^ 2; 5 +规范(x-p_2) ^ 2/4];目标=(3、6);重量= [1];
创建线性约束矩阵一个
和b
代表A*x<=b
.
一个= [1];b = 4;
设定初始点[1,1],解决目标实现问题。
x0 = [1];x = fgoalattain(有趣,x0,目标,体重,A, b)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×22.0694 - 1.9306
找出…的价值 在解决方案。
有趣的(x)
ans =2×13.1484 6.1484
福格拉坦
没有达到目标。因为权重是相等的,所以解算器会以相同的比例低于每个目标。
目标函数为
给你,p_1
= [2,3] and p_ .2
=(4 1)。目标是[3,6],权重是[1,1],边界是
,
.
创建目标函数、目标和权重。
p_1 =(2、3);p_2 = (4 1);有趣= @ (x)[2 +规范(x-p_1) ^ 2; 5 +规范(x-p_2) ^ 2/4];目标=(3、6);重量= [1];
创建边界。
磅= (0,2);乌兰巴托=(3、5);
将起始点设为[1,4],解决目标实现问题。
x0 = [1,4];一个= [];无线性约束b = [];Aeq = [];说真的= [];x = fgoalattain(有趣,x0,目标,体重,A, b, Aeq,说真的,磅,乌兰巴托)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×22.6667 2.3333
找出…的价值 在解决方案。
有趣的(x)
ans =2×12.8889 - 5.8889
福格拉坦
超过了目标。因为权重是相等的,所以解算器会以相同的数量超额完成每个目标。
目标函数为
给你,p_1
= [2,3] and p_ .2
=(4 1)。目标为[3,6],权值为[1,1],非线性约束为
.
创建目标函数、目标和权重。
p_1 =(2、3);p_2 = (4 1);有趣= @ (x)[2 +规范(x-p_1) ^ 2; 5 +规范(x-p_2) ^ 2/4];目标=(3、6);重量= [1];
非线性约束函数为norm4.m
文件。
类型norm4
函数[c,ceq] = norm4(x) ceq = [];C = norm(x)^2 - 4;
为线性约束和边界创建空输入参数。
一个= [];Aeq = [];b = [];说真的= [];磅= [];乌兰巴托= [];
设初始点为[1,1],解决目标实现问题。
x0 = [1];x = fgoalattain(有趣,x0,目标,体重,A, b, Aeq,说真的,磅,乌兰巴托,@norm4)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×21.1094 - 1.6641
找出…的价值 在解决方案。
有趣的(x)
ans =2×14.5778 - 7.1991
福格拉坦
没有达到目标。尽管权重相等,
距离目标3大约1.58,并且
与目标6相差1.2。非线性约束阻碍了求解x
平等地实现目标。
通过设置选项返回迭代显示来监控目标实现解决方案过程。
选择= optimoptions (“fgoalattain”,“显示”,“通路”);
目标函数为
给你,p_1
= [2,3] and p_ .2
=(4 1)。目标为[3,6],权值为[1,1],线性约束为
.
创建目标函数、目标和权重。
p_1 =(2、3);p_2 = (4 1);有趣= @ (x)[2 +规范(x-p_1) ^ 2; 5 +规范(x-p_2) ^ 2/4];目标=(3、6);重量= [1];
创建线性约束矩阵一个
和b
代表A*x<=b
.
一个= [1];b = 4;
为线性等式约束、边界和非线性约束创建空输入参数。
Aeq = [];说真的= [];磅= [];乌兰巴托= [];nonlcon = [];
设定初始点[1,1],解决目标实现问题。
x0 = [1];x = fgoalattain(有趣,x0,目标,体重,A, b, Aeq,说真的,磅,乌兰巴托,nonlcon,选项)
达到最大线搜索定向Iter F-count因素约束steplength导数过程0 4 0 4 1 9 1 0.883 0.2813 -5.194 2.5 -0.535 1 2 14 e-09 1 3 19 24 0.1484 - 2.868 0.1452 0.883 0.005926 - 1 4 e-06 1 0.883 5 29日0.1484 - 6.839 e-13 1 0.883黑森当地最低可能的修改。约束满足。Fgoalattain停止是因为当前搜索方向的大小小于步长公差值的两倍,并且约束条件满足到约束公差值之内。
x =1×22.0694 - 1.9306
所报告的达到因子的正值表明福格拉坦
没有找到满足目标的解决方案。
目标函数为
给你,p_1
= [2,3] and p_ .2
=(4 1)。目标为[3,6],权值为[1,1],线性约束为
.
创建目标函数、目标和权重。
p_1 =(2、3);p_2 = (4 1);有趣= @ (x)[2 +规范(x-p_1) ^ 2; 5 +规范(x-p_2) ^ 2/4];目标=(3、6);重量= [1];
创建线性约束矩阵一个
和b
代表A*x<=b
.
一个= [1];b = 4;
设定初始点[1,1],解决目标实现问题。请求目标函数的值。
x0 = [1];[x, fval] = fgoalattain(有趣,x0,目标,体重,A, b)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×22.0694 - 1.9306
fval=2×13.1484 6.1484
目标函数值高于目标的意义福格拉坦
不能满足目标。
目标函数为
给你,p_1
= [2,3] and p_ .2
=(4 1)。目标为[3,6],权值为[1,1],线性约束为
.
创建目标函数、目标和权重。
p_1 =(2、3);p_2 = (4 1);有趣= @ (x)[2 +规范(x-p_1) ^ 2; 5 +规范(x-p_2) ^ 2/4];目标=(3、6);重量= [1];
创建线性约束矩阵一个
和b
代表A*x<=b
.
一个= [1];b = 4;
设定初始点[1,1],解决目标实现问题。要求目标函数、达到因子、退出标志、输出结构和拉格朗日乘子的值。
x0 = [1];[x, fval attainfactor, exitflag,输出,λ)= fgoalattain(有趣,x0,目标,重量,A, b)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×22.0694 - 1.9306
fval=2×13.1484 6.1484
attainfactor = 0.1484
exitflag = 4
输出=结构体字段:firstderopt: [] constructor: 6.7482e-13 message: '…'
λ=结构体字段:下:[2x1 double]上:[2x1 double] eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: 0.5394 ineqnonlin: [0x1 double]
的正值获得因子
表示目标未达到;你也可以通过比较看到这一点fval
与目标
.
的lambda.ineqlin
值为非零,表明线性不等式约束了解。
目标函数为
给你,p_1
= [2,3] and p_ .2
=[4,1]。目标为[3,6],初始权重为[1,1]。
创建目标函数、目标和初始权重。
p_1 =(2、3);p_2 = (4 1);有趣= @ (x)[2 +规范(x-p_1) ^ 2; 5 +规范(x-p_2) ^ 2/4];目标=(3、6);重量= [1];
设置线性约束 .
A = [1 1];b = 4;
从这一点着手解决目标实现问题X0 = [1 1]
.
x0=[1];[x,fval]=fgoalattain(乐趣,x0,目标,体重,A,b)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×22.0694 - 1.9306
fval=2×13.1484 6.1484
每个组件的fval
上面是对应的成分吗目标
,表示目标尚未实现。
通过设定目标来增加满足第一个目标的重要性重量(1)
到一个更小的值。
重量(1)=1/10;[x,fval]=fgoalattain(乐趣,x0,目标,重量,A,b)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×22.0115 - 1.9885
fval=2×13.0233 - 6.2328
现在fval(1)
更接近于目标(1)
,而fval(2)
是远离目标(2)
.
改变目标(2)
到7,在当前的解决方案之上。解决方案的变化。
目标(2)= 7;[x, fval] = fgoalattain(有趣,x0,目标,体重,A, b)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×21.9639 - 2.0361
fval=2×12.9305 - 6.3047
这两个组件的fval
是否小于对应的分量目标
.但fval(1)
更接近于目标(1)
比fval(2)
是目标(2)
.当目标无法实现时,较小的权重更有可能使其组成部分近乎满足,但当目标可以实现时,过度成就的程度就会降低。
将权重改为相等。的fval
结果与目标的距离是一样的。
重量(2)= 1/10;[x, fval] = fgoalattain(有趣,x0,目标,体重,A, b)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×21.7613 - 2.2387
fval=2×12.6365 - 6.6365
约束可以保留结果fval
从同样接近目标。例如,设置上限为2x (2)
.
乌兰巴托=[正无穷,2];磅= [];Aeq = [];说真的= [];[x, fval] = fgoalattain(有趣,x0,目标,体重,A, b, Aeq,说真的,磅,乌兰巴托)
可能的局部最小值。满足约束。fgoalattain已停止,因为当前搜索方向的大小小于步长公差值的两倍,并且约束满足在约束公差值范围内。
x =1×22.0000 - 2.0000
fval=2×13.0000 - 6.2500
在这种情况下,fval(1)
完全符合它的目标,但是fval(2)
这比它的目标还小。
有趣的
- - - - - -目标函数目标函数,指定为函数句柄或函数名称。有趣的
是一个接受向量的函数x
返回一个向量F
,目标函数的取值为x
。您可以指定该函数有趣的
函数文件的句柄:
x = fgoalattain (@myfun x0,目标,重量)
在哪里myfun
MATLAB是一种®等功能
函数F = myfun(x)…%计算函数在x处的值。
有趣的
也可以是匿名函数的函数句柄:
x = fgoalattain (@ (x) sin (x) * x), x0,目标,重量);
的用户定义值x
和F
是数组,福格拉坦
使用线性索引将它们转换为向量(参见数组索引).
为了使目标函数尽可能接近一个目标值(即既不大于也不小于),请使用optimoptions
设置EqualityGoalCount
选择的目标数量需要在目标值的附近。这样的目标必须被分割成向量的第一个元素F
返回的有趣的
.
假设目标函数的梯度也可以计算出来和的SpecifyObjectiveGradient
选择是真正的
,按下列规定:
选择= optimoptions(‘fgoalattain’,‘SpecifyObjectiveGradient’,真的)
在本例中,函数有趣的
必须在第二个输出参数中返回渐变值G
(a)在x
.梯度由偏导数组成dF / dx每一个F
当时x
.如果F
是长度的向量米
和x
长度n
,在哪里n
为长度x0
,然后是梯度G
的F (x)
是一个n
-借-米
矩阵G (i, j)
是的偏导数F (j)
关于x(我)
(即j
th列G
梯度是j
目标函数F (j)
).
注
设置SpecifyObjectiveGradient
来真正的
是只有当问题没有非线性约束时才有效,还是问题有非线性约束时有效SpecifyConstraintGradient
设置为真正的
.在内部,目标被折叠到约束中,因此求解器需要同时提供梯度(目标和约束),以避免估计梯度。
数据类型:烧焦
|一串
|function_handle
x0
- - - - - -起始点目标
- - - - - -达到的目标目标要达到,指定为真正的矢量。福格拉坦
试图找到最小的乘数γ这使得这些不平等适用于所有的值我在解决方案x:
假设重量
为正向量:
如果求解器找到一个点x
同时实现所有目标,然后是实现因素γ是消极的,目标是超额完成的。
如果解算器找不到一个点x
同时实现所有目标,然后是实现因素γ是积极的,但目标没有实现。
例子:(1 3 6)
数据类型:双重的
重量
- - - - - -相对程度的因素相对达到因子,指定为实向量。福格拉坦
试图找到最小的乘数γ这使得这些不平等适用于所有的值我在解决方案x:
当目标
是所有非零,以确保未完成或超额完成积极目标的百分比相同,设定重量
来abs(目标)
.(活动目标是阻碍进一步改进解决方案目标的一组目标。)
注
的组件重量
向量归零导致相应的目标约束被视为硬约束而不是目标约束。设置硬约束的另一种方法是使用输入参数非LCON
.
当重量
是正的,福格拉坦
试图使目标函数小于目标值。使目标函数大于目标值,设置重量
是消极的而不是积极的。要查看权重对解决方案的某些影响,请参见权重、目标和约束对目标实现的影响.
要使目标函数尽可能接近目标值,请使用EqualityGoalCount
选项,并将目标指定为返回的向量的第一个元素有趣的
(见有趣的
和选择权
).例如,请参见多目标目标实现优化.
例子:abs(目标)
数据类型:双重的
一个
- - - - - -线性不等式约束线性不等式约束,指定为实矩阵。一个
是一个米
-借-N
矩阵,在哪里米
是不平等的数量,和N
是变量的数量(元素的数量x0
).对于大问题,请通过一个
作为一个稀疏矩阵。
一个
编码米
线性不等式
A*x<=b
,
在哪里x
列向量是N
变量x (:)
,b
是一个具有米
元素。
例如,指定
x1+ 2x2≤10
3.x1+ 4x2≤20
5x1+ 6x2≤30日
输入以下约束条件:
= [1, 2, 3, 4, 5, 6);b =(10、20、30);
例子:要指定x分量的和为1或更小,请使用一个= 1 (1,N)
和b = 1
.
数据类型:双重的
b
- - - - - -线性不等式约束线性不等式约束,指定为实向量。b
是一个米
元素向量相关的一个
矩阵。如果你通过b
作为行向量,求解器内部转换b
到列向量b (:)
.对于大问题,不予考虑b
作为一个稀疏向量。
b
编码米
线性不等式
A*x<=b
,
在哪里x
列向量是N
变量x (:)
,一个
矩阵的大小是多少米
-借-N
.
例如,考虑一下这些不平等:
x1+ 2x2≤10
3.x1+ 4x2≤20
5x1+ 6x2≤30。
通过输入以下约束来指定不等式。
= [1, 2, 3, 4, 5, 6);b =(10、20、30);
例子:要指定x分量的和为1或更小,请使用一个= 1 (1,N)
和b = 1
.
数据类型:双重的
Aeq
- - - - - -线性等式约束线性等式约束,指定为实矩阵。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];说真的=(10、20);
例子:要指定x分量的和为1,使用Aeq = 1 (1, N)
和说真的= 1
.
数据类型:双重的
说真的
- - - - - -线性等式约束线性等式约束,指定为实向量。说真的
是一个我
元素向量相关的Aeq
矩阵。如果你通过说真的
作为行向量,求解器内部转换说真的
到列向量贝基(:)
.对于大问题,不予考虑说真的
作为一个稀疏向量。
说真的
编码我
线性等式
Aeq * x =说真的
,
在哪里x
列向量是N
变量x (:)
,Aeq
矩阵的大小是多少我
-借-N
.
例如,考虑以下等式:
x1+ 2x2+ 3x3.= 10
2x1+ 4x2+x3.= 20.
通过输入以下约束来指定相等项。
Aeq =[1、2、3、2、4、1];说真的=(10、20);
例子:要指定x分量的和为1,使用Aeq = 1 (1, N)
和说真的= 1
.
数据类型:双重的
磅
- - - - - -下界下界,指定为实向量或实数组。如果元素的数量x0
等于中的元素数磅
,然后磅
指定
x(我)> =磅(我)
总的来说我
.
如果努美尔(磅)<努美尔(x0)
,然后磅
指定
x(我)> =磅(我)
为1 <= I <= numel(lb)
.
如果元素较少磅
比在x0
,解算器发出警告。
例子:要指定所有x分量都是正数,请使用lb=零(尺寸(x0))
.
数据类型:双重的
乌兰巴托
- - - - - -上界上界,指定为实向量或实数组。如果元素的数量x0
等于中的元素数乌兰巴托
,然后乌兰巴托
指定
x (i) < =乌兰巴托(我)
总的来说我
.
如果元素个数(乌兰巴托)<元素个数(x0)
,然后乌兰巴托
指定
x (i) < =乌兰巴托(我)
为1<=i<=numel(ub)
.
如果元素较少乌兰巴托
比在x0
,解算器发出警告。
例子:要指定所有x分量都小于1,使用乌兰巴托= 1(大小(x0))
.
数据类型:双重的
非LCON
- - - - - -非线性约束非线性约束,指定为函数句柄或函数名。非LCON
是接受向量还是数组的函数x
并返回两个数组,c (x)
和量表(x)
.
c (x)
非线性不等式约束数组在x
.福格拉坦
试图满足
c(x)<=0
的所有条目c
.
量表(x)
数组的非线性等式约束在x
.福格拉坦
试图满足
ceq(x)=0
的所有条目量表信
.
例如,
x=fgoalattain(@myfun,x0,…@mycon)
在哪里mycon
是一个MATLAB函数,如:
函数[c,ceq] = mycon(x)%计算非线性不等式在x. ceq =…计算x处的非线性等式。
假设约束的梯度也可以计算出来和的SpecifyConstraintGradient
选择是真正的
,按下列规定:
选择= optimoptions(‘fgoalattain’,‘SpecifyConstraintGradient’,真的)
在本例中,函数非LCON
必须在第三和第四个输出参数中返回,GC
,梯度c (x)
,GCeq
,梯度量表(x)
.看非线性约束有关如何将梯度“条件化”,以便在不接受已提供梯度的求解器中使用。
如果非LCON
返回一个向量c
的米
组件和x
长度n
,在哪里n
为长度x0
,然后是梯度GC
的c (x)
是一个n
-借-米
矩阵,在哪里GC (i, j)
是的偏导数c(j)
关于x(我)
(即j
th列GC
梯度是j
th不等式约束c(j)
).同样地,如果量表信
有p
组件,梯度GCeq
的量表(x)
是一个n
-借-p
矩阵,在哪里GCeq (i, j)
是的偏导数行政长官(j)
关于x(我)
(即j
th列GCeq
梯度是j
th等式约束行政长官(j)
).
注
设置SpecifyConstraintGradient
来真正的
只有在下列情况下才有效SpecifyObjectiveGradient
被设置为真正的
.在内部,目标被折叠到约束中,因此求解器需要同时提供梯度(目标和约束),以避免估计梯度。
注
因为最优化工具箱™函数只接受类型的输入双重的
,用户提供的目标和非线性约束函数必须返回类型的输出双重的
.
看到传递额外的参数有关如何参数化非线性约束函数的说明非LCON
,如果必要的。
数据类型:烧焦
|function_handle
|一串
选择权
- - - - - -优化选项optimoptions
|结构,如optimset
返回的输出,指定为优化选项optimoptions
或者一个结构optimset
返回。
控件中缺少一些选项optimoptions
显示。这些选项在下表中以斜体显示。有关详细信息,请参见视图选项.
有关具有不同名称的选项的详细信息optimset
,请参阅当前和旧选项名称.
选项 | 描述 |
---|---|
ConstraintTolerance |
约束违背的终止容限,一个正标量。默认值是 为 |
诊断 | 显示关于要最小化或解决的功能的诊断信息。的选择是 |
DiffMaxChange | 有限差分梯度(正标量)变量的最大变化。默认值为 |
DiffMinChange | 有限差分梯度(正标量)变量变化的最小值。默认值是 |
|
显示水平(见迭代显示):
|
EqualityGoalCount |
目标所需的目标数量 为 |
FiniteDifferenceStepSize |
有限差分的标量或向量步长因子。当您设置
符号“(x) =符号(x) 除了标志' (0)= 1 . 中心有限差分是
FiniteDifferenceStepSize 展开成一个向量。默认值是sqrt (eps) 对于正向有限差分,和eps ^ (1/3) 对于中心有限差分。为 |
FiniteDifferenceType |
用于估计梯度的有限差分类型 该算法在估计两种类型的有限差分时小心地遵守边界。例如,它可能会采取后退一步,而不是向前一步,以避免在边界外的一个点上计算。 为 |
FunctionTolerance |
函数值的终止公差(一个正标量)。默认值是 为 |
FunValCheck | 检查表示目标函数和约束值是否有效。 |
MaxFunctionEvaluations |
允许的最大函数求值数(一个正整数)。默认值是 为 |
MaxIterations |
允许的最大迭代次数(正整数)。默认值是 为 |
MaxSQPIter | 允许的最大SQP迭代次数(正整数)。默认值是 |
MeritFunction | 如果该选项设置为 |
OptimalityTolerance |
一阶最优性的终止容限(正标量)。默认值是 为 |
OutputFcn |
优化函数在每次迭代时调用的一个或多个用户定义函数。传递一个函数句柄或函数句柄的单元格数组。默认为none ( |
PlotFcn |
显示算法执行过程中各种进度的图。从预定义的情节中选择或编写您自己的。传递名称、函数句柄或由名称或函数句柄组成的单元数组。对于定制的绘图函数,传递函数句柄。默认为none (
自定义绘图函数使用与输出函数相同的语法。看到优化工具箱的输出函数和输出函数和绘图函数语法. 为 |
RelLineSrchBnd | 直线搜索步长上的相对界(一个实非负标量值),使总位移在 |
RelLineSrchBndDuration | 中指定的边界所对应的迭代次数 |
SpecifyConstraintGradient |
由用户定义的非线性约束函数的梯度。当此选项设置为时 为 |
SpecifyObjectiveGradient |
由用户定义的目标函数的梯度。参考的描述 为 |
阶跃公差 |
终止上公差 为 |
TolConSQP | 内部迭代SQP约束冲突的终止容差(正标量)。默认值为 |
TypicalX |
典型的 |
UseParallel |
表示并行计算。什么时候? |
例子:optimoptions(“fgoalattain”、“PlotFcn”、“optimplotfval”)
问题
- - - - - -问题的结构问题结构,指定为具有此表中的字段的结构。
字段名 | 入口 |
---|---|
|
目标函数有趣的 |
|
初始点x |
|
目标的实现 |
|
目标的相对重要因素 |
|
线性不等式约束的矩阵 |
|
线性不等式约束的向量 |
|
线性等式约束的矩阵 |
|
线性等式约束的向量 |
磅 |
下界向量 |
乌兰巴托 |
上界向量 |
|
非线性约束函数 |
|
“fgoalattain” |
|
使用创建的选项optimoptions |
你必须至少提供客观的
,x0
,目标
,重量
,解算器
,选择权
字段问题
结构。
数据类型:结构体
fval
-目标函数在解处的值目标函数在解时的值,作为实数组返回。一般来说,fval
=有趣的(x)
.
获得因子
——成就因素成就因子,返回为实数。获得因子
包含的值γ在解决方案中。如果获得因子
是消极的,目标已经超额实现;如果获得因子
是积极的,目标没有完全实现。看到目标
.
exitflag
- - -原因福格拉坦
停止原因福格拉坦
已停止,返回为整数。
|
函数收敛到一个解 |
|
搜索方向的大小小于指定的公差,约束冲突小于 |
|
方向导数的大小小于指定的公差,且约束冲突小于 |
|
超过迭代次数 |
|
被输出函数或绘图函数停止 |
|
没有找到可行点。 |
输出
-优化流程信息关于优化过程的信息,作为表中字段的结构返回。
迭代 |
迭代次数 |
功能计数 |
功能评估的数量 |
lssteplength |
相对于搜索方向的行搜索步长的大小 |
constrviolation |
约束函数的最大值 |
stepsize |
最后一次位移的长度 |
算法 |
优化算法 |
第一顺序选择 |
一阶最优性的度量 |
消息 |
退出消息 |
有关福格拉坦
算法和目标实现的讨论概念,见算法.
的优化活动编辑器任务为福格拉坦
.
要并行运行,请设置“UseParallel”
选择真正的
.
选择= optimoptions ('
solvername
”、“UseParallel’,真的)
有关详细信息,请参阅在优化工具箱中使用并行计算.
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。