I want to share our successful implementation of a cloud-based production optimization engine for AVEVA MES 2021.2 advanced planning module. We operate three automotive component plants and struggled with schedule variance - actual production often deviated 60-70% from planned schedules due to dynamic constraints.
We deployed a constraint programming optimization engine in Azure that integrates real-time with AVEVA MES shop floor data. The system continuously optimizes production schedules across all three plants, considering machine capacity, material availability, changeover times, and order priorities. We implemented dashboards for planners to visualize optimization recommendations and conducted A/B testing to validate improvements.
The results have been transformative - schedule variance reduced from 65% to 25%, a 40 percentage point improvement. Multi-plant coordination improved significantly as the optimizer balances workload across facilities.
We evaluated several solvers and ultimately chose Google OR-Tools because it’s open-source and performed well in our benchmarks. The constraint programming model includes constraints for machine capacity, setup times, material availability, and due dates. For real-time integration, we use AVEVA MES REST APIs to pull shop floor status every 5 minutes - current work order progress, machine states, material inventory levels. This data feeds the optimization model which re-solves and pushes updated schedules back to AVEVA MES.
This is impressive! What constraint programming solver did you use? We’ve looked at commercial optimization engines but they’re expensive. Also, how do you handle the real-time data integration - are you pulling data from AVEVA MES APIs or using a different approach?
I’m curious about the A/B testing methodology. How did you structure the test to isolate the optimizer’s impact versus other factors like planner experience or seasonal demand variations? Also, did you measure any other KPIs beyond schedule variance - like on-time delivery or inventory levels?