Source code for item_assignment.nn_item_assignment

from ware_ops_algos.algorithms import NearestNeighborItemAssignment
from ware_ops_algos.domain_models import LayoutData, StorageLocations
from ware_ops_pipes.pipelines.templates.template_1 import AbstractItemAssignment
from ware_ops_pipes.utils.io_helpers import load_pickle


[docs] class NNIA(AbstractItemAssignment):
[docs] abstract = False
[docs] def get_inited_item_assigner(self): layout: LayoutData = load_pickle(self.input()["instance"]["layout"].path) storage: StorageLocations = load_pickle(self.input()["instance"]["storage"].path) layout_network = layout.layout_network item_assigner = NearestNeighborItemAssignment( storage, distance_matrix=layout_network.distance_matrix, start_node=layout_network.start_node ) return item_assigner