![JAR search and dependency download from the Maven repository](/logo.png)
org.jgap.distr.grid.RequestSplitStrategy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jgap Show documentation
Show all versions of jgap Show documentation
JGAP is a Genetic Algorithms and Genetic Programming component provided as a Java framework.
The newest version!
/*
* This file is part of JGAP.
*
* JGAP offers a dual license model containing the LGPL as well as the MPL.
*
* For licensing information please see the file license.txt included with JGAP
* or have a look at the top of class org.jgap.Chromosome which representatively
* includes the JGAP license policy applicable for any file delivered with JGAP.
*/
package org.jgap.distr.grid;
import org.jgap.event.*;
import org.jgap.*;
import org.jgap.impl.*;
/**
* Implementation of IRequestSplitStrategy to split a single request
* into multiple requests for workers.
*
* @author Klaus Meffert
* @since 3.2
*/
public class RequestSplitStrategy {
/** String containing the CVS revision. Read out via reflection!*/
private final static String CVS_REVISION = "$Revision: 1.4 $";
private Configuration m_config;
public RequestSplitStrategy(Configuration a_config) {
m_config = a_config;
}
public Configuration getConfiguration() {
return m_config;
}
/**
* Creates single requests to be sent to workers.
*
* @return single requests to be computed by workers
* @throws Exception
*
* @author Klaus Meffert
* @since 3.01
*/
public JGAPRequest[] split(JGAPRequest a_request)
throws Exception {
final int runs = 20;
JGAPRequest[] result = new JGAPRequest[runs];
for (int i = 0; i < runs; i++) {
/**@todo support cloning of m_config*/
Configuration config = new DefaultConfiguration("config " + i, i + "");
config.setEventManager(new EventManager());
config.setPopulationSize(getConfiguration().getPopulationSize());
config.setFitnessFunction(getConfiguration().getFitnessFunction());
IChromosome sample = (IChromosome)getConfiguration().getSampleChromosome().clone();
config.setSampleChromosome(sample);
result[i] = (JGAPRequest)a_request.newInstance("JGAP-Grid Request " + i,i);
// new MyRequest("JGAP-Grid Request " + i, i, config);
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy