Any recommendations? For portfolio selection problem with equality and inequality constraints, and lower and upper bounds for portfolio weights.
So far, what I have tested ( I do not test commercial solver like Gurobi or CPLEX)
-
Clarabel : fast and robust, but a heavy weapon (this package eats 1G in
~/.julia
) - GeneralQP : fast and light. but an initial feasible point should be provided by user (can be obtained e.g. by performing Phase-I Simplex on the polyhedron Ax ≤ b). With this additional cost, is not as fast as Clarabel.
- QPDAS : positive-definite quadratic programming problem. Most of time fail by ‘matrix is not positive definite; Cholesky factorization failed’
- HiGHS : the QP functionality is added recently, but mostly fail on my data
-
OSQP : not Julia native, do not support
BigFloat
. The default setting should be tuned for portfolio optimization. -
COSMO : 'Solver reached iteration limit ’ for my data, have to set
max_iter=N*10000
. And we can’t install COSMO & Clarabel.jl together - RipQP: never succeed, even its examples on Tutorial · RipQP.jl