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 thePlanningSolutionannotation
public class MultiThreadedConstructionHeuristicDecider<Solution_>
extends ConstructionHeuristicDecider<Solution_>
- 
Field Summary
FieldsModifier 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.ConstructionHeuristicDecider
assertExpectedUndoMoveScore, assertMoveScoreFromScratch, forager, logger, logIndentation, termination - 
Constructor Summary
ConstructorsConstructorDescriptionMultiThreadedConstructionHeuristicDecider(String logIndentation, Termination<Solution_> termination, ConstructionHeuristicForager<Solution_> forager, ThreadFactory threadFactory, int moveThreadCount, int selectedMoveBufferSize)  - 
Method Summary
Modifier 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.ConstructionHeuristicDecider
doMove, getForager, pickMove, setAssertExpectedUndoMoveScore, setAssertMoveScoreFromScratch, solvingEnded, solvingStarted, stepEnded, stepStarted 
- 
Field Details
- 
threadFactory
 - 
moveThreadCount
protected final int moveThreadCount - 
selectedMoveBufferSize
protected final int selectedMoveBufferSize - 
assertStepScoreFromScratch
protected boolean assertStepScoreFromScratch - 
assertExpectedStepScore
protected boolean assertExpectedStepScore - 
assertShadowVariablesAreNotStaleAfterStep
protected boolean assertShadowVariablesAreNotStaleAfterStep - 
operationQueue
 - 
resultQueue
 - 
moveThreadBarrier
 - 
executor
 - 
moveThreadRunnerList
 
 - 
 - 
Constructor Details
- 
MultiThreadedConstructionHeuristicDecider
public MultiThreadedConstructionHeuristicDecider(String logIndentation, Termination<Solution_> termination, ConstructionHeuristicForager<Solution_> forager, ThreadFactory threadFactory, int moveThreadCount, int selectedMoveBufferSize)  
 - 
 - 
Method Details
- 
setAssertStepScoreFromScratch
public void setAssertStepScoreFromScratch(boolean assertStepScoreFromScratch)  - 
setAssertExpectedStepScore
public void setAssertExpectedStepScore(boolean assertExpectedStepScore)  - 
setAssertShadowVariablesAreNotStaleAfterStep
public void setAssertShadowVariablesAreNotStaleAfterStep(boolean assertShadowVariablesAreNotStaleAfterStep)  - 
phaseStarted
- Overrides:
 phaseStartedin classConstructionHeuristicDecider<Solution_>
 - 
phaseEnded
- Overrides:
 phaseEndedin classConstructionHeuristicDecider<Solution_>
 - 
solvingError
- Overrides:
 solvingErrorin classConstructionHeuristicDecider<Solution_>
 - 
createThreadPoolExecutor
 - 
decideNextStep
public void decideNextStep(ConstructionHeuristicStepScope<Solution_> stepScope, Placement<Solution_> placement) - Overrides:
 decideNextStepin classConstructionHeuristicDecider<Solution_>
 
 -