@Override protected void initializeSolver(ILPSolver xmp, InferenceVariableLexManager variableManager) { if (this.solverFactory.type == SolverType.JLISCuttingPlaneGurobi) { JLISCuttingPlaneILPSolverGurobi s = (JLISCuttingPlaneILPSolverGurobi) xmp; s.setInput(instance); s.setVariableManager(variableManager); s.setOutputGenerator(outputGenerator); } }
populateViolatedConstraints(violated); boolean constraintsSatisfied = areConstraintsSatisfied(violated); addConstraint(c); numConstraints++; populateViolatedConstraints(violated); constraintsSatisfied = areConstraintsSatisfied(violated);
timedOut = ((GurobiHook) xmp).isTimedOut(); else if (xmp instanceof JLISCuttingPlaneILPSolverGurobi) timedOut = ((JLISCuttingPlaneILPSolverGurobi) xmp).isTimedOut(); printDebugInfo(xmp, variableManager); if (xmp instanceof JLISCuttingPlaneILPSolverGurobi) ((JLISCuttingPlaneILPSolverGurobi) xmp).printModelStatus();
public ILPSolver getSolver() { switch (type) { case Beam: return new BeamSearch(beamSize); case Gurobi: return new GurobiHook(); case OJAlgo: return new OJalgoHook(); case JLISCuttingPlaneGurobi: return new JLISCuttingPlaneILPSolverGurobi(new GurobiHook()); } throw new RuntimeException(); } }
@Override protected void addConstraints(ILPSolver xmp, InferenceVariableLexManager variableManager) { Set<SRLConstraints> constraints = manager.getConstraints(); if (constraints.size() == 0) log.error("No constraints found. This can't be right."); for (SRLConstraints cc : constraints) { if (debugMode) { System.out.println("Adding constriant: " + cc); } SRLILPConstraintGenerator c = cc.getGenerator(manager); if (c.isDelayedConstraint() && xmp instanceof JLISCuttingPlaneILPSolverGurobi) { ((JLISCuttingPlaneILPSolverGurobi) xmp).addCuttingPlaneConstraintGenerator(c); } else { List<ILPConstraint> cs = c.getILPConstraints(instance, variableManager); addConstraints(xmp, cs, c.name); } } }
populateViolatedConstraints(violated); boolean constraintsSatisfied = areConstraintsSatisfied(violated); addConstraint(c); numConstraints++; populateViolatedConstraints(violated); constraintsSatisfied = areConstraintsSatisfied(violated);
timedOut = ((GurobiHook) xmp).isTimedOut(); else if (xmp instanceof JLISCuttingPlaneILPSolverGurobi) timedOut = ((JLISCuttingPlaneILPSolverGurobi) xmp).isTimedOut(); printDebugInfo(xmp, variableManager); if (xmp instanceof JLISCuttingPlaneILPSolverGurobi) ((JLISCuttingPlaneILPSolverGurobi) xmp).printModelStatus();
public ILPSolver getSolver() { switch (type) { case Beam: return new BeamSearch(beamSize); case Gurobi: return new GurobiHook(); case OJAlgo: return new OJalgoHook(); case JLISCuttingPlaneGurobi: return new JLISCuttingPlaneILPSolverGurobi(new GurobiHook()); } throw new RuntimeException(); } }
@Override protected void initializeSolver(ILPSolver xmp, InferenceVariableLexManager variableManager) { if (this.solverFactory.type == SolverType.JLISCuttingPlaneGurobi) { JLISCuttingPlaneILPSolverGurobi s = (JLISCuttingPlaneILPSolverGurobi) xmp; s.setInput(instance); s.setVariableManager(variableManager); s.setOutputGenerator(outputGenerator); } }
@Override protected void initializeSolver(ILPSolver xmp, InferenceVariableLexManager variableManager) { if (this.solverFactory.type == SolverType.JLISCuttingPlaneGurobi) { JLISCuttingPlaneILPSolverGurobi s = (JLISCuttingPlaneILPSolverGurobi) xmp; s.setInput(instance); s.setVariableManager(variableManager); s.setOutputGenerator(outputGenerator); } }