Our production scheduling module in Opcenter Execution 4.1 is consistently timing out when we have more than 500 active work orders. The constraint solver takes 45+ minutes to generate schedules, and often fails with a timeout exception before completing. This is causing 15-20% OEE reduction because we can’t optimize machine utilization effectively.
The solver configuration appears to be using default depth settings, and we’re processing all 500+ orders in a single batch. Here’s the error we’re seeing:
ConstraintSolverException: Optimization timeout after 2700 seconds
at SchedulingEngine.solveConstraints(SchedulingEngine.java:234)
Max depth reached: 15, Solutions evaluated: 127,483
We need guidance on constraint solver optimization depth tuning, batch processing configuration, and whether thread pool adjustments could help. Our manufacturing environment has 12 production lines with complex material dependencies and setup time constraints between different product families.
That makes sense. How do you handle dependencies across batches though? Some of our work orders have material dependencies where downstream orders can’t start until upstream orders complete. If we batch them separately, won’t we lose that optimization visibility?
For thread pool and memory allocation, check your SchedulingEngine JVM settings. The constraint solver is CPU-intensive and benefits from parallel evaluation. Allocate at least 8GB heap for 500 orders and configure the solver thread pool to match your server cores minus 2 (leave headroom for other services). Also enable garbage collection logging to check if you’re hitting GC pauses during solving - that can add significant latency.
You handle cross-batch dependencies by scheduling dependent work orders in the same batch or by using predecessor constraints that reference already-scheduled orders. The scheduler can respect fixed start times from previous batches as hard constraints. The key is to batch intelligently - group orders by dependency chains, not arbitrarily. Orders in the same product family or material flow should typically be in the same batch.