We’re currently breaking our heads trying to move job scheduling from Excel into Epicor — and honestly, the challenges feel like they’re stabbing us in the back .
Our operation: casting beds + concrete slabs = one big Cutting Stock Problem. We’re desperately looking for a way to generate job schedules that actually minimize waste instead of making us waste more aspirin.
Our setup looks like this:
Resources in Epicor = our 13 casting beds (each ~142m long) Jobs = slabs with specific length requirements
About 350 slabs per day get cut from these beds (and sometimes our patience too)
Requirement = efficient scheduling + optimized cutting with minimal waste (preferably both at the same time)
I came across Google AI/OR-Tools for cutting stock optimization, which looks very promising. But here’s the real question: how on earth do I plug this into Epicor
It seems I have to play around with Functions & REST API? Or is there a clever way to call a Python optimizer or External optimization service within Epicor?
Everyone talks about AI like it’s magic, but few actually implement it — so I’m hoping someone here has walked this path before.
Has anyone successfully combined external optimization algorithms or an AI engine with Epicor’s scheduling?
Itlf it’s an external service that has an API. Then functions is an option and there are examples in the help and in the online Epicor Learning Center courses that cover and provide examples of the process.
I’ve gone through this post and the related ones under the same topic, but none of them really address the job scheduling challenge itself. The real issue here is determining the best scheduling plan from a given set of jobs and resources.
This post is actually describing a situation that stems from the 2D Cutting Stock/Nesting Problem. However, rather than focusing on solving the nest optimization (which they already handle through Bystronic software), the discussion is more about:
How to make Epicor scheduling and costing work in alignment with the nesting process.
How to batch time and materials across multiple jobs efficiently,
I’m no scheduling expert like @jkane or @timshuwy, but I do recall that there is always a trade-off when scheduling. What does “best scheduling plan” mean to you? Most on time deliveries? The deliveries that generate the most revenue? The most profit? Or the schedule that takes care of your biggest customer? Are we driven by efficiency of the nesting program to reduce material cost first? What is/are your constrained resource(s)?
No scheduling system can know what you want to optimize for. Once we know that, then the good schedulers can optimize the plan.
The most efficient way to make something does not always align with delivery schedules. example, you have a premium customer who wants qty 5 something now, but the item they want is “normally” made in batches of 100… the next batch is scheduled two weeks out. Now you have a scheduling issue because you are inserting a less efficient batch of 5 pieces into your manufacturing mix.
Thanks for pointing that out — you’re absolutely right, “best” scheduling depends entirely on what we’re optimizing for.
I’ll admit, I’m still a beginner in scheduling and learning as I go, so forgive me if I sound a bit naïve. But in our case, the trade-off feels like a tug-of-war between material utilization vs. delivery commitments:
If we prioritize utilization, we can minimize waste on the casting beds (important in our Cutting Stock type environment), but some urgent orders may get delayed.
If we prioritize delivery, we can hit on-time shipments for key customers, but we’ll end up with more waste and less efficient bed usage.
Right now, we’re trying to find a balance — ensuring delivery for our biggest customers while still keeping waste levels under control. That’s why we’re exploring whether Epicor’s scheduling can help model these trade-offs more explicitly.
I’ve done integrations for companies before for MS Project to Epicor Scheduler. It was more of a straight forward case (nothing fancy, schedule the whole job synchronously).
I’ve also done web based schedulers which are a little trickier. You can control the Epicor scheduler at the op level if you know how you want to schedule it, but sometime Epicor still gets in the way.
One of the benefits of the Epicor scheduler is that it has the data (context is a better term in this AI age). If your external scheduler has all of this context, and is smart enough, you can fabricate a “manual” schedule and push it into Epicor.