-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpath_result.py
165 lines (148 loc) · 13.8 KB
/
path_result.py
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#待机区域到发射点
import operator
des1 = [['D2', 'F24', ['D2', 'J32', 'F24'], 27.901086149562293],
['D2', 'F25', ['D2', 'J32', 'J33', 'F25'], 45.87958071945498],
['D2', 'F47', ['D2', 'J03', 'J48', 'F47'], 51.45258286041481],
['D1', 'F43', ['D1', 'J11', 'J46', 'F43'], 52.575942644258376],
['D2', 'F46', ['D2', 'J03', 'J48', 'F46'], 53.59471848414576],
['D2', 'F44', ['D2', 'J02', 'J47', 'F44'], 60.29784256207965],
['D2', 'F45', ['D2', 'J02', 'J47', 'F45'], 62.01115282182935],
['D2', 'F26', ['D2', 'J32', 'J33', 'J34', 'F26'], 68.0422214672673],
['D2', 'F03', ['D2', 'J32', 'J13', 'J21', 'F03'], 72.28656631514336],
['D2', 'F02', ['D2', 'J32', 'J13', 'J21', 'F02'], 72.34528868622232],
['D2', 'F01', ['D2', 'J32', 'J13', 'J21', 'F01'], 72.40361020794742],
['D1', 'F58', ['D1', 'Z03', 'J61', 'F58'], 73.50083559341081],
['D1', 'F57', ['D1', 'Z03', 'J61', 'F57'], 75.8202768491429],
['D1', 'F42', ['D1', 'J11', 'J46', 'J44', 'F42'], 77.68407178957594],
['D1', 'F41', ['D1', 'J11', 'J46', 'J44', 'F41'], 81.27779729211204],
['D2', 'F50', ['D2', 'J03', 'J04', 'J50', 'F50'], 81.53394096223968],
['D2', 'F27', ['D2', 'J32', 'J33', 'J34', 'J35', 'F27'], 82.4762025993239],
['D1', 'F38', ['D1', 'J10', 'J45', 'J42', 'J40', 'F38'], 99.7999727923149],
['D1', 'F37', ['D1', 'J10', 'J45', 'J42', 'J40', 'F37'], 101.58738862492248],
['D1', 'F39', ['D1', 'J10', 'J45', 'J42', 'J40', 'F39'], 102.15345329200142],
['D1', 'F40', ['D1', 'J11', 'J46', 'J44', 'Z05', 'J41', 'F40'], 102.4832163163409],
['D1', 'F34', ['D1', 'J09', 'J08', 'J07', 'Z04', 'J38', 'F34'], 103.96081225490192],
['D1', 'F35', ['D1', 'J09', 'J08', 'J07', 'Z04', 'J38', 'F35'], 105.2073447896554],
['D1', 'F54', ['D1', 'Z03', 'J57', 'J58', 'J59', 'F54'], 105.23791714682845]]
#发射点到装载点
des2=[
['F34', 'Z04', ['F34', 'J38', 'Z04'], 18.602325267042627], ['F40', 'Z05', ['F40', 'J41', 'Z05'], 19.536708601626028], ['F35', 'Z04', ['F35', 'J38', 'Z04'], 19.848857801796104], ['F42', 'Z05', ['F42', 'J44', 'Z05'], 23.373206201413772], ['F41', 'Z05', ['F41', 'J44', 'Z05'], 26.96693170394987], ['F50', 'Z01', ['F50', 'J50', 'Z01'], 31.47749372499107], ['F47', 'Z01', ['F47', 'J48', 'Z01'], 35.43074902771996], ['F58', 'Z03', ['F58', 'J61', 'Z03'], 36.29868511793427], ['F46', 'Z01', ['F46', 'J48', 'Z01'], 37.57288465145091], ['F57', 'Z03', ['F57', 'J61', 'Z03'], 38.61812637366636], ['F43', 'Z05', ['F43', 'J46', 'J44', 'Z05'], 47.45857256109157], ['F25', 'Z01', ['F25', 'J33', 'J04', 'Z01'], 48.83576649652072], ['F44', 'Z01', ['F44', 'J47', 'J48', 'Z01'], 50.37191835070903], ['F54', 'Z02', ['F54', 'J59', 'J55', 'J54', 'Z02'], 61.235941981660105], ['F38', 'Z06', ['F38', 'J40', 'J39', 'J16', 'Z06'], 67.21120350243439], ['F37', 'Z06', ['F37', 'J40', 'J39', 'J16', 'Z06'], 68.99861933504195], ['F39', 'Z06', ['F39', 'J40', 'J39', 'J16', 'Z06'], 69.5646840021209], ['F26', 'Z02', ['F26', 'J34', 'J36', 'J06', 'J51', 'Z02'], 69.92085034992124], ['F27', 'Z02', ['F27', 'J35', 'J34', 'J36', 'J06', 'J51', 'Z02'], 84.35483148197784], ['F03', 'Z04', ['F03', 'J21', 'J14', 'J15', 'J37', 'Z04'], 91.69084222290766], ['F02', 'Z04', ['F02', 'J21', 'J14', 'J15', 'J37', 'Z04'], 91.74956459398662], ['F01', 'Z04', ['F01', 'J21', 'J14', 'J15', 'J37', 'Z04'], 91.80788611571172], ['F24', 'Z02', ['F24', 'J32', 'J33', 'J34', 'J36', 'J06', 'J51', 'Z02'], 108.50107458221203], ['F45', 'Z02', ['F45', 'J47', 'J48', 'Z01', 'J50', 'J53', 'J55', 'J54', 'Z02'], 136.25558715313264]
]
des3=[
['Z04', 'F31', ['Z04', 'J37', 'F31'], 21.35323817465893], ['Z04', 'F32', ['Z04', 'J37', 'F32'], 23.08640753373011], ['Z04', 'F33', ['Z04', 'J37', 'F33'], 25.846835534450577], ['Z06', 'F12', ['Z06', 'J26', 'F12'], 32.05246111297062], ['Z06', 'F13', ['Z06', 'J26', 'F13'], 34.85271395184804], ['Z06', 'F19', ['Z06', 'J28', 'F19'], 36.715355312087354], ['Z02', 'F29', ['Z02', 'J51', 'J06', 'J36', 'F29'], 44.364501163817195], ['Z02', 'F30', ['Z02', 'J51', 'J06', 'J36', 'F30'], 44.364501163817195], ['Z01', 'F51', ['Z01', 'J50', 'J53', 'F51'], 47.73019907835956], ['Z05', 'F20', ['Z05', 'J41', 'J18', 'J29', 'F20'], 49.33653806173203], ['Z01', 'F49', ['Z01', 'J50', 'J49', 'F49'], 55.24789498153446], ['Z01', 'F48', ['Z01', 'J50', 'J49', 'F48'], 55.596090272240296], ['Z04', 'F11', ['Z04', 'J37', 'J15', 'J25', 'F11'], 65.81432076137924], ['Z04', 'F10', ['Z04', 'J37', 'J15', 'J25', 'F10'], 67.80987145564245], ['Z05', 'F21', ['Z05', 'J41', 'J18', 'J29', 'J30', 'F21'], 67.98979907247477], ['Z05', 'F22', ['Z05', 'J41', 'J18', 'J29', 'J30', 'F22'], 70.22317146516322], ['Z05', 'F18', ['Z05', 'J41', 'J18', 'J29', 'J28', 'F18'], 71.32573805093097], ['Z01', 'F52', ['Z01', 'J50', 'J53', 'J56', 'F52'], 73.23318731911328], ['Z01', 'F53', ['Z01', 'J50', 'J53', 'J56', 'F53'], 74.89509110880388], ['Z02', 'F60', ['Z02', 'J54', 'J55', 'J59', 'J62', 'F60'], 83.55288203242155], ['Z02', 'F28', ['Z02', 'J51', 'J06', 'J36', 'J34', 'J35', 'F28'], 84.35483148197784], ['Z02', 'F59', ['Z02', 'J54', 'J55', 'J59', 'J62', 'F59'], 86.1509803339163], ['Z03', 'F55', ['Z03', 'J57', 'J58', 'J59', 'J62', 'J60', 'F55'], 111.04645746849064], ['Z03', 'F56', ['Z03', 'J57', 'J58', 'J59', 'J62', 'J60', 'F56'], 111.72148916682255]
]
if __name__ == '__main__':
final1=[]
final2=[]
for ll in des1:
for l2 in des2:
if ll[1]==l2[0]:
a=[]
a.append(ll[2][:-1] + l2[2])
a.append(ll[3]+l2[-1])
final1.append(a)
# print(final1)
# print(len(final1))
# print(final1)
# final1=[['D2', 'J32', 'F24', 'J32', 'J33', 'J34', 'J36', 'J06', 'J51', 'Z02'], ['D2', 'J32', 'J33', 'F25', 'J33', 'J04', 'Z01'], ['D2', 'J03', 'J48', 'F47', 'J48', 'Z01'], ['D1', 'J11', 'J46', 'F43', 'J46', 'J44', 'Z05'], ['D2', 'J03', 'J48', 'F46', 'J48', 'Z01'], ['D2', 'J02', 'J47', 'F44', 'J47', 'J48', 'Z01'], ['D2', 'J02', 'J47', 'F45', 'J47', 'J48', 'Z01', 'J50', 'J53', 'J55', 'J54', 'Z02'], ['D2', 'J32', 'J33', 'J34', 'F26', 'J34', 'J36', 'J06', 'J51', 'Z02'], ['D2', 'J32', 'J13', 'J21', 'F03', 'J21', 'J14', 'J15', 'J37', 'Z04'], ['D2', 'J32', 'J13', 'J21', 'F02', 'J21', 'J14', 'J15', 'J37', 'Z04'], ['D2', 'J32', 'J13', 'J21', 'F01', 'J21', 'J14', 'J15', 'J37', 'Z04'], ['D1', 'Z03', 'J61', 'F58', 'J61', 'Z03'], ['D1', 'Z03', 'J61', 'F57', 'J61', 'Z03'], ['D1', 'J11', 'J46', 'J44', 'F42', 'J44', 'Z05'], ['D1', 'J11', 'J46', 'J44', 'F41', 'J44', 'Z05'], ['D2', 'J03', 'J04', 'J50', 'F50', 'J50', 'Z01'], ['D2', 'J32', 'J33', 'J34', 'J35', 'F27', 'J35', 'J34', 'J36', 'J06', 'J51', 'Z02'], ['D1', 'J10', 'J45', 'J42', 'J40', 'F38', 'J40', 'J39', 'J16', 'Z06'], ['D1', 'J10', 'J45', 'J42', 'J40', 'F37', 'J40', 'J39', 'J16', 'Z06'], ['D1', 'J10', 'J45', 'J42', 'J40', 'F39', 'J40', 'J39', 'J16', 'Z06'], ['D1', 'J11', 'J46', 'J44', 'Z05', 'J41', 'F40', 'J41', 'Z05'], ['D1', 'J09', 'J08', 'J07', 'Z04', 'J38', 'F34', 'J38', 'Z04'], ['D1', 'J09', 'J08', 'J07', 'Z04', 'J38', 'F35', 'J38', 'Z04'], ['D1', 'Z03', 'J57', 'J58', 'J59', 'F54', 'J59', 'J55', 'J54', 'Z02']]
des4=[]
des3.reverse()
# print(des3)
# des3=[['Z03', 'F56', ['Z03', 'J57', 'J58', 'J59', 'J62', 'J60', 'F56'], 111.72148916682255], ['Z03', 'F55', ['Z03', 'J57', 'J58', 'J59', 'J62', 'J60', 'F55'], 111.04645746849064], ['Z02', 'F59', ['Z02', 'J54', 'J55', 'J59', 'J62', 'F59'], 86.1509803339163], ['Z02', 'F28', ['Z02', 'J51', 'J06', 'J36', 'J34', 'J35', 'F28'], 84.35483148197784], ['Z02', 'F60', ['Z02', 'J54', 'J55', 'J59', 'J62', 'F60'], 83.55288203242155], ['Z01', 'F53', ['Z01', 'J50', 'J53', 'J56', 'F53'], 74.89509110880388], ['Z01', 'F52', ['Z01', 'J50', 'J53', 'J56', 'F52'], 73.23318731911328], ['Z05', 'F18', ['Z05', 'J41', 'J18', 'J29', 'J28', 'F18'], 71.32573805093097], ['Z05', 'F22', ['Z05', 'J41', 'J18', 'J29', 'J30', 'F22'], 70.22317146516322], ['Z05', 'F21', ['Z05', 'J41', 'J18', 'J29', 'J30', 'F21'], 67.98979907247477], ['Z04', 'F10', ['Z04', 'J37', 'J15', 'J25', 'F10'], 67.80987145564245], ['Z04', 'F11', ['Z04', 'J37', 'J15', 'J25', 'F11'], 65.81432076137924], ['Z01', 'F48', ['Z01', 'J50', 'J49', 'F48'], 55.596090272240296], ['Z01', 'F49', ['Z01', 'J50', 'J49', 'F49'], 55.24789498153446], ['Z05', 'F20', ['Z05', 'J41', 'J18', 'J29', 'F20'], 49.33653806173203], ['Z01', 'F51', ['Z01', 'J50', 'J53', 'F51'], 47.73019907835956], ['Z02', 'F30', ['Z02', 'J51', 'J06', 'J36', 'F30'], 44.364501163817195], ['Z02', 'F29', ['Z02', 'J51', 'J06', 'J36', 'F29'], 44.364501163817195], ['Z06', 'F19', ['Z06', 'J28', 'F19'], 36.715355312087354], ['Z06', 'F13', ['Z06', 'J26', 'F13'], 34.85271395184804], ['Z06', 'F12', ['Z06', 'J26', 'F12'], 32.05246111297062], ['Z04', 'F33', ['Z04', 'J37', 'F33'], 25.846835534450577], ['Z04', 'F32', ['Z04', 'J37', 'F32'], 23.08640753373011], ['Z04', 'F31', ['Z04', 'J37', 'F31'], 21.35323817465893]]
tl1=[]
tl2=[]
tl3=[]
tl4=[]
tl5=[]
tl6=[]
q1=[]
q2=[]
q3=[]
q4=[]
q5=[]
q6=[]
count=0
for d3 in des3:
if d3[0]=='Z01':
tl1.append(d3)
# print(d3)
if d3[0]=='Z02':
tl2.append(d3)
# print(d3)
if d3[0]=='Z03':
tl3.append(d3)
# print(d3)
if d3[0]=='Z04':
tl4.append(d3)
# print(d3)
if d3[0]=='Z05':
tl5.append(d3)
# print(d3)
if d3[0]=='Z06':
tl6.append(d3)
# print(d3)
for f in final1:
if f[0][-1]=='Z01':
q1.append(f)
elif f[0][-1]=='Z02':
q2.append(f)
elif f[0][-1]=='Z03':
q3.append(f)
elif f[0][-1]=='Z04':
q4.append(f)
elif f[0][-1]=='Z05':
q5.append(f)
elif f[0][-1]=='Z06':
q6.append(f)
q1.sort(key=operator.itemgetter(-1))
q2.sort(key=operator.itemgetter(-1))
q3.sort(key=operator.itemgetter(-1))
q4.sort(key=operator.itemgetter(-1))
q5.sort(key=operator.itemgetter(-1))
q6.sort(key=operator.itemgetter(-1))
tl1.sort(key=operator.itemgetter(-1))
tl2.sort(key=operator.itemgetter(-1))
tl3.sort(key=operator.itemgetter(-1))
tl4.sort(key=operator.itemgetter(-1))
tl5.sort(key=operator.itemgetter(-1))
tl6.sort(key=operator.itemgetter(-1))
tl1.reverse()
tl2.reverse()
tl3.reverse()
tl4.reverse()
tl5.reverse()
tl6.reverse()
for i in range(len(q1)):
a=[]
a.append(q1[i][0][:-1]+tl1[i][2][:])
a.append(q1[i][-1]+tl1[i][-1])
des4.append(a)
for i in range(len(q2)):
a=[]
a.append(q2[i][0][:-1]+tl2[i][2][:])
a.append(q2[i][-1]+tl1[i][-1])
des4.append(a)
for i in range(len(q3)):
a=[]
a.append(q3[i][0][:-1]+tl3[i][2][:])
a.append(q3[i][-1]+tl3[i][-1])
des4.append(a)
for i in range(len(q4)):
a=[]
a.append(q4[i][0][:-1]+tl4[i][2][:])
a.append(q4[i][-1]+tl4[i][-1])
des4.append(a)
for i in range(len(q5)):
a=[]
a.append(q5[i][0][:-1]+tl5[i][2][:])
a.append(q5[i][-1]+tl5[i][-1])
des4.append(a)
for i in range(len(q6)):
a=[]
a.append(q6[i][0][:-1]+tl6[i][2][:])
a.append(q6[i][-1]+tl6[i][-1])
des4.append(a)
# print(len(des4))
des4.sort(key=operator.itemgetter(-1))
# print(des4)
#des4=[[['D2', 'J32', 'J33', 'F25', 'J33', 'J04', 'Z01', 'J50', 'J49', 'F48'], 150.311437488216], [['D2', 'J03', 'J04', 'J50', 'F50', 'J50', 'Z01', 'J50', 'J53', 'F51'], 160.7416337655903], [['D2', 'J03', 'J48', 'F47', 'J48', 'Z01', 'J50', 'J53', 'J56', 'F53'], 161.77842299693864], [['D2', 'J03', 'J48', 'F46', 'J48', 'Z01', 'J50', 'J53', 'J56', 'F52'], 164.40079045470995], [['D2', 'J02', 'J47', 'F44', 'J47', 'J48', 'Z01', 'J50', 'J49', 'F49'], 165.91765589432316], [['D1', 'J11', 'J46', 'J44', 'F42', 'J44', 'Z05', 'J41', 'J18', 'J29', 'J30', 'F22'], 171.28044945615295], [['D1', 'J11', 'J46', 'J44', 'Z05', 'J41', 'F40', 'J41', 'Z05', 'J41', 'J18', 'J29', 'F20'], 171.35646297969896], [['D1', 'J11', 'J46', 'F43', 'J46', 'J44', 'Z05', 'J41', 'J18', 'J29', 'J28', 'F18'], 171.3602532562809], [['D1', 'J11', 'J46', 'J44', 'F41', 'J44', 'Z05', 'J41', 'J18', 'J29', 'J30', 'F21'], 176.2345280685367], [['D2', 'J32', 'J13', 'J21', 'F01', 'J21', 'J14', 'J15', 'J37', 'Z04', 'J37', 'F31'], 185.5647344983181], [['D2', 'J32', 'J13', 'J21', 'F02', 'J21', 'J14', 'J15', 'J37', 'Z04', 'J37', 'F32'], 187.18126081393905], [['D2', 'J32', 'J13', 'J21', 'F03', 'J21', 'J14', 'J15', 'J37', 'Z04', 'J37', 'F33'], 189.82424407250159], [['D1', 'J09', 'J08', 'J07', 'Z04', 'J38', 'F34', 'J38', 'Z04', 'J37', 'J15', 'J25', 'F10'], 190.373008977587], [['D1', 'J09', 'J08', 'J07', 'Z04', 'J38', 'F35', 'J38', 'Z04', 'J37', 'J15', 'J25', 'F11'], 190.87052335283073], [['D1', 'J10', 'J45', 'J42', 'J40', 'F38', 'J40', 'J39', 'J16', 'Z06', 'J28', 'F19'], 203.72653160683666], [['D1', 'J10', 'J45', 'J42', 'J40', 'F39', 'J40', 'J39', 'J16', 'Z06', 'J26', 'F12'], 203.7705984070929], [['D1', 'J10', 'J45', 'J42', 'J40', 'F37', 'J40', 'J39', 'J16', 'Z06', 'J26', 'F13'], 205.43872191181248], [['D2', 'J32', 'J33', 'J34', 'F26', 'J34', 'J36', 'J06', 'J51', 'Z02', 'J51', 'J06', 'J36', 'J34', 'J35', 'F28'], 211.19625913630182], [['D2', 'J32', 'F24', 'J32', 'J33', 'J34', 'J36', 'J06', 'J51', 'Z02', 'J54', 'J55', 'J59', 'J62', 'F59'], 211.2972518405782], [['D1', 'Z03', 'J61', 'F58', 'J61', 'Z03', 'J57', 'J58', 'J59', 'J62', 'J60', 'F56'], 221.52100987816763], [['D1', 'Z03', 'J57', 'J58', 'J59', 'F54', 'J59', 'J55', 'J54', 'Z02', 'J54', 'J55', 'J59', 'J62', 'F60'], 222.06994940072886], [['D2', 'J32', 'J33', 'J34', 'J35', 'F27', 'J35', 'J34', 'J36', 'J06', 'J51', 'Z02', 'J51', 'J06', 'J36', 'F29'], 222.0789290628362], [['D1', 'Z03', 'J61', 'F57', 'J61', 'Z03', 'J57', 'J58', 'J59', 'J62', 'J60', 'F55'], 225.4848606912999], [['D2', 'J02', 'J47', 'F45', 'J47', 'J48', 'Z01', 'J50', 'J53', 'J55', 'J54', 'Z02', 'J51', 'J06', 'J36', 'F30'], 245.99693905332154]]