blog home

Using calculus to minimize inventory costs for a manufacturing operation

Subject: Calculus 1
Courses: MATH120
Posted by: Alex

A lot of the "word problems" that come up in calculus seem silly and contrived, because they are. The inventory cost problem, however, is something that comes up in real-life manufacturing scenarios all the time - how can I minimize my operating costs? In fact, the problem we see here today is a simplified version of a problem I covered in a DETC conference paper that I published a few years back.

Hot Bod Jacuzzi & Spa Company is launching a new hot tub - the Neverleak Massage-o-matic DeLux. They have an exclusive deal with Gallmart to supply the retail giant with 10,000 units over the next several years. The hot tub shells are made using injection-molding, in which molten plastic is squirted into metal molds at high pressure, and then allowed to cool. Once the shell has cooled, assembly workers finish the product by attaching the hoses and motors and installing insulation.

Being a small company, Hot Bod doesn't have their own factory - they will have to rent space from the Berry Plastics Corporation. Berry Plastics charges a base cost of $50 per day for use of their facility, plus an extra $1 per day per shell for the space needed to store the shells while they're waiting to be finished. Berry Plastics also requires that you specify how much storage space you will need in your contract - you have to pay for the space up front even if you're not using it the entire time.

Assembly is a slow and delicate process, so Hot Bod workers can only finish about 10 tubs per day. The injection-molding machine on the other hand is very fast, but there is a catch - each time they start up the machine to make a fresh batch of hot tub shells, they have to carefully heat up and calibrate the machine, and get approved by the plant safety manager. This start-up process is expensive - about an extra $1000 per batch! So, there is a tradeoff: if they run many small batches, they will incur a lot of start-up costs, but if they run fewer, larger batches, they will have to pay for more space to store the shells while they're waiting to be assembled.

If Hot Bod wants to minimize their total production cost while meeting their quota of 10,000 units, how many tub shells should they mold at a time? How many batches in total will they run? What will be their total production cost?

Wow, that's a lot of information. As usual, you should first read the problem to get a general picture of the scenario (I'll wait).

Once you've read it through once, we can focus on the sentences at the end of the problem and see what they're actually asking for:

If Hot Bod wants to minimize their total production cost while meeting their quota of 10,000 units, how many tub shells should they mold at a time?

Ok, so we see that they are asking us to minimize cost. Cool (or should I say...hot?) This cost, apparently, is going to depend on how many hot tub shells we make at a time - too many at once and we'll have to pay for the extra space to keep them around while we assemble them, too few at once and we'll have to pay the "start-up cost" for the machine more often. So, at this point we can write our first, very general equation:

\[ \text{Cost} = \text{cost of start-ups} + \text{cost of storage}\]

Even though we don't have any variables written yet, this says a lot. We know that our objective, cost, is going to be made up of two terms. If we can represent those two terms using the information given to us and a variable representing "how many tub shells we should mold at one time", then we can use the first derivative of the cost to find the minimum value! (assuming one exists)

Alright, so let's consider each of these terms individually:

Cost of start-ups

We know that one way or another, we're going to have to mold 10,000 hot tubs. For example, we could start the machine up once and mold all 10,000 shells in 1 batch, or run 10 batches of 1000 shells each, all the way down to the other extreme - 10,000 "batches" of 1 shell each. This means that both the number of batches and the number of shells per batch are variable, but they're related by the total number of shells, 10000:

\[ \text{number of batches} \times \text{number of shells per batch} = 10000\]

Since they're variables, let's assign them some more variable-like names:

\[ r = \text{number of batches} \\[2ex] k = \text{number of shells per batch}\]

So actually, this gives us a useful constraint (which we'll need later): \(rk = 10000\).

Getting back to cost, we know that the problem told us that the start-up costs for each batch are about $1000. Thus, we can write the total cost of \(r\) start-ups as:

\[ \text{cost of start-ups} = 1000r\]

Now, what about the cost of storing the shells until we get around to assembling them?

Cost of storage

The problem tells us that it costs $1 per day **per tub** that we need to store, plus a $50 base fee per day. To figure out this term, we can once again turn to our good friend dimensional analysis. Let's write that $1 unit cost as:

\[ \frac{\frac{\text{1 dollar}}{\text{1 day}}}{\text{1 tub}} = \frac{\text{1 dollar}}{(\text{1 day})(\text{1 tub})}\]

So our units here are "dollars per day-tub", which is not actually the title of a rap song. To cancel out the units in the denominator, it makes sense that we're going to need to multiply this by the number of tubs that we'll need to store, and the number of days that we'll need to store them:

\[ \text{dollars} = \frac{\text{dollars}}{(\text{days})(\text{tubs})} \times \text{days} \times \text{tubs}\]

So the question now is, "how many tubs do we need to store" and "for how many days do we need to store them?"

Well, our contract says that we need to pick the amount of space up front, and agree to buy that for the entire time we're using the facility. So, even though we'll be gradually assembling and shipping off the tubs as we make them, we still need to consider the maximum number of tubs that we'll ever have to store. This turns out to be the number of shells that we mold in each batch (we'll wait until an entire batch has been assembled and shipped before molding the next batch).

