package genetic; import java.util.LinkedList; import Graph.Edge; import Graph.Node; import edu.uci.ics.jung.graph.Graph; public class Genetic { private LinkedList oldPop; private LinkedList tmpPop; private LinkedList newPop; private Graph graph; int currGener; //pola klas private PreSelection preSelect; private Crossing cross; private Mutation mut; private Fitness fit; private Statistics stat; private PostSelection postSelect; //pola paramatrow dla klas int popSize; int nodes; //ilosc wierzcholkow=wielkosc tablicy double mutProb; double crossProb; int preSelectType; int crossType; int postSelectType; public Genetic(Graph _graph, int _popSize, double _mutProb, double _crosProb, int _preSelect, int _crossTyp, int _postSelect) { graph = _graph; nodes = graph.getVertexCount(); currGener = 0; oldPop = new LinkedList(); popSize = _popSize; mutProb = _mutProb; crossProb = _crosProb; preSelectType = _preSelect; crossType = _crossTyp; postSelectType = _postSelect; preSelect = new PreSelection(preSelectType); cross = new Crossing(crossType, crossProb, popSize); mut = new Mutation(mutProb); fit = new Fitness(graph); stat = new Statistics(); postSelect = new PostSelection(postSelectType); initPop(); } private void initPop() { for (int i=0;i