MATLAB-在optimoptions和optimset之间进行选择 Choose Between optimoptions and optimset

Choose Between optimoptions and optimset
在optimoptions和optimset之间进行选择
原文链接:https://ww2.mathworks.cn/help/optim/ug/optimoptions-and-optimset.html
可使用网页自带的微软翻译进行翻译,加粗表示有二级菜单。

以前, 建议的设置选项的方法是使用optimset。现在的一般建议是使用optimoptions, 下面列出了一些注意事项。

optimset依旧有效, 并且它是为求解器设置选项的唯一方法, 这些选项在没有Optimization Toolbox优化工具箱™许可证的情况下可用: fminbnd、 fminsearch、 fzero和lsqnonneg.

注意
其他一些工具箱使用优化选项, 并要求您传入optimset集 (而不是optimoptions创建的选项。检查工具箱的文档。、

optimoptions通过求解器组织选项, 比optimset更有针对性和更全面的显示:

  1. 仅创建和修改应用于求解器的选项
  2. 显示特定算法的选项选择和默认值
  3. 显示有关求解器选项和其他可用求解器算法的详细信息的链接

intlinprog仅使用optimoptions。

创建选项的主要区别在于:

  1. 对于optimoptions, 可以将求解器名称作为第一个参数。
options = optimoptions(SolverName,Name,Value,...)
  1. 对于optimset, 语法不包括求解器名称。
options = optimset(Name,Value,...)

在这两种情况下, 都可以使用点表示法查询或更改选项。请参阅 Set and Change Options设置和更改选项View Options查看选项.

例如,optimoptions的显示与optimset的显示进行比较.

options = optimoptions(@fminunc,'SpecifyObjectiveGradient',true)

options = 

  fminunc options:

   Options used by current Algorithm ('trust-region'):
   (Other available algorithms: 'quasi-newton')

   Set properties:
    SpecifyObjectiveGradient: 1

   Default properties:
                   Algorithm: 'trust-region'
              CheckGradients: 0
                     Display: 'final'
    FiniteDifferenceStepSize: 'sqrt(eps)'
        FiniteDifferenceType: 'forward'
           FunctionTolerance: 1.0000e-06
                  HessianFcn: []
          HessianMultiplyFcn: []
      MaxFunctionEvaluations: '100*numberOfVariables'
               MaxIterations: 400
         OptimalityTolerance: 1.0000e-06
                   OutputFcn: []
                     PlotFcn: []
               StepTolerance: 1.0000e-06
         SubproblemAlgorithm: 'cg'
                    TypicalX: 'ones(numberOfVariables,1)'

   Show options not used by current Algorithm ('trust-region')



options = optimset('GradObj','on')
options = 

  struct with fields:

                   Display: []
               MaxFunEvals: []
                   MaxIter: []
                    TolFun: []
                      TolX: []
               FunValCheck: []
                 OutputFcn: []
                  PlotFcns: []
           ActiveConstrTol: []
                 Algorithm: []
    AlwaysHonorConstraints: []
           DerivativeCheck: []
               Diagnostics: []
             DiffMaxChange: []
             DiffMinChange: []
            FinDiffRelStep: []
               FinDiffType: []
         GoalsExactAchieve: []
                GradConstr: []
                   GradObj: 'on'
                   HessFcn: []
                   Hessian: []
                  HessMult: []
               HessPattern: []
                HessUpdate: []
          InitBarrierParam: []
     InitTrustRegionRadius: []
                  Jacobian: []
                 JacobMult: []
              JacobPattern: []
                LargeScale: []
                  MaxNodes: []
                MaxPCGIter: []
             MaxProjCGIter: []
                MaxSQPIter: []
                   MaxTime: []
             MeritFunction: []
                 MinAbsMax: []
        NoStopIfFlatInfeas: []
            ObjectiveLimit: []
      PhaseOneTotalScaling: []
            Preconditioner: []
          PrecondBandWidth: []
            RelLineSrchBnd: []
    RelLineSrchBndDuration: []
              ScaleProblem: []
                   Simplex: []
       SubproblemAlgorithm: []
                    TolCon: []
                 TolConSQP: []
                TolGradCon: []
                    TolPCG: []
                 TolProjCG: []
              TolProjCGAbs: []
                  TypicalX: []
               UseParallel: []
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中,optimset函数用于设置优化器的选项。它可以通过不同的方式调用,比如optimset(Name,Value),optimset(optimfun),optimset(oldopts,Name,Value),optimset(oldopts,newopts)等。这个函数的作用是为优化器提供各种选项,以便更好地控制优化过程。例如,可以使用optimset('GradObj', 'on')来设置梯度信息可用,或者optimset('Display','iter','TolFun',1e-8)来设置显示迭代过程并设置目标函数收敛的容差值为1e-8。需要注意的是,optimset函数使用的是与fminunc和fminsearchMatlab函数相同的接口和选项。当优化工具箱不可用时,也可以使用一个简单的结构体来替代optimset函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [matlaboptimset的用法](https://blog.csdn.net/qq_45920973/article/details/119895069)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Fast Limited Memory Optimizer:准牛顿有限内存BFGS和针对大量未知数的最陡峭的优化器-matlab开发](https://download.csdn.net/download/weixin_38690089/19290907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [非线性优化-matlab函数库-optimset](https://blog.csdn.net/weixin_35285401/article/details/115845897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值