The number of days to store them is simply the duration of our entire production. We need to make 10,000 tubs, and we can completely finish assembling about 10 tubs in 1 day (if we time it right, the next batch can be molded simultaneously while the last few tubs from the previous batch are being assembled and shipped):

\[ \text{days} = \text{10000 tubs} \times \frac{\text{1 day}}{\text{10 tubs}} = \text{1000 days}\]

So it looks like we'll be at it for close to three years. Multiplying the three quantities (dollars per day-tub, number of days, and number of tubs), we get:

\[ \text{variable cost of storage} = \frac{\text{1 dollar}}{(\text{1 day})(\text{1 tub})} \times (\text{1000 days}) \times (k\text{ tubs}) = 1000k\]

We also need to pay the $50 flat rate per day, so that adds an extra \(50 \text{ dollars } \times 1000 \text{ days}= 50000 \text{ dollars}\) to our total cost (not much we can do about this part). Thus,

\[ \text{total cost of storage} = 1000k + 50000\]

Putting it all together

Great, now we can finish writing out our formula for the total cost:

\[ \text{Cost} = \text{cost of start-ups} + \text{cost of storage} = 1000r + 1000k + 50000\]

So, now we just have to take the derivative and set it equal to zero, right? Well there's one problem - we've got two variables, but we need an objective that is a function of one variable, \(k\) (the number of shells to mold per batch). Here's where that constraint that we discovered earlier, \(rk=10000\), comes in handy.

We can solve this constraint for \(r\), and then plug it into our cost function (I'm renaming Cost \(C\) to make it simpler to write):

\[ rk=10000 \\[2ex] r=\frac{10000}{k} \\[2ex] C = 1000r + 1000k + 50000 \\[2ex] C = 1000\left(\frac{10000}{k}\right) + 1000k + 50000\]

To keep ourselves from getting dizzy with all these zero's, let's factor out \(1000\):

\[ C = 1000\left(k + \frac{10000}{k} + 50\right)\]

Cool. Now let's take the derivative, which is easy if we remember that \(\frac{10000}{k}\) can be written as \(10000k^{-1}\):

\[ \frac{dC}{dk} = 1000\left(1 - 10000k^{-2}\right)\]

Set this equal to 0, and we get:

\[ 1000\left(1 - 10000k^{-2}\right) = 0 \\[2ex] 1 - 10000k^{-2} = 0 \\[2ex] 10000k^{-2} = 1 \\[2ex] \frac{10000}{k^2} = 1 \\[2ex] k^2 = 10000 \\[2ex] k = 100 \text{(We use the positive root because, well, we can't have a negative number of hot tubs)}\]

How do we know that this is the point where cost is minimized, and not maximized (or some other kind of critical value)?

Well, we can always turn to the second derivative:

\[ \frac{d^2C}{dk^2} = 1000\left(20000k^{-3}\right) = \frac{20000000}{k^3}\]

If we plug in \(k=100\), we get a positive result - telling us that \(C\) is "concave up" at this point, and thus we have a local minimum.

To answer the two followup questions:

How many batches in total will they run?

Since we already know that \(r=\frac{10000}{k}\), we can plug in \(k\) and calculate \(r=\frac{10000}{100} = 100\) batches.

What will be their total production cost?

Since we know that our total cost is \(C = 1000r + 1000k + 50000\), we can plug in \(r\) and \(k\) to get:

\(C = 1000(100) + 1000(100) + 50000 = 250,000 \text{ dollars}\). This works out to be about $25 in "overhead" per tub - not including, of course, the cost of materials, labor, water, and energy.

University of Maryland student? Get a tutor in College Park for in-person, one-on-one help!