Skip to content

Commit

Permalink
Add the Xpress Optimizer to CVXPy (cvxpy#382)
Browse files Browse the repository at this point in the history
* Introduced extra fields in XpressProblem

* add option for explicit QCQP formation

* adding IIS and name setting

* pass IIS as dictionary rather than tuple; more meaningful (and hopefully correct) name assignment to variables and constraints

* finished correspondence between original rows and transformed constraints. Same for variables and IIS

* Added transferRow as explicit member of XpressProblem

* create transfRow in any case

* removed import math

* Updating constants TROW, IIS to have an XPRESS_ prefix

* Add documentation, installation instructions, and examples for Xpress

* flake8 compliance

* Remove import xpress from root of xpress_intf.py

* Import the xpress module in functions using its members

* avoid importing xpress when defining the XPRESS class

* flake8 compliance
  • Loading branch information
merraksh authored and SteveDiamond committed Aug 9, 2017
1 parent 7985603 commit c04a346
Show file tree
Hide file tree
Showing 11 changed files with 1,094 additions and 4 deletions.
2 changes: 1 addition & 1 deletion cvxpy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from cvxpy.problems.solvers.utilities import installed_solvers
from cvxpy.error import SolverError
from cvxpy.settings import (CVXOPT, GLPK, GLPK_MI, CBC, JULIA_OPT,
ECOS, ECOS_BB, SCS, GUROBI, ELEMENTAL, MOSEK, LS,
ECOS, ECOS_BB, SCS, GUROBI, ELEMENTAL, MOSEK, LS, XPRESS,
OPTIMAL, UNBOUNDED, INFEASIBLE, SOLVER_ERROR, ROBUST_KKTSOLVER,
OPTIMAL_INACCURATE, UNBOUNDED_INACCURATE, INFEASIBLE_INACCURATE)
from cvxpy.transforms import linearize, partial_optimize, indicator
Expand Down
3 changes: 2 additions & 1 deletion cvxpy/problems/solvers/utilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,11 @@
from cvxpy.problems.solvers.mosek_intf import MOSEK
from cvxpy.problems.solvers.ls_intf import LS
from cvxpy.problems.solvers.julia_opt_intf import JuliaOpt
from cvxpy.problems.solvers.xpress_intf import XPRESS

solver_intf = [ECOS(), ECOS_BB(), CVXOPT(), GLPK(),
GLPK_MI(), CBC(), SCS(), GUROBI(),
Elemental(), MOSEK(), LS(), JuliaOpt()]
Elemental(), MOSEK(), LS(), JuliaOpt(), XPRESS()]
SOLVERS = {solver.name(): solver for solver in solver_intf}


Expand Down
Loading

0 comments on commit c04a346

Please sign in to comment.