All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jgap.distr.grid.IClientEvolveStrategy Maven / Gradle / Ivy

/*
 * 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 java.io.*;
import org.jgap.*;
import org.homedns.dade.jcgrid.client.*;

/**
 * Interface for defining a strategy that controls how a client evolves
 * generations.
 *
 * @author Klaus Meffert
 * @since 3.2
 */
public interface IClientEvolveStrategy
    extends Serializable {
  /** String containing the CVS revision. Read out via reflection!*/
  final static String CVS_REVISION = "$Revision: 1.3 $";

  void initialize(GridClient a_gc, Configuration a_config,
                  IClientFeedback a_clientFeedback)
      throws Exception;

  JGAPRequest[] generateWorkRequests(JGAPRequest m_workReq,
                                     IRequestSplitStrategy m_splitStrategy,
                                     Object a_genericData)
      throws Exception;

  void resultReceived(JGAPResult a_result)
      throws Exception;

  boolean isEvolutionFinished(int a_evolutionsDone);

  void onFinished();

  void afterWorkRequestsSent()
      throws Exception;

  void evolve()
      throws Exception;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy