OptaPlanner core 6.0.0.CR2

org.optaplanner.core.impl.score.director.incremental
Interface IncrementalScoreCalculator<Sol extends Solution>

Type Parameters:
Sol -
All Known Implementing Classes:
AbstractIncrementalScoreCalculator

public interface IncrementalScoreCalculator<Sol extends Solution>

Used for incremental java Score calculation. This is much faster than SimpleScoreCalculator but requires much more code to implement too.

Any implementation is naturally stateful.

See Also:
IncrementalScoreDirector

Method Summary
 void afterEntityAdded(Object entity)
           
 void afterEntityRemoved(Object entity)
           
 void afterVariableChanged(Object entity, String variableName)
           
 void beforeEntityAdded(Object entity)
           
 void beforeEntityRemoved(Object entity)
           
 void beforeVariableChanged(Object entity, String variableName)
           
 String buildScoreCorruptionAnalysis(IncrementalScoreCalculator uncorruptedIncrementalScoreCalculator)
           
 Score calculateScore()
           
 void resetWorkingSolution(Sol workingSolution)
           
 

Method Detail

resetWorkingSolution

void resetWorkingSolution(Sol workingSolution)

beforeEntityAdded

void beforeEntityAdded(Object entity)

afterEntityAdded

void afterEntityAdded(Object entity)

beforeVariableChanged

void beforeVariableChanged(Object entity,
                           String variableName)

afterVariableChanged

void afterVariableChanged(Object entity,
                          String variableName)

beforeEntityRemoved

void beforeEntityRemoved(Object entity)

afterEntityRemoved

void afterEntityRemoved(Object entity)

calculateScore

Score calculateScore()
Returns:
never null

buildScoreCorruptionAnalysis

String buildScoreCorruptionAnalysis(IncrementalScoreCalculator uncorruptedIncrementalScoreCalculator)
Parameters:
uncorruptedIncrementalScoreCalculator - never null
Returns:
null if this IncrementalScoreCalculator implementation does not support this.

OptaPlanner core 6.0.0.CR2

Copyright © 2006-2013 JBoss by Red Hat. All Rights Reserved.