-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathEnvironment.cpp
More file actions
46 lines (37 loc) · 1002 Bytes
/
Environment.cpp
File metadata and controls
46 lines (37 loc) · 1002 Bytes
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
#ifndef __ENVIRONMENT_CPP__
#define __ENVIRONMENT_CPP__
#include <stdint.h>
#include <vector>
#include <limits>
template <typename T, typename D>
class Environment {
private:
public:
const uint32_t nAnts;
const uint32_t nCities;
const std::vector<T> & edges;
std::vector<T> eta;
std::vector<T> pheromone;
std::vector<D> delta;
std::vector<T> fitness;
std::vector<uint32_t> bestTour;
T bestTourLength;
Environment(const uint32_t nAnts, const uint32_t nCities, const std::vector<T> & edges) :
nAnts (nAnts),
nCities (nCities),
edges (edges),
eta (nCities * nCities),
pheromone(nCities * nCities, 1.0 / nCities),
delta (nCities * nCities),
fitness (nCities * nCities),
bestTour (nCities),
bestTourLength(std::numeric_limits<T>::max())
{}
const std::vector<uint32_t> & getBestTour() const {
return bestTour;
}
T getBestTourLength() {
return bestTourLength;
}
};
#endif