主要内容

选择和控制PortfolioVar优化的解算器

解决产品组合优化时portfoliocvar.对象,您正在解决具有非线性目标或非线性约束的非线性优化问题。你可以用'信任区域cp'(默认),'ExtendedCP', 或者'切割平面'实现Kelley的割平面方法的解算器(参见Kelley[45]第投资组合优化)。或者,您可以使用粉刺所有的变化粉刺从优化工具箱™ 支持。使用时金宝app粉刺作为解算器类型“sqp”是的默认算法粉刺

使用'信任区域cp''ExtendedCP',和'切割平面'levertypes.

'信任区域cp''ExtendedCP',和'切割平面'求解器具有控制数字迭代和停止公差的选项。而且,这些溶剂使用线性规划问题作为主求解器,所有线性规划问题使用选项金宝app优化选择结构。所有这些选项都使用设置溶剂

例如,您可以使用设置溶剂增加迭代次数'信任区域cp'

p=组合变量;p=设置溶剂(p,'信任区域cp''maxtations',2000);显示(p.solvertype)显示(p.solveroptions)
TRUSTREGIONCP MAXITERATIONS:2000 Absolutegapolerance:1.0000E-07相对凝视:1.0000E-05非线性部件:1000 orderSolveroftor:1000 MasterSolverOptions:[1×1 Optim.Options.linprog]显示:'关闭'Cutgeneration:'Basic'MaxIrtationSinActiveCeCut:1.0000 ActiveCuttolerance:1.0000E-07 Shrinkratio:0.7500史史术(TrustrigonStartInteration:2 Deltalimit:1

更改主求解器算法'内部点',没有显示,使用设置溶剂修改'主解决方案'

p = portfoliocvar;选项= Optimoptions('linprog''算法''内部点''显示''关闭'); p=设置溶剂(p,'信任区域cp''主解决方案',选项);显示(p.solverType)显示(p.solverOptions)显示(p.solverOptions.MasterSolverOptions.Algorithm)显示(p.solverOptions.MasterSolverOptions.display)
trustregioncp MaxIterations:1000绝对公差:1.0000e-07相对公差:1.0000e-05非线性比例因子:1000目标比例因子:1000主解决方案选项:[1×1 optim.options.Linprog]显示:“关闭”剪切生成:“基本”MaxIterationInactiveCut:30活动剪切公差:1.0000e-07收缩率:0.7500TrustRegionStartIteration:2 DeltLimit:关闭1个内部点

使用'fmincon'公司解算器类型

不像优化工具箱使用内部点算法作为的默认算法粉刺一类投资组合优化问题portfoliocvar.对象使用sqp公司算法。有关的详细信息粉刺以及约束非线性优化算法和选项,请参见约束非线性优化算法

修改粉刺CVaR投资组合优化选项,使用设置溶剂设置隐藏属性解算器类型leveroptions.指定和控制解算器(请注意,您可以通过创建虚拟对象来查看默认选项portfoliocvar.对象,使用p = portfoliocvar.然后键入P.Solveroptions.。)由于隐藏了这些求解器属性,因此您无法使用该求解器portfoliocvar.对象。的默认值粉刺求解器是使用sqp公司算法目标函数,梯度打开,没有显示输出,所以您不需要使用设置溶剂指定sqp公司算法。

p=组合变量;p=设置溶剂(p,'fmincon'公司);显示(P.SolverOptions)
fmincon options:当前算法('sqp')使用的选项:(其他可用算法:'active set'、'interior point'、'sqp legacy',“trust region reflective”)设置属性:算法:“sqp”约束公差:1.0000e-08显示:“off”优化公差:1.0000e-08指定约束公差:1指定目标公差:1步长公差:1.0000e-08默认属性:CheckGradients:0 FiniteDifferenceStepSize:“sqrt(eps)”FiniteDifferenceType:“forward”MaxFunctionEvaluations:'100*numberOfVariables'最大迭代次数:400 ObjectiveLimit:-1.0000e+20 OutputFcn:[]PlotFcn:[]ScaleProblem:0 TypicalX:'ones(numberOfVariables,1)'UseParallel:0

如果要指定与之关联的其他选项粉刺求解器,设置溶剂接受这些选项作为名称 - 值对参数。例如,如果要使用粉刺'活动集'在没有显示输出的情况下,使用设置溶剂和:

p=组合变量;p=设置溶剂(p,'fmincon'公司'算法''活动集''显示''关闭'); 显示(p.solverOptions.Algorithm)显示(p.solverOptions.display)
主动抵销

或者,设置溶剂接受A.优化选择Optimization工具箱中的对象作为第二个参数。例如,您可以将算法更改为'信任区域'没有显示的输出,如下所示:

p = portfoliocvar;选项= Optimoptions('fmincon'公司'算法''信任区域''显示''关闭'); p=设置溶剂(p,'fmincon'公司,选项);显示(p.solverOptions.Algorithm)显示(p.solverOptions.display)
信任区域 - 反思

使用混合整数非线性编程(MINLP)求解器

混合整数非线性规划(MINLP)求解器,使用setsolverminlp.,使您可以指定用于组合优化的关联求解器选项portfoliocvar.对象。MINLP解算器用于'条件'边界类型minnumassets., 或者maxnumassets.约束是活动的。在这种情况下,通过添加制定组合问题numassets.二进制变量,在哪里0.表明未投入,而且1投资。有关使用的详细信息'条件'边界类型, 看setBound.. 有关指定的详细信息minnumassets.maxnumassets., 看setMinMaxNumAssets集

使用时估计具有portfoliocvar.对象在哪里'条件'边界类型minnumassets., 或者maxnumassets.当约束被激活时,自动使用混合整数非线性规划(MINLP)求解器。

Portfoliocvar对象的求解器指南

下表提供了使用指南设置溶剂setsolverminlp.

portfoliocvar问题 portfoliocvar功能 优化问题的类型 主求解器 帮手求解器
没有活跃的portfoliocvar'条件'边界类型minnumassets.,和maxnumassets. 估计前沿风险 优化某些风险级别的投资组合引入了非线性约束。因此,该问题具有线性物镜,具有线性和非线性约束。 '信任区域cp''ExtendedCP''fmincon'公司, 或者'切割平面'使用设置溶剂

'linprog'使用设置溶剂

没有活跃的portfoliocvar'条件'边界类型minnumassets.,和maxnumassets. estismsfrontierbyreturn. 具有线性约束的非线性目标 '信任区域cp''ExtendedCP''fmincon'公司, 或者'切割平面'使用设置溶剂

'linprog'使用设置溶剂

没有活跃的portfoliocvar'条件'边界类型minnumassets.,和maxnumassets. 估计前沿限制

具有线性约束的非线性或线性目标

为了'min':非线性目标,'信任区域cp''ExtendedCP''fmincon'公司, 或者'切割平面'使用设置溶剂

为了'最大':线性目标,'linprog'使用设置溶剂

不适用
portfoliocvar与活跃'条件'边界类型minnumassets.,和maxnumassets. 估计前沿风险 问题是通过介绍制定的numassets.二进制变量,用于指示相应的资产是否被投资。因此,它需要一个混合整数非线性规划求解器。提供了三种类型的MINLP解算器,请参见setsolverminlp. 混合整数非线性编程求解器(MINLP)使用setsolverminlp. 'fmincon'公司使用时使用估计函数将问题简化为NLP。此解算器通过设置溶剂
portfoliocvar与活跃'条件'边界类型minnumassets.,和maxnumassets. estismsfrontierbyreturn. 问题是通过介绍制定的numassets.二进制变量,用于指示相应的资产是否被投资。因此,它需要一个混合整数非线性规划求解器。提供了三种类型的MINLP解算器,请参见setsolverminlp. 混合整数非线性编程求解器(MINLP)使用setsolverminlp. 'fmincon'公司使用时使用估计函数将问题简化为NLP。此解算器通过设置溶剂
portfoliocvar与活跃'条件'边界类型minnumassets.,和maxnumassets. 估计前沿限制 问题是通过介绍制定的numassets.二进制变量,用于指示相应的资产是否被投资。因此,它需要一个混合整数非线性规划求解器。提供了三种类型的MINLP解算器,请参见setsolverminlp. 混合整数非线性编程求解器(MINLP)使用setsolverminlp. 'fmincon'公司使用时使用估计函数将问题简化为NLP。此解算器通过设置溶剂

也可以看看

|||||||||

相关例子

更多关于

外部网站