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
adcd3e14
Commit
adcd3e14
authored
Nov 09, 2023
by
虢奥
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
稳定版
parent
264cd01f
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
9 deletions
+18
-9
group.py
core/group.py
+1
-1
area_analysis.py
util/area_analysis.py
+17
-8
No files found.
core/group.py
View file @
adcd3e14
...
@@ -1109,7 +1109,7 @@ class GoThroughDispatcher:
...
@@ -1109,7 +1109,7 @@ class GoThroughDispatcher:
try
:
try
:
further_area_backtrack_node_id
=
self
.
further_entrance_node_id
further_area_backtrack_node_id
=
self
.
further_entrance_node_id
self
.
further_area_backtrack_lanes
=
[]
self
.
further_area_backtrack_lanes
=
[]
for
i
in
range
(
2
0
):
for
i
in
range
(
3
0
):
# 查询回溯路段对象
# 查询回溯路段对象
item
=
session_postgre
.
query
(
Lane
)
.
filter_by
(
EndNodeId
=
further_area_backtrack_node_id
)
.
first
()
item
=
session_postgre
.
query
(
Lane
)
.
filter_by
(
EndNodeId
=
further_area_backtrack_node_id
)
.
first
()
if
item
is
None
:
if
item
is
None
:
...
...
util/area_analysis.py
View file @
adcd3e14
...
@@ -54,12 +54,14 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
...
@@ -54,12 +54,14 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
logger
.
info
(
f
"输入的closer_lane_set{closer_lane_set}"
)
logger
.
info
(
f
"输入的closer_lane_set{closer_lane_set}"
)
closer_lane_set_nearest
=
[
closer_lane_set
[
0
]]
closer_lane_set_nearest
=
[
closer_lane_set
[
0
]]
closer_lane_two
=
closer_lane_set
[:
2
]
# 前往装载的车的数量
# 前往装载的车的数量
arrival_truck_num
=
len
(
arrival_truck_set
)
arrival_truck_num
=
len
(
arrival_truck_set
)
# 统计不同状态车辆数量
# 统计不同状态车辆数量
goto_closer_area_num
=
0
goto_closer_area_num
=
0
goto_further_area_num
=
0
goto_further_area_num
=
0
before_cross_num
=
0
before_cross_num
=
0
lane_two_num
=
0
for
truck_id
,
reach_time
in
arrival_truck_list
:
for
truck_id
,
reach_time
in
arrival_truck_list
:
if
truck_id
in
truck_locates_dict
:
if
truck_id
in
truck_locates_dict
:
truck_lane_id
=
truck_locates_dict
[
truck_id
]
truck_lane_id
=
truck_locates_dict
[
truck_id
]
...
@@ -68,7 +70,11 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
...
@@ -68,7 +70,11 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
# 前往远端装载区车辆数加1
# 前往远端装载区车辆数加1
goto_further_area_num
+=
1
goto_further_area_num
+=
1
# 车辆未经过近端装载区
# 车辆未经过近端装载区
elif
truck_lane_id
in
closer_lane_set_nearest
:
if
truck_lane_id
in
closer_lane_two
:
# 在装载区外2个车道
lane_two_num
+=
1
# 车辆未经过近端装载区
if
truck_lane_id
in
closer_lane_set_nearest
:
# 前往近端或近端装载区车辆数加1
# 前往近端或近端装载区车辆数加1
goto_closer_area_num
+=
1
goto_closer_area_num
+=
1
else
:
else
:
...
@@ -118,16 +124,19 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
...
@@ -118,16 +124,19 @@ def area_choose(excavators_id, closer_area_id, further_area_id, further_lane_set
gothrough_config_area
=
load_value
[
"gothrough"
]
gothrough_config_area
=
load_value
[
"gothrough"
]
dispatch_factor
=
float
(
gothrough_config_area
[
"factor"
])
dispatch_factor
=
float
(
gothrough_config_area
[
"factor"
])
# 远端挖机空闲
if
further_excavator_state
==
0
and
goto_further_area_num
==
0
:
logger
.
info
(
f
"穿越调度:远端挖机空闲, 调度车辆前往远端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}"
)
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
further_area_id
]
# 近端挖机空闲
# 近端挖机空闲
elif
closer_excavator_state
==
0
and
goto_closer_area_num
==
0
:
if
closer_excavator_state
==
0
:
logger
.
info
(
f
"穿越调度:近端挖机空闲, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}"
)
logger
.
info
(
f
"穿越调度:近端挖机空闲, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}"
)
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
closer_area_id
]
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
closer_area_id
]
# truck_dispatch_to_redis(request_truck_id, group_id, DispatchInfo.load_excavator_dict[closer_area_id])
# 远端挖机空闲
# if further_excavator_state == 0 and goto_further_area_num == 0:
elif
goto_further_area_num
==
0
:
logger
.
info
(
f
"穿越调度:远端挖机空闲, 调度车辆前往远端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}"
)
target_excavator
=
DispatchInfo
.
load_excavator_dict
[
further_area_id
]
# elif closer_excavator_state == 0 and lane_two_num <= 1:
# logger.info(f"穿越调度:近端挖机空闲, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}")
# target_excavator = DispatchInfo.load_excavator_dict[closer_area_id]
# 远端挖机已满载
# 远端挖机已满载
elif
goto_further_area_num
>=
int
(
dispatch_factor
*
arrival_truck_num
):
elif
goto_further_area_num
>=
int
(
dispatch_factor
*
arrival_truck_num
):
logger
.
info
(
f
"穿越调度:远端挖机满载, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}"
)
logger
.
info
(
f
"穿越调度:远端挖机满载, 调度车辆前往近端装载区,远端派车数量{goto_further_area_num},空载车总数{arrival_truck_num}"
)
...
...
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