主要内容gydF4y2Ba

setSolvergydF4y2Ba

选择主解算器并指定组合优化的相关解算器选项gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

objgydF4y2Ba= setSolver (gydF4y2BaobjgydF4y2Ba,gydF4y2BasolverTypegydF4y2Ba)gydF4y2Ba选择主求解器,并使您能够指定组合优化的相关求解器选项gydF4y2Ba投资组合gydF4y2Ba,gydF4y2BaPortfolioCVaRgydF4y2Ba,或gydF4y2BaPortfolioMADgydF4y2Ba对象。有关使用这些不同对象时各自工作流的详细信息,请参见gydF4y2Ba投资组合对象工作流gydF4y2Ba,gydF4y2Ba对象工作流gydF4y2Ba,gydF4y2BaPortfolioMAD对象工作流gydF4y2Ba。gydF4y2Ba

例子gydF4y2Ba

objgydF4y2Ba= setSolver (gydF4y2BaobjgydF4y2Ba,gydF4y2BasolverTypegydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba选择主解算器,并使您能够指定相关的解算器选项,用于组合对象的组合优化,并使用一个或多个指定的附加选项gydF4y2Ba名称,值gydF4y2Ba对参数。gydF4y2Ba

例子gydF4y2Ba

objgydF4y2Ba= setSolver (gydF4y2BaobjgydF4y2Ba,gydF4y2BasolverTypegydF4y2Ba,gydF4y2BaoptimoptionsgydF4y2Ba)gydF4y2Ba选择主求解器,并使您能够为组合对象的组合优化指定关联的求解器选项gydF4y2BaoptimoptionsgydF4y2Ba对象。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

如果你使用gydF4y2BaquadproggydF4y2Ba作为gydF4y2BasolverTypegydF4y2Ba,默认为gydF4y2Bainterior-point-convexgydF4y2Ba版本的gydF4y2BaquadproggydF4y2Ba。gydF4y2Ba

负载gydF4y2BaCAPMuniversegydF4y2Bap =投资组合(gydF4y2Ba“AssetList”gydF4y2Ba、资产(1:12));p = setDefaultConstraints(p);p = setSolver(p,gydF4y2Ba“quadprog”gydF4y2Ba);显示(p.solverType);gydF4y2Ba
quadproggydF4y2Ba

你可以切换回gydF4y2BalcproggydF4y2Ba:gydF4y2Ba

p = setSolver(p,gydF4y2Ba“lcprog”gydF4y2Ba);显示(p.solverType);gydF4y2Ba
lcproggydF4y2Ba

使用gydF4y2Ba“fmincon”gydF4y2Ba随着gydF4y2BasolverTypegydF4y2Ba。gydF4y2Ba

p = PortfolioCVaR;p = setSolver(p,gydF4y2Ba“fmincon”gydF4y2Ba);显示(p.solverType);gydF4y2Ba
fmincongydF4y2Ba

使用gydF4y2Ba“fmincon”gydF4y2Ba随着gydF4y2BasolverTypegydF4y2Ba并使用名称-值对参数将算法设置为gydF4y2Ba“内点”gydF4y2Ba并关闭显示器。gydF4y2Ba

p = PortfolioCVaR;p = setSolver(p,gydF4y2Ba“fmincon”gydF4y2Ba,gydF4y2Ba“算法”gydF4y2Ba,gydF4y2Ba“内点”gydF4y2Ba,gydF4y2Ba“显示”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba);显示(p.solverOptions.Algorithm);gydF4y2Ba
内点gydF4y2Ba
显示(p.solverOptions.Display);gydF4y2Ba
从gydF4y2Ba

使用gydF4y2Ba“fmincon”gydF4y2Ba随着gydF4y2BasolverTypegydF4y2Ba并使用gydF4y2BaoptimoptionsgydF4y2Ba对象,将算法设置为gydF4y2Ba“内点”gydF4y2Ba并关闭显示器。gydF4y2Ba

p = PortfolioCVaR;选项= optimoptions(gydF4y2Ba“fmincon”gydF4y2Ba,gydF4y2Ba“算法”gydF4y2Ba,gydF4y2Ba“内点”gydF4y2Ba,gydF4y2Ba“显示”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba);p = setSolver(p,gydF4y2Ba“fmincon”gydF4y2Ba、选择);显示(p.solverOptions.Algorithm);gydF4y2Ba
内点gydF4y2Ba
显示(p.solverOptions.Display);gydF4y2Ba
从gydF4y2Ba

使用gydF4y2Ba“TrustRegionCP”gydF4y2Ba随着gydF4y2BasolverTypegydF4y2Ba使用默认选项。gydF4y2Ba

p = PortfolioCVaR;p = setSolver(p,gydF4y2Ba“TrustRegionCP”gydF4y2Ba);显示(p.solverType);gydF4y2Ba
trustregioncpgydF4y2Ba
显示(p.solverOptions);gydF4y2Ba
MaxIterations: 1000 AbsoluteGapTolerance: 1.0000 -07 RelativeGapTolerance: 1.0000 -05 NonlinearScalingFactor: 1000 ObjectiveScalingFactor: 1000 MainSolverOptions: [1x1优化.options。Linprog] Display: 'off' CutGeneration: 'basic' MaxIterationsInactiveCut: 30 activecuttolance: 1.0000 -07 ShrinkRatio: 0.7500 trustregionstarttiteration: 2 InitialDelta: 0.5000 DeltaLimit: 1000000gydF4y2Ba

使用名称-值对gydF4y2Ba“ShrinkRatio”gydF4y2Ba将信任区域的大小缩小为gydF4y2Ba0.75gydF4y2Ba。gydF4y2Ba

p = PortfolioCVaR;p = setSolver(p,gydF4y2Ba“TrustRegionCP”gydF4y2Ba,gydF4y2Ba“ShrinkRatio”gydF4y2Ba, 0.75);显示(p.solverType);gydF4y2Ba
trustregioncpgydF4y2Ba
显示(p.solverOptions);gydF4y2Ba
MaxIterations: 1000 AbsoluteGapTolerance: 1.0000 -07 RelativeGapTolerance: 1.0000 -05 NonlinearScalingFactor: 1000 ObjectiveScalingFactor: 1000 MainSolverOptions: [1x1优化.options。Linprog] Display: 'off' CutGeneration: 'basic' MaxIterationsInactiveCut: 30 activecuttolance: 1.0000 -07 ShrinkRatio: 0.7500 trustregionstarttiteration: 2 InitialDelta: 0.5000 DeltaLimit: 1000000gydF4y2Ba

对于主求解器,继续使用gydF4y2Ba对偶单纯形gydF4y2Ba算法不带显示,但将其终端容差收紧到gydF4y2Ba1 e8gydF4y2Ba。gydF4y2Ba

p = PortfolioCVaR;选项= optimoptions(gydF4y2Ba“linprog”gydF4y2Ba,gydF4y2Ba“算法”gydF4y2Ba,gydF4y2Ba对偶单纯形的gydF4y2Ba,gydF4y2Ba“显示”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba,gydF4y2Ba“OptimalityTolerance”gydF4y2Ba1 e8);p = setSolver(p,gydF4y2Ba“TrustRegionCP”gydF4y2Ba,gydF4y2Ba“MainSolverOptions”gydF4y2Ba、选择);显示器(p.solverType)gydF4y2Ba
trustregioncpgydF4y2Ba
显示器(p.solverOptions)gydF4y2Ba
MaxIterations: 1000 AbsoluteGapTolerance: 1.0000 -07 RelativeGapTolerance: 1.0000 -05 NonlinearScalingFactor: 1000 ObjectiveScalingFactor: 1000 MainSolverOptions: [1x1优化.options。Linprog] Display: 'off' CutGeneration: 'basic' MaxIterationsInactiveCut: 30 activecuttolance: 1.0000 -07 ShrinkRatio: 0.7500 trustregionstarttiteration: 2 InitialDelta: 0.5000 DeltaLimit: 1000000gydF4y2Ba
显示器(p.solverOptions.MainSolverOptions.Algorithm)gydF4y2Ba
对偶单纯形gydF4y2Ba
显示器(p.solverOptions.MainSolverOptions.Display)gydF4y2Ba
从gydF4y2Ba
显示器(p.solverOptions.MainSolverOptions.TolFun)gydF4y2Ba
100000000gydF4y2Ba

对于主求解器,使用gydF4y2Ba内点gydF4y2Ba无显示且具有终止容差的算法gydF4y2Ba1 e7gydF4y2Ba。gydF4y2Ba

p = PortfolioCVaR;选项= optimoptions(gydF4y2Ba“linprog”gydF4y2Ba,gydF4y2Ba“算法”gydF4y2Ba,gydF4y2Ba“内点”gydF4y2Ba,gydF4y2Ba“显示”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba,gydF4y2Ba“OptimalityTolerance”gydF4y2Ba1 e7);p = setSolver(p,gydF4y2Ba“TrustRegionCP”gydF4y2Ba,gydF4y2Ba“MainSolverOptions”gydF4y2Ba、选择);显示器(p.solverType)gydF4y2Ba
trustregioncpgydF4y2Ba
显示器(p.solverOptions)gydF4y2Ba
MaxIterations: 1000 AbsoluteGapTolerance: 1.0000 -07 RelativeGapTolerance: 1.0000 -05 NonlinearScalingFactor: 1000 ObjectiveScalingFactor: 1000 MainSolverOptions: [1x1优化.options。Linprog] Display: 'off' CutGeneration: 'basic' MaxIterationsInactiveCut: 30 activecuttolance: 1.0000 -07 ShrinkRatio: 0.7500 trustregionstarttiteration: 2 InitialDelta: 0.5000 DeltaLimit: 1000000gydF4y2Ba
显示器(p.solverOptions.MainSolverOptions.Algorithm)gydF4y2Ba
内点gydF4y2Ba
显示器(p.solverOptions.MainSolverOptions.Display)gydF4y2Ba
从gydF4y2Ba
显示器(p.solverOptions.MainSolverOptions.TolFun)gydF4y2Ba
10000000gydF4y2Ba

使用gydF4y2Ba“fmincon”gydF4y2Ba随着gydF4y2BasolverTypegydF4y2Ba。gydF4y2Ba

p = PortfolioMAD;p = setSolver(p,gydF4y2Ba“fmincon”gydF4y2Ba);显示(p.solverType);gydF4y2Ba
fmincongydF4y2Ba

使用gydF4y2Ba“fmincon”gydF4y2Ba随着gydF4y2BasolverTypegydF4y2Ba并使用名称-值对参数将算法设置为gydF4y2Ba“sqp”gydF4y2Ba并打开显示器。gydF4y2Ba

p = PortfolioMAD;p = setSolver(p,gydF4y2Ba“fmincon”gydF4y2Ba,gydF4y2Ba“算法”gydF4y2Ba,gydF4y2Ba“sqp”gydF4y2Ba,gydF4y2Ba“显示”gydF4y2Ba,gydF4y2Ba“最后一次”gydF4y2Ba);显示(p.solverOptions.Algorithm);gydF4y2Ba
sqpgydF4y2Ba
显示(p.solverOptions.Display);gydF4y2Ba
最后gydF4y2Ba

使用gydF4y2Ba“fmincon”gydF4y2Ba随着gydF4y2BasolverTypegydF4y2Ba并使用gydF4y2BaoptimoptionsgydF4y2Ba对象,将算法设置为gydF4y2Ba“trust-region-reflective”gydF4y2Ba并关闭显示器。gydF4y2Ba

p = PortfolioMAD;选项= optimoptions(gydF4y2Ba“fmincon”gydF4y2Ba,gydF4y2Ba“算法”gydF4y2Ba,gydF4y2Ba“trust-region-reflective”gydF4y2Ba,gydF4y2Ba“显示”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba);p = setSolver(p,gydF4y2Ba“fmincon”gydF4y2Ba、选择);显示(p.solverOptions.Algorithm);gydF4y2Ba
trust-region-reflectivegydF4y2Ba
显示(p.solverOptions.Display);gydF4y2Ba
从gydF4y2Ba

使用gydF4y2Ba“fmincon”gydF4y2Ba随着gydF4y2BasolverTypegydF4y2Ba并使用gydF4y2BaoptimoptionsgydF4y2Ba对象,将算法设置为gydF4y2Ba“激活集”gydF4y2Ba以及设置渐变标志gydF4y2Ba“上”gydF4y2Ba为gydF4y2Ba“GradObj”gydF4y2Ba然后关掉显示器。gydF4y2Ba

p = PortfolioMAD;选项= optimoptions(gydF4y2Ba“fmincon”gydF4y2Ba,gydF4y2Ba“算法”gydF4y2Ba,gydF4y2Ba“激活集”gydF4y2Ba,gydF4y2Ba“显示”gydF4y2Ba,gydF4y2Ba“关闭”gydF4y2Ba,gydF4y2Ba“gradobj”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba);p = setSolver(p,gydF4y2Ba“fmincon”gydF4y2Ba、选择);显示(p.solverOptions.Algorithm);gydF4y2Ba
有效集gydF4y2Ba
显示(p.solverOptions.Display);gydF4y2Ba
从gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

对象的投资组合,指定使用gydF4y2Ba投资组合gydF4y2Ba,gydF4y2BaPortfolioCVaRgydF4y2Ba,或gydF4y2BaPortfolioMADgydF4y2Ba对象。有关创建投资组合对象的更多信息,请参见gydF4y2Ba

数据类型:gydF4y2Ba对象gydF4y2Ba

用于组合优化的求解器,使用支持的字符向量或字符串指定万博1manbetxgydF4y2BasolverTypegydF4y2Ba。gydF4y2Ba

的gydF4y2BasolverTypegydF4y2BaInput参数取决于对象的类型(gydF4y2BaobjgydF4y2Ba)被用于投资组合优化。gydF4y2Ba

对于一个gydF4y2Ba投资组合gydF4y2Ba对象,支持的万博1manbetxgydF4y2BasolverTypegydF4y2Ba是:gydF4y2Ba

  • “lcprog”gydF4y2Ba(默认)。gydF4y2Ba

    • 的gydF4y2Ba“lcprog”gydF4y2Ba求解器使用线性互补规划与Lemke的算法控制变量名值对参数gydF4y2Ba“麦克斯特”gydF4y2Ba,gydF4y2Ba“抢七”gydF4y2Ba,gydF4y2Ba“tolpiv”gydF4y2Ba。欲了解更多有关gydF4y2Ba“lcprog”gydF4y2Ba名称-值对选项,参见gydF4y2Ba组合对象名称-值对参数gydF4y2Ba。gydF4y2Ba

  • “fmincon”gydF4y2Ba

    • 的默认算法gydF4y2Ba“fmincon”gydF4y2Ba是gydF4y2Ba“sqp”gydF4y2Ba。欲了解更多有关gydF4y2Ba“fmincon”gydF4y2Ba名称-值对选项,参见gydF4y2Ba组合对象名称-值对参数gydF4y2Ba。gydF4y2Ba

  • “quadprog”gydF4y2Ba

    • 的默认算法gydF4y2Ba“quadprog”gydF4y2Ba是gydF4y2Bainterior-point-convexgydF4y2Ba。欲了解更多有关gydF4y2Ba“quadprog”gydF4y2Ba名称-值对选项,参见gydF4y2Ba组合对象名称-值对参数gydF4y2Ba。gydF4y2Ba

对于一个gydF4y2BaPortfolioCVaRgydF4y2Ba对象,支持的万博1manbetxgydF4y2BasolverTypegydF4y2Ba是:gydF4y2Ba

  • “TrustRegionCP”gydF4y2Ba(默认)gydF4y2Ba

  • “ExtendedCP”gydF4y2Ba

  • “fmincon”gydF4y2Ba

  • “cuttingplane”gydF4y2Ba

    • 的gydF4y2Ba“cuttingplane”gydF4y2Ba求解器是Kelley的实现gydF4y2Ba[1]gydF4y2Ba用名称-值对参数进行凸优化的切割平面方法gydF4y2Ba“麦克斯特”gydF4y2Ba,gydF4y2Ba“Abstol”gydF4y2Ba,gydF4y2Ba“Reltol”gydF4y2Ba和gydF4y2Ba“MainSolverOptions”gydF4y2Ba。欲了解更多有关gydF4y2Ba“cuttingplane”gydF4y2Ba名称-值对选项,参见gydF4y2BaPortfolioCVaR对象名称-值对参数gydF4y2Ba。gydF4y2Ba

对于一个gydF4y2BaPortfolioMADgydF4y2Ba对象,支持的万博1manbetxgydF4y2BasolverTypegydF4y2Ba是:gydF4y2Ba

请注意gydF4y2Ba

setSolvergydF4y2Ba还可以配置求解器选项gydF4y2Ba“linprog”gydF4y2Ba。gydF4y2BalinproggydF4y2Ba是否使用辅助求解器来估计a的有效边界问题gydF4y2Ba投资组合gydF4y2Ba,gydF4y2BaPorfolioCVaRgydF4y2Ba,或gydF4y2BaPortfolioMADgydF4y2Ba对象。的默认算法gydF4y2Ba“linprog”gydF4y2Ba是gydF4y2Ba对偶单纯形的gydF4y2Ba。欲了解更多有关gydF4y2Ba“linprog”gydF4y2Ba名称-值对选项,参见gydF4y2Ba名称-值对参数gydF4y2Ba。有关使用辅助求解器的详细信息,请参见gydF4y2Ba组合对象的求解指南gydF4y2Ba,gydF4y2BaPortfolioCVaR对象的求解器指南gydF4y2Ba,或gydF4y2BaPortfolioMAD对象的求解器指南gydF4y2Ba。gydF4y2Ba

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

(可选)gydF4y2BaoptimoptionsgydF4y2Ba对象,指定为gydF4y2BaoptimoptionsgydF4y2Ba对象创建的gydF4y2BaoptimoptionsgydF4y2Ba从优化工具箱™。例如:gydF4y2Ba

p = setSolver(p,'fmincon',optimoptions('fmincon','Display','iter'));gydF4y2Ba

请注意gydF4y2Ba

optimoptionsgydF4y2Ba但是,设置求解器选项是默认和推荐的方法吗gydF4y2BaoptimsetgydF4y2Ba也支持。万博1manbetxgydF4y2Ba

数据类型:gydF4y2Ba对象gydF4y2Ba

名称-值参数gydF4y2Ba

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

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来gydF4y2Ba名字gydF4y2Ba在报价。gydF4y2Ba

例子:gydF4y2Bap = setSolver(p,'cuttingplane','MainSolverOptions',options)gydF4y2Ba集gydF4y2BacuttingplanegydF4y2Ba选项gydF4y2BaPortfolioCVaRgydF4y2Ba对象。gydF4y2Ba

取决于gydF4y2BaobjgydF4y2Ba类型(gydF4y2Ba投资组合gydF4y2Ba,gydF4y2BaPortfolioCVaRgydF4y2Ba,或gydF4y2BaPortfolioMADgydF4y2Ba)及指定的gydF4y2BasolverTypegydF4y2Ba,关联的名称-值对参数的选项是不同的。gydF4y2Ba

投资组合gydF4y2Ba对象名称-值对参数gydF4y2Ba
  • 对于一个gydF4y2Ba投资组合gydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2BalcproggydF4y2Ba,在此表中选择一个名称-值值。gydF4y2Ba

    价值gydF4y2Ba 描述gydF4y2Ba
    “麦克斯特”gydF4y2Ba

    最大迭代次数,指定为由逗号分隔的对组成的gydF4y2Ba“麦克斯特”gydF4y2Ba一个正整数。默认值为gydF4y2Ba1 +gydF4y2BangydF4y2Ba3.gydF4y2Ba,在那里gydF4y2BangydF4y2Ba是输入的维数。gydF4y2Ba

    “抢七”gydF4y2Ba

    方法来中断枢轴选择的联系,指定为由逗号分隔的对组成gydF4y2Ba“抢七”gydF4y2Ba以及以下选项之一:gydF4y2Ba

    • 第一个gydF4y2Ba—选择下标最低的枢轴。gydF4y2Ba

    • 最后的gydF4y2Ba—选择索引最高的枢轴。gydF4y2Ba

    • 随机gydF4y2Ba-随机选择一个枢轴。gydF4y2Ba

    默认值为gydF4y2Ba第一个gydF4y2Ba。gydF4y2Ba

    “tolpiv”gydF4y2Ba

    枢轴公差,低于此值的数字被认为是零,指定为由逗号分隔的对组成的gydF4y2Ba“tolpiv”gydF4y2Ba和一个数值。默认值为gydF4y2Ba1.0 e-9gydF4y2Ba。gydF4y2Ba

  • 对于一个gydF4y2Ba投资组合gydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2BafmincongydF4y2Ba,请参阅gydF4y2Ba选项gydF4y2Ba选择名称-值对参数。gydF4y2Ba

  • 对于一个gydF4y2Ba投资组合gydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2BalinproggydF4y2Ba,请参阅gydF4y2Ba选项gydF4y2Ba选择名称-值对参数。gydF4y2Ba

  • 对于一个gydF4y2Ba投资组合gydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2BaquadproggydF4y2Ba,请参阅gydF4y2Ba选项gydF4y2Ba选择名称-值对参数。gydF4y2Ba

PortfolioCVaRgydF4y2Ba对象名称-值对参数gydF4y2Ba
  • 对于一个gydF4y2BaPortfolioCVaRgydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2BafmincongydF4y2Ba,请参阅gydF4y2Ba选项gydF4y2Ba选择名称-值对参数。gydF4y2Ba

  • 对于一个gydF4y2BaPorfolioCVaRgydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2Ba“TrustRegionCP”gydF4y2Ba或gydF4y2Ba“ExtendedCP”gydF4y2Ba,请参阅gydF4y2Ba'TrustRegionCP'和'ExtendedCP'的名称-值对参数gydF4y2Ba选择名称-值对参数。gydF4y2Ba

  • 对于一个gydF4y2BaPorfolioCVaRgydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2Ba“cuttingplane”gydF4y2Ba,在该表中选择一个名称-值对值。gydF4y2Ba

    价值gydF4y2Ba 描述gydF4y2Ba
    “麦克斯特”gydF4y2Ba

    最大迭代次数,指定为由逗号分隔的对组成的gydF4y2Ba“麦克斯特”gydF4y2Ba一个正整数。默认值为gydF4y2Ba1000gydF4y2Ba。gydF4y2Ba

    “AbsTol”gydF4y2Ba

    绝对停止容差,指定为由逗号分隔的对组成gydF4y2Ba“AbsTol”gydF4y2Ba一个正标量。默认值为gydF4y2Ba1 e6gydF4y2Ba。gydF4y2Ba

    “RelTol”gydF4y2Ba

    相对停止公差,指定为由逗号分隔的对组成gydF4y2Ba“RelTol”gydF4y2Ba一个正标量。默认值为gydF4y2Ba1 e5gydF4y2Ba。gydF4y2Ba

    “MainSolverOptions”gydF4y2Ba

    主求解器的选项gydF4y2BalinproggydF4y2Ba,指定为逗号分隔的对,由gydF4y2Ba“MainSolverOptions”gydF4y2Ba和一个gydF4y2BaoptimoptionsgydF4y2Ba对象。默认为gydF4y2Baoptimoptions(“linprog”、“算法”、“对偶单纯形”,“显示”,“关闭”)gydF4y2Ba。gydF4y2Ba

  • 对于一个gydF4y2BaPortfolioCVaRgydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2BalinproggydF4y2Ba,请参阅gydF4y2Ba选项gydF4y2Ba选择名称-值对参数。gydF4y2Ba

PortfolioMADgydF4y2Ba对象名称-值对参数gydF4y2Ba
  • 对于一个gydF4y2BaPortfolioMADgydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2BafmincongydF4y2Ba,请参阅gydF4y2Ba选项gydF4y2Ba选择名称-值对参数。gydF4y2Ba

  • 对于一个gydF4y2BaPorfolioMADgydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2Ba“TrustRegionCP”gydF4y2Ba或gydF4y2Ba“ExtendedCP”gydF4y2Ba,请参阅gydF4y2Ba'TrustRegionCP'和'ExtendedCP'的名称-值对参数gydF4y2Ba选择名称-值对参数。gydF4y2Ba

  • 对于一个gydF4y2BaPortfolioMADgydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2BalinproggydF4y2Ba,请参阅gydF4y2Ba选项gydF4y2Ba选择名称-值对参数。gydF4y2Ba

的名称-值对参数gydF4y2Ba“TrustRegionCP”gydF4y2Ba和gydF4y2Ba“ExtendedCP”gydF4y2Ba

对于一个gydF4y2BaPortfolioCVaRgydF4y2Ba或gydF4y2BaPortfolioMADgydF4y2Ba对象使用gydF4y2BasolverTypegydF4y2Ba的gydF4y2Ba“TrustRegionCP”gydF4y2Ba或gydF4y2Ba“ExtendedCP”gydF4y2Ba,在该表中选择一个名称-值对值。gydF4y2Ba

价值gydF4y2Ba 描述gydF4y2Ba
“MaxIterations”gydF4y2Ba

最大迭代次数,指定为由逗号分隔的对组成的gydF4y2Ba“MaxIterations”gydF4y2Ba一个正实数。默认值为gydF4y2Ba1 e3gydF4y2Ba。gydF4y2Ba

“NonlinearScalingFactor”gydF4y2Ba

将非线性函数及其梯度按一个因子缩放,该因子指定为由逗号分隔的对组成的gydF4y2Ba“NonlinearScalingFactor”gydF4y2Ba一个正实数。默认值为gydF4y2Ba1 e3gydF4y2Ba。gydF4y2Ba

“ObjectiveScalingFactor”gydF4y2Ba

将目标函数按一个因子缩放,该因子指定为逗号分隔的对,由gydF4y2Ba“ObjectiveScalingFactor”gydF4y2Ba一个正实数。默认值为gydF4y2Ba1 e3gydF4y2Ba。gydF4y2Ba

“AbsoluteGapTolerance”gydF4y2Ba 如果近似非线性函数值和它的真实值之间的绝对差小于或等于,求解器停止gydF4y2BaAbsoluteGapTolerancegydF4y2Ba,指定为逗号分隔的对,由gydF4y2Ba“AbsoluteGapTolerance”gydF4y2Ba一个正实数。默认值为gydF4y2Ba1 e7gydF4y2Ba。gydF4y2Ba
“RelativeGapTolerance”gydF4y2Ba 如果近似非线性函数值和它的真实值之间的相对差小于或等于,求解器停止gydF4y2BaRelativeGapTolerancegydF4y2Ba,指定为逗号分隔的对,由gydF4y2Ba“RelativeGapTolerance”gydF4y2Ba一个正实数。默认值为gydF4y2Ba1 e5gydF4y2Ba。gydF4y2Ba
“显示”gydF4y2Ba 显示级别,指定为逗号分隔的对,由gydF4y2Ba“显示”gydF4y2Ba和支持的值:万博1manbetxgydF4y2Ba
  • “通路”gydF4y2Ba显示每次迭代的输出,并给出技术退出消息。gydF4y2Ba

  • “最后一次”gydF4y2Ba只显示最终输出,并给出最终的技术退出消息。gydF4y2Ba

  • “关闭”gydF4y2Ba为默认值,并且不显示输出。gydF4y2Ba

“CutGeneration”gydF4y2Ba 方法添加的剪切,指定为由逗号分隔的对组成gydF4y2Ba“CutGeneration”gydF4y2Ba和支持的值:万博1manbetxgydF4y2Ba
  • “基本”gydF4y2Ba为默认值,并在找到的最新解决方案中添加新切割。gydF4y2Ba

  • “中途岛”gydF4y2Ba是在发现的最新解与先前解之间的中点添加新切割的位置。gydF4y2Ba

“MaxIterationsInactiveCut”gydF4y2Ba 删除对最后一个不活跃的约束gydF4y2BaMaxIterationsInactiveCutgydF4y2Ba迭代,指定为逗号分隔的对,由gydF4y2Ba“MaxIterationsInactiveCut”gydF4y2Ba一个正整数。默认值为gydF4y2Ba30.gydF4y2Ba。gydF4y2Ba
“ActiveCutTolerance”gydF4y2Ba 确定切割是否处于活动状态并与gydF4y2BaMaxIterationsInactiveCutgydF4y2Ba来决定从LP子问题中删除哪些切割,指定为逗号分隔的对,由gydF4y2Ba“ActiveCutTolerance”gydF4y2Ba一个实数。默认值为gydF4y2Ba1 e7gydF4y2Ba。gydF4y2Ba
“MainSolverOptions”gydF4y2Ba 主求解器的选项gydF4y2BalinproggydF4y2Ba,指定为逗号分隔的对,由gydF4y2Ba“MainSolverOptions”gydF4y2Ba和一个gydF4y2BaoptimoptionsgydF4y2Ba对象。默认为gydF4y2Baoptimoptions(“linprog”、“算法”、“对偶单纯形”,“显示”,“关闭”)gydF4y2Ba。gydF4y2Ba
“TrustRegionStartIteration”gydF4y2Ba 该参数仅用于agydF4y2BasolverTypegydF4y2Ba的gydF4y2Ba“TrustRegionCP”gydF4y2Ba。求解器开始应用信任域启发式在gydF4y2BaTrustRegionStartIterationgydF4y2Ba。非负整数。默认是gydF4y2Ba2gydF4y2Ba。gydF4y2Ba
“ShrinkRatio”gydF4y2Ba 该参数仅用于agydF4y2BasolverTypegydF4y2Ba的gydF4y2Ba“TrustRegionCP”gydF4y2Ba。如果在前几次迭代中逼近函数不一致,算法将信任域的大小缩小一倍gydF4y2BaShrinkRatiogydF4y2Ba。非负实数之间gydF4y2Ba0gydF4y2Ba和gydF4y2Ba1gydF4y2Ba。默认是gydF4y2Ba0.75gydF4y2Ba。gydF4y2Ba
“InitialDelta”gydF4y2Ba 该参数仅用于agydF4y2BasolverTypegydF4y2Ba的gydF4y2Ba“TrustRegionCP”gydF4y2Ba。值初始化信任区域。负的真实。默认是gydF4y2Ba0.5gydF4y2Ba。gydF4y2Ba
“DeltaLimit”gydF4y2Ba 该参数仅用于agydF4y2BasolverTypegydF4y2Ba的gydF4y2Ba“TrustRegionCP”gydF4y2Ba。近似函数的信赖域为gydF4y2BaDeltaLimitgydF4y2Ba在迭代过程中。的gydF4y2BaDeltaLimitgydF4y2BaValue为非负实数,默认值为gydF4y2Ba1 e6gydF4y2Ba。gydF4y2Ba

请注意gydF4y2Ba

修改gydF4y2Ba“DeltaLimit”gydF4y2Ba可能导致解算器无法找到解。gydF4y2Ba

如果你修改gydF4y2Ba“DeltaLimit”gydF4y2Ba没有指定值gydF4y2Ba“InitialDelta”gydF4y2Ba,gydF4y2Ba“InitialDelta”gydF4y2Ba自动设置为gydF4y2BaInitialDelta”gydF4y2Ba=gydF4y2Ba“DeltaLimit”gydF4y2Ba/ 2。gydF4y2Ba

“DeltaLowerBound”gydF4y2Ba 该参数仅用于agydF4y2BasolverTypegydF4y2Ba的gydF4y2Ba“TrustRegionCP”gydF4y2Ba。使用gydF4y2Ba“DeltaLowerBound”gydF4y2Ba设置信任区域半径的下界。的gydF4y2Ba“DeltaLowerBound”gydF4y2Ba数值必须为[gydF4y2Ba0gydF4y2Ba,gydF4y2Ba1gydF4y2Ba你可以包括gydF4y2Ba0gydF4y2Ba和gydF4y2Ba1gydF4y2Ba。默认值为gydF4y2Ba0.01gydF4y2Ba。gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

更新的投资组合对象,返回为gydF4y2Ba投资组合gydF4y2Ba,gydF4y2BaPortfolioCVaRgydF4y2Ba,或gydF4y2BaPortfolioMADgydF4y2Ba对象。有关创建投资组合对象的更多信息,请参见gydF4y2Ba

提示gydF4y2Ba

还可以使用点表示法来选择求解器并指定相关的求解器选项。gydF4y2Ba

obj = obj. setsolver (solverType,Name,Value);gydF4y2Ba

算法gydF4y2Ba

为了解决投资组合的有效边界问题,投资组合优化问题的一个版本是最小化投资组合风险gydF4y2Ba风险gydF4y2Ba(gydF4y2BaxgydF4y2Ba),以目标返回为准,以及为gydF4y2Ba投资组合gydF4y2Ba,gydF4y2BaPortfolioCVaRgydF4y2Ba,或gydF4y2BaPortfolioMADgydF4y2Ba对象。有关投资组合风险与收益的定义,请参见gydF4y2Ba风险代理gydF4y2Ba和gydF4y2Ba返回代理gydF4y2Ba。gydF4y2Ba

米gydF4y2Ba 我gydF4y2Ba ngydF4y2Ba 我gydF4y2Ba 米gydF4y2Ba 我gydF4y2Ba zgydF4y2Ba egydF4y2Ba xgydF4y2Ba RgydF4y2Ba 我gydF4y2Ba 年代gydF4y2Ba kgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba 受gydF4y2Ba RgydF4y2Ba egydF4y2Ba tgydF4y2Ba ugydF4y2Ba rgydF4y2Ba ngydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba ≥gydF4y2Ba TgydF4y2Ba 一个gydF4y2Ba rgydF4y2Ba ggydF4y2Ba egydF4y2Ba tgydF4y2Ba RgydF4y2Ba egydF4y2Ba tgydF4y2Ba ugydF4y2Ba rgydF4y2Ba ngydF4y2Ba 一个gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba bgydF4y2Ba 一个gydF4y2Ba egydF4y2Ba 问gydF4y2Ba xgydF4y2Ba =gydF4y2Ba bgydF4y2Ba egydF4y2Ba 问gydF4y2Ba lgydF4y2Ba bgydF4y2Ba ≤gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba ugydF4y2Ba bgydF4y2Ba

投资组合优化问题的另一种版本使投资组合的预期收益最大化,受目标风险和为投资组合指定的其他线性约束gydF4y2Ba投资组合gydF4y2Ba,gydF4y2BaPortfolioCVaRgydF4y2Ba,或gydF4y2BaPortfolioMADgydF4y2Ba对象。gydF4y2Ba

米gydF4y2Ba 一个gydF4y2Ba xgydF4y2Ba 我gydF4y2Ba 米gydF4y2Ba 我gydF4y2Ba zgydF4y2Ba egydF4y2Ba xgydF4y2Ba RgydF4y2Ba egydF4y2Ba tgydF4y2Ba ugydF4y2Ba rgydF4y2Ba ngydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba 受gydF4y2Ba RgydF4y2Ba 我gydF4y2Ba 年代gydF4y2Ba kgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba ≤gydF4y2Ba TgydF4y2Ba 参数gydF4y2Ba egydF4y2Ba tgydF4y2Ba RgydF4y2Ba 我gydF4y2Ba 年代gydF4y2Ba kgydF4y2Ba 一个gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba bgydF4y2Ba 一个gydF4y2Ba egydF4y2Ba 问gydF4y2Ba xgydF4y2Ba =gydF4y2Ba bgydF4y2Ba egydF4y2Ba 问gydF4y2Ba lgydF4y2Ba bgydF4y2Ba ≤gydF4y2Ba xgydF4y2Ba ≤gydF4y2Ba ugydF4y2Ba bgydF4y2Ba

返回代理总是一个线性函数。因此,根据风险代理的不同,是作为目标还是约束,需要不同的求解者来解决问题。例如,gydF4y2BaquadproggydF4y2Ba适用于以二次函数为目标且只有线性约束的问题,以及gydF4y2BafmincongydF4y2Ba适用于有非线性目标或约束的问题。此外,在Financial Toolbox™中还有一些求解器适用于某些特殊类型的问题,例如gydF4y2BasolverTypegydF4y2BalcproggydF4y2Ba,gydF4y2Ba“TrustRegionCP”gydF4y2Ba,或gydF4y2Ba“ExtendedCP”gydF4y2Ba。gydF4y2Ba

参考文献gydF4y2Ba

[1]凯利,j.e.。求解凸程序的切平面法gydF4y2Ba工业与应用数学学会杂志。gydF4y2Ba第8卷第4期,1960年12月,703-712页。gydF4y2Ba

[2] Rockafellar, R. T.和S. Uryasev,“条件风险价值优化”。gydF4y2Ba风险杂志。gydF4y2Ba第2卷,第3号,春季2000年,第21-41页。gydF4y2Ba

[3] Rockafellar, R. T.和S. Uryasev“一般损失分布的条件风险值”。gydF4y2Ba银行与金融杂志。gydF4y2BaVol. 26, 2002, pp. 1443-1471。gydF4y2Ba

版本历史gydF4y2Ba

在R2011a中引入gydF4y2Ba

全部展开gydF4y2Ba