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
2ed48496
Commit
2ed48496
authored
Jun 06, 2022
by
张晓彤
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分组调度算法更新
parent
391d2602
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
38 additions
and
10 deletions
+38
-10
algorithm.py
alg/algorithm.py
+0
-0
dispatcher.py
core/dispatcher.py
+0
-0
dispatcher.py
dispatcher.py
+34
-10
__init__.py
equipment/__init__.py
+4
-0
No files found.
alg/algorithm.py
View file @
2ed48496
This diff is collapsed.
Click to expand it.
core/dispatcher.py
0 → 100644
View file @
2ed48496
This diff is collapsed.
Click to expand it.
dispatcher.py
View file @
2ed48496
...
...
@@ -855,9 +855,12 @@ class PreSchedule:
self
.
truck_reach_excavator
=
np
.
zeros
(
self
.
truck
.
get_truck_num
())
self
.
excavator_avl_time
=
np
.
zeros
(
self
.
excavator
.
get_excavator_num
())
self
.
dump_avl_time
=
np
.
zeros
(
self
.
dump
.
get_dump_num
())
# 卡车完成装载及卸载时间(矿卡可用时间)
self
.
truck_avl_time
=
np
.
zeros
(
self
.
truck
.
get_truck_num
())
self
.
excavator_avl_time_dict
=
{}
self
.
dump_avl_time_dict
=
{}
self
.
truck_avl_time_dict
=
{}
self
.
logger
=
get_logger
(
"zxt.pre_schedule"
)
def
update_truck_reach_time
(
self
):
...
...
@@ -925,6 +928,10 @@ class PreSchedule:
/
timedelta
(
hours
=
0
,
minutes
=
1
,
seconds
=
0
),
)
for
excavator_id
in
get_value
(
"dynamic_excavator_set"
):
self
.
excavator_avl_time_dict
[
excavator_id
]
=
(
datetime
.
now
()
-
self
.
start_time
)
\
/
timedelta
(
hours
=
0
,
minutes
=
1
,
seconds
=
0
)
loading_time
=
self
.
excavator
.
get_loading_time
()
loading_task_time
=
self
.
excavator
.
get_loading_task_time
()
...
...
@@ -943,14 +950,19 @@ class PreSchedule:
reach_ls
=
np
.
array
(
reach_ls
)
tmp
=
reach_ls
[
np
.
lexsort
(
reach_ls
[:,
::
-
1
]
.
T
)]
for
i
in
range
(
len
(
tmp
)):
excavator_index
=
int
(
tmp
[
i
][
2
])
excavator_id
=
self
.
excavator
.
excavator_index_to_uuid_dict
[
excavator_index
]
self
.
excavator_avl_time
[
excavator_index
]
=
(
max
(
tmp
[
i
][
0
],
self
.
excavator_avl_time
[
excavator_index
])
+
loading_task_time
[
excavator_index
]
)
self
.
truck_avl_time
[
int
(
tmp
[
i
][
1
])
]
=
self
.
excavator_avl_time
[
excavator_index
]
self
.
excavator_avl_time_dict
[
excavator_id
]
=
self
.
excavator_avl_time
[
excavator_index
]
truck_index
=
int
(
tmp
[
i
][
1
])
truck_id
=
self
.
truck
.
truck_index_to_uuid_dict
[
truck_index
]
self
.
truck_avl_time
[
truck_index
]
=
self
.
excavator_avl_time
[
excavator_index
]
self
.
truck_avl_time_dict
[
truck_id
]
=
self
.
truck_avl_time
[
truck_index
]
# # 若挖机可用时间严重偏离,进行修正
# if abs(self.excavator_avl_time[excavator_index] - now) > 60:
...
...
@@ -961,7 +973,7 @@ class PreSchedule:
self
.
logger
.
error
(
"挖机可用时间计算异常"
)
self
.
logger
.
error
(
es
)
return
self
.
excavator_avl_time
return
self
.
excavator_avl_time
_dict
def
update_dump_avl_time
(
self
,
dump_avl_ls
):
"""
...
...
@@ -981,6 +993,10 @@ class PreSchedule:
/
timedelta
(
hours
=
0
,
minutes
=
1
,
seconds
=
0
),
)
for
dump_id
in
get_value
(
"dynamic_dump_set"
):
self
.
dump_avl_time_dict
[
dump_id
]
=
(
datetime
.
now
()
-
self
.
start_time
)
\
/
timedelta
(
hours
=
0
,
minutes
=
1
,
seconds
=
0
)
unloading_time
=
self
.
dump
.
get_unloading_time
()
unloading_task_time
=
self
.
dump
.
get_unloading_task_time
()
...
...
@@ -997,14 +1013,19 @@ class PreSchedule:
reach_ls
=
np
.
array
(
reach_ls
)
tmp
=
reach_ls
[
np
.
lexsort
(
reach_ls
[:,
::
-
1
]
.
T
)]
for
i
in
range
(
len
(
tmp
)):
dump_index
=
int
(
tmp
[
i
][
2
])
dump_id
=
self
.
dump
.
dump_index_to_uuid_dict
[
dump_index
]
self
.
dump_avl_time
[
dump_index
]
=
(
max
(
tmp
[
i
][
0
],
self
.
dump_avl_time
[
dump_index
])
+
unloading_task_time
[
dump_index
]
)
self
.
truck_avl_time
[
int
(
tmp
[
i
][
1
])
]
=
self
.
dump_avl_time
[
dump_index
]
self
.
dump_avl_time_dict
[
dump_id
]
=
self
.
dump_avl_time
[
dump_index
]
truck_index
=
int
(
tmp
[
i
][
1
])
truck_id
=
self
.
truck
.
truck_index_to_uuid_dict
[
truck_index
]
self
.
truck_avl_time
[
truck_index
]
=
self
.
dump_avl_time
[
dump_index
]
self
.
truck_avl_time_dict
[
truck_id
]
=
self
.
truck_avl_time
[
truck_index
]
# # 若卸载设备可用时间严重偏离,进行修正
# if abs(self.dump_avl_time[dump_index] - now) > 60:
...
...
@@ -1015,7 +1036,7 @@ class PreSchedule:
self
.
logger
.
error
(
"卸载设备可用时间计算异常"
)
self
.
logger
.
error
(
es
)
return
self
.
dump_avl_time
return
self
.
dump_avl_time
_dict
def
_reset
(
self
):
"""
...
...
@@ -1027,9 +1048,12 @@ class PreSchedule:
self
.
truck_reach_excavator
=
np
.
zeros
(
self
.
truck
.
get_truck_num
())
self
.
excavator_avl_time
=
np
.
zeros
(
self
.
excavator
.
get_excavator_num
())
self
.
dump_avl_time
=
np
.
zeros
(
self
.
dump
.
get_dump_num
())
# 卡车完成装载及卸载时间(矿卡可用时间)
self
.
truck_avl_time
=
np
.
zeros
(
self
.
truck
.
get_truck_num
())
self
.
excavator_avl_time_dict
=
{}
self
.
dump_avl_time_dict
=
{}
self
.
truck_avl_time_dict
=
{}
def
get_dump_avl_time
(
self
):
"""
获取卸载点最早可用时间
...
...
equipment/__init__.py
View file @
2ed48496
...
...
@@ -5,3 +5,7 @@
# @Site :
# @File : __init__.py
# @Software: PyCharm
from
.excavator
import
ExcavatorInfo
from
.dump
import
DumpInfo
from
.truck
import
TruckInfo
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