Commit 05f26b5d authored by Allvey's avatar Allvey

调度优化,参数修改,调度周期缩短

parent e2c353b6
......@@ -222,6 +222,9 @@ class ExpectedTime(AlgorithmBase):
self.logger.info("expected_travelling_schedule-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:
self.logger.error("矿卡启动调度异常")
self.logger.error(es)
......@@ -293,6 +296,9 @@ class ExpectedTime(AlgorithmBase):
self.logger.info("expected_travelling_schedule-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:
self.logger.error("矿卡空载调度异常")
self.logger.error(es)
......
{
"para": {
"log_path": "/Users/guoao/Desktop/Log",
"empty_speed": 10,
"heavy_speed": 10,
"empty_speed": 18,
"heavy_speed": 18,
"dump_target_mass": 5000,
"excavator_target_mass": 5000,
"loading_time": 10,
"unloading_time": 20
},
"mysql": {
"host": "172.16.0.51",
"host": "172.16.0.53",
"port": "3306",
"user": "root",
"password": "Huituo@123",
"database": "ht_zhunneng"
},
"postgresql": {
"host": "172.16.0.51",
"host": "172.16.0.53",
"port": "5432",
"user": "postgres",
"password": "Huituo@123",
"database": "gis_zhunneng"
},
"redis": {
"host": "172.16.0.51",
"host": "172.16.0.53",
"password": "Huituo@123"
},
"gothrough": {
"closer_area_name": "装-2",
"further_area_name": "装1",
"factor": "0.2"
}
}
......@@ -31,13 +31,13 @@ class Dispatcher:
self.request_mode = request_mode
self.logger = get_logger("zxt.dispatcher")
self.redispatch_active = active
# if self.redispatch_active:
self.logger.info("======================================= 更新路网开始 =======================================")
self.topo = Topo()
self.topo.generate_topo_graph()
self.logger.info("======================================= 更新路网结束 =======================================")
# else:
# self.topo = None
if self.redispatch_active:
self.logger.info("======================================= 更新路网开始 =======================================")
self.topo = Topo()
self.topo.generate_topo_graph()
self.logger.info("======================================= 更新路网结束 =======================================")
else:
self.topo = None
self.submission = DispatchSubmission(dump, excavator, truck, self.topo)
def period_update(self):
......@@ -50,10 +50,10 @@ class Dispatcher:
self.excavator.excavator_para_period_update()
self.truck.truck_para_period_update(self.dump, self.excavator)
self.truck.state_period_update()
# if self.redispatch_active:
self.logger.info("======================================= 更新路网开始 =======================================")
self.topo.generate_topo_graph()
self.logger.info("======================================= 更新路网结束 =======================================")
if self.redispatch_active:
self.logger.info("======================================= 更新路网开始 =======================================")
self.topo.generate_topo_graph()
self.logger.info("======================================= 更新路网结束 =======================================")
def group_generate(self):
"""
......
......@@ -301,7 +301,9 @@ def global_period_para_update():
"park_uuid_to_index_dict": park_uuid_to_index_dict,
"park_index_to_uuid_dict": park_index_to_uuid_dict,
"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())
......
......@@ -55,7 +55,9 @@ class DumpInfo(WalkManage):
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
......
......@@ -123,7 +123,9 @@ class ExcavatorInfo(WalkManage):
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
......
......@@ -274,12 +274,21 @@ class TruckInfo(WalkManage):
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")
if tmp_time > datetime.strptime("2020-01-01 01:01:01", "%Y-%m-%d %H:%M:%S"): # 若最后装载时间异常
# self.last_load_time[item] = tmp_time
self.last_load_time[item] = datetime.now()
# 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()
else:
self.last_load_time[item] = tmp_time
# self.last_load_time[item] = datetime.now()
else:
self.last_load_time[item] = datetime.now()
self.logger.warning("lastLoadTime is Error")
print("here")
print(tmp_time)
print(self.last_load_time[item])
else:
self.last_load_time[item] = datetime.now()
......@@ -296,8 +305,11 @@ class TruckInfo(WalkManage):
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")
if tmp_time > datetime.strptime("2020-01-01 01:01:01", "%Y-%m-%d %H:%M:%S"):
# self.last_unload_time[item] = tmp_time
self.last_unload_time[item] = datetime.now()
if float((datetime.now() - tmp_time) / timedelta(hours=0, minutes=1,
seconds=0)) > 10:
self.last_unload_time[item] = datetime.now()
else:
self.last_unload_time[item] = tmp_time
else:
self.last_unload_time[item] = datetime.now()
......@@ -403,7 +415,7 @@ class TruckInfo(WalkManage):
self.cur_truck_reach_excavator[i] = (
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:
self.logger.info(es)
......
......@@ -166,4 +166,4 @@ if __name__ == "__main__":
logger.info(" ")
logger.info("调度系统启动")
main(30, dispatcher)
main(10, dispatcher)
......@@ -193,4 +193,4 @@ if __name__ == "__main__":
logger.info(" ")
logger.info("调度系统启动")
main(20, dispatcher)
main(10, dispatcher)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment