示例#1
0
 def prepareData(self):
     print("[0] preparing all data with the standard format: ")
     #Every instance
     for key,instanceFile in instances.items():
         #podAmount = key[0]
         #depotAmount = key[1]   
         #For different orders
         for key, orderFile in orders.items():
             # orderAmount = key
             #For storage policies
             for storagePolicy, storagePolicyFile in storagePolicies.items():   
                 warehouseInstance = instance.Warehouse(layoutFile, instanceFile, podInfoFile, storagePolicyFile, orderFile)
     return warehouseInstance
# pods
instanceFile = f'data/sku{skus}/layout_sku_{skus}_2.xml'

# loading information about item storage: contains all SKUs along with their
# attributes
storagePolicyFile = f'data/sku{skus}/pods_items_{storagepolicy}_shevels_1-5.txt'
#storagePolicies['mixed'] = 'data/sku24/pods_items_mixed_shevels_1-5.txt'

# loading information about the orders: contains list of orders, with number
# of ordered items per SKU-ID
orderFile = f'orders_20_mean_5_sku_{skus}_b.xml'
orderPath = f'data/sku{skus}/' + orderFile
#orders['20_5']=r'data/sku24/orders_20_mean_5_sku_24.xml'

#%% preparing the data
warehouseInstance = instance.Warehouse(layoutFile, instanceFile, podInfoFile,
                                       storagePolicyFile, orderPath)
batch_weight = 18
item_id_pod_id_dict = {}
distance_ij = demo.WarehouseDateProcessing(
    warehouseInstance).CalculateDistance()
distance_ij = {key: round(value, 1) for key, value in distance_ij.items()}
# getting the data
podInfoDict, itemsInfoDict, orderInfoDict, packingStationNames = prepareData(
    warehouseInstance)

#%% creating a first solution
ordersCopy = copy.deepcopy(orderInfoDict)
podCopy = copy.deepcopy(podInfoDict)
# assigning orders to stations
# orderAssignment =
orderAssignment = F_orderToStation(ordersCopy, podCopy, False)