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
659c93e9
Commit
659c93e9
authored
Jun 24, 2022
by
z5335534 Ao Guo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加dump映射
parent
c8302415
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
43 additions
and
7 deletions
+43
-7
algorithm.cpython-37.pyc
alg/__pycache__/algorithm.cpython-37.pyc
+0
-0
algorithm.py
alg/algorithm.py
+2
-1
group.cpython-37.pyc
core/__pycache__/group.cpython-37.pyc
+0
-0
group.py
core/group.py
+11
-1
dispatchInfo.cpython-37.pyc
data/__pycache__/dispatchInfo.cpython-37.pyc
+0
-0
dispatchInfo.py
data/dispatchInfo.py
+21
-4
truck.cpython-37.pyc
equipment/__pycache__/truck.cpython-37.pyc
+0
-0
truck.py
equipment/truck.py
+7
-1
test2.py
test2.py
+2
-0
No files found.
alg/__pycache__/algorithm.cpython-37.pyc
View file @
659c93e9
No preview for this file type
alg/algorithm.py
View file @
659c93e9
...
...
@@ -236,7 +236,8 @@ class ExpectedTime(AlgorithmBase):
dump_val_time_global
=
self
.
pre_sch
.
get_dump_avl_time
()
# 局部卸点可用时间 list
dump_val_time
=
np
.
full
(
len
(
self
.
group
.
dump
),
0
)
dump_val_time
=
np
.
full
(
len
(
self
.
group
.
unload_area
),
0
)
bb
=
self
.
group
.
dump_uuid_index_dict
for
dump_id
,
dump_index
in
self
.
group
.
dump_uuid_index_dict
.
items
():
dump_val_time
[
dump_index
]
=
dump_val_time_global
[
dump_id
]
...
...
core/__pycache__/group.cpython-37.pyc
View file @
659c93e9
No preview for this file type
core/group.py
View file @
659c93e9
...
...
@@ -72,8 +72,10 @@ class Group:
# group devices
self
.
excavator
=
{}
# excavator_id -> unload_area_id
self
.
unload_area
=
{}
# unload_area_id -> load_area_id
self
.
dump
=
{}
self
.
truck_set
=
set
()
# truck_id
# road network info.
self
.
to_excavator_distance
=
None
self
.
to_unload_area_distance
=
None
...
...
@@ -87,6 +89,7 @@ class Group:
self
.
truck_uuid_index_dict
=
bidict
()
self
.
excavator_uuid_index_dict
=
bidict
()
self
.
unload_area_uuid_index_dict
=
bidict
()
self
.
dump_uuid_index_dict
=
bidict
()
def
update_group_mode
(
self
):
"""
...
...
@@ -107,9 +110,11 @@ class Group:
# DispatchInfo.update_device_group_structure()
self
.
excavator
=
{}
self
.
unload_area
=
{}
self
.
dump
=
{}
self
.
truck_set
=
set
()
self
.
excavator
=
DispatchInfo
.
get_excavator
(
self
.
group_id
)
self
.
unload_area
=
DispatchInfo
.
get_unload_area
(
self
.
group_id
)
self
.
dump
=
DispatchInfo
.
get_dump
(
self
.
group_id
)
self
.
truck_set
=
DispatchInfo
.
get_truck_set
(
self
.
group_id
)
def
update_group_road_network
(
self
):
...
...
@@ -135,6 +140,7 @@ class Group:
self
.
excavator_uuid_index_dict
=
{}
self
.
unload_area_uuid_index_dict
=
{}
self
.
truck_uuid_index_dict
=
{}
self
.
dump_uuid_index_dict
=
{}
for
i
in
range
(
len
(
self
.
excavator
)):
self
.
excavator_uuid_index_dict
[
list
(
self
.
excavator
)[
i
]]
=
i
...
...
@@ -142,13 +148,16 @@ class Group:
for
i
in
range
(
len
(
self
.
unload_area
)):
self
.
unload_area_uuid_index_dict
[
list
(
self
.
unload_area
)[
i
]]
=
i
b
=
self
.
truck_set
for
i
in
range
(
len
(
self
.
dump
)):
self
.
dump_uuid_index_dict
[
list
(
self
.
dump
)[
i
]]
=
i
for
i
in
range
(
len
(
self
.
truck_set
)):
self
.
truck_uuid_index_dict
[
list
(
self
.
truck_set
)[
i
]]
=
i
self
.
excavator_uuid_index_dict
=
bidict
(
self
.
excavator_uuid_index_dict
)
self
.
unload_area_uuid_index_dict
=
bidict
(
self
.
unload_area_uuid_index_dict
)
self
.
truck_uuid_index_dict
=
bidict
(
self
.
truck_uuid_index_dict
)
self
.
dump_uuid_index_dict
=
bidict
(
self
.
dump_uuid_index_dict
)
# group_excavator_dict = {group_1: {excavator_1: load_area_1}, group_2: {excavator_2: load_area_2}}
...
...
@@ -199,6 +208,7 @@ class Group:
truck_dispatch
[
i
]
=
[
next_excavator_id
,
next_unload_area_id
]
if
truck_task
in
[
0
,
1
]:
bb
=
truck_task
next_unload_area_value
=
s
.
solve
(
truck_info
)
min_index
=
np
.
argmin
(
next_unload_area_value
)
next_unload_area_id
=
self
.
unload_area_uuid_index_dict
.
inverse
[
min_index
]
...
...
data/__pycache__/dispatchInfo.cpython-37.pyc
View file @
659c93e9
No preview for this file type
data/dispatchInfo.py
View file @
659c93e9
...
...
@@ -24,14 +24,18 @@ class DispatchInfo:
load_excavator_dict
=
{}
# 装载区id-->>电铲编号的映射
excavator_load_dict
=
{}
# 电铲编号->>装载区id的映射
# excavator <->
team_
id
# excavator <->
group
id
group_excavator_dict
=
{}
# team_id -> dict {[excavator_id, excavator_id], ...}
excavator_group_dict
=
{}
# excavator_id -> team_id 问题:多个key值对应一个value值
# unload_area <->
team_
id
# unload_area <->
group
id
group_unload_area_dict
=
{}
# team_id -> dict {unload_area_id, unload_area_id, ...}
unload_area_group_dict
=
{}
# unload_area_id -> team_id
# dump <-> group id
group_dump_dict
=
{}
dump_group_dict
=
{}
# truck_id <-> team_id
group_truck_dict
=
{}
# team_id -> dict # {group_id:[truck_id,truck_id],...}
truck_group_dict
=
{}
# truck_id -> team_id
...
...
@@ -67,6 +71,9 @@ class DispatchInfo:
cls
.
group_unload_area_dict
=
{}
cls
.
unload_area_group_dict
=
{}
cls
.
group_dump_dict
=
{}
cls
.
dump_group_dict
=
{}
cls
.
group_truck_dict
=
{}
cls
.
truck_group_dict
=
{}
...
...
@@ -111,7 +118,6 @@ class DispatchInfo:
# update excavator_id <-> group_id && unload_area_id <-> group_id && truck_id <-> group_id
try
:
for
item
in
session_mysql
.
query
(
DispatchSetting
)
.
all
():
# add excavator
if
item
.
group_id
not
in
cls
.
group_excavator_dict
.
keys
():
cls
.
group_excavator_dict
[
item
.
group_id
]
=
[
item
.
exactor_id
]
...
...
@@ -128,6 +134,14 @@ class DispatchInfo:
cls
.
group_unload_area_dict
[
item
.
group_id
]
.
append
(
item
.
unload_area_id
)
cls
.
unload_area_group_dict
[
item
.
unload_area_id
]
=
item
.
group_id
# add dump
if
item
.
dump_id
not
in
cls
.
group_dump_dict
.
keys
():
cls
.
group_dump_dict
[
item
.
group_id
]
=
[
item
.
dump_id
]
else
:
if
item
.
dump_id
not
in
cls
.
group_dump_dict
[
item
.
group_id
]:
cls
.
group_dump_dict
[
item
.
group_id
]
.
append
(
item
.
dump_id
)
cls
.
dump_group_dict
[
item
.
dump_id
]
=
item
.
group_id
# add truck
if
item
.
group_id
not
in
cls
.
group_truck_dict
.
keys
():
cls
.
group_truck_dict
[
item
.
group_id
]
=
[
item
.
truck_id
]
...
...
@@ -136,7 +150,6 @@ class DispatchInfo:
cls
.
group_truck_dict
[
item
.
group_id
]
.
append
(
item
.
truck_id
)
cls
.
truck_group_dict
[
item
.
truck_id
]
=
item
.
group_id
print
(
"存在的分组"
)
print
(
cls
.
group_excavator_dict
.
keys
())
except
Exception
as
es
:
...
...
@@ -256,6 +269,10 @@ class DispatchInfo:
return
set
(
cls
.
group_unload_area_dict
[
group_id
])
@classmethod
def
get_dump
(
cls
,
group_id
):
return
set
(
cls
.
group_dump_dict
[
group_id
])
@classmethod
def
get_truck_set
(
cls
,
group_id
):
return
set
(
cls
.
group_truck_dict
[
group_id
])
...
...
equipment/__pycache__/truck.cpython-37.pyc
View file @
659c93e9
No preview for this file type
equipment/truck.py
View file @
659c93e9
...
...
@@ -135,6 +135,8 @@ class TruckInfo(WalkManage):
key_value_dict
=
redis2
.
hgetall
(
item
)
# reids str可以自动转为bytes
device_type
=
int
(
key_value_dict
[
str_to_byte
(
"type"
)])
if
device_type
==
1
:
bb
=
self
.
dynamic_truck_set
cc
=
truck_name_to_uuid_dict
if
truck_name_to_uuid_dict
[
item
]
in
self
.
dynamic_truck_set
:
currentTask
=
int
(
key_value_dict
[
str_to_byte
(
"currentTask"
)])
self
.
truck_current_task
[
...
...
@@ -270,7 +272,9 @@ class TruckInfo(WalkManage):
.
filter_by
(
truck_id
=
truck_id
,
isdeleted
=
0
)
.
first
()
)
if
task
in
empty_task_set
+
heavy_task_set
and
item
is
None
:
point
=
empty_task_set
point2
=
heavy_task_set
if
task
in
(
empty_task_set
+
heavy_task_set
)
and
item
is
None
:
raise
Exception
(
f
"矿卡 {truck_id} 配对关系异常"
)
except
Exception
as
es
:
self
.
logger
.
error
(
es
)
...
...
@@ -383,6 +387,8 @@ class TruckInfo(WalkManage):
try
:
session_mysql
.
commit
()
truck_id
=
self
.
truck_index_to_uuid_dict
[
i
]
aa
=
self
.
truck_index_to_uuid_dict
bb
=
self
.
truck_current_task
task
=
self
.
truck_current_task
[
self
.
truck_index_to_uuid_dict
[
i
]]
item
=
(
session_mysql
.
query
(
EquipmentPair
)
...
...
test2.py
View file @
659c93e9
import
numpy
as
np
b
=
np
.
full
(
2
,
0
)
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