The inventory reorder level (also known as the reorder point, or ROP) is the specific inventory level at which a new order should be placed to replenish stock before it runs out, ensuring there are no stock-outs.
Reorder Level Formula
ROP = Daily Usage × Lead Time
Usage – 50 Graphene per day
Lead time – 20 days
Reorder quantity – 1500 Graphene
Based on the data above, at what level of inventory should a replenishment order be issued in order to ensure that there are no stock-outs?
A replenishment order should be issued when the inventory level reaches 1,000 Graphene. This ensures the company has enough stock to cover the 20 days of lead time before new stock arrives.
Code by Chat GPT
import matplotlib.pyplot as plt
# Parameters
daily_usage = 50
lead_time = 20
reorder_quantity = 1500
reorder_point = daily_usage * lead_time # 1000
initial_inventory = reorder_point + reorder_quantity # Start with some buffer
# Simulation
days = 100
inventory = initial_inventory
inventory_levels = []
orders = [] # Days when reorders are placed
deliveries = [] # Days when stock arrives
on_order = [] # Pending orders (arrival_day, quantity)
for day in range(days):
# Check for incoming deliveries
for arrival_day, qty in on_order[:]:
if day == arrival_day:
inventory += qty
deliveries.append(day)
on_order.remove((arrival_day, qty))
# Record current inventory
inventory_levels.append(inventory)
# Deplete inventory by daily usage
inventory -= daily_usage
# Place a reorder if below or at reorder point and no pending orders
if inventory <= reorder_point and not any(arrival > day for arrival, _ in on_order):
arrival_day = day + lead_time
on_order.append((arrival_day, reorder_quantity))
orders.append(day)
# Plotting
plt.figure(figsize=(12, 6))
plt.plot(range(days), inventory_levels, label='Inventory Level', color='blue', linewidth=2)
plt.axhline(reorder_point, color='red', linestyle='--', label='Reorder Point (1000)')
plt.scatter(orders, [inventory_levels[day] for day in orders], color='green', marker='o', label='Reorder Placed')
plt.scatter(deliveries, [inventory_levels[day] for day in deliveries], color='orange', marker='^', label='Inventory Replenished')
# Labels and formatting
plt.title('Graphene Inventory Level Over Time', fontsize=14)
plt.xlabel('Day', fontsize=12)
plt.ylabel('Inventory Level (Graphene)', fontsize=12)
plt.legend()
plt.grid(True)
plt.tight_layout()
# Show plot
plt.show()
No comments:
Post a Comment