Commit 05f26b5d authored by Allvey's avatar Allvey

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

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