package vroom.optimization.online.jmsa.components;
import vroom.optimization.online.jmsa.IScenario;
/**
* <code>ScenarioGeneratorBase<code> is the base type for all classes that are
* used to generate scenarios
*
* @param <S>
* the type of scenario that will be generated by instances of this
* class
* @author Victor Pillac, <a href="http://uniandes.edu.co">Universidad de Los
* Andes</a> - <a href="http://copa.uniandes.edu.co">Copa</a>, <a
* href="http://www.emn.fr">Ecole des Mines de Nantes</a>-<a
* href="http://www.irccyn.ec-nantes.fr/irccyn/d/en/equipes/Slp">SLP</a>
* @version 1.0 #updated 16-Feb-2010 10:06:52 a.m.
*/
public abstract class ScenarioGeneratorBase<S extends IScenario> extends
MSAComponentBase {
public ScenarioGeneratorBase(ComponentManager<S, ?> componentManager) {
super(componentManager);
}
/**
* Generation of a new scenario. <br/>
* The implementation of this method should consider the possible
* parallelization of scenario generation
*
* @param params
* optional parameters for the scenario generation
* @return a newly generated scenario
*/
public abstract S generateScenario(ScenarioGeneratorParam params);
}