org.jgap.audit
Class ChainedMonitors
- java.lang.Object
-
- org.jgap.audit.ChainedMonitors
-
- All Implemented Interfaces:
- java.io.Serializable, IEvolutionMonitor
public class ChainedMonitors extends java.lang.Object implements IEvolutionMonitor
A meta monitor that chains together given monitors and executes them subsequently.- Since:
- 3.4.4
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.jgap.audit.IEvolutionMonitor
MONITOR_EVENT_AFTER_BULK_EVAL, MONITOR_EVENT_AFTER_OPERATE, MONITOR_EVENT_AFTER_SELECT, MONITOR_EVENT_AFTER_UPDATE_CHROMOSOMES1, MONITOR_EVENT_AFTER_UPDATE_CHROMOSOMES2, MONITOR_EVENT_BEFORE_ADD_CHROMOSOME, MONITOR_EVENT_BEFORE_BULK_EVAL, MONITOR_EVENT_BEFORE_OPERATE, MONITOR_EVENT_BEFORE_SELECT, MONITOR_EVENT_BEFORE_UPDATE_CHROMOSOMES1, MONITOR_EVENT_BEFORE_UPDATE_CHROMOSOMES2, MONITOR_EVENT_READD_FITTEST, MONITOR_EVENT_REMOVE_CHROMOSOME
-
-
Constructor Summary
Constructors Constructor and Description ChainedMonitors(java.util.List<IEvolutionMonitor> a_monitors, int a_positiveMonitorsRequired)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidevent(java.lang.String a_monitorEvent, int a_evolutionNo, java.lang.Object[] a_information)Called whenever it's worth monitoring.java.util.List<IEvolutionMonitor>getMonitors()PopulationHistoryIndexedgetPopulations()booleannextCycle(Population a_pop, java.util.List<java.lang.String> a_messages)Called after another evolution cycle has been executed.voidstart(Configuration a_config)Called just before the evolution starts.
-
-
-
Constructor Detail
-
ChainedMonitors
public ChainedMonitors(java.util.List<IEvolutionMonitor> a_monitors, int a_positiveMonitorsRequired)
- Parameters:
a_monitors- sequence of monitors to usea_positiveMonitorsRequired- number of monitors that must return true in nextCycle in order to let the evolution continue. If this parameter equals one, it means we have an or-operation, if it equals the number of monitors, we have an and-operation.- Since:
- 3.4.4
-
-
Method Detail
-
nextCycle
public boolean nextCycle(Population a_pop, java.util.List<java.lang.String> a_messages)
Called after another evolution cycle has been executed.- Specified by:
nextCyclein interfaceIEvolutionMonitor- Parameters:
a_pop- the currently evolved populationa_messages- the monitor can append messages here to indicate why it asks evolution to stop- Returns:
- true: continue with the evolution; false: stop evolution
- Since:
- 3.4.4
-
start
public void start(Configuration a_config)
Called just before the evolution starts.- Specified by:
startin interfaceIEvolutionMonitor- Parameters:
a_config- the configuration used
-
event
public void event(java.lang.String a_monitorEvent, int a_evolutionNo, java.lang.Object[] a_information)Called whenever it's worth monitoring.- Specified by:
eventin interfaceIEvolutionMonitor- Parameters:
a_monitorEvent- see constants at top of class IEvolutionMonitora_evolutionNo- the index of the evolution round (1, 2, ...)a_information- event-specific information- Since:
- 3.5
-
getPopulations
public PopulationHistoryIndexed getPopulations()
- Specified by:
getPopulationsin interfaceIEvolutionMonitor- Returns:
- null, use getMonitors() and then call each monitor's method
- Since:
- 3.5
-
getMonitors
public java.util.List<IEvolutionMonitor> getMonitors()
- Returns:
- List of monitors registered
- Since:
- 3.5
-
-
DMelt 3.0 © DataMelt by jWork.ORG