Standard buffer
The buffer is asked for a quantity Q at the date D
For each flowplan on the buffer
If the on-hand value is positive
Set the variable ExtraInventoryDate if it is not set before. This variable stores the date when there is additional, unallocated inventory available
Else if the on-hand value is negative
Compute the shortage as current onhand – required minimum quantity + known shortage from previous dates
If a producing operation exists
Try to get extra supply for the shorted quantity.
Any replenishments that are created will update the onhand value of the current flowplan
If the onhand is still less than the required minimum quantity – the known shortage
This situation happens when the producing operation can’t replenish the buffer enough, or when all supply in a buffer without producing operation has been exhausted
Increase the variable storing the known shortage at previous dates
Reset the ExtraInventoryDate if it was set
If there is a shortage, a producing operation exists and the above loop didn’t already
Try to get more supply at the requested date
Not only can this reduce the shortage, but also important is the next-date returned by the producing operation.
Note that if this step creates more supply to meet the demand, that supply is not positioned such that inventory is minimized. The flowplan loop does minimize the inventory by replenishing only when the inventory drops below the minimum.
The final results are now:
Returned quantity: requested quantity – shortages
Returned date:
= requested date if there is no shortage
Or = reply date of the producing operation
Or = ExtraInventoryDate if that is less than the operation reply date
todo Not up to date with the pre-op time loop…
For each flowplan on the buffer
If the on-hand value is positive
Set the variable ExtraInventoryDate if it is not set before. This variable stores the date when there is additional, unallocated inventory available
Else if the on-hand value is negative
Compute the shortage as current onhand – required minimum quantity + known shortage from previous dates
If a producing operation exists
Try to get extra supply for the shorted quantity.
Any replenishments that are created will update the onhand value of the current flowplan
If the onhand is still less than the required minimum quantity – the known shortage
This situation happens when the producing operation can’t replenish the buffer enough, or when all supply in a buffer without producing operation has been exhausted
Increase the variable storing the known shortage at previous dates
Reset the ExtraInventoryDate if it was set
If there is a shortage, a producing operation exists and the above loop didn’t already
Try to get more supply at the requested date
Not only can this reduce the shortage, but also important is the next-date returned by the producing operation.
Note that if this step creates more supply to meet the demand, that supply is not positioned such that inventory is minimized. The flowplan loop does minimize the inventory by replenishing only when the inventory drops below the minimum.
The final results are now:
Returned quantity: requested quantity – shortages
Returned date:
= requested date if there is no shortage
Or = reply date of the producing operation
Or = ExtraInventoryDate if that is less than the operation reply date
todo Not up to date with the pre-op time loop…
Procurement buffer
Find the date of the latest locked procurement plan. No additional will be created before this date
Loop through all dates
Keep track of the total consumed and produced quantities
Calculate the current inventory as the difference between these quantities.
If this date is within the minimum timeframe from the previous purchasing operation.
If the inventory goes negative and the plan is material constrained.
Record the earliest time for an additional purchase as the next ask date.
Move to the next date
If the inventory is above the minimum inventory level and we have not reached the maximum interval between purchases
Move to the next date
If we are the earliest new purchase date where a new purchase can be created and the inventory is below the minimum inventory level
Try to increase the quantity of the previous purchase to avoid that the inventory falls below the minimum inventory level.
Record the next ask date if this resizing fails to bring the inventory above 0.
Create a new purchase to bring the inventory back to the maximum inventory level.
This is done by updating the date and the quantity of an already existing purchase or by creating a new one.
Remember the earliest and latest date for the next purchase.
Delete eventual purchases that have become redundant.
Report the answer quantity and the next ask date.
Loop through all dates
Keep track of the total consumed and produced quantities
Calculate the current inventory as the difference between these quantities.
If this date is within the minimum timeframe from the previous purchasing operation.
If the inventory goes negative and the plan is material constrained.
Record the earliest time for an additional purchase as the next ask date.
Move to the next date
If the inventory is above the minimum inventory level and we have not reached the maximum interval between purchases
Move to the next date
If we are the earliest new purchase date where a new purchase can be created and the inventory is below the minimum inventory level
Try to increase the quantity of the previous purchase to avoid that the inventory falls below the minimum inventory level.
Record the next ask date if this resizing fails to bring the inventory above 0.
Create a new purchase to bring the inventory back to the maximum inventory level.
This is done by updating the date and the quantity of an already existing purchase or by creating a new one.
Remember the earliest and latest date for the next purchase.
Delete eventual purchases that have become redundant.
Report the answer quantity and the next ask date.
Infinite buffer
Always reply for the full quantity.