Class MultiThreadedConstructionHeuristicDecider<Solution_>
java.lang.Object
org.optaplanner.core.impl.constructionheuristic.decider.ConstructionHeuristicDecider<Solution_>
org.optaplanner.core.impl.constructionheuristic.decider.MultiThreadedConstructionHeuristicDecider<Solution_>
- Type Parameters:
- Solution_- the solution type, the class with the- PlanningSolutionannotation
public class MultiThreadedConstructionHeuristicDecider<Solution_>
extends ConstructionHeuristicDecider<Solution_>
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected booleanprotected booleanprotected booleanprotected ExecutorServiceprotected CyclicBarrierprotected final intprotected List<MoveThreadRunner<Solution_,?>> protected BlockingQueue<MoveThreadOperation<Solution_>>protected OrderByMoveIndexBlockingQueue<Solution_>protected final intprotected final ThreadFactoryFields inherited from class org.optaplanner.core.impl.constructionheuristic.decider.ConstructionHeuristicDeciderassertExpectedUndoMoveScore, assertMoveScoreFromScratch, forager, logger, logIndentation, termination
- 
Constructor SummaryConstructorsConstructorDescriptionMultiThreadedConstructionHeuristicDecider(String logIndentation, Termination<Solution_> termination, ConstructionHeuristicForager<Solution_> forager, ThreadFactory threadFactory, int moveThreadCount, int selectedMoveBufferSize) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected ExecutorServicevoiddecideNextStep(ConstructionHeuristicStepScope<Solution_> stepScope, Placement<Solution_> placement) voidphaseEnded(ConstructionHeuristicPhaseScope<Solution_> phaseScope) voidphaseStarted(ConstructionHeuristicPhaseScope<Solution_> phaseScope) voidsetAssertExpectedStepScore(boolean assertExpectedStepScore) voidsetAssertShadowVariablesAreNotStaleAfterStep(boolean assertShadowVariablesAreNotStaleAfterStep) voidsetAssertStepScoreFromScratch(boolean assertStepScoreFromScratch) voidsolvingError(SolverScope<Solution_> solverScope, Exception exception) Methods inherited from class org.optaplanner.core.impl.constructionheuristic.decider.ConstructionHeuristicDeciderdoMove, getForager, pickMove, setAssertExpectedUndoMoveScore, setAssertMoveScoreFromScratch, solvingEnded, solvingStarted, stepEnded, stepStarted
- 
Field Details- 
threadFactory
- 
moveThreadCountprotected final int moveThreadCount
- 
selectedMoveBufferSizeprotected final int selectedMoveBufferSize
- 
assertStepScoreFromScratchprotected boolean assertStepScoreFromScratch
- 
assertExpectedStepScoreprotected boolean assertExpectedStepScore
- 
assertShadowVariablesAreNotStaleAfterStepprotected boolean assertShadowVariablesAreNotStaleAfterStep
- 
operationQueue
- 
resultQueue
- 
moveThreadBarrier
- 
executor
- 
moveThreadRunnerList
 
- 
- 
Constructor Details- 
MultiThreadedConstructionHeuristicDeciderpublic MultiThreadedConstructionHeuristicDecider(String logIndentation, Termination<Solution_> termination, ConstructionHeuristicForager<Solution_> forager, ThreadFactory threadFactory, int moveThreadCount, int selectedMoveBufferSize) 
 
- 
- 
Method Details- 
setAssertStepScoreFromScratchpublic void setAssertStepScoreFromScratch(boolean assertStepScoreFromScratch) 
- 
setAssertExpectedStepScorepublic void setAssertExpectedStepScore(boolean assertExpectedStepScore) 
- 
setAssertShadowVariablesAreNotStaleAfterSteppublic void setAssertShadowVariablesAreNotStaleAfterStep(boolean assertShadowVariablesAreNotStaleAfterStep) 
- 
phaseStarted- Overrides:
- phaseStartedin class- ConstructionHeuristicDecider<Solution_>
 
- 
phaseEnded- Overrides:
- phaseEndedin class- ConstructionHeuristicDecider<Solution_>
 
- 
solvingError- Overrides:
- solvingErrorin class- ConstructionHeuristicDecider<Solution_>
 
- 
createThreadPoolExecutor
- 
decideNextSteppublic void decideNextStep(ConstructionHeuristicStepScope<Solution_> stepScope, Placement<Solution_> placement) - Overrides:
- decideNextStepin class- ConstructionHeuristicDecider<Solution_>
 
 
-