LPSolve Demo – Calf Starter
Hello and welcome to this demonstration of LP Solve. In this example, we’re going to create a calf starter formulation that contains 20% crude protein, 20% starch on 100% dry matter basis. We’ll begin with a standard milk replacer formulation and then modify the ingredients to better reflect what’s needed in a calf starter. Let’s get started.
You’ll notice that the ingredients currently selected are typical milk replacer ingredients, skim milk powder, dried fat, whey, and similar products. So, our first task is to change the ingredient selections. There are a couple of ways to do this. If you know the name of the ingredient, you can simply begin typing.
For example, I want to start with soybean hulls. As I type, soy hulls appear as the first option. I click OK, and the first row is populated with the standard nutrient composition from the library. Next, I want to include wheat middlings. I begin typing wheat middlings, select the ingredient, and the row is populated.
You’ll notice that all ingredient costs are initially set to a default of 100 per metric ton. The next ingredient is corn gluten feed. As I type, you’ll see several corn gluten feed options, including some local variants. I’ll select a standard corn gluten feed and populate row three.
Now we’ll add corn. This time, I’ll access the ingredient library by clicking on the ingredients menu and selecting the ingredient library. From the Energy Sources category, I select fine ground corn and populate row four.
I’ll add the remaining ingredients to complete the total number of ingredients needed to run the formulation.
Now that all the ingredients are entered, we need to adjust any nutrient values that differ from the library values based on our certificates of analysis or typical composition. For example, my soybean hulls may actually contain 14% protein. When I make that change, you’ll see the cell color change, indicating it differs from the library value.
I also have the option to save this as a new local ingredient. Similarly, my soybean meal may be slightly lower in protein than the library value, and I can update that here. I’ll also adjust the fat content as needed.
Once all nutrient adjustments are complete, we can enter the ingredient prices based on local market values. These prices will vary depending on the location and time, but I’ll enter some representative values for this example.
With ingredients and prices set, we can now define the nutrient specifications for the formulation. I’ll start by setting a minimum dry matter of 88%, which helps prevent ingredients like molasses from becoming included at excessive levels.
Next, I’ll set crude protein with a minimum of 20% and a maximum of 22. Protein is usually expensive, so it typically comes in at the minimum, but setting a maximum can be useful. For fat, I’ll set a range of 3 to 5%.
We need to add a few nutrients that are important to calf starter formulations. I’ll right-click on a row and make visible the rows for starch and NDF. I’ll then set the minimum starch level at 20% and maximum of 25% of dry matter. Since this will be a pelleted starter, a maximum of 25% is appropriate. For ash, I only need a maximum, which I’ll set at 8%.
Calcium and phosphorus specifications are based on NASM requirements for calf starters, and you can find recommendations in the NASM publication or in Table 2 of Calf Note number 243. I’ll set calcium at 0.5% minimum and phosphorus at 0.6% minimum as a percentage of dry matter. For sodium, I’ll set a minimum of 0.25% and include a maximum to prevent salt from being overused if it’s inexpensive. Chloride is set at 0.2%, potassium at 0.75, and magnesium at 0.18%. Again, all based on NASA recommendations.
For micro minerals, we typically rely on the vitamin mineral premix rather than setting individual nutrient specifications. I’ll set the premix inclusion rate at 0.25% and apply both minimum and maximum limits to ensure it stays at the labeled recommendation.
Next, I want to apply some ingredient-specific limits. For example, I’ll limit canola meal to a maximum of 10% because of palatability concerns in calf starters. Wheat middlings will be limited to 20% since they’re relatively inexpensive and could otherwise dominate the formulation. I’ll also limit molasses to a maximum of 5% and tallow to a maximum of 3%.
Before running the formulation, I’ll rename the formula Sample Calf Starter and add a brief description: Starter Example.
Well, now we’re ready to run the formulation. I click the Run button and let the linear program solve the problem. The resulting formula contains twenty-two percent soybean hulls, 20% wheat middlings, twenty-eight percent corn gluten feed, about 19% barley, 9% soybean meal, and smaller amounts of calcium carbonate, salt, and 0.25% of the vitamin mineral premix.
This is a byproduct heavy formulation because the price of dried corn is too high to be included in this formulation. Given the high NDF content, nearly 37%, we consider this a high fiber starter that might not provide sufficient ME for high rates of body weight gain, but is quite economical. Our formula meets the minimum requirements for protein at 20%, 3% fat, 20% starch, and 0.5% calcium.
Note the values in red show the potential savings we can achieve if we relax any of these binding nutrients. We’ll discuss these binding nutrients in more detail in the knowledge base.
The total cost is approximately $158 per metric ton. This formula might raise some concerns, particularly about relying heavily on byproducts in barley. Will the calves do as well with this type of formula compared to one containing more corn and soy?
Theoretically, if we’ve described our ingredients well, and we have adequately described those nutrients that influence growth, then the diet should work as expected. The tricky part of this proposition is that we don’t always have perfect knowledge and, consequently, not all rations will work the same in real life. That’s why there’s still a bit of art in addition to the science of feed formulation. There’s no replacement for experience in understanding the value of ingredients in specific formulas.
The lower and higher prices at the right tell us the prices at which an ingredient will be used more or less in a formula. For example, dried corn is priced at $160 per metric ton. The lower price is $146.83. That means that in this specific formula, if the price of corn is reduced to a price below that lower price, it will start to be used in the formula. Let’s change the price to $140 per ton and rerun the formula.
Now we see that corn is used in the formula at more than 17%, replacing all of the barley. I’ll reset the price to 160 and let’s look at those lower and upper prices again. Now the upper price is 1e to 30. That means it doesn’t matter how much higher the price gets; the formula still won’t use corn. The price of 160 is already too high and increasing the price will not change the formula.
These upper and lower prices can be very powerful in helping us know the break-even points and when the cost of an ingredient becomes interesting to a formula. Because byproducts are relatively inexpensive in this formula, the model strongly favors them. If we increase the price of soybean hulls and corn gluten feed, those ingredients will become less attractive, and the formulation shifts more towards barley and grain-based ingredients.
The upper price for soy hulls tells us that when the price is higher than $147.21, the formula will use less soy hulls. The upper price for corn gluten feed is $176.92, which is quite close to the current price of $175 per ton. Let’s change the corn gluten feed price to $190 per ton and see what happens. Now the formula is using only about half the gluten feed as it used previously. This truly is the power of linear programming, to give us insights into the formulations and how we can optimize both the costs and nutrition provided.
At this point, the formulation is being constrained primarily by protein, fat, starch, calcium, and sodium. If we change any of these constraints, for example, decreasing the minimum protein from 20% to 18%, we see the price of the formula has declined. Binding specifications always make a formula more expensive, and relaxing a spec, whether a nutrient spec or a binding ingredient spec, will always reduce the cost to some degree.
Ration formulation is fundamentally an optimization problem. Any changes to ingredient prices, nutrient requirements, or inclusion limits can alter the least-cost solution, the total cost, and the ingredients selected. That’s why it’s critical to understand your actual ingredient costs, the nutrient requirements you’re trying to meet, and any practical limitations on ingredient use. For example, if you have a limited supply of wheat middlings, you may want to cap its inclusion, so the ingredient lasts longer.
Other limits are related to palatability and animal health. For instance, including more than 5% molasses can reduce palatability and increase the risk of acidosis in young calves.
It’s also important to look beyond macronutrients like protein and fat and consider minerals and other nutrients. In this example, we haven’t discussed the micromineral requirements such as iron, zinc, or copper. A well-formulated vitamin trace mineral premix is essential to formulations like these to provide these necessary nutrients.
I hope this short demonstration has given you a better understanding of how to use LP Solve and the importance of understanding the complex interactions among ingredients, nutrients, and prices when generating a least-cost ration. Thanks for watching, and I’ll see you next time.