jInfer

cz.cuni.mff.ksi.jinfer.iss.heuristics.improvement
Class Crossover

java.lang.Object
  extended by cz.cuni.mff.ksi.jinfer.iss.heuristics.improvement.Crossover
All Implemented Interfaces:
NamedModule, Heuristics, ImprovementHeuristic

public class Crossover
extends Object
implements ImprovementHeuristic

A slightly more complex improvement heuristic. From the pool of feasible solutions picks a fraction at random, finds all common AMs, fixes them and runs the GLPK optimization on the resulting sub-problem. Its solution is then added to the pool and returned.


Constructor Summary
Crossover(double ratio, int timeLimit)
          Constructs an instance of this heuristic.
 
Method Summary
 String getDisplayName()
          Returns a user friendly name of the module.
 String getModuleDescription()
          Returns the information about this module's inner workings.
 String getName()
          Returns a user friendly yet unique name of the module.
 void start(Experiment experiment, List<IdSet> feasiblePool, HeuristicCallback callback)
          Start the heuristic run.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Crossover

public Crossover(double ratio,
                 int timeLimit)
Constructs an instance of this heuristic.

Parameters:
ratio - Fraction of the solution pool to be scanned for common AMs.
timeLimit - Time limit in seconds of the GLPK run.
Method Detail

start

public void start(Experiment experiment,
                  List<IdSet> feasiblePool,
                  HeuristicCallback callback)
           throws InterruptedException
Description copied from interface: ImprovementHeuristic
Start the heuristic run. Use the information in the provided experiment to improve the provided pool (possibly only one) of feasible solutions.

Specified by:
start in interface ImprovementHeuristic
Parameters:
experiment - Experiment in context of which to run the heuristic.
feasiblePool - List of feasible solutions found so far.
callback - Callback to be invoked when finished.
Throws:
InterruptedException

getName

public String getName()
Description copied from interface: NamedModule
Returns a user friendly yet unique name of the module.

Specified by:
getName in interface NamedModule
Returns:
Unique module name.

getDisplayName

public String getDisplayName()
Description copied from interface: NamedModule
Returns a user friendly name of the module. This name is not neccessary unique.

Specified by:
getDisplayName in interface NamedModule
Returns:
Displayable module name.

getModuleDescription

public String getModuleDescription()
Description copied from interface: NamedModule
Returns the information about this module's inner workings. Most of the time will be equal to a call to NamedModule.getDisplayName(), but if the module for example consists of more sub-modules, their names should be listed here.

Specified by:
getModuleDescription in interface NamedModule
Returns:
String describing inner structure of the module.

jInfer

Generated on Fri Dec 9 00:01:25 CET 2011