Travelling_Salesman_Algorithms
geneticAlgorithm.h
Ir para a documentação deste ficheiro.
1 #pragma once
2 
3 #include <vector>
4 
5 #include "../TSP.h"
6 #include "../graph.h"
7 
12 {
13 public:
15  vector<int> cities;
16  int pathCost = -1;
17 
18  Individual(int numCities) { cities.resize(numCities); }
19 };
20 
21 class GeneticAlgorithm : public TSP
22 {
23 public:
25  GeneticAlgorithm(Graph &graph);
26  GeneticAlgorithm(Graph &&graph);
27 
28  void run();
29 
30  void createRandomPath(int numVertices, vector<int> &cities);
31 
32  void mutateIndividual(Individual &individual, int numVertices, int numOfTries);
33 
34  void mutatePopulation(vector<Individual> &population, int mutationRate,
35  int numVertices, Individual &bestPath);
36 
37  bool createIndividual(int numVertices, int i, Individual &individual,
38  vector<Individual> &population);
39 
40  void createRandomPopulation(vector<Individual> &population, int populationSize,
41  int numVertices, Individual &bestPath);
42 };
vector< int > cities
Definition: geneticAlgorithm.h:15
Definition: graph.h:8
Individual(int numCities)
Definition: geneticAlgorithm.h:18
Definition: TSP.h:17
Definition: geneticAlgorithm.h:21
Definition: geneticAlgorithm.h:11
int pathCost
Definition: geneticAlgorithm.h:16