Class StrategiesSequencer
- java.lang.Object
-
- org.chocosolver.solver.search.strategy.strategy.AbstractStrategy<Variable>
-
- org.chocosolver.solver.search.strategy.strategy.StrategiesSequencer
-
public class StrategiesSequencer extends AbstractStrategy<Variable>
AStrategiesSequencer
is class forAbstractStrategy
composition.this
is created with a list ofAbstractStrategy
, and callinggetDecision()
retrieves the current activeAbstractStrategy
and calls the delegategetDecision()
method.
AAbstractStrategy
becomes "inactive" when no more decision can be computed, ie every decisions have been computed and used.- Since:
- 5 juil. 2010
- Author:
- Charles Prud'homme
-
-
Field Summary
-
Fields inherited from class org.chocosolver.solver.search.strategy.strategy.AbstractStrategy
vars
-
-
Constructor Summary
Constructors Constructor Description StrategiesSequencer(IEnvironment environment, AbstractStrategy... strategies)
StrategiesSequencer(AbstractStrategy... strategies)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Decision<Variable>
computeDecision(Variable variable)
Computes a decision to be applied to variable var This method should be implemented in order to use search patternsDecision
getDecision()
Provides access to the current decision in the strategy.boolean
init()
Preparethis
to be used in a search loop The initialization can detect inconsistency, in that case, it returns falsevoid
remove()
Remove the current strategy.String
toString()
Creates aString
object containing a pretty print of the current variables.-
Methods inherited from class org.chocosolver.solver.search.strategy.strategy.AbstractStrategy
getVariables, makeIntDecision
-
-
-
-
Constructor Detail
-
StrategiesSequencer
public StrategiesSequencer(IEnvironment environment, AbstractStrategy... strategies)
-
StrategiesSequencer
public StrategiesSequencer(AbstractStrategy... strategies)
-
-
Method Detail
-
init
public boolean init()
Description copied from class:AbstractStrategy
Preparethis
to be used in a search loop The initialization can detect inconsistency, in that case, it returns false- Overrides:
init
in classAbstractStrategy<Variable>
-
remove
public void remove()
Description copied from class:AbstractStrategy
Remove the current strategy. This implies unplugging variable or search monitors.- Overrides:
remove
in classAbstractStrategy<Variable>
-
computeDecision
public Decision<Variable> computeDecision(Variable variable)
Description copied from class:AbstractStrategy
Computes a decision to be applied to variable var This method should be implemented in order to use search patterns- Overrides:
computeDecision
in classAbstractStrategy<Variable>
- Parameters:
variable
- a variable- Returns:
- a decision to be applied to variable var
-
getDecision
public Decision getDecision()
Provides access to the current decision in the strategy. If there are no more decision to provide, it returnsnull
. Iterates over the declared sub-strategies and gets the overall current decision.- Specified by:
getDecision
in classAbstractStrategy<Variable>
- Returns:
- the current decision
-
toString
public String toString()
Creates aString
object containing a pretty print of the current variables. This is based on theprint()
method of every sub-strategies.- Overrides:
toString
in classAbstractStrategy<Variable>
- Returns:
- a
String
object
-
-