def main():
    logger.info('Starting...')

    file_path = DATASETS_PATH / 'cordeau-laporte' / 'a2-16.txt'

    solver = jit.Solver(
        loader_kwargs={
            'file_path': file_path,
        },
        algorithm=jit.MilpAlgorithm,
        algorithm_kwargs={
            # 'solver': lp.XPRESS(msg=1, path=str(BASE_PATH / 'tmp' / 'xpressmp' / 'bin' / 'optimizer')),
            # 'solver': lp.GUROBI_CMD(msg=1),
            # 'solver': lp.CPLEX_CMD(msg=1, path=str(BASE_PATH / 'tmp' / 'cplex' / 'bin' / 'x86-64_osx' / 'cplex')),
            'solver': lp.SCIP(msg=1),
            # 'solver' :lp.PULP_CBC_CMD(msg=1, threads=4),
        },
        storer=jit.StorerSet,
        storer_kwargs={
            'storer_cls_set': {
                jit.PromptStorer,
                jit.GraphPlotStorer,
            },
        })
    result = solver.solve()  # noqa

    logger.info('Finished...')
Ejemplo n.º 2
0
 def test_scip(self, ilp):
     """Test method for SCIP."""
     try:
         ilp.solve(pulp.SCIP())
         assert round(pulp.value(ilp.objective), 0) == 5
     except pulp.solvers.PulpSolverError:
         pytest.fail(f"Solver not installed")
Ejemplo n.º 3
0
    def _get_solver(solver_name, timelimit):
        if solver_name == "cplex":
            return pulp.CPLEX_PY(msg=0, timeLimit=timelimit)
        elif solver_name == "gurobi":
            return pulp.GUROBI(msg=0, timeLimit=timelimit)
        elif solver_name == "glpk":
            return pulp.GLPK(msg=0, options=["--tmlim", str(timelimit)])
        elif solver_name == "cbc":
            return pulp.COIN(msg=0, maxSeconds=timelimit)
        elif solver_name == "scip":
            return pulp.SCIP(msg=0,
                             options=["-c", f"set limits time {timelimit}"])

        raise ValueError("Invalid Solver Name")