-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathGA.h
19 lines (16 loc) · 1.27 KB
/
GA.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef __GA__
#define __GA__
#include <string>
#include <map>
#include <vector>
void InitializeSolutions(int, std::vector<std::string>&, std::vector<std::vector<std::string> >&, std::map<std::string,int>& );
double ScoreSolution(std::vector<std::string>&, std::map<std::string, double>&, std::vector<int>&, std::vector<double>&, std::vector<double>&);
void DetermineBestSolution(std::vector<double>&, double&, int&);
bool TestBestSolution(std::vector<std::string>&, std::map<std::string, double>&, std::vector<int>&, std::vector<double>&, std::vector<double>&, std::vector<int>&, std::vector<int>&);
void GenerateRouletteWheel(std::vector<double>&, std::vector<double>&);
int SpinWheel(std::vector<double>&);
void DetermineWorstSolution(std::vector<double>&, double&, int&);
void CrossoverPMX(std::vector<std::vector<std::string> >&, std::vector<int>&, std::vector<std::string>&, std::vector<std::vector<std::string> >&, std::map<std::string, int>&, std::map<std::string, int>&) ;
void Mutate(std::vector<std::vector<std::string> >&, std::vector<int>&, double, std::vector<std::string>&, std::map<std::string,double>&, std::map<std::string, int>&, std::map<std::string, int>&, std::map<std::string, int>&);
void DetermineX2LeastFit(std::vector<int>&, std::vector<double>);
#endif