EFG SoftwareEFG Software
  • WinFeed
    • WinFeed Program
    • References
  • Poultry Programs
    • Broiler Growth Model
    • Broiler Nutrition Optimiser
  • Pig Growth Model
  • Contact & Info
    • Contact us
    • Commercial Policy
    • Privacy Policy
    • Cookie Policy
  • Papers & Articles

Brief background to feed formulating

The following simple example is used to illustrate the basic feed formulation problem.

Suppose a laying hen needs exactly 18g of protein and 1.3MJ of energy each day; that only three ingredients (fishmeal, maize and soya) are available; and that 1kg of these ingredients contain the following:

PROTEIN (g)ENERGY (MJ)
Fishmeal65013.70
Maize8014.34
Soya42010.29

The problem can be expressed as follows:

Let x1, x2 and x3 be the amount of fishmeal, maize and soya respectively. Then:

650x1 + 80x2 + 420x3 = 18

13.70x1 + 14.34x2 + 10.29x3 = 1.3

(x1, x2 & x3≥ 0, for the answer to be meaningful)

Solving the above two linear equations is relatively straightforward, and since the number of ingredients is larger than the number of nutrients, there are an infinite number of solutions of how the ingredients could be combined to satisfy the hen’s protein and energy requirements simultaneously.

(e.g., x1 = 7.48E-03, x2 = 7.08E-02, x3 = 1.78E-02; x1 = 6.20E-03, x2 = 7.05E-02, x3 = 1.98E-02 are both solutions)

In the above example, the weights of nutrients required each day are used to determine a daily feed allocation. However, farm animals are not usually fed in this way. Instead of weighing out the required quantities of the three ingredients each day it is more practical to formulate a feed to meet required nutrient concentrations, and then allow the animals ad libitum access to the food, assuming a given daily food intake. In this case the nutrients in each ingredient as well as the nutrients required by the animal are expressed as concentrations (in the above example g/kg or percent for protein, and MJ/kg for energy). To calculate these it is necessary to know both the daily amount of each nutrient required by the animal (e.g. mg lys/bird d) and the food intake (g/d) of the animal.

The standard method of describing the nutrient requirements of an animal is to specify the quantity of each nutrient required by the animal per kg of feed. Whether the animal eats the expected amount of this food each day is not part of the linear programming problem. However, a successful nutritionist would be one who is capable of accurately predicting the food intake of the animals so that nutrients are not oversupplied in the feed resulting in wastage and reduced profits. An undersupply of nutrients in the feed will invariably result in a higher than expected food intake, resulting also in reduced profits.

Using this more acceptable method of describing an animal’s nutrient requirements, the protein and energy requirements of the laying hen, above, assuming an intake of 120g food per day, would be specified as 150g of protein (18*1000/120) and 10.8MJ of energy (1.3*1000/120) per kg of feed. The linear equations would change to:

650x1 + 80x2 + 420x3 = 150

13.70x1 + 14.34x2 + 10.29x3 = 10.8

1x1 + 1x2 + 1x3 = 1

The last equation is added to ensure that the sum of the three ingredients is 1kg.

Constraints and objective function

In the above example the nutrient requirements of the laying hen are exact, but normally an animal’s nutrient requirements need not be exact and can be relaxed to fall within an acceptable range (e.g. having the protein between 140 and 160g/kg and the energy between 10.0 and 11.5MJ/kg might be acceptable for a flock of laying hens having different daily food intakes). The linear equations can now be expressed as the following three constraints:

140 ≥ 650x1 + 80x2 + 420x3≥ 160

10.0 ≥ 13.70x1 + 14.34x2 + 10.29x3≥ 11.5

1x1 + 1x2 + 1x3 = 1

This relaxation of the constraints increases the number of potential solutions even further. As there are many potential solutions, it makes sense to find the best of these solutions, the most common being the least-cost solution. In this case a feed containing the nutrients in the required concentrations is formulated to contain the least expensive combination of ingredients. This can be accomplished by adding another linear expression, called an objective function, which can be minimised or maximised using a complex mathematical algorithm that was developed in the 1940’s. This objective function must be a linear expression of the ingredients, expressing their relative costs in terms of what is to be minimised or maximised. For example if cost is to be minimised, the objective function would be the sum of all the ingredient prices, whereas to maximise the energy, the energy values for each ingredient would be summed.

In our example, if the cost of the feed is to be minimised and the three ingredients cost R2300, R600 and R950 per ton respectively, our objective function would be:

2300x1 + 600x2 + 950x3

It is important to realise that it is not only the cost that can be minimised, but that any nutrient can be minimised or maximised.

Nutrient Independence

