001    package org.jaga.definitions;
002    
003    /**
004     * Basis for all JAGA parameter implementations.
005     *
006     * <p><u>Project:</u> JAGA - Java API for Genetic Algorithms.</p>
007     *
008     * <p><u>Company:</u> University College London and JAGA.Org
009     *    (<a href="http://www.jaga.org" target="_blank">http://www.jaga.org</a>).
010     * </p>
011     *
012     * <p><u>Copyright:</u> (c) 2004 by G. Paperin.<br/>
013     *    This program is free software; you can redistribute it and/or modify
014     *    it under the terms of the GNU General Public License as published by
015     *    the Free Software Foundation, ONLY if you include a note of the original
016     *    author(s) in any redistributed/modified copy.<br/>
017     *    This program is distributed in the hope that it will be useful,
018     *    but WITHOUT ANY WARRANTY; without even the implied warranty of
019     *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
020     *    GNU General Public License for more details.<br/>
021     *    You should have received a copy of the GNU General Public License
022     *    along with this program; if not, write to the Free Software
023     *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
024     *    or see http://www.gnu.org/licenses/gpl.html</p>
025     *
026     * @author Greg Paperin (greg@jaga.org)
027     *
028     * @version JAGA public release 1.0 beta
029     */
030    
031    public interface GAParameterSet {
032    
033            public String toString();
034    
035            public IndividualsFactory getIndividualsFactory();
036            public void setIndividualsFactory(IndividualsFactory val);
037    
038            public int getPopulationSize();
039            public void setPopulationSize(int val);
040    
041            public int getMaxGenerationNumber();
042            public void setMaxGenerationNumber(int val);
043    
044            public ReproductionAlgorithm getReproductionAlgorithm();
045            public void setReproductionAlgorithm(ReproductionAlgorithm val);
046    
047            public SelectionAlgorithm getSelectionAlgorithm();
048            public void setSelectionAlgorithm(SelectionAlgorithm val);
049    
050            public FitnessEvaluationAlgorithm getFitnessEvaluationAlgorithm();
051            public void setFitnessEvaluationAlgorithm(FitnessEvaluationAlgorithm val);
052    
053            public int getMaxBadReproductionAttempts();
054            public void setMaxBadReproductionAttempts(int val);
055    
056            public RandomGenerator getRandomGenerator();
057            public void setRandomGenerator(RandomGenerator val);
058    
059            public boolean getUseMainAlgorithmHooks();
060            public void setUseMainAlgorithmHooks(boolean val);
061    }