Automatic Inventory Control:A Neural Network Approach Nicholas Hall ECE 539 Final Project Fall 2003
Managing Inventory • Managing inventory is a huge problem for many businesses: • How many parts do you order? • When do you order? • How do you estimate demand? • Parts should arrive just before a customer orders them, but no sooner!
Managing Inventory • It is impossible to predict customer demand 100% in almost every case. • Instead try to: • Minimize backorders - orders for parts that are not in stock • Maximize inventory turnover - number of times a year, on average, every product in the warehouse is sold. • Some tradeoff must be made.
Prediction Problems • Many products are highly seasonal:
Prediction Problems • Some have impossible to predict buying “spikes”:
Prediction • Fortunately, others show similar patterns each year:
Approach • Use inputs that reflect the data: • # sold for past 12 months • # sold for past 12 months / # sold for 12 months prior • # sold for seasons / # sold for other seasons • # sold for 1 month / # sold all year
Approach • Accuracy can never be 100% on the testing set, but that is not what we are trying to accomplish. • Instead, try to minimize backorders while maximizing the turnover rate. • Created simulation program that pretends it is managing the inventory for an entire year and keeps statistics about product movements.
MLP Results • Using the multi-layer perceptron algorithm with 150 hidden nodes, best compromise was a 54.9% backorder rate with 6.7 turns per year. • Common backorder rate when inventory is managed by humans is 2-5%, so the MLP did not perform very well.
Simulated Annealing Results • Originally, a simulated annealing prediction program was developed as a reference. • It was expected to be outperformed by the MLP. • However, it achieved a very good 9.3% backorder rate with 8.5 inventory turns per year.
Conclusion • The more complex method is not always better, as the much simpler simulated annealing program was better at predicting that the MLP. • However, both are slow. The simulated annealing program used 1 week of CPU time on an AMD Athlon 1800+. • If the amount of training time for the MLP is increased, it may do better.