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
0
Merge Requests
0
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
67d88c4c
Commit
67d88c4c
authored
Dec 14, 2021
by
张晓彤
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
异常处理BUG
parent
9b13cd89
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
74 additions
and
5 deletions
+74
-5
group_control.py
group_control/group_control.py
+52
-0
realtime_dispatch.py
realtime_dispatch.py
+22
-5
No files found.
group_control/group_control.py
View file @
67d88c4c
...
...
@@ -327,6 +327,58 @@ class Group(WalkManage):
logger
.
error
(
es
)
logger
.
error
(
"modify update 异常"
)
def
update_excavator_hold_truck
(
self
,
excavator_hold_truck
):
group_excavator_hold_truck
=
{}
for
group_id
in
self
.
group_set
:
excavator_group
=
self
.
device_group
[
group_id
][
1
]
group_excavator_hold_truck
[
group_id
]
=
np
.
zeros
(
len
(
excavator_group
))
for
excavator_id
in
excavator_group
:
group_excavator_index
=
self
.
group_excavator_uuid_to_index_dict
[
group_id
][
excavator_id
]
excavator_index
=
self
.
excavator
.
excavator_uuid_to_index_dict
[
excavator_id
]
group_excavator_hold_truck
[
group_id
][
group_excavator_index
]
=
excavator_hold_truck
[
excavator_index
]
return
group_excavator_hold_truck
def
update_dump_hold_truck
(
self
,
dump_hold_truck
):
group_dump_hold_truck
=
{}
for
group_id
in
self
.
group_set
:
dump_group
=
self
.
device_group
[
group_id
][
0
]
group_dump_hold_truck
[
group_id
]
=
np
.
zeros
(
len
(
dump_group
))
for
dump_id
in
dump_group
:
group_dump_index
=
self
.
group_dump_uuid_to_index_dict
[
group_id
][
dump_id
]
dump_index
=
self
.
dump
.
dump_uuid_to_index_dict
[
dump_id
]
group_dump_hold_truck
[
group_id
][
group_dump_index
]
=
dump_hold_truck
[
dump_index
]
return
group_dump_hold_truck
def
update_allow_flow_to_excavator
(
self
):
group_allow_flow_to_excavator
=
{}
for
group_id
in
self
.
group_set
:
dump_group
=
self
.
device_group
[
group_id
][
0
]
group_allow_flow_to_excavator
[
group_id
]
=
np
.
zeros
(
len
(
dump_group
))
for
dump_id
in
dump_group
:
group_dump_index
=
self
.
group_dump_uuid_to_index_dict
[
group_id
][
dump_id
]
dump_index
=
self
.
dump
.
dump_uuid_to_index_dict
[
dump_id
]
group_allow_flow_to_excavator
[
group_id
][
group_dump_index
]
=
self
.
excavator
.
excavator_strength
[
dump_index
]
return
group_allow_flow_to_excavator
def
update_allow_flow_to_dump
(
self
):
group_allow_flow_to_dump
=
{}
for
group_id
in
self
.
group_set
:
dump_group
=
self
.
device_group
[
group_id
][
0
]
group_allow_flow_to_dump
[
group_id
]
=
np
.
zeros
(
len
(
dump_group
))
for
dump_id
in
dump_group
:
group_dump_index
=
self
.
group_dump_uuid_to_index_dict
[
group_id
][
dump_id
]
dump_index
=
self
.
dump
.
dump_uuid_to_index_dict
[
dump_id
]
group_allow_flow_to_dump
[
group_id
][
group_dump_index
]
=
self
.
dump
.
dump_strength
[
dump_index
]
return
group_allow_flow_to_dump
def
period_update
(
self
):
self
.
reset
()
self
.
update_dispatch_truck_group
()
...
...
realtime_dispatch.py
View file @
67d88c4c
...
...
@@ -353,9 +353,17 @@ class Dispatcher(WalkManage):
# 3. 启用饱和度调度
else
:
logger
.
info
(
"饱和度调度"
)
actual_flow_to_excavator
=
truck
.
excavator_hold_truck_num
*
truck
.
payload
/
self
.
group
.
group_park_to_excavator
[
group_id
]
.
reshape
(
1
,
-
1
)
logger
.
info
(
truck
.
excavator_hold_truck_num
)
logger
.
info
(
np
.
mean
(
truck
.
payload
))
logger
.
info
(
self
.
group
.
update_excavator_hold_truck
(
truck
.
excavator_hold_truck_num
))
allow_flow_to_excavator
=
excavator
.
excavator_strength
excavator_hold_truck
=
self
.
group
.
update_excavator_hold_truck
(
truck
.
excavator_hold_truck_num
)[
group_id
]
actual_flow_to_excavator
=
excavator_hold_truck
*
np
.
mean
(
truck
.
payload
)
/
self
.
group
.
group_park_to_excavator
[
group_id
]
.
reshape
(
1
,
-
1
)
.
flatten
()
# allow_flow_to_excavator = excavator.excavator_strength
allow_flow_to_excavator
=
self
.
group
.
update_allow_flow_to_excavator
()[
group_id
]
target
=
np
.
argmin
(
actual_flow_to_excavator
/
allow_flow_to_excavator
)
...
...
@@ -536,11 +544,15 @@ class Dispatcher(WalkManage):
transport_value
=
self
.
group
.
group_walk_to_dump_cost
[
group_id
][:,
excavator_index
]
.
reshape
(
1
,
-
1
)
actual_flow_to_dump
=
truck
.
dump_hold_truck_num
*
truck
.
payload
/
\
dump_hold_truck
=
self
.
group
.
update_dump_hold_truck
(
truck
.
dump_hold_truck_num
)[
group_id
]
actual_flow_to_dump
=
dump_hold_truck
*
truck
.
payload
/
\
self
.
group
.
group_walk_to_dump_cost
[
group_id
][:,
excavator_index
]
.
reshape
(
1
,
-
1
)
allow_flow_to_dump
=
dump
.
dump_strength
allow_flow_to_dump
=
self
.
group
.
update_allow_flow_to_dump
()[
group_id
]
target
=
np
.
argmax
((
1
-
actual_flow_to_dump
/
allow_flow_to_dump
)
/
transport_value
)
target
=
dump
.
dump_uuid_to_index_dict
[
...
...
@@ -669,11 +681,16 @@ class Dispatcher(WalkManage):
transport_value
=
self
.
group
.
group_walk_to_excavator_cost
[
group_id
][
dump_index
,
:]
.
reshape
(
1
,
-
1
)
actual_flow_to_excavator
=
truck
.
excavator_hold_truck_num
*
truck
.
payload
/
\
excavator_hold_truck
=
self
.
group
.
update_excavator_hold_truck
(
truck
.
excavator_hold_truck_num
)[
group_id
]
actual_flow_to_excavator
=
excavator_hold_truck
*
truck
.
payload
/
\
self
.
group
.
group_walk_to_excavator_cost
[
group_id
][
dump_index
,
:]
.
reshape
(
1
,
-
1
)
allow_flow_to_excavator
=
excavator
.
excavator_strength
# allow_flow_to_excavator = excavator.excavator_strength
allow_flow_to_excavator
=
self
.
group
.
update_allow_flow_to_excavator
()[
group_id
]
target
=
np
.
argmax
((
1
-
actual_flow_to_excavator
/
allow_flow_to_excavator
)
/
transport_value
)
...
...
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