-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparameter.py
More file actions
149 lines (124 loc) · 3.21 KB
/
parameter.py
File metadata and controls
149 lines (124 loc) · 3.21 KB
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
from enum import Enum
class Parameter(Enum):
"""
Enum to represent the different types of parameters
"""
FLOOR_AMOUNT = 1
SPWD_STR_TYPE = 2
TAR_DSTR_TYPE = 3
def case(self):
"""
Returns the type of the parameter
:return: type of the parameter
:rtype: int
"""
return 0
def name(self):
"""
Returns the name of the parameter
:return: name of the parameter
:rtype: str
"""
if (self.value == 1):
return "amount of floors"
elif (self.value == 5):
return "spawn every "
class ElevatorParameter(Enum):
"""
Represents parameter of type elevator
"""
MIN_FLOOR = 0
MAX_FLOOR = 1
CAPACITY = 3
def case(self):
"""
Returns the type of the parameter
:return: type of the parameter
:rtype: int
"""
return 1
def name(self):
"""
Returns the name of the parameter
:return: name of the parameter
:rtype: str
"""
if (self.value == 0):
return "min floor"
elif (self.value == 1):
return "max floor "
elif (self.value == 3):
return "capacity"
class PolicyParameter(Enum):
"""
Represents parameter of type policy
"""
POLICY = -1
ELEV_BUT_WEIGHT = 1
ELEV_BUT_TIME_WEIGHT = 2
FLOOR_BUT_WEIGHT = 3
FLOOR_BUT_TIME_WEIGHT = 4
COMP_WEIGHT = 5
DIST_WEIGHT = 6
DIST_EXPONENT = 7
def name(self):
"""
Returns the name of the parameter
:return: name of the parameter
:rtype: str
"""
if (self.value == 1):
return "elevator button weight"
elif (self.value == 2):
return "elevator button time weight"
elif (self.value == 3):
return "floor button weight"
elif (self.value == 4):
return "floor button time weight"
elif (self.value == 5):
return "comparator weight"
elif (self.value == 6):
return "distance weight"
elif (self.value == 7):
return "distance exponent"
def short_name(self):
"""
Returns the short name of the parameter
:return: short name of the parameter
:rtype: str
"""
if (self.value == 1):
return "ebw"
elif (self.value == 2):
return "ebtw"
elif (self.value == 3):
return "fbw"
elif (self.value == 4):
return "fbtw"
elif (self.value == 5):
return "cw"
elif (self.value == 6):
return "dw"
elif (self.value == 7):
return "dexp"
def case(self):
"""
Returns the type of the parameter
:return: type of the parameter
:rtype: int
"""
return 2
class TimeDistrParameter(Enum):
"""
Represents parameter of type time distribution
"""
MAX_PASSENGER = 1
TIME_TYPE = 2
ADD_POINT = 3
def case(self):
"""
Returns the type of the parameter
:return: type of the parameter
:rtype: int
"""
return 3