MCPcopy Create free account
hub / github.com/OlittleRer/Code / Solution

Class Solution

2020-11/2020-11-10_FSTSP/FSTSP.py:92–187  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90 print()
91
92class Solution:
93 ObjVal = 0
94 X = [[]]
95 Y = [[[]]]
96 U = []
97 P = []
98 T = []
99 Tt = []
100 route_Truck = []
101 route_UAV = []
102
103# def __init__(self):
104# solution = Solution()
105# # X_ij
106# solution.X = [[[] for i in range(data.nodeNum)] for j in range(data.nodeNum)]
107# # Y_ijk
108# solution.Y = [[[[] for k in range(data.nodeNum)] for j in range(data.nodeNum)] for i in range(data.nodeNum)]
109# # U_i
110# solution.U = [[] for i in range(data.nodeNum)]
111# # P_ij
112# solution.P = [[[] for j in range(data.nodeNum)] for i in range(data.nodeNum)]
113# # T_i, T_i'
114# solution.T = [[] for i in range(data.nodeNum)]
115# solution.Tt = [[] for i in range(data.nodeNum)]
116# return solution
117
118 def getSolution(self, data, model):
119 solution = Solution()
120 solution.ObjVal = model.ObjVal
121 # X_ij
122 solution.X = [([0] * data.nodeNum) for j in range(data.nodeNum)]
123 # Y_ijk
124 solution.Y = [[([0] * data.nodeNum) for j in range(data.nodeNum)] for i in range(data.nodeNum)]
125 # U_i
126 solution.U = [[0] for i in range(data.nodeNum)]
127 # P_ij
128 solution.P = [[[0] for j in range(data.nodeNum)] for i in range(data.nodeNum)]
129 # T_i, T_i'
130 solution.T = [[0] for i in range(data.nodeNum)]
131 solution.Tt = [[0] for i in range(data.nodeNum)]
132
133 a = U[0].x
134 for m in model.getVars():
135 str = re.split(r"_", m.VarName)
136 if(str[0] == "X" and m.x == 1):
137 solution.X[int(str[1])][int(str[2])] = m.x
138 print(str, end = "")
139 print(" = %d" % m.x)
140 elif(str[0] == "Y" and m.x == 1):
141 solution.Y[int(str[1])][int(str[2])][int(str[3])] = m.x
142 elif(str[0] == "U" and m.x > 0) :
143 solution.U[int(str[1])] = m.x
144 elif(str[0] == "T" and m.x > 0):
145 solution.T[int(str[1])] = m.x
146 elif(str[0] == "Tt" and m.x > 0):
147 solution.Tt[int(str[1])] = m.x
148 elif(str[0] == "P" and m.x > 0):
149 solution.P[int(str[1])][int(str[2])] = m.x

Callers 2

getSolutionMethod · 0.85
FSTSP.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected