Choosing Sub-Solvers

The design of the AMP solver requires a variety of programming problems to be solved underneath the surface. For algorithmic performance, it's recommend that dedicated solvers to be used for these operations. The design of AMP takes advantage of MathProgBase to allow a majority of optimization softwares to be utilized easily with simple development. Currently, the following sub-solvers with Julia Interface is supported by AMP:

SolverJulia Package
CPLEXCPLEX.jl
CbcCbc.jl
GurobiGurobi.jl
IpoptIpopt.jl
BonminBonmin.jl
Artelys KNITROKNITRO.jl

As the development of AMP contineous, supports fo Mosek, GLPK, NLopt, Xpress is already scheduled for the roadmap.

To use different sub-solvers, here is an example:

    using JuMP
    using Alpine
    using Gurobi, Ipopt
    m = Model()
    # Here goes the building of your model...
    setsolver(m, AlpineSolver(nlp_solver=IpoptSolver(print_level=0), mip_solver=GurobiSolver(OutputFlag=0)))