-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtsp.hpp
62 lines (54 loc) · 1.47 KB
/
tsp.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef TSP_HPP
#define TSP_HPP
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
/// CLASE ACOTSP ///
/*
Funciona para resolver una instancia del
problema TPS, teniendo un archivo .csv
o cualquiera de texto plano en el que se
tenga la matriz de adyacencia de ciudades
DANDO POR HECHO QUE REPRESENTAN UN GRAFO
TOTALMENTE CONEXO de ciudades.
Está hecho para resolver implementaciones
con el ALGORITMO DE COLONIA DE HORMIGAS.
*/
class ACOTSP
{
//* ATRIBUTOS *//
public:
//* Para al instancia del TSP:
int cities;
string citiesFilePath;
int roads[200][200];
double visibilityRoads[200][200];
int bestSolution[200];
//* Para los parámetros del ACO:
double roadsPheromone[200][200];
int antsAmount;
int pheromoneImportance;
int visibilityImportance;
double defaultPheromone;
double pheromoneEvaporation;
double pheromoneStep;
int iterations;
//* Variables del algoritmo:
vector<vector<int>> paths;
vector<int> bestPath;
double bestFitness;
//? MÉTODOS ?//
public:
ACOTSP(int ncities, string instanceFile);
void InstanceTSP();
void ShowRoads();
void ShowPheromones();
void ShowVisibilities();
void ShowPaths();
void SetParameters();
void ANTS();
void Simulate();
void ShowBest();
};
#endif