void Initialize()
		{
			for (int i = 0; i < population_size; i++) {
				//Initializing each member of the population

				Chromosome* dna = new Chromosome();
				dna->num_genes = 18;
				dna->Initialize();
				dna->SetTarget(target);
				population.push_back(dna);


			}
		}
		Chromosome* crossover(Chromosome *partner) {
			Chromosome *child = new Chromosome();
			child->num_genes = this->num_genes;
			child->Initialize();
			child->SetTarget(this->target);
			int midpoint = int(RandomInt(0, num_genes));
			for (int i = 0; i < num_genes; i++) {
				if (i > midpoint) child->genes[i] = genes[i];
				else   {
					if (partner != 0)
						child->genes[i] = partner->genes[i];
				}
			}
			return child;
		}