Commit 6281dd06 authored by Chase's avatar Chase
Browse files

edit glpk and cplex to be compatible

parent 54d0a2b2
Loading
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -13,6 +13,8 @@ import warnings

if pulp.__version__ == '2.1':
    import pulp.apis.core as solvers
    import pulp.apis.cplex_api as cplex
    import pulp.apis.glpk_api as glpk
else:
    import pulp.solvers as solvers
    warnings.warn('You are using pulp 2.0 or lower, pulp.apis.core has been changed to pulp.sovers automatically')
@@ -51,9 +53,13 @@ def solve(*, objective=None, constraints: Iterable[Constraint] = None,
        for constraint in constraints:
            problem += constraint.construct()

    if solver == 'glpk':
    if solver == 'glpk' and pulp.__version__ == '2.1':
        solver = glpk.GLPK_CMD(solvers.LpSolver(msg=verbose))
    elif solver == 'glpk' and pulp.__version__ != '2.1':
        solver = solvers.GLPK(msg=verbose)
    elif solver == 'cplex':
    elif solver == 'cplex' and pulp.__version__ == '2.1':
        solver = cplex.CPLEX_CMD(solvers.LpSolver(msg=verbose))
    elif solver == 'cplex' and pulp.__version__ != '2.1':
        solver = solvers.CPLEX(msg=verbose)
    else:
        raise ValueError(f'Unsupported solver: {solver}')