Spaces:
Runtime error
Runtime error
File size: 1,166 Bytes
b13fa7f ff33a83 b13fa7f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | from config import WRITE_OFF_RATE, BASE_STOCK, DEFAULT_SERVICE_LEVEL, MC_SIMS
#Inventory_Manager
class InventoryManager:
def __init__(self, order_processor, agent):
self.inventory = BASE_STOCK
self.order_processor = order_processor
self.total_write_off_quantity = 0
self.agent = agent
def reorder(self, time_period):
reorder_point = self.agent.compute_reorder_point(time_period)
if self.inventory <= reorder_point:
self.order_processor.place_order(time_period, reorder_point)
def inventory_update(self, demand_quantity):
if self.inventory >= demand_quantity:
self.inventory -= demand_quantity
else:
self.inventory = 0
def apply_writeoff(self, time_period):
write_off_quantity = int(self.inventory * WRITE_OFF_RATE)
self.inventory -= write_off_quantity
self.total_write_off_quantity += write_off_quantity
return write_off_quantity
def process_deliveries(self, time_period):
processed_delivery = self.order_processor.manage_order(time_period)
self.inventory += processed_delivery
|