public class DepthFirstStrategy extends java.lang.Object implements IStrategy
continueIfHardObjectivesFulfilled()
Constructor and Description |
---|
DepthFirstStrategy()
Creates a new depth-first search algorithm without depth limit.
|
DepthFirstStrategy(int maxDepth)
Creates a new depth-first search algorithm with depth limit.
|
Modifier and Type | Method and Description |
---|---|
DepthFirstStrategy |
continueIfHardObjectivesFulfilled()
If called, the algorithm will not backtrack after the hard objectives are fulfilled, instead it goes deeper in
the search space.
|
void |
explore()
This method explores the design space as the implementation specifies.
|
void |
initStrategy(ThreadContext context)
Initializes the strategy with a specific
ThreadContext . |
void |
interruptStrategy()
The implementation of this interface should be ready to be interrupted.
|
public DepthFirstStrategy()
public DepthFirstStrategy(int maxDepth)
maxDepth
- A negative maxDepth
means no depth limit, zero means the checking of the initial state.public DepthFirstStrategy continueIfHardObjectivesFulfilled()
public void initStrategy(ThreadContext context)
IStrategy
ThreadContext
.initStrategy
in interface IStrategy
context
- The context.public void explore()
IStrategy
public void interruptStrategy()
IStrategy
IStrategy.explore()
method should return ASAP.
This method is also called by the SolutionStore
class if enough solutions are found.interruptStrategy
in interface IStrategy