主要内容

optimoptions

创建优化选项

描述

例子

选项= optimoptions (SolverName)返回一组默认的选项SolverName解算器。

例子

选项= optimoptions (SolverName,名称,值)返回选项使用指定的参数设置使用一个或多个参数名称-值对。

例子

选项= optimoptions (oldoptions,名称,值)返回一个副本oldoptions用指定的值命名参数的改变。

例子

选项= optimoptions (SolverName,oldoptions)返回默认选项SolverName解算器,本适用的选项oldoptions选项

例子

选项= optimoptions (概率)返回一组默认的选项概率优化问题或方程问题。

选项= optimoptions (概率,名称,值)返回与指定参数设置使用一个或多个选项名称-值对参数。

例子

全部折叠

创建默认的选项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”)

增加MaxFunctionEvaluations2000通过使用点符号。

选项。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

输入参数

全部折叠

解算器名称,指定为一个特征向量,字符串,或函数处理。

例子:“fmincon”

例子:@fmincon

数据类型:字符|function_handle|字符串

选择创建的optimoptions函数,指定为选择对象。

例子:oldoptions = optimoptions (@fminunc)

问题对象,指定为一个OptimizationProblem对象或一个EquationProblem对象。创建概率使用具体问题具体分析优化工作流程具体问题具体分析工作流求解方程

语法的使用概率让你确定的默认解决你的问题和修改算法或其他选项。

例子:概率= optimproblem(“目标”,myobj),在那里myobj是一种优化表达式

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:optimoptions (@fmincon‘显示’,‘iter’,‘FunctionTolerance’, 1平台以及)fmincon迭代显示和选项FunctionTolerance1平台以及

对于相关的名称-值对参数,请查阅选项表为你解算器:

输出参数

全部折叠

优化选项SolverName解算器,作为一个选项对象返回。

选择功能

住编辑任务

优化住可视化编辑器任务让你设置选项。例如,看到的优化现场编辑任务fmincon解算器

扩展功能

版本历史

介绍了R2013a