Optimizer Interface
The CVChannel package supports SCS (default) and MOSEK backends for optimizations. SCS is open-source whereas MOSEK requires a license (free for academic institutions). To obtain a MOSEK license, please visit https://www.mosek.com/license/request/?i=acp. For convenience, all optimization problems can be run through the qsolve!
method which abstracts the backend from the optimization.
CVChannel.qsolve!
— Functionqsolve!( problem :: Problem; qsolve_kwargs..., cvx_kwargs... )
A wrapper for Convex.solve!(...)
that selects and configures the backend. The supported backends are SCS (default) and MOSEK (license required). The name qsolve!
is chosen to avoid a namespace conflict with the Convex.solve!
. This method is a featured utility for simplifying the interface with optimization software.
qsolve_kargs
:
quiet :: Bool = true
- If true, solve messages are suppressed.use_mosek :: Bool = false
- If true, MOSEK is used instead of SCS (default).
The cvx_kwargs...
are keyword arguments passed to Convex.solve!
:
check_vexity :: Bool = true
verbose :: Bool = true
warmstart :: Bool = false
silent_solver :: Bool = true
For details, see Convex.jl docs.
CVChannel.hasMOSEKLicense
— FunctionhasMOSEKLicense() :: Bool
Returns true
if a MOSEK license is found locally. The ENV
configuration is used to search for a MOSEK license in the following order:
ENV[MOSEKLMM_LICENSE_FILE]
a direct filepath to the MOSEK license.- Filepath
ENV["HOME"]/mosek/mosek.lic
- Filepath
ENV["PROFILE"]/mosek/mosek.lic
The method hasMOSEKLicense
will return true
if an expired MOSEK license is found. An error will be thrown if MOSEK is used with an expired license. To obtain a MOSEK license please visit https://www.mosek.com/license/request/?i=acp.