Main Content

Choose MINLP Solvers for Portfolio Problems

The following sections list the type of Mixed Integer Nonlinear Programming (MINLP) solvers that you can select to find the solution to different portfolio problems using a Portfolio, PortfolioCVaR, or PortfolioMAD object. You can set the solvers using setSolverMINLP, where the first input argument, solverTypeMINLP, is one of the solvers listed in the tables that follow.

Problems with Cardinality Constraints and/or Conditional Bounds Without Tracking Error Constraints

When solving a mixed-integer problem that uses a Portfolio, PortfolioCVaR, or PortfolioMAD object with cardinality constraints (see setMinMaxNumAssets) and/or conditional bounds (see setBounds), but without tracking error constraints (see setTrackingError), use these solvers with setSolverMINLP:

  Available Solvers (Use setSolverMINLP to specify the solver)
Portfolio ProblemUse Function:Portfolio ObjectPortfolioCVaR ObjectPortfolioMAD Object
Estimate efficient frontierestimateFrontier(p)

(See estimateFrontier)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Minimize risk without return constraintestimateFrontierLimits(p,'min')

(See estimateFrontierLimits)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Maximize return without risk constraintestimateFrontierLimits(p,'max')

(See estimateFrontierLimits)

intlinprog

Use IntMainSolverOptions name-value argument to control intlinprog options.

intlinprog

Use IntMainSolverOptions name-value argument to control intlinprog options.

intlinprog

Use IntMainSolverOptions name-value argument to control intlinprog options.

Minimize risk subject to a return constraintestimateFrontierByReturn(p,returnTarget)

(See estimateFrontierByReturn)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Maximize return subject to a risk constraintestimateFrontierByRisk(p,riskTarget)

(See estimateFrontierByRisk)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Maximize Sharpe ratioestimateMaxSharpeRatio(p)

(See estimateMaxSharpeRatio)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Optimize custom linear objectiveestimateCustomObjectivePortfolio(p,linFun)

(See estimateCustomObjectivePortfolio)

intlinprog

Use IntMainSolverOptions name-value argument to control intlinprog options.

Not supportedNot supported
Optimize custom quadratic objectiveestimateCustomObjectivePortfolio(p,quadFun)

(See estimateCustomObjectivePortfolio)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

Not supportedNot supported
Optimize custom nonlinear nonquadratic objectiveestimateCustomObjectivePortfolio(p,NLFun)

(See estimateCustomObjectivePortfolio)

  • ExtendedCP

  • OuterApproximation (default)

  • TrustRegionCP

Not supportedNot supported

Problems with Cardinality Constraints and/or Conditional Bounds With Tracking Error Constraints

When solving a mixed-integer problem that uses a Portfolio, PortfolioCVaR, or PortfolioMAD object with cardinality constraints (see setMinMaxNumAssets) and/or conditional bounds (see setBounds), and with tracking error constraints (see setTrackingError), use these solvers with setSolverMINLP:

  Available Solvers (Use setSolverMINLP to specify the solver)
Portfolio ProblemUse Function:Portfolio ObjectPortfolioCVaR ObjectPortfolioMAD Object
Estimate efficient frontierestimateFrontier(p)

(See estimateFrontier)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Minimize risk without return constraintestimateFrontierLimits(p,'min')

(See estimateFrontierLimits)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Maximize return without risk constraintestimateFrontierLimits(p,'max')

(See estimateFrontierLimits)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Minimize risk subject to a return constraintestimateFrontierByReturn(p,returnTarget)

(See estimateFrontierByReturn)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Maximize return subject to a risk constraintestimateFrontierByRisk(p,riskTarget)

(See estimateFrontierByRisk)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Maximize Sharpe ratioestimateMaxSharpeRatio(p)

(See estimateMaxSharpeRatio)

  • ExtendedCP

  • OuterApproximation (default)

    Supports extended formulation using the name-value argument ExtendedFormulation.

  • TrustRegionCP

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

  • ExtendedCP

  • OuterApproximation

  • TrustRegionCP (default)

Optimize custom objectiveestimateCustomObjectivePortfolio(p,linFun)

(See estimateCustomObjectivePortfolio)

Not supportedNot supportedNot supported

See Also

| |

Related Examples

More About

External Websites