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 = trueverbose :: Bool = truewarmstart :: Bool = falsesilent_solver :: Bool = true
For details, see Convex.jl docs.
CVChannel.hasMOSEKLicense — FunctionhasMOSEKLicense() :: BoolReturns 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.