Running HM 2023.2 Production Scheduling module and experiencing severe performance degradation when the optimizer processes large batch schedules. CPU usage spikes to 95-100% and memory consumption grows from 8GB baseline to over 45GB, eventually causing the application server to become unresponsive.
This happens specifically when we run weekly production schedules that include 500+ work orders across 12 production lines with complex material dependencies and resource constraints. The optimizer takes 40-60 minutes to complete what should be a 10-15 minute calculation, and during that time, other MES functions become sluggish or timeout.
We’ve allocated 64GB RAM to the server, so we’re not hitting absolute memory limits, but the resource allocation during batch scheduling optimization is clearly inefficient. I’ve tried breaking the schedule into smaller batches, but that creates coordination problems between production lines and defeats the purpose of integrated planning.
Looking for guidance on process profiling to identify the bottleneck and strategies to optimize batch scheduling performance without compromising schedule quality.
I’ve seen this pattern before where the optimizer is recalculating resource availability for every single work order instead of caching the resource calendars. Check your resource calendar complexity - if you have dozens of different shift patterns, maintenance windows, and availability rules, the optimizer has to evaluate all of them for each work order placement. Simplify your resource calendars to use template patterns rather than individual schedules, and the performance will improve dramatically.
Don’t forget to tune the optimizer algorithm parameters themselves. The default settings in 2023.2 prioritize schedule quality over performance, which is fine for small batches but kills performance on large runs. Adjust the ‘optimization_depth’ parameter from ‘EXHAUSTIVE’ to ‘BALANCED’ and reduce ‘max_iterations’ from 10000 to 3000. You’ll get a slightly less optimal schedule (maybe 2-3% efficiency difference), but the calculation time will drop by 60-70%. For weekly planning, that’s an acceptable trade-off.
The optimizer in 2023.2 has known memory leak issues when handling complex constraint matrices. Your 500+ work orders with material dependencies create a constraint graph that grows exponentially in memory. Check if you have circular dependencies in your material BOMs - those cause the optimizer to recalculate paths repeatedly. Use the Schedule Analyzer tool to visualize your constraint graph and identify cycles.
Have you enabled the incremental optimization feature? Instead of recalculating the entire schedule from scratch, incremental mode only processes changed work orders and their dependencies. This dramatically reduces CPU and memory usage for large batches. Go to Production Scheduling > Optimizer Settings > Calculation Mode and switch from ‘FULL_RECALC’ to ‘INCREMENTAL’. You’ll need to rebuild your baseline schedule once, but subsequent runs should be much faster.