解决
解决优化问题或方程的问题
语法
描述
使用解决
找到一个优化问题的解决方案或方程问题。
提示
完整的工作流程,请参阅具体问题具体分析优化工作流程或具体问题具体分析工作流求解方程。
例子
解决线性规划问题
解决线性规划问题定义为一个优化问题。
x = optimvar (“x”);y = optimvar (“y”);概率= optimproblem;概率。目标= - x - y / 3;prob.Constraints。con年代1=x+ y <= 2; prob.Constraints.cons2 = x + y/4 <= 1; prob.Constraints.cons3 = x - y <= 2; prob.Constraints.cons4 = x/4 + y >= -1; prob.Constraints.cons5 = x + y >= 1; prob.Constraints.cons6 = -x + y <= 2; sol = solve(prob)
使用linprog解决问题。找到最优解。
索尔=结构体字段:x: 0.6667 y: 1.3333
使用具体问题具体分析的方法解决非线性规划问题
找到一个最小的山峰
函数,它包含在MATLAB®,在该地区
。为此,创建优化变量x
和y
。
x = optimvar (“x”);y = optimvar (“y”);
创建一个优化问题山峰
作为目标函数。
概率= optimproblem (“客观”山峰(x, y));
包括一个不等式的约束优化变量。
概率。约束= x ^ 2 + y ^ 2 < = 4;
设置的初始点x
1,y
1,解决这个问题。
x0。x=1;x0。y=1;索尔=解决(x0概率)
使用fmincon解决问题。局部最小值发现,满足约束。优化完成,因为目标函数中引入可行的方向,在最优值的宽容,和约束满足约束的值公差内。
索尔=结构体字段:x: 0.2283 y: -1.6255
不支万博1manbetx持的功能要求fcn2optimexpr
如果你的目标或非线性约束函数并不完全由基本函数,您必须使用转换函数来优化表达式fcn2optimexpr
。看到将非线性函数优化表达式和万博1manbetx支持操作优化变量和表达式。
将目前的例子:
convpeaks = fcn2optimexpr (@peaks, x, y);概率。目标= convpeaks;x0 sol2 =解决(问题)
使用fmincon解决问题。局部最小值发现,满足约束。优化完成,因为目标函数中引入可行的方向,在最优值的宽容,和约束满足约束的值公差内。
sol2 =结构体字段:x: 0.2283 y: -1.6255
版权2018 - 2020 MathWorks公司。
解决混合整数线性规划从初始点开始
比较的步骤来解决整数规划问题都有或没有一个初始可行点。问题有八个整数变量和四个线性等式约束,和所有变量限制是正的。
概率= optimproblem;x = optimvar (“x”8 1下界的0,“类型”,“整数”);
创建四个线性等式约束,包括他们的问题。
Aeq =[22 13 26 33 21 3 14 26 39 16 22日28日26日30日23日24日18 14 29日27日30日38 26 26 41 26 28 36 38 16 18 - 26岁);说真的= (7872 10466 11322 12058);缺点= Aeq * x = =说真的;prob.Constraints。缺点=缺点;
创建一个目标函数,包括它的问题。
10 13 17 f = [2 7 5 7 3];概率。目标= f * x;
解决这个问题不使用一个初始点,检查显示和节点的数量。
(x1, fval1, exitflag1 output1] =解决(问题);
使用intlinprog解决问题。LP:最优的客观价值是1554.047531。减少生成:应用8强CG削减。下界是1591.000000。分支界限法:节点总num int整数相对探索时间(s)解决方案fval差距(%)1 10000 0 - 0.42 - 14739 0.58 2.154000 2.593968 e + e + 03 01 18258 0.73 1.854000 1.180593 e + e + 03 01 18673 0.75 1.854000 1.563342 e + e + 03 00 18829 0.75 1.854000 0.000000 e + e + 03 00找到最优解。Intlinprog停止因为客观价值差距公差内的最优值,选择。AbsoluteGapTolerance = 0。在宽容intcon变量是整数,选项。IntegerTolerance = 1 e-05。
相比之下,找到解决方案使用一个初始可行点。
x0。x=(8 62 23 103 53 84 46 34]'; [x2,fval2,exitflag2,output2] = solve(prob,x0);
使用intlinprog解决问题。LP:最优的客观价值是1554.047531。减少生成:应用8强CG削减。下界是1591.000000。相对差距是59.20%。分支界限法:节点总num int整数相对探索时间(s)解决方案fval差距(%)3627 0.20 2.154000 2.593968 e + e + 03 01 5844 0.29 1.854000 1.180593 e + e + 03 01 6204 0.31 1.854000 1.455526 e + e + 03 00 6400 0.32 1.854000 0.000000 e + e + 03 00找到最优解。Intlinprog停止因为客观价值差距公差内的最优值,选择。AbsoluteGapTolerance = 0。在宽容intcon变量是整数,选项。IntegerTolerance = 1 e-05。
流(没有一个初始点,解决了% d步骤。\ nWith初始点,解决了% d步骤。”、output1.numnodes output2.numnodes)
没有一个初始点,解决了18829步。用一个初始点,解决了6400步。
给一个初始点并不总是提高的问题。对于这个问题,使用一个初始点节省时间和计算步骤。然而,对于一些问题,会导致初始点解决
采取更多的步骤。
指定起点和值surrogateopt
,具体问题具体分析
对于一些解决,您可以通过目标和约束函数值,如果有的话,解决
在x0
论点。这可以节省时间解决。通过一个向量的OptimizationValues
对象。创建这个向量使用optimvalues
函数。
可以使用目标函数值的解决:
遗传算法
gamultiobj
paretosearch
surrogateopt
可以使用的解决非线性约束函数值是:
paretosearch
surrogateopt
例如,最小化山峰
函数使用surrogateopt
开始,从最初的网格点值。从-10年10在创建一个网格x
变量,5/2
来5/2
在y
变量间隔为1/2。计算目标函数值在初始点。
x = optimvar (“x”下界= -10,UpperBound = 10);y = optimvar (“y”下界= 5/2 UpperBound = 5/2);概率= optimproblem (“客观”山峰(x, y));xval = 10:10;yval = (5) / 2;[x0x, x0y] = meshgrid (xval yval);peaksvals =山峰(x0x x0y);
通过中的值x0
参数使用optimvalues
。这可以节省时间解决
,因为解决
不需要计算的值。通过值作为行向量。
x0 = optimvalues(概率,“x”x0x (:)”,“y”x0y (:)”,…“客观”,peaksvals (:)”);
解决问题用surrogateopt
初始值。
[溶胶,fval eflag、输出]=解决(概率,x0,解算器=“surrogateopt”)
使用surrogateopt解决问题。
surrogateopt停止,因为它超过了设定的评价函数极限“options.MaxFunctionEvaluations”。
索尔=结构体字段:x: 0.2283 y: -1.6256
fval = -6.5511
eflag = SolverLimitExceeded
输出=结构体字段:elapsedtime: 35.1571 funccount: 200 constrviolation: 0 ineq: [1 x1 struct] rngstate: [1 x1 struct]消息:“surrogateopt停止,因为它超过了设定的评价函数极限……“解决者:“surrogateopt”
减少使用多个开始规划求解非线性函数,具体问题具体分析
找到一个局部最小值山峰
功能范围
从一点开始[1,2]
。
x = optimvar (“x”下界= 5,UpperBound = 5);y = optimvar (“y”下界= 5,UpperBound = 5);x0。x=1;x0。y=2;概率= optimproblem(客观=山峰(x, y));选择= optimoptions (“fmincon”显示=“没有”);[溶胶,fval] =解决(概率,x0,选项=选择)
索尔=结构体字段:x: -3.3867 y: 3.6341
fval = 1.1224 e-07
试图找到一个更好的解决方案通过使用GlobalSearch
解算器。这个解算器运行fmincon
多次,这可能产生一个更好的解决方案。
女士= GlobalSearch;[sol2, fval2] =解决(概率,x0, ms)
使用GlobalSearch解决问题。GlobalSearch停止,因为所有审判点分析。当地所有15解决运行聚合与当地一个积极解决退出旗。
sol2 =结构体字段:x: 0.2283 y: -1.6255
fval2 = -6.5511
GlobalSearch
找到一个解决方案,一个更好的(较低的)目标函数值。退出消息显示fmincon
,当地的解算器,运行的15倍。返回的解决方案有一个目标函数值约为-6.5511,低于价值在第一个解决方案,1.1224 e-07。
解决整数规划问题的非默认选项
解决这个问题
没有显示迭代显示。
x = optimvar (“x”、2、1,下界的,0);x3 = optimvar (“x3”,“类型”,“整数”,下界的0,“UpperBound”1);概率= optimproblem;概率。目标= 3 * x (1) - 2 * (2) - x3;prob.Constraints。con年代1=x(1) + x(2) + x3 <= 7; prob.Constraints.cons2 = 4*x(1) + 2*x(2) + x3 == 12; options = optimoptions(“intlinprog”,“显示”,“关闭”);索尔=解决(概率,“选项”选项)
索尔=结构体字段:x: [2 x1双]x3: 1
检查解决方案。
sol.x
ans =2×10 5.5000
sol.x3
ans = 1
使用intlinprog
解决线性规划
力解决
使用intlinprog
作为一个线性规划问题的解决者。
x = optimvar (“x”);y = optimvar (“y”);概率= optimproblem;概率。目标= - x - y / 3;prob.Constraints。con年代1=x+ y <= 2; prob.Constraints.cons2 = x + y/4 <= 1; prob.Constraints.cons3 = x - y <= 2; prob.Constraints.cons4 = x/4 + y >= -1; prob.Constraints.cons5 = x + y >= 1; prob.Constraints.cons6 = -x + y <= 2; sol = solve(prob,“规划求解”,“intlinprog”)
使用intlinprog解决问题。LP:最优的客观价值是-1.111111。找到最优解。没有指定的整数变量。Intlinprog解决线性问题。
索尔=结构体字段:x: 0.6667 y: 1.3333
返回所有输出
解决混合整数线性规划问题中描述解决整数规划问题的非默认选项并检查所有的输出数据。
x = optimvar (“x”、2、1,下界的,0);x3 = optimvar (“x3”,“类型”,“整数”,下界的0,“UpperBound”1);概率= optimproblem;概率。目标= 3 * x (1) - 2 * (2) - x3;prob.Constraints。con年代1=x(1) + x(2) + x3 <= 7; prob.Constraints.cons2 = 4*x(1) + 2*x(2) + x3 == 12; [sol,fval,exitflag,output] = solve(prob)
使用intlinprog解决问题。LP:最优的客观价值是-12.000000。找到最优解。Intlinprog停在根节点,因为客观价值差距公差内的最优值,选择。AbsoluteGapTolerance = 0。在宽容intcon变量是整数,选项。IntegerTolerance = 1 e-05。
索尔=结构体字段:x: [2 x1双]x3: 1
fval = -12
exitflag = OptimalSolution
输出=结构体字段:relativegap: 0 absolutegap: 0 numfeaspoints: 1 numnodes: 0 constrviolation: 0消息:“....发现最优解“解决者:“intlinprog”
对于一个问题没有任何整数约束,还可以获得一个非空的拉格朗日乘子作为第五输出结构。
查看解决方案与指标变量
创建和使用命名索引变量解决优化问题。问题是最大化profit-weighted水果流向不同的机场,受到约束加权流动。
rng (0)%的再现性p = optimproblem (“ObjectiveSense”,“最大化”);流= optimvar (“流”,…{“苹果”,“橘子”,“香蕉”,“浆果”},{“纽约”,“bo”,“宽松”},…下界的0,“类型”,“整数”);p。目标=总和(总和(兰德(4,3)。*流));p.Constraints。纽约=r和(1,4)*flow(:,“纽约”)< = 10;p.Constraints。BOS=r和(1,4)*flow(:,“bo”)< = 12;p.Constraints。宽松的=r和(1,4)*flow(:,“宽松”)< = 35;索尔=解决(p);
使用intlinprog解决问题。LP:最优的客观价值是1027.472366。使用子启发式:发现1解决方案。下界是1027.233133。相对差距是0.00%。找到最优解。Intlinprog停在根节点,因为客观价值差距公差内的最优值,选择。AbsoluteGapTolerance = 0。在宽容intcon变量是整数,选项。IntegerTolerance = 1 e-05。
找到最优的纽约和洛杉矶橘子和草莓。
[idxFruit, idxAirports] = findindex(流,{“橘子”,“浆果”},{“纽约”,“宽松”})
idxFruit =1×22 4
idxAirports =1×21 3
orangeBerries = sol.flow (idxFruit idxAirports)
orangeBerries =2×20 980 70 0
这意味着没有橘子要显示纽约
,70个浆果纽约
980个橙子要宽松的
,不去浆果宽松的
。
列表的最优流如下:
果机场
- - - - - - - - - - - - - - -
浆果纽约
苹果BOS
橙子松懈
idx = findindex(流,{“浆果”,“苹果”,“橘子”},{“纽约”,“bo”,“宽松”})
idx =1×34 5 10
optimalFlow = sol.flow (idx)
optimalFlow =1×370年28 980年
这意味着70个浆果会显示纽约
,28日苹果要BOS
,980橙子要宽松的
。
解非线性方程组,具体问题具体分析
解决非线性方程组
运用具体问题具体分析的方法,首先定义x
作为一个双元素优化变量。
x = optimvar (“x”2);
创建第一个方程作为一个优化平等表达。
eq1 = exp (exp (- x (x (1) + (2)))) = = x (2) * (1 + x (1) ^ 2);
类似地,创建第二个方程作为一个优化平等表达。
eq2 = x (1) * cos (x (2)) + x (2) * sin (x (1)) = = 1/2;
创建一个方程问题,把方程的问题。
概率= eqnproblem;prob.Equations。eq1 = eq1;prob.Equations。eq2 = eq2;
回顾这个问题。
显示(概率)
EquationProblem:解:x eq1: exp ((exp ((- x (x (1) + (2)))))) = = (x (2) * (1 + x (1) ^ 2)) eq2: ((x (1)。* cos (x (2))) + (x (2)。* sin (x (1)))) = = 0.5
从点开始解决问题(0,0)
。具体问题具体分析的方法,指定初始点为一个结构,变量名称的字段结构。对于这个问题,只有一个变量,x
。
x0。x=(00]; [sol,fval,exitflag] = solve(prob,x0)
使用fsolve解决问题。方程解决。fsolve完成因为函数值接近于零的向量的值函数的宽容,问题出现普通的梯度。
索尔=结构体字段:x (2 x1双):
fval =结构体字段:eq1: -2.4070 e-07 eq2: -3.8255 e-08
exitflag = EquationSolved
查看解决方案。
disp (sol.x)
0.3532 - 0.6061
不支万博1manbetx持的功能要求fcn2optimexpr
如果你不组成的基本方程函数功能,您必须使用转换函数来优化表达式fcn2optimexpr
。目前的例子:
ls1 = fcn2optimexpr (@ (x) exp (exp (- x (x (1) + (2)))), x);eq1 = ls1 = = x (2) * (1 + x (1) ^ 2);ls2 = fcn2optimexpr (@ (x) x (1) * cos (x (2)) + x (2) * sin (x (1)), x);eq2 = ls2 = = 1/2;
输入参数
概率
- - - - - -优化问题或方程问题
OptimizationProblem
对象|EquationProblem
对象
优化问题或方程问题,指定为一个OptimizationProblem
对象或一个EquationProblem
对象。通过创建一个优化问题optimproblem
;通过创建一个方程问题eqnproblem
。
警告
具体问题具体分析的方法不支持复杂的值在一个目标函数,非线性等式,或非线性万博1manbetx不等式。如果一个函数计算具有复杂的价值,即使作为一个中间值,最终结果可能是不正确的。
例子:概率= optimproblem;概率。目标= obj;prob.Constraints。cons1 = cons1;
例子:概率= eqnproblem;prob.Equations=eqs;
x0
- - - - - -初始点
结构|向量的OptimizationValues
对象
初始点,指定为一个结构和字段名称的变量名概率
。
对于一些全局优化工具箱解决,x0
可以是一个向量的OptimizationValues
对象代表多个初始点。创建点使用optimvalues
函数。这些解决方案是:
遗传算法
(全局优化工具箱),gamultiobj
(全局优化工具箱),paretosearch
(全局优化工具箱)和particleswarm
(全局优化工具箱)。解决这些接受多个起点作为初始种群的成员。MultiStart
(全局优化工具箱)。该解算器接受多个初始点等当地解决fmincon
。surrogateopt
(全局优化工具箱)。该解算器接受多个初始点,帮助创建一个初始代理。
例如使用x0
与命名索引变量,明白了创建初始点优化与命名索引变量。
例子:如果概率
有变量命名x
和y
:x0。x=(3,2,17]; x0.y = [pi/3,2*pi/3]
。
数据类型:结构体
女士
- - - - - -多个开始解算器
MultiStart
对象|GlobalSearch
对象
多个开始解算器,指定为一个MultiStart
(全局优化工具箱)对象或一个GlobalSearch
(全局优化工具箱)对象。创建女士
使用MultiStart
或GlobalSearch
命令。
目前,GlobalSearch
万博1manbetx只支持fmincon
当地的解决者,MultiStart
万博1manbetx只支持fmincon
,fminunc
,lsqnonlin
当地的解决者。
例子:女士= MultiStart;
例子:= GlobalSearch女士(FunctionTolerance = 1的军医);
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:解决(问题提出,“选项”,选择)
MinNumStartPoints
- - - - - -最小数量的开始点MultiStart
20.(默认)|正整数
最小数量的开始点MultiStart
(全局优化工具箱),指定为一个正整数。这种说法只适用于当你的电话解决
使用女士
论点。解决
使用的所有值x0
开始点。如果MinNumStartPoints
大于值的数量吗x0
,然后解决
生成更多的开始点范围内均匀随机问题。如果一个组件是无限的,解决
使用默认的人工边界产生点MultiStart
。
例子:解决(问题,x0,女士,MinNumStartPoints = 50)
数据类型:双
选项
- - - - - -优化选项
创建的对象optimoptions
|选择结构
优化选项,指定为对象创建的optimoptions
或一个选项由等结构optimset
。
在内部,解决
函数调用相关的详细的解算器“规划求解”
参数的参考。确保选项
在解算器兼容。例如,intlinprog
不允许选项是一个结构,lsqnonneg
不允许选择一个对象。
改善建议选项设置intlinprog
解决方案或解决方案的速度,明白了调优整数线性规划。为linprog
,默认的对偶单纯形的
算法通常是节约内存和快速。偶尔,linprog
解决了一个大问题更快的时候算法
选择是“内点”
。建议选项设置来改善非线性问题的解决方案,明白了常用的优化选择:优化和故障排除和改善结果。
例子:选择= optimoptions (“intlinprog”,“显示”,“没有一个”)
解算器
- - - - - -优化解算器
“intlinprog”
|“linprog”
|“lsqlin”
|“lsqcurvefit”
|“lsqnonlin”
|“lsqnonneg”
|“quadprog”
|“fminbnd”
|“fminunc”
|“fmincon”
|“fminsearch”
|“fzero”
|“fsolve”
|“coneprog”
|“遗传算法”
|“gamultiobj”
|“paretosearch”
|“patternsearch”
|“particleswarm”
|“surrogateopt”
|“simulannealbnd”
优化求解程序,指定为上市解决者的名字。对于优化问题,这个表包含可用的解决每个问题类型,包括解决者全局优化工具箱。细节方程问题出现以下优化解算器的细节。
使用非线性问题转换为整数约束prob2struct
,由此产生的问题结构可以取决于选择的解决者。如果你没有全局优化工具箱许可,您必须指定解决者。看到整数约束非线性具体问题具体分析优化。
默认为每个优化问题解算器类型是列在这里。
问题类型 | 默认的解算器 |
---|---|
线性规划(LP) | linprog |
混合整数线性规划(MILP) | intlinprog |
二次规划(QP) | quadprog |
给出了二次锥规划 | coneprog |
线性最小二乘 | lsqlin |
非线性最小二乘 | lsqnonlin |
非线性规划(NLP) | |
混合整数非线性规划(适应) | 遗传算法 (全局优化工具箱) |
多目标 | gamultiobj (全局优化工具箱) |
在这个表中,意味着问题的解算器是可用的类型,x解算器不可用。
问题类型 |
LP | MILP | QP | 二次 | 线性最小二乘 | 非线性最小二乘 | NLP | 适应 |
---|---|---|---|---|---|---|---|---|
解算器 | ||||||||
linprog |
|
x | x | x | x | x | x | x |
intlinprog |
|
|
x | x | x | x | x | x |
quadprog |
|
x |
|
|
|
x | x | x |
coneprog |
|
x | x |
|
x | x | x | x |
lsqlin |
x | x | x | x |
|
x | x | x |
lsqnonneg |
x | x | x | x |
|
x | x | x |
lsqnonlin |
x | x | x | x |
|
|
x | x |
fminunc |
|
x |
|
x |
|
|
|
x |
fmincon |
|
x |
|
|
|
|
|
x |
fminbnd |
x | x | x | x |
|
|
|
x |
fminsearch |
x | x | x | x |
|
|
|
x |
patternsearch (全局优化工具箱) |
|
x |
|
|
|
|
|
x |
遗传算法 (全局优化工具箱) |
|
|
|
|
|
|
|
|
particleswarm (全局优化工具箱) |
|
x |
|
x |
|
|
|
x |
simulannealbnd (全局优化工具箱) |
|
x |
|
x |
|
|
|
x |
surrogateopt (全局优化工具箱) |
|
|
|
|
|
|
|
|
gamultiobj (全局优化工具箱) |
|
|
|
|
|
|
|
|
paretosearch (全局优化工具箱) |
|
x |
|
|
|
|
|
x |
请注意
如果你选择lsqcurvefit
作为一个最小二乘问题的求解,解决
使用lsqnonlin
。的lsqcurvefit
和lsqnonlin
解决者是相同的,解决
。
谨慎
为最大化问题(prob.ObjectiveSense
是“马克斯”
或“最大化”
),不指定一个最小二乘解算器(一个名字开始lsq
)。如果你这样做,解决
抛出一个错误,因为这些连接器不能最大化。
对方程求解,这为每个问题类型表包含可用的解决者。在表中,
*显示的默认解决问题类型。
Y显示一个可用的解决者。
N表示不可用解算器。
万博1manbetx支持动力学方程
方程类型 | lsqlin |
lsqnonneg |
fzero |
fsolve |
lsqnonlin |
---|---|---|---|---|---|
线性 | * | N | Y(标量) | Y | Y |
线性和范围 | * | Y | N | N | Y |
标量非线性 | N | N | * | Y | Y |
非线性系统 | N | N | N | * | Y |
非线性系统+界限 | N | N | N | N | * |
例子:“intlinprog”
数据类型:字符
|字符串
ObjectiveDerivative
- - - - - -指示使用自动分化为目标函数
“汽车”
(默认)|“auto-forward”
|自动翻转的
|有限差分的
指示使用自动分化(广告)的非线性目标函数,指定为“汽车”
(尽可能使用广告),“auto-forward”
(尽可能使用转发广告),自动翻转的
(尽可能使用反向广告),或有限差分的
(不要使用广告)。选择包括汽车
导致潜在的解算器利用梯度信息时提供解决问题的目标函数是支持,中描述万博1manbetx万博1manbetx支持操作优化变量和表达式。例如,看到的自动微分运用优化的效果。
解决选择默认以下类型的广告:
对于一般的非线性目标函数,
fmincon
默认为反向广告为目标函数。fmincon
默认为反向广告为非线性约束函数当非线性约束的数量小于变量的数量。否则,fmincon
默认转发广告为非线性约束函数。对于一般的非线性目标函数,
fminunc
默认为反向广告。最小二乘目标函数,
fmincon
和fminunc
目标函数的默认转发广告。运用基于最小二乘的定义目标函数,看看写具体问题具体分析最小二乘法的目标函数。lsqnonlin
默认转发广告当目标向量中的元素的数量大于或等于变量的数量。否则,lsqnonlin
默认为反向广告。fsolve
默认转发广告当方程的数量大于或等于变量的数量。否则,fsolve
默认为反向广告。
例子:有限差分的
数据类型:字符
|字符串
ConstraintDerivative
- - - - - -指示使用自动微分约束功能
“汽车”
(默认)|“auto-forward”
|自动翻转的
|有限差分的
指示使用自动分化(广告)非线性约束函数,指定为“汽车”
(尽可能使用广告),“auto-forward”
(尽可能使用转发广告),自动翻转的
(尽可能使用反向广告),或有限差分的
(不要使用广告)。选择包括汽车
造成潜在的解算器时使用梯度信息解决问题提供支持约束函数,描述万博1manbetx万博1manbetx支持操作优化变量和表达式。例如,看到的自动微分运用优化的效果。
解决选择默认以下类型的广告:
对于一般的非线性目标函数,
fmincon
默认为反向广告为目标函数。fmincon
默认为反向广告为非线性约束函数当非线性约束的数量小于变量的数量。否则,fmincon
默认转发广告为非线性约束函数。对于一般的非线性目标函数,
fminunc
默认为反向广告。最小二乘目标函数,
fmincon
和fminunc
目标函数的默认转发广告。运用基于最小二乘的定义目标函数,看看写具体问题具体分析最小二乘法的目标函数。lsqnonlin
默认转发广告当目标向量中的元素的数量大于或等于变量的数量。否则,lsqnonlin
默认为反向广告。fsolve
默认转发广告当方程的数量大于或等于变量的数量。否则,fsolve
默认为反向广告。
例子:有限差分的
数据类型:字符
|字符串
EquationDerivative
- - - - - -指示使用自动微分方程
“汽车”
(默认)|“auto-forward”
|自动翻转的
|有限差分的
指示使用自动分化(广告)非线性约束函数,指定为“汽车”
(尽可能使用广告),“auto-forward”
(尽可能使用转发广告),自动翻转的
(尽可能使用反向广告),或有限差分的
(不要使用广告)。选择包括汽车
造成潜在的解算器时使用梯度信息解决问题提供支持函数方程,描述万博1manbetx万博1manbetx支持操作优化变量和表达式。例如,看到的自动微分运用优化的效果。
解决选择默认以下类型的广告:
对于一般的非线性目标函数,
fmincon
默认为反向广告为目标函数。fmincon
默认为反向广告为非线性约束函数当非线性约束的数量小于变量的数量。否则,fmincon
默认转发广告为非线性约束函数。对于一般的非线性目标函数,
fminunc
默认为反向广告。最小二乘目标函数,
fmincon
和fminunc
目标函数的默认转发广告。运用基于最小二乘的定义目标函数,看看写具体问题具体分析最小二乘法的目标函数。lsqnonlin
默认转发广告当目标向量中的元素的数量大于或等于变量的数量。否则,lsqnonlin
默认为反向广告。fsolve
默认转发广告当方程的数量大于或等于变量的数量。否则,fsolve
默认为反向广告。
例子:有限差分的
数据类型:字符
|字符串
输出参数
索尔
——解决方案
结构|OptimizationValues
向量
解决方案,作为一个结构或一个返回OptimizationValues
向量。索尔
是一个OptimizationValues
当问题是多目标向量。简略的问题,返回的字段结构优化变量的名称问题。看到optimvar
。
fval
——目标函数值的解决方案
实数实向量| | |的矩阵结构
目标函数值返回的解决方案,为下列之一:
问题类型 | 返回值(s) |
---|---|
标量优化目标函数f(x) | 实数f(索尔) |
最小二乘 | 实数,残差的平方和的解决方案 |
解决方程 | 如果prob.Equations 是一个条目:真正的向量函数值的解决方案,意义-左边的右边方程 |
如果prob.Equations 有多个命名字段:结构相同的名字吗prob.Equations ,每个字段值是-左边的右边叫方程 |
|
多目标 | 为每个目标函数分量矩阵的一行,一列,每个解决方案。 |
提示
如果你忽视要求fval
客观的定义为一个优化表达式或方程表达式,可以计算使用
fval =评估(prob.Objective sol)
如果目标是定义为一个结构只有一个字段,
fval =评估(prob.Objective.ObjectiveName sol)
如果目标是一个与多个字段结构,编写一个循环。
帧=字段(prob.Equations);为i = 1:长度(帧)fval。(帧{我})=评估(prob.Equations。(帧{我}),索尔);结束
exitflag
- - - - - - -原因解决
枚举变量
原因解决者停止了,作为一个枚举变量返回。您可以转换exitflag
数值上等于使用双(exitflag)
等效的字符串,并使用字符串(exitflag)
。
此表描述了退出的旗帜intlinprog
解算器。
退出旗intlinprog |
数值上等于 | 意义 |
---|---|---|
OptimalWithPoorFeasibility |
3 |
对相对的解决方案是可行的 |
IntegerFeasible |
2 | intlinprog 过早地停止了,发现一个整数可行点。 |
OptimalSolution |
|
解算器聚集到一个解决方案 |
SolverLimitExceeded |
|
看到公差和停止条件。 |
OutputFcnStop |
1 |
intlinprog 停在一个输出函数或函数。 |
NoFeasiblePointFound |
|
发现不可行点。 |
无限 |
|
问题是无限的。 |
FeasibilityLost |
|
解决了可行性。 |
Exitflags3
和9
与有很大的不可行性的万博 尤文图斯解决方案。这些通常来自线性约束矩阵条件数大,或问题解决方案组件。纠正这些问题,尝试规模系数矩阵,消除冗余的线性约束,或给予更严格的边界变量。
此表描述了退出的旗帜linprog
解算器。
退出旗linprog |
数值上等于 | 意义 |
---|---|---|
OptimalWithPoorFeasibility |
3 |
对相对的解决方案是可行的 |
OptimalSolution |
1 |
解算器聚集到一个解决方案 |
SolverLimitExceeded |
0 |
迭代的数量超过了 |
NoFeasiblePointFound |
2 |
发现不可行点。 |
无限 |
3 |
问题是无限的。 |
FoundNaN |
4 |
|
PrimalDualInfeasible |
5 |
原始与对偶问题是不可行的。 |
DirectionTooSmall |
7 |
搜索方向是太小了。没有进一步的进展。 |
FeasibilityLost |
9 |
解决了可行性。 |
Exitflags3
和9
与有很大的不可行性的万博 尤文图斯解决方案。这些通常来自线性约束矩阵条件数大,或问题解决方案组件。纠正这些问题,尝试规模系数矩阵,消除冗余的线性约束,或给予更严格的边界变量。
此表描述了退出的旗帜lsqlin
解算器。
退出旗lsqlin |
数值上等于 | 意义 |
---|---|---|
FunctionChangeBelowTolerance |
3 |
剩余的变化小于指定的公差 |
StepSizeBelowTolerance |
|
步长小于 |
OptimalSolution |
1 |
解算器聚集到一个解决方案 |
SolverLimitExceeded |
0 |
迭代的数量超过了 |
NoFeasiblePointFound |
2 |
对于优化问题,问题是不可行的。或, 对方程的问题,没有找到解决方案。 |
IllConditioned |
4 |
病态阻止进一步的优化。 |
NoDescentDirectionFound |
8 |
搜索方向是太小了。没有进一步的进展。( |
此表描述了退出的旗帜quadprog
解算器。
退出旗quadprog |
数值上等于 | 意义 |
---|---|---|
LocalMinimumFound |
4 |
局部最小值;至少不是唯一的。 |
FunctionChangeBelowTolerance |
3 |
目标函数值变化小于指定的公差 |
StepSizeBelowTolerance |
|
步长小于 |
OptimalSolution |
1 |
解算器聚集到一个解决方案 |
SolverLimitExceeded |
0 |
迭代的数量超过了 |
NoFeasiblePointFound |
2 |
问题是不可行的。或, |
IllConditioned |
4 |
病态阻止进一步的优化。 |
非凸 |
|
发现非凸问题。( |
NoDescentDirectionFound |
8 |
无法计算的方向迈出的一步。( |
此表描述了退出的旗帜coneprog
解算器。
退出旗coneprog |
数值上等于 | 意义 |
---|---|---|
OptimalSolution |
1 |
解算器聚集到一个解决方案 |
SolverLimitExceeded |
0 |
迭代的数量超过了 |
NoFeasiblePointFound |
2 |
问题是不可行的。 |
无限 |
3 |
问题是无限的。 |
DirectionTooSmall |
|
搜索方向变得太小了。不可能取得进一步进展。 |
不稳定 |
-10年 |
问题是数值不稳定。 |
此表描述了退出的旗帜lsqcurvefit
或lsqnonlin
解算器。
退出旗lsqnonlin |
数值上等于 | 意义 |
---|---|---|
SearchDirectionTooSmall |
4 |
大小的搜索方向是小于 |
FunctionChangeBelowTolerance |
3 |
剩余不到的变化 |
StepSizeBelowTolerance |
|
步长小于 |
OptimalSolution |
1 |
解算器聚集到一个解决方案 |
SolverLimitExceeded |
0 |
迭代次数超过 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
NoFeasiblePointFound |
2 |
对于优化问题,问题是不可行:边界 对方程的问题,没有找到解决方案。 |
此表描述了退出的旗帜fminunc
解算器。
退出旗fminunc |
数值上等于 | 意义 |
---|---|---|
NoDecreaseAlongSearchDirection |
5 |
预测目标函数下降小于 |
FunctionChangeBelowTolerance |
3 |
改变目标函数值小于 |
StepSizeBelowTolerance |
|
的变化 |
OptimalSolution |
1 |
梯度的大小是小于 |
SolverLimitExceeded |
0 |
迭代次数超过 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
无限 |
3 |
在当前迭代目标函数如下 |
此表描述了退出的旗帜fmincon
解算器。
退出旗fmincon |
数值上等于 | 意义 |
---|---|---|
NoDecreaseAlongSearchDirection |
5 |
级搜索方向的方向导数小于2 * |
SearchDirectionTooSmall |
4 |
搜索方向的大小小于2 * |
FunctionChangeBelowTolerance |
3 |
目标函数值小于的变化 |
StepSizeBelowTolerance |
|
的变化 |
OptimalSolution |
1 |
一阶最优性测量不到 |
SolverLimitExceeded |
0 |
迭代次数超过 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
NoFeasiblePointFound |
2 |
发现不可行点。 |
无限 |
3 |
在当前迭代目标函数如下 |
此表描述了退出的旗帜fsolve
解算器。
退出旗fsolve |
数值上等于 | 意义 |
---|---|---|
SearchDirectionTooSmall |
4 |
的大小小于搜索方向 |
FunctionChangeBelowTolerance |
3 |
目标函数值小于的变化 |
StepSizeBelowTolerance |
|
的变化 |
OptimalSolution |
1 |
一阶最优性测量不到 |
SolverLimitExceeded |
0 |
迭代次数超过 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
NoFeasiblePointFound |
2 |
聚合点,不是一个根。 |
TrustRegionRadiusTooSmall |
3 |
方程没有解决。信赖域半径太小( |
此表描述了退出的旗帜fzero
解算器。
退出旗fzero |
数值上等于 | 意义 |
---|---|---|
OptimalSolution |
1 |
方程解决。 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
FoundNaNInfOrComplex |
4 |
|
SingularPoint |
5 |
可能聚集到一个奇点。 |
CannotDetectSignChange |
6 |
没有发现两个点函数值相反的迹象。 |
此表描述了退出的旗帜patternsearch
解算器。
退出旗patternsearch |
数值上等于 | 意义 |
---|---|---|
SearchDirectionTooSmall |
4 |
一步的大小小于机器精度和约束违反小于 |
FunctionChangeBelowTolerance |
3 |
的变化 |
StepSizeBelowTolerance |
|
的变化 |
SolverConvergedSuccessfully |
1 |
没有非线性约束——筛孔尺寸的大小小于指定的公差,和约束违反小于 |
具有非线性约束——的大小互补措施(在这个表定义)小于 |
||
SolverLimitExceeded |
0 |
函数评估或迭代的最大数量。 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
NoFeasiblePointFound |
2 |
发现不可行点。 |
非线性约束求解的互补措施的标准向量元素是谁的c我λ我,在那里c我非线性不等式约束违反,λ我是对应的拉格朗日乘子。
此表描述了退出的旗帜遗传算法
解算器。
退出旗遗传算法 |
数值上等于 | 意义 |
---|---|---|
MinimumFitnessLimitReached |
5 |
最低的健身限制 |
SearchDirectionTooSmall |
4 |
一步的大小小于机器精度和约束违反小于 |
FunctionChangeBelowTolerance |
3 |
适应度函数的值没有改变 |
SolverConvergedSuccessfully |
1 |
没有非线性约束——平均累积价值变化的适应度函数 |
具有非线性约束-级的互补性测量(见互补措施(全局优化工具箱))小于 |
||
SolverLimitExceeded |
0 |
最大数量的代 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
NoFeasiblePointFound |
2 |
发现不可行点。 |
StallTimeLimitExceeded |
4 |
拖延时间限制 |
TimeLimitExceeded |
5 |
时间限制 |
此表描述了退出的旗帜particleswarm
解算器。
退出旗particleswarm |
数值上等于 | 意义 |
---|---|---|
SolverConvergedSuccessfully |
1 |
相对客观价值在过去的变化 |
SolverLimitExceeded |
0 |
迭代次数超过 |
OutputFcnStop |
1 |
迭代停止输出函数或情节的功能。 |
NoFeasiblePointFound |
2 |
范围不一致:对于一些 |
无限 |
3 |
最下面的目标函数值 |
StallTimeLimitExceeded |
4 |
最好的目标函数值没有改变 |
TimeLimitExceeded |
5 |
运行时间超过 |
此表描述了退出的旗帜simulannealbnd
解算器。
退出旗simulannealbnd |
数值上等于 | 意义 |
---|---|---|
ObjectiveValueBelowLimit |
5 |
目标函数值小于 |
SolverConvergedSuccessfully |
1 |
目标函数的平均变化值 |
SolverLimitExceeded |
0 |
最大数量的代 |
OutputFcnStop |
1 |
通过一个输出函数优化终止或情节功能。 |
NoFeasiblePointFound |
2 |
发现不可行点。 |
TimeLimitExceeded |
5 |
超过了时间限制。 |
此表描述了退出的旗帜surrogateopt
解算器。
退出旗surrogateopt |
数值上等于 | 意义 |
---|---|---|
BoundsEqual |
10 |
问题有独特的可行解决方案由于下列之一:
|
FeasiblePointFound |
3 |
找到可行点。解算器停止是因为继续发现新的可行点太少。 |
ObjectiveLimitAttained |
1 |
目标函数值小于 |
SolverLimitExceeded |
0 |
的数量超过功能评估 |
OutputFcnStop |
1 |
优化输出函数或终止的情节功能。 |
NoFeasiblePointFound |
2 |
没有找到可行的点由于下列之一:
|
此表描述了退出的旗帜MultiStart
和GlobalSearch
解决者。
退出旗MultiStart 或GlobalSearch |
数值上等于 | 意义 |
---|---|---|
LocalMinimumFoundSomeConverged |
2 |
至少一个局部最小值。一些当地的解算器聚集。 |
LocalMinimumFoundAllConverged |
1 |
至少一个局部最小值。当地所有运行的解算器聚集。 |
SolverLimitExceeded |
0 |
没有发现局部最小值。当地解决者和至少一个当地的解算器至少一次电话跑出迭代。 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
NoFeasibleLocalMinimumFound |
2 |
没有找到可行的局部最小值。 |
TimeLimitExceeded |
5 |
MaxTime 限制超过。 |
NoSolutionFound |
8 |
没有找到解决方案。所有运行本地解决退出旗2或更小,并不是所有等于2。 |
FailureInSuppliedFcn |
-10年 |
遇到失败的客观或非线性约束函数。 |
此表描述了退出的旗帜paretosearch
解算器。
退出旗paretosearch |
数值上等于 | 意义 |
---|---|---|
SolverConvergedSuccessfully |
1 |
满足下列条件之一:
|
SolverLimitExceeded |
0 |
迭代次数超过options.MaxIterations 的数量,或者超过功能评估options.MaxFunctionEvaluations 。 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
NoFeasiblePointFound |
2 |
解算器无法找到满足所有的约束。 |
TimeLimitExceeded |
5 |
优化时间超过options.MaxTime 。 |
此表描述了退出的旗帜gamultiobj
解算器。
退出旗paretosearch |
数值上等于 | 意义 |
---|---|---|
SolverConvergedSuccessfully |
1 |
几何平均的相对分布在价值的变化options.MaxStallGenerations 代小于options.FunctionTolerance ,最终小于平均传播蔓延过去options.MaxStallGenerations 一代又一代。 |
SolverLimitExceeded |
0 |
一代又一代的数量超过options.MaxGenerations 。 |
OutputFcnStop |
1 |
停在一个输出函数或函数。 |
NoFeasiblePointFound |
2 |
解算器无法找到满足所有的约束。 |
TimeLimitExceeded |
5 |
优化时间超过options.MaxTime 。 |
输出
——优化过程的信息
结构
优化过程的信息,作为一个结构返回。输出结构包含字段相关的潜在的解算器输出字段,这取决于解决者解决
被称为:
“MultiStart”
和“GlobalSearch”
返回当地解算器的输出结构。此外,输出结构包含以下字段:globalSolver
——要么“MultiStart”
或“GlobalSearch”
。objectiveDerivative
——需要在本节描述的值。constraintDerivative
——需要的值描述本节结束时,或“汽车”
当概率
没有非线性约束。解算器
——当地解决,例如“fmincon”
。当地的
——包含额外的信息的结构优化。索尔
——当地的解决方万博 尤文图斯案,作为一个向量的返回OptimizationValues
对象。x0
——初始点为当地解决,作为细胞数组返回。exitflag
——出口的旗帜当地的解决方案,作为一个整数返万博 尤文图斯回向量。输出
——结构数组,每个地方有一行的解决方案。每一行是本地输出结构对应于一个当地的解决方案。
解决
包括额外的字段解算器
在输出
结构来确定解算器使用,如“intlinprog”
。
当解算器
是一个非线性优化工具箱™的能手,解决
包括一个或两个额外的字段描述导数估计类型。的objectivederivative
如果合适,constraintderivative
字段可以采取下列值:
“reverse-AD”
为扭转自动分化“forward-AD”
提出自动分化“有限差分”
对有限差分估计“封闭”
线性或二次函数
λ
——拉格朗日乘数法在解决方案
结构
拉格朗日乘数法在解决方案,作为一个结构返回。
请注意
解决
不返回λ
equation-solving问题。
为intlinprog
和fminunc
解决,λ
是空的,[]
。对于其他解决者,λ
这些字段:
变量
——包含每个问题变量的领域。每个问题的变量名称是一个结构,两个字段:较低的
——拉格朗日乘数法与变量相关联下界
相同大小的属性,作为一个数组返回的变量。非零项意味着解决方案是在下界。这些乘数的结构lambda.Variables。
。variablename
.Lower上
——拉格朗日乘数法与变量相关联UpperBound
相同大小的属性,作为一个数组返回的变量。非零项意味着解决方案是上界。这些乘数的结构lambda.Variables。
。variablename
.Upper
约束
——为每个问题都包含一个字段约束。每个约束问题是结构约束的名字,是谁的名字,其值是一个数字数组大小相同的约束。非零项意味着解决方案的约束是活跃的。这些乘数的结构lambda.Constraints。
。constraintname
请注意
一个约束数组的元素都有相同的比较(
< =
,= =
,或> =
),都是同一类型的(线性、二次或非线性)。
算法
转换为解算器形式
在内部,解决
通过调用函数解决优化问题解决者。的默认解决问题和支持解决的问题,看到的万博1manbetx解决者
函数。你可以覆盖默认的使用“规划求解”
当调用名称-值对的论点解决
。
之前解决
可以调用一个解决,这些问题必须转化为解算器形式,通过吗解决
或其他相关函数或对象。例如,这种转换需要有一个矩阵表示线性约束而不是一个优化变量表达式。
算法的第一步是将优化表达式问题。一个OptimizationProblem
对象有一个内部使用的变量的表达式列表。每个变量都有一个线性指数表达式,和大小。因此,变量有一个隐含的矩阵形式的问题。的prob2struct
函数执行的转换问题形式解决形式。例如,看到的将问题转化为结构。
对于非线性优化问题,解决
使用自动分化计算目标函数的梯度和非线性约束函数。这些衍生品时应用目标和约束函数组成的万博1manbetx支持操作优化变量和表达式。当自动分化并不适用,解决估计衍生品使用有限的差异。自动分化的详细信息,请参见自动分化背景。你可以控制解决
使用自动分化的ObjectiveDerivative
名称-值参数。
的算法intlinprog
用来解决MILP问题,明白了intlinprog算法。的算法linprog
用于解决线性规划问题,明白了线性规划算法。的算法quadprog
用于解决二次规划问题,明白了二次规划算法。线性或非线性最小二乘求解算法,看到最小二乘(模型拟合)算法。非线性规划求解算法,看到无约束非线性优化算法和约束非线性优化算法。为全局优化工具箱规划求解算法,看到全局优化工具箱文档。
为解决非线性方程,解决
内部代表每个方程左右之间的区别。然后解决
试图减少方程的平方和组件。的算法求解非线性系统方程,明白了方程求解算法。当这个问题也有界限,解决
调用lsqnonlin
方程组件的平方和最小化。看到最小二乘(模型拟合)算法。
请注意
如果你的目标函数是一个平方和,和你想要的解决
认识到它,把它写成规范(expr) ^ 2
或总和(expr。^ 2)
,而不是expr‘* expr
或任何其他形式。内部解析器识别平方和只有当表示为一个正方形的规范或显式的广场。有关详细信息,请参见写具体问题具体分析最小二乘法的目标函数。例如,看到的非负线性最小二乘法,具体问题具体分析。
自动分化
适用于自动分化(广告)解决
和prob2struct
函数在下列条件:
客观支持和约束函数,描述万博1manbetx万博1manbetx支持操作优化变量和表达式。他们不需要使用的
fcn2optimexpr
函数。对于优化问题,
“ObjectiveDerivative”
和“ConstraintDerivative”
名称-值对的理由解决
或prob2struct
将“汽车”
(默认),“auto-forward”
,或自动翻转的
。对于方程的问题,
“EquationDerivative”
选项设置为“汽车”
(默认),“auto-forward”
,或自动翻转的
。
当广告应用 | 所有约束功能支持万博1manbetx | 不支持一个或多个约束万博1manbetx |
---|---|---|
目标函数的支持万博1manbetx | 广告用于目标和约束 | 广告仅用于客观 |
目标函数不支持万博1manbetx | 广告仅用于约束 | 广告不习惯 |
当这些条件不满意,解决
由有限差分估计梯度,prob2struct
在其生成的函数文件不会创建渐变。
解决选择默认以下类型的广告:
对于一般的非线性目标函数,
fmincon
默认为反向广告为目标函数。fmincon
默认为反向广告为非线性约束函数当非线性约束的数量小于变量的数量。否则,fmincon
默认转发广告为非线性约束函数。对于一般的非线性目标函数,
fminunc
默认为反向广告。最小二乘目标函数,
fmincon
和fminunc
目标函数的默认转发广告。运用基于最小二乘的定义目标函数,看看写具体问题具体分析最小二乘法的目标函数。lsqnonlin
默认转发广告当目标向量中的元素的数量大于或等于变量的数量。否则,lsqnonlin
默认为反向广告。fsolve
默认转发广告当方程的数量大于或等于变量的数量。否则,fsolve
默认为反向广告。
请注意
使用自动衍生品问题的转换prob2struct
,通过选项指定这些衍生品。
选择= optimoptions (“fmincon”,“SpecifyObjectiveGradient”,真的,…“SpecifyConstraintGradient”,真正的);问题。选项=选项;
目前,广告作品只有一阶导数;它并不适用于第二或高阶导数。举个例子,如果你想使用一个分析黑森速度优化,您不能使用解决
直接,而且必须用描述的方法提供衍生品运用工作流。
扩展功能
自动并行支持万博1manbetx
加速代码通过自动运行并行计算使用并行计算工具箱™。
解决
估计衍生品在并行非线性动力学UseParallel
解算器的选择真正的
。例如,
选择= optimoptions (“fminunc”,“UseParallel”,真正的);[溶胶,fval] =解决(x0,概率“选项”选项)
解决
不使用并行导数估计当所有目标和非线性约束函数只包含支持的操作,所述万博1manbetx万博1manbetx支持操作优化变量和表达式。在这种情况下,解决
使用自动微分计算衍生品。看到自动分化。
您可以覆盖自动分化和使用并行有限差分估计通过设置“ObjectiveDerivative”
和“ConstraintDerivative”
参数有限差分的
。
当你指定一个全局优化工具箱支持并行计算的解算器(万博1manbetx遗传算法
(全局优化工具箱),particleswarm
(全局优化工具箱),patternsearch
(全局优化工具箱),surrogateopt
(全局优化工具箱)),解决
当并行计算UseParallel
解算器的选择真正的
。例如,
选择= optimoptions (“patternsearch”,“UseParallel”,真正的);[溶胶,fval] =解决(x0,概率“选项”选项,“规划求解”,“patternsearch”)
版本历史
介绍了R2017bR2018b:解决(问题解决者)
,解决(问题、期权)
,解决(问题解决者,选项)
语法已被移除
选择选项或潜在的解决者解决
,使用名称-值对。例如,
索尔=解决(概率,“选项”选择,“规划求解”,“quadprog”);
以前的语法并不灵活,标准,或可扩展的名称-值对。
Beispiel offnen
您有一张这本Beispiels geanderte版本。您这本Beispiel麻省理工学院古老Anderungen offnen吗?
MATLAB-Befehl
您有窗户的链接geklickt,汪汪汪der diesem MATLAB-Befehl entspricht:
在das MATLAB-Befehlsfenster Fuhren您窝Befehl军队Eingabe来自。浏览器unterstutzen MATLAB-Befehle。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。