fgoalattain
解决多目标的目标实现的问题
语法
描述
fgoalattain
制定解决目标达到情况问题,最小化一个多目标优化问题。
fgoalattain
找到指定的最小的问题
重量
,目标
,b,说真的是向量,一个和Aeq矩阵,F(x),c(x),量表信(x),是函数返回向量。F(x),c(x),量表信(x)可以是非线性函数。
x,磅,乌兰巴托可以通过向量或矩阵;看到矩阵的参数。
(
此外回报实现因素的解决方案x
,fval
,attainfactor
,exitflag
,输出
)= fgoalattain (___)x
,一个值exitflag
描述的退出条件fgoalattain
,一个结构输出
的信息优化过程。
例子
基本目标达到情况问题
考虑以供应点函数
显然这个函数最小化 在 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
fgoalattain
完全达到了目标。
目标达到情况与线性约束
目标函数是
在这里,p_1
=[2、3]和p_2
= (4 1)。我们的目标是(3、6),重量是[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 < =
。
一个= [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
fgoalattain
不符合目标。因为重量是相等的,解算器underachieves相同数量的每个目标。
成就目标与范围
目标函数是
在这里,p_1
=[2、3]和p_2
= (4 1)。目标是(3、6),重量是[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
fgoalattain
满足以上的目标。因为重量是相等的,解算器overachieves相同数量的每个目标。
目标达到情况与非线性约束
目标函数是
在这里,p_1
=[2、3]和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] = norm4测查(x) = [];c =规范(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
fgoalattain
不符合目标。尽管平等权重,
从3的目标是1.58,
从6的目标是1.2。非线性约束阻碍了解决方案x
从实现同样的目标。
目标达到情况使用默认的选项
监控目标达到情况解决方案过程设置选项返回迭代显示。
选择= optimoptions (“fgoalattain”,“显示”,“通路”);
目标函数是
在这里,p_1
=[2、3]和p_2
= (4 1)。我们的目标是(3、6),重量是[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 < =
。
一个= [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 -1.712 2.5 -0.535 1 2 14 e-08 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.666 e-13 1 0.883黑森当地最低可能的修改。约束满足。fgoalattain停止,因为当前的搜索方向的大小小于两倍的价值内一步满足尺寸公差和约束约束宽容的价值。
x =1×22.0694 - 1.9306
的积极价值报告表明,实现因素fgoalattain
没有找到一个解决方案满足目标。
在目标达到情况获得目标函数值
目标函数是
在这里,p_1
=[2、3]和p_2
= (4 1)。我们的目标是(3、6),重量是[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 < =
。
一个= [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
目标函数值高于目标,意义fgoalattain
不满足我们的目标。
获得所有输出目标达到情况
目标函数是
在这里,p_1
=[2、3]和p_2
= (4 1)。我们的目标是(3、6),重量是[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 < =
。
一个= [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
输出=结构体字段:迭代:6 funcCount: 29 lssteplength: 1 stepsize: 4.0824 e-13算法:“激活集”firstorderopt: [] constrviolation: 6.7568 e-13消息:“局部最小值。约束满足....”
λ=结构体字段:低(2 x1双):上:[2 x1双]eqlin: [0 x1双]eqnonlin: [0 x1双]ineqlin: 0.5394 ineqnonlin: [0 x1双]
积极的价值attainfactor
表明目标并没有实现;你也可以看到这通过比较fval
与目标
。
的lambda.ineqlin
值为零,表明线性不等式约束的解决方案。
权重的影响,目标,在实现目标和约束
目标函数是
在这里,p_1
=[2、3]和p_2
= (4 1)。目标是(3、6)和初始体重[1]。
创建目标函数、目标和初始重量。
p_1 = (2、3);p_2 = (4 1);有趣= @ (x)[2 +规范(x-p_1) ^ 2; 5 +规范(x-p_2) ^ 2/4];目标= (3、6);重量= [1];
设置线性约束 。
一个= [1];b = 4;
从重点解决目标实现问题x0 = [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 F (x) =…在x %计算函数值。
有趣的
还可以为一个匿名函数是一个函数处理:
x = fgoalattain (@ (x) sin (x) * x), x0,目标,重量);
fgoalattain
通过x
任何非线性目标函数和约束函数的形状x0
论点。例如,如果x0
是5-by-3数组,那么fgoalattain
通过x
来有趣的
作为一个5-by-3数组。然而,fgoalattain
增加线性约束矩阵一个
或Aeq
与x
转换后x
的列向量x (:)
。
使目标函数尽可能接近目标价值(即既不大于或小于),使用optimoptions
设置EqualityGoalCount
选择目标的数量需要在附近的目标价值。这样的目标必须被划分为向量的第一个元素F
返回的有趣的
。
假设目标函数的梯度也可以计算和的SpecifyObjectiveGradient
选择是真正的
,规定:
选择= optimoptions (“fgoalattain”,“SpecifyObjectiveGradient”,真正的)
在这种情况下,函数有趣的
必须返回,在第二个输出参数,梯度值G
(矩阵)x
。梯度的偏导数dF / dx每一个F
在点x
。如果F
是一个向量的长度米
和x
长度n
,在那里n
的长度是x0
,那么梯度G
的F (x)
是一个n
——- - - - - -米
矩阵G (i, j)
的偏导数是吗F (j)
关于x(我)
(即j
th列G
的梯度是吗j
th目标函数F (j)
)。
请注意
设置SpecifyObjectiveGradient
来真正的
是有效的只有当没有非线性约束问题,或者这个问题有一个非线性约束SpecifyConstraintGradient
设置为真正的
。在内部,目标是并入约束,因此需要解决两个梯度(目标和约束)为了避免提供估算梯度。
数据类型:字符
|字符串
|function_handle
x0
- - - - - -初始点
真正的向量|真正的数组
目标
- - - - - -达到的目标
真正的向量
达到目标,指定为一个真正的向量。fgoalattain
试图找到最小的乘数γ让这些不平等现象持有的所有值我在解决方案x:
假设重量
是一个积极的向量:
如果解算器发现一个点
x
同时达到所有的目标,然后实现因素γ是负的,目标是overachieved。如果解算器找不到点
x
同时达到所有的目标,然后实现因素γ是积极的,目标是自尊。
例子:(1 3 6)
数据类型:双
重量
- - - - - -相对程度的因素
真正的向量
相对程度的因素,指定为一个真正的向量。fgoalattain
试图找到最小的乘数γ让这些不平等现象持有的所有值我在解决方案x:
时的值目标
是所有非零,以确保相同的不良比例或overattainment活跃的目标,集重量
来abs(目标)
。(活动目标是目标的设置壁垒,进一步改善目标的解决方案)。
请注意
设置的一个组成部分重量
矢量为零导致相应的目标约束被视为一个硬约束,而不是一个目标约束。设置一个硬约束的另一种方法是使用输入参数nonlcon
。
当重量
是正的,fgoalattain
试图使目标函数小于目标价值。使目标函数值大于目标,集重量
正面而非负面的。看到一些影响权重的解决方案,明白了权重的影响,目标,在实现目标和约束。
使目标函数尽可能接近目标价值,使用EqualityGoalCount
选择并指定目标返回的向量的第一个元素有趣的
(见有趣的
和选项
)。例如,看到的多目标目标达到情况优化。
例子:abs(目标)
数据类型:双
一个
- - - - - -线性不等式约束
真正的矩阵
线性不等式约束,指定为一个真正的矩阵。一个
是一个米
——- - - - - -N
矩阵,米
不平等的数量,N
是变量的数量(数量的元素x0
)。对于大型问题,通过一个
作为一个稀疏矩阵。
一个
编码米
线性不等式
A * x < =
,
在哪里x
的列向量N
变量x (:)
,b
是一个列向量米
元素。
例如,考虑这些不平等:
x1+ 2x2≤10
3x1+ 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 < =
,
在哪里x
的列向量N
变量x (:)
,一个
是一个矩阵的大小米
——- - - - - -N
。
例如,考虑这些不平等:
x1+ 2x2≤10
3x1+ 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我< < = =元素个数(磅)
。
如果磅
有更少的元素比x0
,解决者发出警告。
例子:指定,所有的x分量都是积极的,使用磅= 0(大小(x0))
。
数据类型:双
乌兰巴托
- - - - - -上界
真正的向量|真正的数组
上界,指定为一个真正的向量或真正的数组。如果元素的数量x0
等于元素的数量乌兰巴托
,然后乌兰巴托
指定
x (i) < =乌兰巴托(我)
对所有我
。
如果元素个数(乌兰巴托)<元素个数(x0)
,然后乌兰巴托
指定
x (i) < =乌兰巴托(我)
为1我< < = =元素个数(乌兰巴托)
。
如果乌兰巴托
有更少的元素比x0
,解决者发出警告。
例子:指定所有的x分量都小于1,使用乌兰巴托= 1(大小(x0))
。
数据类型:双
nonlcon
- - - - - -非线性约束
函数处理|函数名
非线性约束条件,指定为一个函数处理或函数名。nonlcon
是一个函数,它接受一个向量或数组x
并返回两个数组,c (x)
和量表(x)
。
c (x)
非线性不等式约束的数组x
。fgoalattain
试图满足c (x) < = 0
所有条目的c
。量表(x)
是非线性等式约束的数组x
。fgoalattain
试图满足量表(x) = 0
所有条目的量表信
。
例如,
x = fgoalattain (@mycon @myfun, x0,…)
在哪里mycon
是一个MATLAB函数如以下:
功能测查[c] = mycon c (x) =…%计算非线性不等式测查x =…在x %计算非线性等式。
假设的梯度约束也可以计算和的SpecifyConstraintGradient
选择是真正的
,规定:
选择= optimoptions (‘fgoalattain’,‘SpecifyConstraintGradient’,真的)
在这种情况下,函数nonlcon
还必须返回,在第三和第四输出参数,GC
的梯度,c (x)
,GCeq
的梯度,量表(x)
。看到非线性约束解释如何“conditionalize”梯度用于解决者,不接受提供的梯度。
如果nonlcon
返回一个向量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
被设置为真正的
。在内部,目标是并入约束,因此需要解决两个梯度(目标和约束)为了避免提供估算梯度。
请注意
因为优化工具箱™函数只接受输入的类型双
,用户提供客观和非线性约束函数必须返回输出的类型双
。
看到传递额外的参数的解释如何参数化非线性约束函数nonlcon
,如果必要的。
数据类型:字符
|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 |
一个或多个用户定义的函数,每个迭代的优化函数调用。通过一个函数处理或处理单元阵列的功能。默认是没有( |
PlotFcn |
情节在算法执行时出现进步的各种措施。从预定义的情节或编写自己的选择。通过一个名称,名称或函数的函数处理或单元阵列处理。自定义绘制函数,通过函数处理。默认是没有(
自定义函数使用相同的语法作为输出函数。看到输出函数优化工具箱和输出函数和情节函数的语法。 为 |
RelLineSrchBnd | 相对绑定(一个真正的负的标量值)的搜索步长,这样的总位移 |
RelLineSrchBndDuration | 绑定中指定的迭代次数 |
SpecifyConstraintGradient |
梯度的非线性约束函数定义的用户。此选项设置的时候出现 为 |
SpecifyObjectiveGradient |
由用户定义的目标函数的梯度。参考的描述 为 |
StepTolerance |
终止上公差 为 |
TolConSQP | 终止公差内迭代SQP约束违反(积极的标量)。默认值是 |
TypicalX |
典型的 |
UseParallel |
并行计算。当 |
例子:optimoptions (“fgoalattain”、“PlotFcn”、“optimplotfval”)
问题
- - - - - -问题的结构
结构
问题的结构,指定为与此表的字段结构。
字段名 | 条目 |
---|---|
|
目标函数有趣的 |
|
初始点x |
|
目标的实现 |
|
目标的相对重要性因素 |
|
矩阵线性不等式约束 |
|
向量的线性不等式约束 |
|
矩阵线性等式约束 |
|
向量的线性等式约束 |
磅 |
向量的下界 |
乌兰巴托 |
向量的上界 |
|
非线性约束函数 |
|
“fgoalattain” |
|
选择创建optimoptions |
你必须提供至少客观的
,x0
,目标
,重量
,解算器
,选项
字段问题
结构。
数据类型:结构体
输出参数
fval
——目标函数值的解决方案
真正的数组
目标函数值的解决方案,作为真正的数组返回。一般来说,fval
=有趣的(x)
。
attainfactor
——成就因素
实数
程度的因素,作为一个实数返回。attainfactor
包含的价值γ在解决方案。如果attainfactor
是负的,目标已经overachieved;如果attainfactor
是正的,目标是自尊。看到目标
。
exitflag
- - -原因fgoalattain
停止
整数
原因fgoalattain
停止,返回一个整数。
|
功能融合解决方案 |
|
搜索方向的大小小于指定的公差,和约束违反还不到 |
|
方向导数的大小小于指定的公差,和约束违反还不到 |
|
迭代次数超过 |
|
停在一个输出函数或函数 |
|
没有找到可行点。 |
输出
——优化过程的信息
结构
优化过程的信息,作为结构返回这个表的字段。
迭代 |
采取的迭代次数 |
funcCount |
数量的功能评估 |
lssteplength |
线的大小相对于搜索方向搜索的一步 |
constrviolation |
最大的约束功能 |
stepsize |
最后一个位移的长度 |
算法 |
优化算法 |
firstorderopt |
的一阶最优性 |
消息 |
退出消息 |
算法
的描述fgoalattain
算法和目标实现概念的讨论,请参阅算法。
选择功能
应用程序
的优化住编辑任务提供了一个可视化界面fgoalattain
。
扩展功能
自动并行支持金宝app
加速代码通过自动运行并行计算使用并行计算工具箱™。
版本历史
之前介绍过的R2006a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。