Ideally, the desired concentration of one nutrient should be independent of the concentration of another nutrient in the feed. Unfortunately this is not always the case. Often the amount of one nutrient will influence the necessary concentration of another nutrient in a feed. For example, bone growth is maximised when the ratio between calcium and phosphorus is 2:1; as the energy content of a feed is increased so the amino acid content should also increase, hence some nutritionists express the amino acid content as a proportion of the energy content; and there is evidence in broiler nutrition that to maximise performance, amino acid concentrations should be expressed as a proportion of the protein content of the feed.

WinFeed provides two methods by which you can express nutrient dependencies:

  • Nutrient ratios
    A simple example is the calcium to phosphorus ratio, which should be maintained at approximately 2:1.
  • Linear expressions of nutrients
    One nutrient can be expressed in terms of another nutrient. For example, the amino acid requirement is sometimes expressed in units per MJ metabolisable energy (ME) i.e. the lysine content of a broiler starter feed might be expressed as 1g per MJ ME, and methionine, 0.45g per MJ ME.

WinFeed > Formulation

  • Brief background to feed formulating
  • Client feeds
  • Formulating a feed with WinFeed
  • Sensitivity values, marginal costs and included prices
  • Parametrics
  • Formulating with weight constraint <> 1
  • Formulating using dry matter
  • Rounding and Animal Feed Calculations

WinFeed Sections

  • Features
  • Basic Screen and Editing Concepts
  • Data Handling using WinFeed Data Manager
  • Formulation
  • General

Help Main Sections

  • Introduction
  • WinFeed
  • EFG Broiler model
  • EFG Broiler Optimiser
CONTACT US

References

Review a complete list of references upon which our models are based.

Reversed icon of EFG Software
  • Home
  • WinFeed
  • Broiler Growth Model
  • Broiler Nutrition Optimiser
  • Pig Growth Model
  • Papers and Articles
  • Contact us
  • References
  • Help Section
PURCHASE LICENCE
COPYRIGHT © 2026 EFG SOFTWARE. ALL RIGHTS RESERVED.

Help Section

  • Introduction
  • WinFeed
    • Features
      • Feed Templates
      • Compositions
      • Ingredient Manager
      • Client Manager
      • Animal Manager
      • Digestibility Groups
      • Reporting System
    • Basic Screen and Editing Concepts
      • Saving Screen Space
      • Sorting
      • Tables
      • Editing using the Tree Structure
      • The WinFeed User Interface
    • Data Handling using WinFeed Data Manager
      • Making Backups of your Data
      • Using WinFeed Data Manager to maintain your data
      • General data storage information
    • Formulation
      • Brief background to feed formulating
      • Client feeds
      • Formulating a feed with WinFeed
      • Sensitivity values, marginal costs and included prices
      • Parametrics
      • Formulating with weight constraint <> 1
      • Formulating using dry matter
      • Rounding and Animal Feed Calculations
    • General
      • Units
      • Setting the dry matter nutrient
      • Abbreviations used for amino acid names
      • Security key
  • EFG Broiler model
    • Theory
      • Introduction to the EFG Broiler model
      • Theory of growth
      • Determining the genetic growth parameters
      • Features to be aware of when using the model
      • References
    • Model Inputs
      • EFG Broiler Model basic screen layout
      • Defining a breed
      • Management
      • Economics
      • Environment
      • Restricted Feeding
      • Revenue
      • Cropping schedule
      • Feeding schedule
      • Stocking schedule
      • Daily Blend %
    • Experiments
      • Flocks section
      • Solving an experiment
      • Flocks
      • Setting multiple values for a variable in a flock
      • How to design a flock
    • Results
      • Results Tables
      • Report basics
      • Economics summary report
      • Potential growth data
      • Summary reports by time, weight or feed
      • Component graphs
      • Viewing a graph
      • Amino acid requirements
      • Actual growth data
    • General
      • BM Feeds
      • Growth constraint
      • Editing a histogram
      • Troubleshooting the broiler model
      • Units – broiler model
  • EFG Broiler Optimiser
    • Optimisations available
      • Optimising amino acid contents in each feed
      • Optimising nutrient density
      • Optimising the feeding schedule
    • Performing an Optimisation
      • Inputs
      • Flocks (optimiser)
      • Comparison of the numerical and grid methods
      • Response modifiers
    • Interpreting the Results
      • Reports (optimiser)
      • Results (tables)
      • Optimum feeds
      • Broiler optimiser results
    • Troubleshooting the broiler optimiser
EFG Software logo
MANAGE COOKIE CONSENT
We use cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
VIEW PREFERENCES
  • {title}
  • {title}
  • {title}