new PropagationGuidedNeighborhood(solver, objects, 123456L, 100, 10), true));
SearchMonitorFactory.limitThreadTime(solver, 2000);
break;
case 3:
solver.getSearchLoop().plugSearchMonitor(new LargeNeighborhoodSearch(solver,
new SequenceNeighborhood(
new PropagationGuidedNeighborhood(solver, objects, 123456L, 100, 10),
new ReversePropagationGuidedNeighborhood(solver, objects, 123456L, 100, 10)
), true));
SearchMonitorFactory.limitThreadTime(solver, 2000);
break;
case 4:
solver.getSearchLoop().plugSearchMonitor(new LargeNeighborhoodSearch(solver,
new SequenceNeighborhood(
new PropagationGuidedNeighborhood(solver, objects, 123456L, 100, 10),
new ReversePropagationGuidedNeighborhood(solver, objects, 123456L, 100, 10),
new RandomNeighborhood(solver, objects, 200, 123456L)
), true));
SearchMonitorFactory.limitThreadTime(solver, 2000);
break;
case 5:
solver.getSearchLoop().plugSearchMonitor(new LargeNeighborhoodSearch(solver,
new ExplainingCut(solver, 200, 123456L), true));
SearchMonitorFactory.limitThreadTime(solver, 2000);
break;
case 6:
solver.getSearchLoop().plugSearchMonitor(new LargeNeighborhoodSearch(solver,
new ExplainingObjective(solver, 200, 123456L), true));
SearchMonitorFactory.limitThreadTime(solver, 200000);
break;
case 7:
SequenceNeighborhood ngb = new SequenceNeighborhood(
new ExplainingObjective(solver, 200, 123456L),
new ExplainingCut(solver, 200, 123456L),
new RandomNeighborhood4Explanation(solver, objects, 200, 123456L));
solver.getSearchLoop().plugSearchMonitor(new LargeNeighborhoodSearch(solver, ngb, true));
SearchMonitorFactory.limitThreadTime(solver, 200000);