Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
integrated-scheduling-v3
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张晓彤
integrated-scheduling-v3
Commits
05f26b5d
Commit
05f26b5d
authored
May 22, 2025
by
Allvey
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调度优化,参数修改,调度周期缩短
parent
e2c353b6
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
41 additions
and
22 deletions
+41
-22
algorithm.py
alg/algorithm.py
+6
-0
config.json
config.json
+5
-10
dispatcher.py
core/dispatcher.py
+4
-4
para_config.py
data/para_config.py
+3
-1
dump.py
equipment/dump.py
+3
-1
excavator.py
equipment/excavator.py
+3
-1
truck.py
equipment/truck.py
+15
-3
realtime_dispatch.py
realtime_dispatch.py
+1
-1
realtime_dispatch_test.py
realtime_dispatch_test.py
+1
-1
No files found.
alg/algorithm.py
View file @
05f26b5d
...
@@ -222,6 +222,9 @@ class ExpectedTime(AlgorithmBase):
...
@@ -222,6 +222,9 @@ class ExpectedTime(AlgorithmBase):
self
.
logger
.
info
(
"expected_travelling_schedule-transport_value"
)
self
.
logger
.
info
(
"expected_travelling_schedule-transport_value"
)
self
.
logger
.
info
(
transport_value
)
self
.
logger
.
info
(
transport_value
)
self
.
logger
.
info
(
"truck_uuid_to_index_dict"
)
self
.
logger
.
info
(
get_value
(
"truck_uuid_to_index_dict"
))
except
Exception
as
es
:
except
Exception
as
es
:
self
.
logger
.
error
(
"矿卡启动调度异常"
)
self
.
logger
.
error
(
"矿卡启动调度异常"
)
self
.
logger
.
error
(
es
)
self
.
logger
.
error
(
es
)
...
@@ -293,6 +296,9 @@ class ExpectedTime(AlgorithmBase):
...
@@ -293,6 +296,9 @@ class ExpectedTime(AlgorithmBase):
self
.
logger
.
info
(
"expected_travelling_schedule-transport_value"
)
self
.
logger
.
info
(
"expected_travelling_schedule-transport_value"
)
self
.
logger
.
info
(
transport_value
)
self
.
logger
.
info
(
transport_value
)
self
.
logger
.
info
(
"truck_uuid_to_index_dict"
)
self
.
logger
.
info
(
get_value
(
"truck_uuid_to_index_dict"
))
except
Exception
as
es
:
except
Exception
as
es
:
self
.
logger
.
error
(
"矿卡空载调度异常"
)
self
.
logger
.
error
(
"矿卡空载调度异常"
)
self
.
logger
.
error
(
es
)
self
.
logger
.
error
(
es
)
...
...
config.json
View file @
05f26b5d
{
{
"para"
:
{
"para"
:
{
"log_path"
:
"/Users/guoao/Desktop/Log"
,
"log_path"
:
"/Users/guoao/Desktop/Log"
,
"empty_speed"
:
1
0
,
"empty_speed"
:
1
8
,
"heavy_speed"
:
1
0
,
"heavy_speed"
:
1
8
,
"dump_target_mass"
:
5000
,
"dump_target_mass"
:
5000
,
"excavator_target_mass"
:
5000
,
"excavator_target_mass"
:
5000
,
"loading_time"
:
10
,
"loading_time"
:
10
,
"unloading_time"
:
20
"unloading_time"
:
20
},
},
"mysql"
:
{
"mysql"
:
{
"host"
:
"172.16.0.5
1
"
,
"host"
:
"172.16.0.5
3
"
,
"port"
:
"3306"
,
"port"
:
"3306"
,
"user"
:
"root"
,
"user"
:
"root"
,
"password"
:
"Huituo@123"
,
"password"
:
"Huituo@123"
,
"database"
:
"ht_zhunneng"
"database"
:
"ht_zhunneng"
},
},
"postgresql"
:
{
"postgresql"
:
{
"host"
:
"172.16.0.5
1
"
,
"host"
:
"172.16.0.5
3
"
,
"port"
:
"5432"
,
"port"
:
"5432"
,
"user"
:
"postgres"
,
"user"
:
"postgres"
,
"password"
:
"Huituo@123"
,
"password"
:
"Huituo@123"
,
"database"
:
"gis_zhunneng"
"database"
:
"gis_zhunneng"
},
},
"redis"
:
{
"redis"
:
{
"host"
:
"172.16.0.5
1
"
,
"host"
:
"172.16.0.5
3
"
,
"password"
:
"Huituo@123"
"password"
:
"Huituo@123"
},
"gothrough"
:
{
"closer_area_name"
:
"装-2"
,
"further_area_name"
:
"装1"
,
"factor"
:
"0.2"
}
}
}
}
core/dispatcher.py
View file @
05f26b5d
...
@@ -31,13 +31,13 @@ class Dispatcher:
...
@@ -31,13 +31,13 @@ class Dispatcher:
self
.
request_mode
=
request_mode
self
.
request_mode
=
request_mode
self
.
logger
=
get_logger
(
"zxt.dispatcher"
)
self
.
logger
=
get_logger
(
"zxt.dispatcher"
)
self
.
redispatch_active
=
active
self
.
redispatch_active
=
active
#
if self.redispatch_active:
if
self
.
redispatch_active
:
self
.
logger
.
info
(
"======================================= 更新路网开始 ======================================="
)
self
.
logger
.
info
(
"======================================= 更新路网开始 ======================================="
)
self
.
topo
=
Topo
()
self
.
topo
=
Topo
()
self
.
topo
.
generate_topo_graph
()
self
.
topo
.
generate_topo_graph
()
self
.
logger
.
info
(
"======================================= 更新路网结束 ======================================="
)
self
.
logger
.
info
(
"======================================= 更新路网结束 ======================================="
)
#
else:
else
:
#
self.topo = None
self
.
topo
=
None
self
.
submission
=
DispatchSubmission
(
dump
,
excavator
,
truck
,
self
.
topo
)
self
.
submission
=
DispatchSubmission
(
dump
,
excavator
,
truck
,
self
.
topo
)
def
period_update
(
self
):
def
period_update
(
self
):
...
@@ -50,7 +50,7 @@ class Dispatcher:
...
@@ -50,7 +50,7 @@ class Dispatcher:
self
.
excavator
.
excavator_para_period_update
()
self
.
excavator
.
excavator_para_period_update
()
self
.
truck
.
truck_para_period_update
(
self
.
dump
,
self
.
excavator
)
self
.
truck
.
truck_para_period_update
(
self
.
dump
,
self
.
excavator
)
self
.
truck
.
state_period_update
()
self
.
truck
.
state_period_update
()
#
if self.redispatch_active:
if
self
.
redispatch_active
:
self
.
logger
.
info
(
"======================================= 更新路网开始 ======================================="
)
self
.
logger
.
info
(
"======================================= 更新路网开始 ======================================="
)
self
.
topo
.
generate_topo_graph
()
self
.
topo
.
generate_topo_graph
()
self
.
logger
.
info
(
"======================================= 更新路网结束 ======================================="
)
self
.
logger
.
info
(
"======================================= 更新路网结束 ======================================="
)
...
...
data/para_config.py
View file @
05f26b5d
...
@@ -301,7 +301,9 @@ def global_period_para_update():
...
@@ -301,7 +301,9 @@ def global_period_para_update():
"park_uuid_to_index_dict"
:
park_uuid_to_index_dict
,
"park_uuid_to_index_dict"
:
park_uuid_to_index_dict
,
"park_index_to_uuid_dict"
:
park_index_to_uuid_dict
,
"park_index_to_uuid_dict"
:
park_index_to_uuid_dict
,
"unloading_time"
:
unloading_time
,
"unloading_time"
:
unloading_time
,
"loading_time"
:
loading_time
}
"loading_time"
:
loading_time
,
"truck_index_to_uuid_dict"
:
WalkManage
.
truck_index_to_uuid_dict
,
"truck_uuid_to_index_dict"
:
WalkManage
.
truck_uuid_to_index_dict
}
# 矿卡集合
# 矿卡集合
truck_set
=
set
(
update_total_truck
())
truck_set
=
set
(
update_total_truck
())
...
...
equipment/dump.py
View file @
05f26b5d
...
@@ -55,7 +55,9 @@ class DumpInfo(WalkManage):
...
@@ -55,7 +55,9 @@ class DumpInfo(WalkManage):
dump_exit_time
=
self
.
exit_time
dump_exit_time
=
self
.
exit_time
unloading_task_time
=
unloading_time
+
dump_entrance_time
+
dump_exit_time
# unloading_task_time = unloading_time + dump_entrance_time + dump_exit_time
unloading_task_time
=
unloading_time
return
unloading_task_time
return
unloading_task_time
...
...
equipment/excavator.py
View file @
05f26b5d
...
@@ -123,7 +123,9 @@ class ExcavatorInfo(WalkManage):
...
@@ -123,7 +123,9 @@ class ExcavatorInfo(WalkManage):
excavator_exit_time
=
self
.
exit_time
excavator_exit_time
=
self
.
exit_time
loading_task_time
=
loading_time
+
excavator_entrance_time
+
excavator_exit_time
# loading_task_time = loading_time + excavator_entrance_time + excavator_exit_time
loading_task_time
=
loading_time
return
loading_task_time
return
loading_task_time
...
...
equipment/truck.py
View file @
05f26b5d
...
@@ -274,12 +274,21 @@ class TruckInfo(WalkManage):
...
@@ -274,12 +274,21 @@ class TruckInfo(WalkManage):
last_load_time_tmp
=
eval
(
byte_to_str
(
key_value_dict
[
str_to_byte
(
"lastLoadTime"
)]))
last_load_time_tmp
=
eval
(
byte_to_str
(
key_value_dict
[
str_to_byte
(
"lastLoadTime"
)]))
tmp_time
=
datetime
.
strptime
(
last_load_time_tmp
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
tmp_time
=
datetime
.
strptime
(
last_load_time_tmp
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
tmp_time
>
datetime
.
strptime
(
"2020-01-01 01:01:01"
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
):
# 若最后装载时间异常
if
tmp_time
>
datetime
.
strptime
(
"2020-01-01 01:01:01"
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
):
# 若最后装载时间异常
# self.last_load_time[item] = tmp_time
# if float((datetime.now() - tmp_time) / timedelta(hours=0, minutes=1, seconds=0)) > 10:
if
float
((
datetime
.
now
()
-
tmp_time
)
/
timedelta
(
hours
=
0
,
minutes
=
1
,
seconds
=
0
))
>
10
:
self
.
last_load_time
[
item
]
=
datetime
.
now
()
self
.
last_load_time
[
item
]
=
datetime
.
now
()
else
:
else
:
self
.
last_load_time
[
item
]
=
tmp_time
# self.last_load_time[item] = datetime.now()
else
:
self
.
last_load_time
[
item
]
=
datetime
.
now
()
self
.
last_load_time
[
item
]
=
datetime
.
now
()
self
.
logger
.
warning
(
"lastLoadTime is Error"
)
self
.
logger
.
warning
(
"lastLoadTime is Error"
)
print
(
"here"
)
print
(
tmp_time
)
print
(
self
.
last_load_time
[
item
])
else
:
else
:
self
.
last_load_time
[
item
]
=
datetime
.
now
()
self
.
last_load_time
[
item
]
=
datetime
.
now
()
...
@@ -296,9 +305,12 @@ class TruckInfo(WalkManage):
...
@@ -296,9 +305,12 @@ class TruckInfo(WalkManage):
last_unload_time_tmp
=
eval
(
key_value_dict
[
str_to_byte
(
"lastUnloadTime"
)])
last_unload_time_tmp
=
eval
(
key_value_dict
[
str_to_byte
(
"lastUnloadTime"
)])
tmp_time
=
datetime
.
strptime
(
last_unload_time_tmp
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
tmp_time
=
datetime
.
strptime
(
last_unload_time_tmp
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
tmp_time
>
datetime
.
strptime
(
"2020-01-01 01:01:01"
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
):
if
tmp_time
>
datetime
.
strptime
(
"2020-01-01 01:01:01"
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
):
# self.last_unload_time[item] = tmp_time
if
float
((
datetime
.
now
()
-
tmp_time
)
/
timedelta
(
hours
=
0
,
minutes
=
1
,
seconds
=
0
))
>
10
:
self
.
last_unload_time
[
item
]
=
datetime
.
now
()
self
.
last_unload_time
[
item
]
=
datetime
.
now
()
else
:
else
:
self
.
last_unload_time
[
item
]
=
tmp_time
else
:
self
.
last_unload_time
[
item
]
=
datetime
.
now
()
self
.
last_unload_time
[
item
]
=
datetime
.
now
()
self
.
logger
.
warning
(
"lastUnloadTime is Error"
)
self
.
logger
.
warning
(
"lastUnloadTime is Error"
)
...
@@ -403,7 +415,7 @@ class TruckInfo(WalkManage):
...
@@ -403,7 +415,7 @@ class TruckInfo(WalkManage):
self
.
cur_truck_reach_excavator
[
i
]
=
(
self
.
cur_truck_reach_excavator
[
i
]
=
(
last_unload_time
last_unload_time
+
walk_time_to_load_area
[
start_area_index
][
end_area_index
]
+
min
(
10
,
walk_time_to_load_area
[
start_area_index
][
end_area_index
])
)
)
except
Exception
as
es
:
except
Exception
as
es
:
self
.
logger
.
info
(
es
)
self
.
logger
.
info
(
es
)
...
...
realtime_dispatch.py
View file @
05f26b5d
...
@@ -166,4 +166,4 @@ if __name__ == "__main__":
...
@@ -166,4 +166,4 @@ if __name__ == "__main__":
logger
.
info
(
" "
)
logger
.
info
(
" "
)
logger
.
info
(
"调度系统启动"
)
logger
.
info
(
"调度系统启动"
)
main
(
3
0
,
dispatcher
)
main
(
1
0
,
dispatcher
)
realtime_dispatch_test.py
View file @
05f26b5d
...
@@ -193,4 +193,4 @@ if __name__ == "__main__":
...
@@ -193,4 +193,4 @@ if __name__ == "__main__":
logger
.
info
(
" "
)
logger
.
info
(
" "
)
logger
.
info
(
"调度系统启动"
)
logger
.
info
(
"调度系统启动"
)
main
(
2
0
,
dispatcher
)
main
(
1
0
,
dispatcher
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment