public void run(){
		
		int generation = 0;
		calculateFitnesses();
		
		//main loop
		while(true){
			if(generation % POPULATION_SIZE == 0){
				System.out.println("\nGeneration: "+generation+", cost: "+minCost);
				System.out.print("\nminimum gene: ");
				printGene(genes[fittestGeneIndex]);
				initRouteFromGene(genes[fittestGeneIndex]);
				System.out.print("\nminimum route: ");
				printRoute();
				System.out.print("\n");
			}
			
			createNewOffspring();
			
			generation++;
		}
	}