-
Notifications
You must be signed in to change notification settings - Fork 0
/
Runners.h
48 lines (38 loc) · 1.13 KB
/
Runners.h
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
#pragma once
#include <vector>
#include "GeneticAlgorithms/GeneticAlgorithm.h"
#include "Utils.h"
class ProjectWithOvertime;
class ListModel;
class ISolver;
namespace Runners {
struct RunnerParams : BasicSolverParameters {
int methodIndex, variant;
RunnerParams(int _methodIndex, int _variant, double _timeLimit, int _iterLimit, bool _traceobj, const std::string& _outPath);
};
std::unique_ptr<ISolver> genListModelWithIndex(ProjectWithOvertime &p, int index, int variant = 0);
struct GAResult {
std::vector<int> sts;
float profit;
double solvetime;
std::string name;
};
GAResult run(ProjectWithOvertime &p, GAParameters ¶ms, int index);
std::string getDescription(int index);
std::vector<int> runGeneticAlgorithmWithIndex(ProjectWithOvertime &p, RunnerParams rparams);
std::vector<int> runLocalSolverModelWithIndex(ProjectWithOvertime &p, RunnerParams rparams);
enum RepresentationEnum {
RE_LAMBDA_BETA,
RE_LAMBDA_TAU,
RE_LAMBDA_TAU_DISCRETE,
RE_LAMBDA_ZR,
RE_LAMBDA_ZRT,
RE_LAMBDA_ALTS,
RE_LAMBDA_GS,
RE_LAMBDA_DEADLINE_OFFSET,
RE_RANDKEY_ZR,
RE_RANDKEY_ZRT,
RE_LAMBDA_SUB,
RE_LAMBDA_PLIST
};
}