INNER CODE UNIT · Python

try_loading

ikatsov/tensor-house · supply-chain/world_of_supply/world_of_supply_environment.py:105

    def try_loading(self, quantity):
        if self.source.storage.try_take_units({ self.product_id: quantity }):
            self.payload = quantity
        
    def try_unloading(self):        
        unloaded = self.destination.storage.try_add_units({ self.product_id: self.payload }, all_or_nothing = False)
        if len(unloaded) > 0:
            unloaded_units = sum(unloaded.values())
            self.destination.consumer.on_order_reception(self.source.id, self.product_id, unloaded_units)
            self.payload = 0     # all units that were not sucessfully unloaded will be lost

    def act(self, control):
        if self.step > 0: 
            if self.location_pointer == 0 and self.payload == 0:
                self.try_loading(self.requested_quantity)
            
            if self.payload > 0:     # will stay at the source until loaded
                if self.location_pointer < len(self.path) - 1:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…