Commit f9fbad85 authored by 张晓彤's avatar 张晓彤

增加等待时间算法

parent 0568d879
{ {
"para": { "para": {
"log_path": "E:\\Pycharm Projects\\Waytous\\",
"log_path": "/Users/guoao/Desktop/work_log/wek33/integrated-scheduling-v3-master/dispatch",
"empty_speed": 25, "empty_speed": 25,
"heavy_speed": 22, "heavy_speed": 22,
"dump_target_mass": 5000, "dump_target_mass": 5000,
......
...@@ -170,22 +170,20 @@ class Dispatcher(WalkManage): ...@@ -170,22 +170,20 @@ class Dispatcher(WalkManage):
""" """
def __init__(self, dump, excavator, truck, predict_schedule,topo): def __init__(self, dump, excavator, truck, predict_schedule):
# 调度开始时间 # 调度开始时间
self.start_time = datetime.now() self.start_time = datetime.now()
# 路径规划对象 # 路径规划对象
self.path = PathPlanner(topo) self.path = PathPlanner()
# self.path = PathPlanner()
# self.topo = Topo()
# 车流对象 # 车流对象
# self.traffic_flow = Traffic_flow(dump, excavator, truck) # self.traffic_flow = Traffic_flow(dump, excavator, truck)
self.traffic_flow = None self.traffic_flow = None
# 分组控制对象 # 分组控制对象
self.group = Group(dump, excavator, truck, self.traffic_flow, topo) self.group = Group(dump, excavator, truck, self.traffic_flow)
# 行程预测对象 # 行程预测对象
self.pre_sch = predict_schedule self.pre_sch = predict_schedule
...@@ -201,7 +199,7 @@ class Dispatcher(WalkManage): ...@@ -201,7 +199,7 @@ class Dispatcher(WalkManage):
# 获取日志器 # 获取日志器
self.logger = get_logger("zxt.dispatcher") self.logger = get_logger("zxt.dispatcher")
def dispatcher_period_update(self,topo): def dispatcher_period_update(self):
global_period_para_update() global_period_para_update()
...@@ -223,7 +221,7 @@ class Dispatcher(WalkManage): ...@@ -223,7 +221,7 @@ class Dispatcher(WalkManage):
self.cost_to_excavator, self.cost_to_dump, self.cost_park_to_excavator = self.path.walk_cost_cal() self.cost_to_excavator, self.cost_to_dump, self.cost_park_to_excavator = self.path.walk_cost_cal()
# 调度分组更新 # 调度分组更新
self.group.period_update(topo) self.group.period_update()
def truck_schedule(self, truck_id): def truck_schedule(self, truck_id):
# 规则读取 # 规则读取
......
...@@ -38,7 +38,6 @@ class DumpInfo(WalkManage): ...@@ -38,7 +38,6 @@ class DumpInfo(WalkManage):
# # 参数初始化 # # 参数初始化
# self.dump_para_period_update() # self.dump_para_period_update()
def get_unloading_time(self): def get_unloading_time(self):
return self.unloading_time return self.unloading_time
......
...@@ -53,8 +53,7 @@ class ExcavatorInfo(WalkManage): ...@@ -53,8 +53,7 @@ class ExcavatorInfo(WalkManage):
# 更新挖机装载时间 # 更新挖机装载时间
def update_excavator_loadtime(self): def update_excavator_loadtime(self):
load_area_id = {}
dump_area_id = {}
self.loading_time = np.zeros(self.dynamic_excavator_num) self.loading_time = np.zeros(self.dynamic_excavator_num)
for excavator_id in self.excavator_uuid_to_index_dict.keys(): for excavator_id in self.excavator_uuid_to_index_dict.keys():
......
...@@ -8,12 +8,11 @@ ...@@ -8,12 +8,11 @@
from settings import * from settings import *
from para_config import * from para_config import *
from path_plan.path_planner_2 import * from path_plan.path_plannner import PathPlanner
# from path_plan.path_plannner import *
from traffic_flow.traffic_flow_planner import traffic_flow_plan from traffic_flow.traffic_flow_planner import traffic_flow_plan
class Group(WalkManage): class Group(WalkManage):
def __init__(self, dump, excavator, truck, traffic_flow, topo): def __init__(self, dump, excavator, truck, traffic_flow):
self.dump = dump self.dump = dump
self.excavator = excavator self.excavator = excavator
self.truck = truck self.truck = truck
...@@ -41,9 +40,7 @@ class Group(WalkManage): ...@@ -41,9 +40,7 @@ class Group(WalkManage):
self.group_excavator_material_bind_modify = {} self.group_excavator_material_bind_modify = {}
self.group_dump_material_bind_modify = {} self.group_dump_material_bind_modify = {}
self.path = PathPlanner(topo) self.path = PathPlanner()
# self.path = PathPlanner()
# self.topo = Topo()
def update_dispatch_truck_group(self): def update_dispatch_truck_group(self):
# 更新矿卡-调度分组隶属关系 # 更新矿卡-调度分组隶属关系
...@@ -97,11 +94,15 @@ class Group(WalkManage): ...@@ -97,11 +94,15 @@ class Group(WalkManage):
dynamic_truck_num = get_value("dynamic_truck_num") dynamic_truck_num = get_value("dynamic_truck_num")
self.goto_dump_truck_num = np.zeros((dynamic_excavator_num, dynamic_dump_num)) self.goto_dump_truck_num = np.zeros((dynamic_excavator_num, dynamic_dump_num))
self.actual_goto_dump_traffic_flow = np.zeros((dynamic_excavator_num, dynamic_dump_num)) self.actual_goto_dump_traffic_flow = np.zeros(
(dynamic_excavator_num, dynamic_dump_num)
self.goto_excavator_truck_num = np.zeros((dynamic_dump_num, dynamic_excavator_num)) )
self.actual_goto_excavator_traffic_flow = np.zeros((dynamic_dump_num, dynamic_excavator_num)) self.goto_excavator_truck_num = np.zeros(
(dynamic_dump_num, dynamic_excavator_num)
)
self.actual_goto_excavator_traffic_flow = np.zeros(
(dynamic_dump_num, dynamic_excavator_num)
)
# try: # try:
logger.info("dynamic_truck_num") logger.info("dynamic_truck_num")
...@@ -147,7 +148,7 @@ class Group(WalkManage): ...@@ -147,7 +148,7 @@ class Group(WalkManage):
) )
) )
def update_group_truck_flow(self, topo): def update_group_truck_flow(self):
# 更新调度分组内车实时/最佳车流 # 更新调度分组内车实时/最佳车流
...@@ -156,7 +157,7 @@ class Group(WalkManage): ...@@ -156,7 +157,7 @@ class Group(WalkManage):
actual_goto_excavator_traffic_flow, actual_goto_dump_traffic_flow = \ actual_goto_excavator_traffic_flow, actual_goto_dump_traffic_flow = \
self.traffic_flow.actual_goto_excavator_traffic_flow, self.traffic_flow.actual_goto_dump_traffic_flow self.traffic_flow.actual_goto_excavator_traffic_flow, self.traffic_flow.actual_goto_dump_traffic_flow
opt_goto_dump_traffic_flow, opt_goto_excavator_traffic_flow = traffic_flow_plan(self.truck, topo) opt_goto_dump_traffic_flow, opt_goto_excavator_traffic_flow = traffic_flow_plan(self.truck)
try: try:
...@@ -171,7 +172,6 @@ class Group(WalkManage): ...@@ -171,7 +172,6 @@ class Group(WalkManage):
print(self.device_group) print(self.device_group)
local_opt_goto_dump_traffic_flow = np.zeros((len(excavator_group), len(dump_group))) local_opt_goto_dump_traffic_flow = np.zeros((len(excavator_group), len(dump_group)))
local_opt_goto_excavator_traffic_flow = np.zeros((len(dump_group), len(excavator_group))) local_opt_goto_excavator_traffic_flow = np.zeros((len(dump_group), len(excavator_group)))
local_actual_goto_dump_traffic_flow = np.zeros((len(excavator_group), len(dump_group))) local_actual_goto_dump_traffic_flow = np.zeros((len(excavator_group), len(dump_group)))
local_actual_goto_excavator_traffic_flow = np.zeros((len(dump_group), len(excavator_group))) local_actual_goto_excavator_traffic_flow = np.zeros((len(dump_group), len(excavator_group)))
for excavator_id in excavator_group: for excavator_id in excavator_group:
...@@ -420,13 +420,14 @@ class Group(WalkManage): ...@@ -420,13 +420,14 @@ class Group(WalkManage):
return group_allow_flow_to_dump return group_allow_flow_to_dump
def period_update(self,topo): def period_update(self):
self.reset() self.reset()
self.update_dispatch_truck_group() self.update_dispatch_truck_group()
self.update_group_set() self.update_group_set()
self.update_device_group() self.update_device_group()
self.update_group_device_map() self.update_group_device_map()
self.update_group_walk_cost() self.update_group_walk_cost()
# self.update_group_truck_flow()
self.update_modify() self.update_modify()
def get_diaptch_truck_group(self): def get_diaptch_truck_group(self):
......
...@@ -120,11 +120,10 @@ class PathPlanner(WalkManage): ...@@ -120,11 +120,10 @@ class PathPlanner(WalkManage):
to_unload_cost = alpha * cost_to_unload_blockage + beta * path.to_unload_distance to_unload_cost = alpha * cost_to_unload_blockage + beta * path.to_unload_distance
to_load_cost = alpha * cost_to_load_blockage + beta * path.to_load_distance to_load_cost = alpha * cost_to_load_blockage + beta * path.to_load_distance
# print("拥堵因子-挖机")
print("拥堵因子-挖机") # print(alpha, cost_to_load_blockage)
print(alpha, cost_to_load_blockage) # print("拥堵因子-卸点")
print("拥堵因子-卸点") # print(alpha, cost_to_unload_blockage)
print(alpha, cost_to_unload_blockage)
except Exception as es: except Exception as es:
logger.error(f'道路{load_area_id + "-" + unload_area_id}行驶成本计算异常') logger.error(f'道路{load_area_id + "-" + unload_area_id}行驶成本计算异常')
logger.error(es) logger.error(es)
......
...@@ -11,7 +11,6 @@ from equipment.dump import * ...@@ -11,7 +11,6 @@ from equipment.dump import *
from equipment.excavator import * from equipment.excavator import *
from para_config import * from para_config import *
from path_plan.topo_graph import *
class PriorityController(): class PriorityController():
...@@ -20,7 +19,6 @@ class PriorityController(): ...@@ -20,7 +19,6 @@ class PriorityController():
self.dump = dump self.dump = dump
self.excavator = excavator self.excavator = excavator
self.truck = truck self.truck = truck
self.topo = Topo()
# 获取日志器 # 获取日志器
self.logger = get_logger("zxt.prio") self.logger = get_logger("zxt.prio")
...@@ -45,7 +43,6 @@ class PriorityController(): ...@@ -45,7 +43,6 @@ class PriorityController():
dump_material_priority = np.ones(dynamic_dump_num) dump_material_priority = np.ones(dynamic_dump_num)
park_walk_weight = np.ones((park_num, dynamic_excavator_num)) park_walk_weight = np.ones((park_num, dynamic_excavator_num))
# 检测设备优先级是否启动
rule6 = session_mysql.query(DispatchRule).filter_by(id=6).first() rule6 = session_mysql.query(DispatchRule).filter_by(id=6).first()
if not rule6.disabled: if not rule6.disabled:
...@@ -57,7 +54,6 @@ class PriorityController(): ...@@ -57,7 +54,6 @@ class PriorityController():
walk_to_dump_weight[excavator_inedx][dump_index] += dump_priority[dump_index] walk_to_dump_weight[excavator_inedx][dump_index] += dump_priority[dump_index]
park_walk_weight = park_walk_weight * self.excavator.excavator_priority_coefficient park_walk_weight = park_walk_weight * self.excavator.excavator_priority_coefficient
# 检测物料优先级是否启动
rule7 = session_mysql.query(DispatchRule).filter_by(id=7).first() rule7 = session_mysql.query(DispatchRule).filter_by(id=7).first()
if not rule7.disabled: if not rule7.disabled:
......
...@@ -14,7 +14,6 @@ from equipment.excavator import ExcavatorInfo ...@@ -14,7 +14,6 @@ from equipment.excavator import ExcavatorInfo
from equipment.dump import DumpInfo from equipment.dump import DumpInfo
import sched import sched
import time import time
from path_plan.topo_graph import *
from dispatcher import Dispatcher, PreSchedule from dispatcher import Dispatcher, PreSchedule
...@@ -76,7 +75,6 @@ def main(inc, dispatcher): ...@@ -76,7 +75,6 @@ def main(inc, dispatcher):
:param dispatcher: (Dispatch Class) 矿卡调度类对象 :param dispatcher: (Dispatch Class) 矿卡调度类对象
:return: None :return: None
""" """
# topo.generate_topo_graph()
scheduler.enter(0, 0, perform, (inc, dispatcher)) scheduler.enter(0, 0, perform, (inc, dispatcher))
scheduler.run() scheduler.run()
...@@ -96,14 +94,6 @@ if __name__ == "__main__": ...@@ -96,14 +94,6 @@ if __name__ == "__main__":
excavator = ExcavatorInfo() excavator = ExcavatorInfo()
truck = TruckInfo(dump, excavator) truck = TruckInfo(dump, excavator)
# 实例化拓扑图对象,生成拓扑图
# print('开始')
topo = Topo()
topo.generate_topo_graph()
logger.info('拓扑图已生成')
# print(topo.get_load_G().edges(data=True))
# print(topo.get_unload_G().edges(data=True))
# 实例化程序调度器 # 实例化程序调度器
scheduler = sched.scheduler(time.time, time.sleep) scheduler = sched.scheduler(time.time, time.sleep)
...@@ -111,7 +101,7 @@ if __name__ == "__main__": ...@@ -111,7 +101,7 @@ if __name__ == "__main__":
pre_sch = PreSchedule(truck, excavator, dump) pre_sch = PreSchedule(truck, excavator, dump)
# 实例化矿卡调度器 # 实例化矿卡调度器
dispatcher = Dispatcher(dump, excavator, truck, pre_sch, topo) dispatcher = Dispatcher(dump, excavator, truck, pre_sch)
logger.info(" ") logger.info(" ")
logger.info("调度系统启动") logger.info("调度系统启动")
......
...@@ -9,29 +9,29 @@ ...@@ -9,29 +9,29 @@
# 数据库设备, redis设置, 日志设置 # 数据库设备, redis设置, 日志设置
from tables import * from tables import *
# from urllib.parse import quote from urllib.parse import quote
# import logging.handlers import logging.handlers
# import numpy as np import numpy as np
# import os import os
# from redis import StrictRedis, ConnectionPool from redis import StrictRedis, ConnectionPool
# import redis import redis
# from datetime import datetime, timedelta from datetime import datetime, timedelta
# import copy import copy
# import json import json
# json_file = "config.json" json_file = "config.json"
#
# with open(json_file) as f: with open(json_file) as f:
# para_config = json.load(f)["para"] para_config = json.load(f)["para"]
#
# with open(json_file) as f: with open(json_file) as f:
# mysql_config = json.load(f)["mysql"] mysql_config = json.load(f)["mysql"]
#
# with open(json_file) as f: with open(json_file) as f:
# postgre_config = json.load(f)["postgresql"] postgre_config = json.load(f)["postgresql"]
#
# with open(json_file) as f: with open(json_file) as f:
# redis_config = json.load(f)["redis"] redis_config = json.load(f)["redis"]
# 全局参数 # 全局参数
######################################################################################################################## ########################################################################################################################
...@@ -47,6 +47,7 @@ dump_target_mass = para_config["dump_target_mass"] ...@@ -47,6 +47,7 @@ dump_target_mass = para_config["dump_target_mass"]
# 挖机目标装载量 # 挖机目标装载量
excavator_target_mass = para_config["excavator_target_mass"] excavator_target_mass = para_config["excavator_target_mass"]
def set_log(): def set_log():
# 创建日志 # 创建日志
......
...@@ -16,29 +16,17 @@ from sqlalchemy.orm import sessionmaker, scoped_session ...@@ -16,29 +16,17 @@ from sqlalchemy.orm import sessionmaker, scoped_session
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
from urllib.parse import quote from urllib.parse import quote
import json import json
from urllib.parse import quote
import logging.handlers
import numpy as np
import os
from redis import StrictRedis, ConnectionPool
import redis
from datetime import datetime, timedelta
import copy
import json
# import logging.handlers
import settings
json_file = "config.json" json_file = "config.json"
with open(json_file) as f: with open(json_file) as f:
para_config = json.load(f)["para"]
with open(json_file) as f:
mysql_config = json.load(f)["mysql"] mysql_config = json.load(f)["mysql"]
with open(json_file) as f: with open(json_file) as f:
postgre_config = json.load(f)["postgresql"] postgre_config = json.load(f)["postgresql"]
# logger = get_logger("zxt.tables")
# # 创建对象的基类: # # 创建对象的基类:
# Base = declarative_base() # Base = declarative_base()
# #
...@@ -193,7 +181,6 @@ class WalkTime(Base): ...@@ -193,7 +181,6 @@ class WalkTime(Base):
to_unload_distance = Column(Float(10)) to_unload_distance = Column(Float(10))
to_load_distance = Column(Float(10)) to_load_distance = Column(Float(10))
to_unload_lanes = Column(VARCHAR(100)) to_unload_lanes = Column(VARCHAR(100))
to_unload_lanes = Column(VARCHAR(100))
to_load_lanes = Column(VARCHAR(100)) to_load_lanes = Column(VARCHAR(100))
def __init__(self, load_area_id, unload_area_id, load_area_name, unload_area_name, to_load_distance, def __init__(self, load_area_id, unload_area_id, load_area_name, unload_area_name, to_load_distance,
...@@ -286,15 +273,15 @@ class EquipmentPair(Base): ...@@ -286,15 +273,15 @@ class EquipmentPair(Base):
self.isdeleted = isdeleted self.isdeleted = isdeleted
self.createtime = createtime self.createtime = createtime
class Node(Base): # class Lane(Base):
# 表的名字 # # 表的名字
__tablename__ = 'Geo_Node' # __tablename__ = 'Geo_Node'
Id = Column(VARCHAR(36), primary_key=True) # Id = Column(VARCHAR(36), primary_key=True)
Name = Column(VARCHAR(64)) # LaneIds = Column(VARCHAR(100))
#
def __init__(self, Id, Name): # def __init__(self, Id, LaneIds):
self.Id = Id # self.Id = Id
self.Name = Name # self.LaneIds = LaneIds
class Lane(Base): class Lane(Base):
# 表的名字 # 表的名字
...@@ -302,15 +289,11 @@ class Lane(Base): ...@@ -302,15 +289,11 @@ class Lane(Base):
Id = Column(VARCHAR(36), primary_key=True) Id = Column(VARCHAR(36), primary_key=True)
Length = Column(Float) Length = Column(Float)
MaxSpeed = Column(Float) MaxSpeed = Column(Float)
StartNodeId = Column(VARCHAR(50))
EndNodeId = Column(VARCHAR(50))
def __init__(self, Id, Length, MaxSpeed, StartNodeId, EndNodeId): def __init__(self, Id, Length, MaxSpeed):
self.Id = Id self.Id = Id
self.Length = Length self.Length = Length
self.MaxSpeed = MaxSpeed self.MaxSpeed = MaxSpeed
self.StartNodeId = StartNodeId
self.EndNodeId = EndNodeId
class Dispatch(Base): class Dispatch(Base):
# 表的名字: # 表的名字:
...@@ -475,20 +458,14 @@ class DumpArea(Base): ...@@ -475,20 +458,14 @@ class DumpArea(Base):
Disabled = Column(Integer) Disabled = Column(Integer)
Material = Column(VARCHAR(36)) Material = Column(VARCHAR(36))
Priority = Column(Integer) Priority = Column(Integer)
EntranceNodeId = Column(VARCHAR(50))
ExitNodeId = Column(VARCHAR(50))
Name = Column(VARCHAR(36))
def __init__(self, Id, BindList, UnloadAbililty, Disabled, Material, Priority,EntranceNodeId,ExitNodeId, Name): def __init__(self, Id, BindList, UnloadAbililty, Disabled, Material, Priority):
self.Id = Id self.Id = Id
self.BindList = BindList self.BindList = BindList
self.UnloadAbililty = UnloadAbililty self.UnloadAbililty = UnloadAbililty
self.Disabled = Disabled self.Disabled = Disabled
self.Material = Material self.Material = Material
self.Priority = Priority self.Priority = Priority
self.EntranceNodeId = EntranceNodeId
self.ExitNodeId = ExitNodeId
self.Name = Name
class DiggingWorkArea(Base): class DiggingWorkArea(Base):
...@@ -496,14 +473,10 @@ class DiggingWorkArea(Base): ...@@ -496,14 +473,10 @@ class DiggingWorkArea(Base):
Id = Column(VARCHAR(50), primary_key=True) Id = Column(VARCHAR(50), primary_key=True)
Material = Column(VARCHAR(36)) Material = Column(VARCHAR(36))
EntranceNodeId = Column(VARCHAR(50))
ExitNodeId = Column(VARCHAR(50))
def __init__(self, Id, Material, EntranceNodeId, ExitNodeId): def __init__(self, Id, Material):
self.Id = Id self.Id = Id
self.Material = Material self.Material = Material
self.EntranceNodeId = EntranceNodeId
self.ExitNodeId = ExitNodeId
class DispatchRule(Base): class DispatchRule(Base):
......
...@@ -7,8 +7,7 @@ ...@@ -7,8 +7,7 @@
# @Software: PyCharm # @Software: PyCharm
# import # import
from path_plan.path_planner_2 import * from path_plan.path_plannner import *
# from path_plan.path_plannner import *
from para_config import * from para_config import *
from equipment.excavator import ExcavatorInfo from equipment.excavator import ExcavatorInfo
from equipment.dump import DumpInfo from equipment.dump import DumpInfo
...@@ -127,7 +126,7 @@ class Traffic_flow(WalkManage): ...@@ -127,7 +126,7 @@ class Traffic_flow(WalkManage):
# 车流规划类 # 车流规划类
class Traffic_para(WalkManage): class Traffic_para(WalkManage):
def __init__(self, num_of_load_area, num_of_unload_area, num_of_excavator, num_of_dump, truck, topo): def __init__(self, num_of_load_area, num_of_unload_area, num_of_excavator, num_of_dump, truck):
self.num_of_dump = num_of_dump self.num_of_dump = num_of_dump
self.num_of_excavator = num_of_excavator self.num_of_excavator = num_of_excavator
self.num_of_load_area = num_of_load_area self.num_of_load_area = num_of_load_area
...@@ -163,9 +162,7 @@ class Traffic_para(WalkManage): ...@@ -163,9 +162,7 @@ class Traffic_para(WalkManage):
self.excavator_strength = np.zeros(num_of_excavator) # 用于保存电铲的工作强度,单位是t/h self.excavator_strength = np.zeros(num_of_excavator) # 用于保存电铲的工作强度,单位是t/h
self.dump_strength = np.zeros(num_of_dump) # 卸载点的工作强度,单位是t/h self.dump_strength = np.zeros(num_of_dump) # 卸载点的工作强度,单位是t/h
# self.topo = Topo() self.path_planner = PathPlanner()
self.path_planner = PathPlanner(topo)
# self.path_planner = PathPlanner()
self.path_planner.walk_cost_cal() self.path_planner.walk_cost_cal()
self.excavator_priority_coefficient = np.ones(num_of_excavator) # 每个电铲的优先级系数 self.excavator_priority_coefficient = np.ones(num_of_excavator) # 每个电铲的优先级系数
...@@ -312,11 +309,11 @@ class Traffic_para(WalkManage): ...@@ -312,11 +309,11 @@ class Traffic_para(WalkManage):
# 初始化车流规划类 # 初始化车流规划类
def Traffic_para_init(num_of_load_area, num_of_unload_area, num_of_excavator, num_of_dump, truck, topo): def Traffic_para_init(num_of_load_area, num_of_unload_area, num_of_excavator, num_of_dump, truck):
# try: # try:
tra_para = Traffic_para(num_of_load_area, num_of_unload_area, num_of_excavator, num_of_dump, truck,topo) tra_para = Traffic_para(num_of_load_area, num_of_unload_area, num_of_excavator, num_of_dump, truck)
tra_para.extract_excavator_info() tra_para.extract_excavator_info()
......
...@@ -145,7 +145,7 @@ def transportation_problem_slove(coefficient_goto_dump, coefficient_goto_excavat ...@@ -145,7 +145,7 @@ def transportation_problem_slove(coefficient_goto_dump, coefficient_goto_excavat
'var_y': [[pulp.value(var_y[i][j]) for j in range(row)] for i in range(col)]} 'var_y': [[pulp.value(var_y[i][j]) for j in range(row)] for i in range(col)]}
def traffic_flow_plan(truck, topo): def traffic_flow_plan(truck):
excavator_list = update_autodisp_excavator() excavator_list = update_autodisp_excavator()
dump_list = update_autodisp_dump() dump_list = update_autodisp_dump()
...@@ -182,7 +182,7 @@ def traffic_flow_plan(truck, topo): ...@@ -182,7 +182,7 @@ def traffic_flow_plan(truck, topo):
# if (load_area_num * unload_area_num * excavator_num * dump_num == 0): # if (load_area_num * unload_area_num * excavator_num * dump_num == 0):
# raise Exception("无派车计划可用") # raise Exception("无派车计划可用")
# 初始化参量 # 初始化参量
traffic_programme_para = Traffic_para_init(load_area_num, unload_area_num, excavator_num, dump_num, truck, topo) traffic_programme_para = Traffic_para_init(load_area_num, unload_area_num, excavator_num, dump_num, truck)
# traffic_programme_para = traffic_programme_para_init(load_area_num, unload_area_num, excavator_num, dump_num) # traffic_programme_para = traffic_programme_para_init(load_area_num, unload_area_num, excavator_num, dump_num)
# 系统是否以最大化产量为目标 # 系统是否以最大化产量为目标
max_unload_weigh_alg_flag = True max_unload_weigh_alg_flag = True
......
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