optimoptions
创建优化选项
语法
描述
返回一组默认的选项选项
= optimoptions (SolverName
)SolverName
解算器。
返回选项
= optimoptions (SolverName
,名称,值
)选项
使用指定的参数设置使用一个或多个参数名称-值对。
返回一个副本选项
= optimoptions (oldoptions
,名称,值
)oldoptions
用指定的值命名参数的改变。
返回默认选项选项
= optimoptions (SolverName
,oldoptions
)SolverName
解算器,本适用的选项oldoptions
来选项
。
例子
创建默认选项
创建默认的选项fmincon
解算器。
选择= optimoptions (“fmincon”)
选项= fmincon选项:选择当前使用的算法(“内点”):(其他可用的算法:“激活集”、“sqp”,“sqp-legacy”,“trust-region-reflective”)设置属性:任何选项设置。默认属性:算法:“内点”BarrierParamUpdate:“单调”CheckGradients: 0 ConstraintTolerance: 1.0000 e-06显示:“最终”EnableFeasibilityMode: 0 FiniteDifferenceStepSize:“sqrt (eps)”FiniteDifferenceType:“向前”HessianApproximation:“蓄热”HessianFcn: [] HessianMultiplyFcn: [] HonorBounds: 1 MaxFunctionEvaluations: 3000 MaxIterations: 1000 ObjectiveLimit: -1.0000 e + 20 OptimalityTolerance: 1.0000 e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 SpecifyConstraintGradient: 0 SpecifyObjectiveGradient: 0 StepTolerance: 1.0000平台以及SubproblemAlgorithm:“分解”TypicalX:“(numberOfVariables, 1)的”UseParallel: 0显示选项不习惯目前的算法(“内点”)
创建默认的选项
设置选项fmincon
使用sqp
算法和最多1500次迭代。
选择= optimoptions (@fmincon,“算法”,“sqp”,“MaxIterations”,1500)
选项= fmincon选项:选择当前使用的算法(sqp):(其他可用的算法:“激活集”、“内点”,“sqp-legacy”,“trust-region-reflective”)设置属性:算法:“sqp”MaxIterations: 1500默认属性:CheckGradients: 0 ConstraintTolerance: 1.0000 e-06显示:“最终”FiniteDifferenceStepSize:“sqrt (eps)”FiniteDifferenceType:“向前”MaxFunctionEvaluations:‘100 * numberOfVariables ObjectiveLimit: -1.0000 e + 20 OptimalityTolerance: 1.0000 e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 SpecifyConstraintGradient: 0 SpecifyObjectiveGradient: 0 StepTolerance: 1.0000 e-06 TypicalX:“(numberOfVariables, 1)的”UseParallel: 0显示选项不习惯目前的算法(sqp)
更新选项
更新现有的选项和新的值。
设置选项lsqnonlin
解算器使用levenberg-marquardt
算法和最多1500功能评估
oldoptions = optimoptions (@lsqnonlin,“算法”,“levenberg-marquardt”,…“MaxFunctionEvaluations”,1500)
oldoptions = lsqnonlin选项:选择当前使用的算法(levenberg-marquardt):(其他可用的算法:“trust-region-reflective”)设置属性:算法:“levenberg-marquardt”MaxFunctionEvaluations: 1500默认属性:CheckGradients: 0显示:“最终”FiniteDifferenceStepSize:“sqrt (eps)”FiniteDifferenceType:“向前”FunctionTolerance: 1.0000 e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000 e-06 TypicalX:“(numberOfVariables, 1)的”UseParallel: 0显示选项不习惯目前的算法(“levenberg-marquardt”)
增加MaxFunctionEvaluations
到2000年。
选择= optimoptions (oldoptions,“MaxFunctionEvaluations”,2000)
选项= lsqnonlin选项:选择当前使用的算法(levenberg-marquardt):(其他可用的算法:“trust-region-reflective”)设置属性:算法:“levenberg-marquardt”MaxFunctionEvaluations: 2000默认属性:CheckGradients: 0显示:“最终”FiniteDifferenceStepSize:“sqrt (eps)”FiniteDifferenceType:“向前”FunctionTolerance: 1.0000 e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000 e-06 TypicalX:“(numberOfVariables, 1)的”UseParallel: 0显示选项不习惯目前的算法(“levenberg-marquardt”)
使用点符号更新选项
更新现有的选项和新的值通过使用点符号。
设置选项lsqnonlin
解算器使用levenberg-marquardt
算法和最多1500功能评估
选择= optimoptions (@lsqnonlin,“算法”,“levenberg-marquardt”,…“MaxFunctionEvaluations”,1500)
选项= lsqnonlin选项:选择当前使用的算法(levenberg-marquardt):(其他可用的算法:“trust-region-reflective”)设置属性:算法:“levenberg-marquardt”MaxFunctionEvaluations: 1500默认属性:CheckGradients: 0显示:“最终”FiniteDifferenceStepSize:“sqrt (eps)”FiniteDifferenceType:“向前”FunctionTolerance: 1.0000 e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000 e-06 TypicalX:“(numberOfVariables, 1)的”UseParallel: 0显示选项不习惯目前的算法(“levenberg-marquardt”)
增加MaxFunctionEvaluations
2000通过使用点符号。
选项。MaxFunctionEvaluations = 2000
选项= lsqnonlin选项:选择当前使用的算法(levenberg-marquardt):(其他可用的算法:“trust-region-reflective”)设置属性:算法:“levenberg-marquardt”MaxFunctionEvaluations: 2000默认属性:CheckGradients: 0显示:“最终”FiniteDifferenceStepSize:“sqrt (eps)”FiniteDifferenceType:“向前”FunctionTolerance: 1.0000 e-06 MaxIterations: 400 OutputFcn: [] PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000 e-06 TypicalX:“(numberOfVariables, 1)的”UseParallel: 0显示选项不习惯目前的算法(“levenberg-marquardt”)
选择复制到另一个解算器
默认的选项fmincon
解算器选项fminunc
解算器。
设置选项fmincon
用sqp算法和最多1500次迭代。
oldoptions = optimoptions (@fmincon,“算法”,“sqp”,“MaxIterations”,1500)
oldoptions = fmincon选项:选择当前使用的算法(sqp):(其他可用的算法:“激活集”、“内点”,“sqp-legacy”、“trust-region-reflective”)设置属性:算法:“sqp”MaxIterations: 1500默认属性:CheckGradients: 0 ConstraintTolerance: 1.0000 e-06显示:“最终”FiniteDifferenceStepSize:“sqrt (eps)”FiniteDifferenceType:“向前”MaxFunctionEvaluations:‘100 * numberOfVariables ObjectiveLimit: -1.0000 e + 20 OptimalityTolerance: 1.0000 e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 SpecifyConstraintGradient: 0 SpecifyObjectiveGradient: 0 StepTolerance: 1.0000 e-06 TypicalX:“(numberOfVariables, 1)的”UseParallel: 0显示选项不习惯目前的算法(sqp)
转让适用的选项fminunc
解算器。
选择= optimoptions (@fminunc oldoptions)
选项= fminunc选项:选择当前使用的算法(“拟牛顿”):(其他可用的算法:“信赖域”)设置属性:CheckGradients: 0 FiniteDifferenceType:“向前”MaxIterations: 1500 OptimalityTolerance: 1.0000 e-06 PlotFcn: [] SpecifyObjectiveGradient: 0 StepTolerance: 1.0000 e-06默认属性:算法:“拟牛顿”显示:“最终”FiniteDifferenceStepSize:“sqrt (eps)”HessianApproximation:“蓄热”MaxFunctionEvaluations:‘100 * numberOfVariables ObjectiveLimit: -1.0000 e + 20 OutputFcn: [] TypicalX:“(numberOfVariables, 1)的”UseParallel: 0显示选项不习惯目前的算法(“拟牛顿”)
该算法选择不转移fminunc
因为“sqp”
不是一个有效的算法选择fminunc
。
寻找优化问题解决者和默认的选项
创建一个优化问题,找到默认的解算器和选项。
rng默认的x = optimvar (“x”3,下界的,0);expr = x ' *(眼(3)+ randn (3)) * x - randn (1、3) * x;概率= optimproblem (“目标”,expr);选项= optimoptions(概率)
选项= quadprog选项:选择当前使用的算法(interior-point-convex):(其他可用的算法:“激活集”、“trust-region-reflective”)设置属性:任何选项设置。默认属性:算法:“interior-point-convex”ConstraintTolerance: 1.0000 e-08显示:“最终”LinearSolver:“汽车”MaxIterations: 200 OptimalityTolerance: 1.0000 e-08 StepTolerance: 1.0000 e-12显示选项不习惯目前的算法(“interior-point-convex”)
默认的解算器quadprog
。
使用迭代显示设置选项。找到解决方案。
选项。显示=“通路”;索尔=解决(概率,“选项”、选择);
使用quadprog解决问题。你的黑森不是对称的。重置H = (H + H) / 2。Iter Fval原始Infeas双重Infeas互补0 2.018911 0.000000 e + e + 00 00 2.757660 e + 00 6.535839 e-01 1 -2.170204 2.586177 8.881784 0.000000 e + e + 00 00 e-16 e-01 2 -3.405808 8.881784 0.000000 e + e + 00 00 e-16 2.244054 e 03 3 -3.438788 7.261144 3.356690 0.000000 e + e + 00 00 e-16 e-09最低发现满足约束。优化完成,因为目标函数中引入可行的方向,在最优值的宽容,和约束满足约束的值公差内。
sol.x
ans =3×11.6035 0.0000 0.8029
输入参数
SolverName
- - - - - -解算器名称
特征向量|字符串|函数处理
解算器名称,指定为一个特征向量,字符串,或函数处理。
例子:“fmincon”
例子:@fmincon
数据类型:字符
|function_handle
|字符串
oldoptions
- - - - - -选择创建optimoptions
选择对象
选择创建的optimoptions
函数,指定为选择对象。
例子:oldoptions = optimoptions (@fminunc)
概率
- - - - - -问题的对象
OptimizationProblem
对象|EquationProblem
对象
问题对象,指定为一个OptimizationProblem
对象或一个EquationProblem
对象。创建概率
使用具体问题具体分析优化工作流程或具体问题具体分析工作流求解方程。
语法的使用概率
让你确定的默认解决你的问题和修改算法或其他选项。
例子:概率= optimproblem(“目标”,myobj)
,在那里myobj
是一种优化表达式
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:optimoptions (@fmincon‘显示’,‘iter’,‘FunctionTolerance’, 1平台以及)
集fmincon
迭代显示和选项FunctionTolerance
的1平台以及
。
对于相关的名称-值对参数,请查阅选项表为你解算器:
输出参数
选项
——优化选项
选择对象
优化选项SolverName
解算器,作为一个选项对象返回。
选择功能
住编辑任务
的优化住可视化编辑器任务让你设置选项。例如,看到的优化现场编辑任务fmincon解算器。
扩展功能
版本历史
介绍了R2013a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。