MRP takes forever. I know, earthshattering news.
What I found today is that I have a kind of unsolvable problem. Basically, our sales backlog is so lopsided to two part numbers that using multiple process in MRP has a really finite limit of getting any more efficient.
Here’s the situation.
Roughly 100% of the revenue in the main plant comes from engineer-to-order, make-to-order trucks. An order might have dozens of lines for the same exact truck, but they are all quantity of 1 and make direct. (It’s so we can gauge the margins and schedule things. And each is tied to its own Project and always will be.)
So I ran MRP on 6 processes and took the MRP logs, all 890,000 rows of them, and made me a pivot table. Process 3 gets hammered. It actually has the fewest level-zero parts, but by a longshot it has the most make-direct order lines (and thus unfirm jobs) - by a factor of 2 or 3.
FYI, I did use Recalculate Part Low Level Code (aka conversion 580) ahead of time. All the truck part numbers are level zero.
When MRP runs multiple processes, all processes have to finish level zero before anyone can move to level 1. Makes sense, after all.
But while five processes have been done for hours, Process 3 is slogging away.
And the others are “Waiting for next part…” Here’s the log of Process 4:
Almost 8 hours of sitting around until Process 3 is done with level 0-0.
Each one of these trucks has a BOM that results in about 1700 rows of JobMtl, so these jobs take 2-3 minutes each for MRP to create. It actually goes the fastest in that time when the one process is running solo.
Not to mention deleting all the unfirm jobs is apparently NOT a multi-processor task, so that alone takes 5 hours.
I don’t see anything else I could do except somehow improving the overall processing speed. But it looks like there is no way to optimize this any better when the level zero demand is so lopsided.