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

Client feeds

The tree on the left-hand side lists all the previously defined feeds for the currently selected client and animal. The main animal folder is displayed, as well as any sub-folders that have been added. e.g. if the current animal is broiler, then the tree will show items All Feeds, Broiler feeds, and any other folders and feeds that had been added for this client and animal.

Screenshot of Client Feeds tab

The main animal folder cannot be renamed, deleted or moved. You may however add folders within the main animal folders to better organise your data. Each folder is animal specific, so it is not possible to drag a pig feed into a broiler folder. Any sub-folders are linked to the same animal as the main folder, so e.g. in the above example, the folder Broiler feed contains feed templates for broilers. It would not be possible to drag a pig finisher feed into any of the broiler folders, but it is possible to drag the broiler feeds from one broiler folder to another.

Sub-folders and feeds added under Icon Client Feeds are also client-specific, and will only appear when the relevant client is selected as the current client.

General editing functions are available by right-clicking on the tree and selecting the function from the pop-up menu. See Editing using the tree structure.

Below is the pop-up menu created when right-clicking on the tree on the Icon Client Feeds tab.

Screenshot of Client Feeds tree pop-up

The bottom five functions on the pop-up menu can be used to show or hide columns in the tree if it is using up too much space on your screen.

In addition to the normal editing functions is the function Create feed template from this feed, which can be used to export a text file that can be imported into the Icon EFG Broiler model.

Above the Create feed template from this feed menu item, the digestibility group chosen for the currently selected feed is displayed. When this menu item is selected, it displays a list of all previously defined digestibility groups except the one already chosen for the feed. See below.

Screenshot of digestibility groups

Selecting another digestibility group from the list will change the digestibility group assigned to the selected feed template.

The Client Feeds button bar

Only buttons and menu-items relevant to the currently selected item are enabled. These perform the following functions:

IconSelect the current client
IconSelect the current animal
IconSelect whether to minimise/maximise the objective function
IconSelect the objective function
IconDisplay/select whether to formulate on an As-Is or Dry Matter basis
IconInsert a new folder. This button is only enabled when a folder is currently selected. The new folder will be inserted as a sub-folder of the current folder.
IconInsert a new feed into the selected folder. This button is only enabled when a folder is selected.
IconDelete the selected folder or feed. The main folders cannot be deleted. Only empty folders may be deleted.
IconFormulate the feed, or all feeds in a selected folder (F5 may also be used, as a hotkey, to formulate a feed).
IconSaves changes made to the feed.
IconCalculate feasible ranges for currently selected nutrients or ingredients.
IconGenerate a feed report in Excel. If a folder is selected, then all feeds in that folder will appear on the report. If a single feed is selected, then it will appear alone on the report.
IconCustomise nutrient table (hide/show columns).
IconCustomise ingredient table (hide/show columns).
IconExport the selected table (nutrients or ingredients) as an Excel document.
IconRound off ingredients
IconExport feed as a composition.

When a single feed is selected, the following will appear on the right-hand side.

Screenshot of single feed selection

There are two tabs, one showing the Nutrients and ingredients for the feed, and the other for Additional ingredient constraints.

There is a bar located between the nutrients and ingredients tables that can be used to resize each section. In the middle of the bar is a hot spot which when clicked will resize the sections automatically to the previous position. If both tables do not fit onto your screen, then it can be useful to drag the bar right until the entire nutrients section is visible. Clicking on the middle of the bar will then move it all the way left to make the ingredients section visible.

Some of these columns could be hidden, and others visible depending on the settings for the table. To change these, click on the Icon Customise nutrient table and Icon Customise ingredient table buttons. See Tables.

The ingredients in the ingredient table are restricted to ingredients available to the current client, and the nutrients in the nutrient table, to nutrients applicable to the current animal. The nutrient upper and lower bounds are displayed in the relevant unit of the nutrient. The ingredient upper and lower bounds are displayed in percentages as well as weights.

The main purpose of the Nutrients and ingredients tab is to:

  • Define the upper and lower bounds of the nutrients, which can be entered either as total or digestible values in the feed. If the Dig? column is ticked, then values for that nutrient are digestible values. If a particular nutrient does not have digestibility values, then the Dig? column will be grayed, and can not be checked. Define ingredient bounds in percentages or as as-is weights.
  • Show the resulting ingredient and nutrient concentrations of the feed, after a formulation has been executed.
  • Allow the user to execute context sensitive commands by selecting the relevant nutrient(s)/ingredient(s). This is done by pressing the right mouse button and selecting a command from a pop-up menu applicable to the selected nutrient(s)/ingredient(s).
  • Allow the user to specify whether they want to formulate using “dry matter” see Formulating using dry matter or “as-is”, the quantity of feed needing to be formulated, and whether the objective nutrient should be maximised or minimised.

If the formula is new, then the default bounds of the ingredients and nutrients will be inserted as the bounds. To override these default bounds simply type in the bounds as necessary. If a formula is loaded then the previously saved bounds will be used.

To exclude a nutrient or ingredient from the formulation, uncheck it in the first column. All nutrients or ingredients can be included or excluded in one step by using the incl. all and excl. all buttons available at the top.

Nutrients defined as ratios or nutrient expressions

Calculated nutrients are marked in a light purple colour in the Nutrient column. Any ratio nutrients (e.g. Ca:P) are marked in darker purple. The ratio may be constrained in the normal way.

Once you have defined all the bounds, the feed is formulated by pressing the Icon formulate button (or F5). After a formulation has been executed the resulting values are displayed in the Answers and Solution columns of the nutrient and ingredient tables respectively.

Interpreting the colours of the calculated values

To make it easier to establish which of the bounds is constraining, the calculated values that equal a bound are a different colour. The various colours are:

PURPLE The value equals an upper bound.

GREEN The value equals a lower bound.

BLUE The upper bound and lower bound are equal (i.e. it is forced in at that amount).

An infeasible solution is usually the result of the specified lower or upper bound for one or more of the nutrients being too constrained. As an aid to identifying this (these) constraint(s) the bound in question is shown in red. By relaxing these bounds a feasible solution can usually be found.

The weight “nutrient” should always have an upper and lower bound of 1 unless you wish to alter the nutrient density of the feed, see Formulating with weight constraint <> 1 .

nUTRIENTS

Under the Answers group, the following values are shown:

  • Change
    The change in formulated value since the previous formulation.
  • Sensitivity
    The sensitivity value for those nutrients at limiting levels. Marginal costs will be displayed for those ingredients whose values are purple or green, and reduced costs will be displayed for ingredients that are not included in the feed.
  • Formulated
    The actual formulated value.
  • Total
    If the nutrient had been included as a total value, then this value will be shown with a yellow background. Values for nutrients that were not included in the formulation will be shown with a green background.
  • Digestible
    The digestible nutrient content in the feed. If the nutrient had been included as a digestible value, then this value will be shown with a yellow background.
    • Under the Feasible Ranges group are shown the minimum and maximum feasible ranges for the selected nutrients. These can be calculated by selecting some nutrients, and clicking on the Icon button. If the feasible ranges are not required then these columns may be hidden to create more space on the screen. See Tables.
    • There are several functions available when right-clicking on the nutrient table. These can be selected from the following pop-up menu that appears.
Screenshot of nutrient table functions pop-up
  • Set As Objective
    Makes the selected nutrient the new objective. It is replaced in the nutrients table by the nutrient that is currently the objective nutrient. Any nutrient may be used as the objective function, to be minimised or maximised.
  • Parametrics on bounds
    Opens the parametrics settings window which is used to set the ranges over which parametrics should be done for the bounds of the selected nutrients, see Parametrics.
  • Set to Limits
    Sets the upper and lower bounds of the selected nutrient to its default values.
  • Matrix coefficient and digestibility values
    Displays the selected nutrient’s concentration and digestibility percentage for each of the ingredients in the ingredients table, e.g.:
Screenshot of Matrix coefficient and digestibility values

In order to see the concentration matrix in it’s entirety, for all nutrients and ingredients, select the Ingredients tab, ensure that the All Ingredients folder is selected on the left and click on the Concentration Matrix tab to the right of the screen.

  • Feasible ranges
    Calculates the minimum and maximum bounds for each of the selected nutrients that will result in a feasible solution. This can be very useful if you are struggling to obtain a solution.
  • Sensitivity values
    Shows the sensitivity values of all selected nutrients.
  • Ingredient contributions
    Allows the user to see what proportion of each nutrient in the solution is coming from each ingredient, e.g.:
Screenshot of Ingredient Contributions window

Ingredients

The ingredients section is shown below.

Screenshot of the ingredients

Ingredient bounds can be entered in terms of either percentages or weights. Under the Solution group, the following values are shown:

  • (%)
    The ingredient contents in the formulated feed are displayed as a percentage.
  • Weights
    The ‘as-is’ weight bounds of the ingredient.
  • ‘DM’ Weights
    The dry matter content of each ingredient. For this value to be calculated correctly, please ensure that the correct nutrient has been identified as the dry matter nutrient, see Setting the dry matter nutrient.
  • Change
    The change in formulated value since the previous formulation.
  • Sensitivity (R/unit change)
    Sensitivity values for each ingredient are displayed. Marginal costs will be displayed for those ingredients whose values are purple in colour, and reduced costs will be displayed for ingredients that are not included in the feed.
  • Included Price
    The ‘Included Price’ is the price that the ingredient would have to have been in order for the solution to have included it in the formulation. Under the Other column, the Current Price is displayed for easy reference.
  • The Feasible Ranges group
    Shows the minimum and maximum bounds for each of the selected ingredients that will result in a feasible solution. This can be very useful if you are struggling to get a feasible solution. The feasible ranges can be calculated by selecting some ingredients, and clicking on the Icon button. If the feasible ranges are not required then these columns may be hidden to create more space on the screen. See Tables.
  • There are several functions available when right-clicking on the ingredient table. These can be selected from the pop-up menu that appears.
Screenshot of pop-up menu
  • Parametrics on bounds
    Defines the lower and upper inclusion bounds over which parametrics should be run for the selected ingredient(s), as well as the number of intervals, or the interval size, to be considered. Parametrics on more than one ingredient may be run simultaneously. Output is either to the screen or to Excel, see Parametrics.
  • Parametrics on <objective function>
    Defines the range over which parametrics should be run on the objective function (usually cost) for the selected ingredient(s), as well as the number of intervals, or the interval size, to be considered. Parametrics on more than one ingredient may be run simultaneously. Output is either to the screen or to Excel, see Parametrics.
  • Matrix coefficient and digestibility values
    Displays the concentration and digestibility coefficient of the selected ingredient for each of the nutrients in the nutrient table.

    In order to see the concentration matrix in its entirety, select the Ingredients tab, ensure that the All Ingredients folder is selected on the left and click on the Concentration Matrix tab to the right of the screen.
  • Feasible ranges
    Displays the minimum and maximum bounds for each of the selected ingredients that will result in a feasible solution. This can be very useful if you are struggling to get a feasible solution.
  • Sensitivity values
    Displays the sensitivity values for each ingredient included in the formulation. See Sensitivity values, marginal costs and included prices.
  • Ingredient’s objective values
    Displays a report showing the objective value for each ingredient in the ingredient table (i.e. if cost were the objective it would show the cost of each of the ingredients).
  • Nutrient contributions
    Displays the proportion of each ingredient in the solution that contributes to each nutrient.

Amino Acid Ratios

This button can be found under the Nutrients and ingredients tab:

Screenshot of the Nutrients and ingredients tab

To optimise amino acid contents in the Icon Broiler Optimiser the process works only with lysine. The contents of the other essential amino acids are controlled by reference to an (user-controlled) ‘ideal’ protein ratio.

The concept of working with a set of ratios instead of actual values as a means of expressing the amino acid content to be included in starter, grower and finisher feeds is well known. The required content for each amino acid is expressed as a ratio to the lysine content required. Many different sets of amino acid ratios are available and EFG Software does not prescribe the use of any one in particular, so we have made this a user-defined option.

The option to select / edit / add an ‘ideal’ protein ratio can be found in the Icon Broiler Optimiser. Go to Options / Edit Ideal protein ratios and follow the options there. A further option available to make amendments or additions to the ‘ideal’ protein ratio is within Icon Client Feeds, by selecting the Amino Acid Ratios button outlined in the screenshot above.

The choice of the ideal protein ratio to be used is made available when optimising the Amino Acid content in the feed (see below). One option is simply to make use of the ratios that were applied in setting the lower bounds for the essential amino acids in the feeds formulated in Icon Client Feeds or using the ‘ideal’ protein ratio specified.

Screenshot of the Broiler Optimiser tab

Additional Ingredient Constraints

This tab is used to specify additional ingredient constraints. In WinFeed, constraints may be placed on groups of ingredients. Thus, the total inclusion of animal ingredients or oilseed meals may be constrained or controlled. There is no limit to the number of ingredient constraints that may be defined for a given feed. However, a feasible solution becomes progressively less likely as the number of ingredient constraints is increased.

Examples of the type of nutritional information that may be specified with these additional ingredient constraints are:

  • The sum of certain ingredients might need to be within certain bounds, e.g. the sum of bran, pollard and hominy chop may not exceed 30% of the feed.
  • An ingredient might need to be incorporated into the feed at a certain ratio of another ingredient e.g. equal amounts of soya and sunflower must be used.
Screenshot of Ingredient Constraints window

To add a constraint, click on the New constraint button. A new column will be added. If the bounds are to be expressed as percentages, click the –is percent constraint row. Type in the upper and lower bounds. Specify the coefficients of the ingredients used in the constraint by typing them in the relevant ingredient’s row.

Example 1

If you wish to specify that the sum of sunflower 37 and soybean 46 must be between 9 and 14 percent of the feed, you would tick the ‘– is percent constraint’ row, put in 9 and 14 as the lower and upper bounds and put in coefficients of 1 for sunflower 37 and for soybean 46.

Example 2

Suppose you want fine bran to be twice the amount of middlings. Let x1 and x2 be the amount of fine bran and middlings respectively:


i.e. you want: 1. x1 = 2. x2  <=>
1. x1 – 2. x2 = 0 <=>
0 <= 1. x1 – 2. x2 <= 0


Therefore to get the desired ratio you would make the upper and lower bounds both 0, and put in coefficients of 1 and -2 for fine bran and middlings respectively.

To remove a constraint, select the constraint to delete by clicking anywhere in its column, and click on the Delete constraint button.

Instead of formulating a single feed, it is also possible to select a folder and formulate all feeds in that folder. A message will display how many of the feeds in that folder formulated successfully.

Establishing the cause of an infeasible solution

If you are struggling to get a solution then the following checklist may be useful.

  • Make sure that all the bounds are realistic.
  • Ensure that the nutrient concentrations have been entered correctly for the ingredients available to the current client. Having an incomplete or incorrect matrix can often lead to infeasible or unlikely solutions.
  • Examine all the ingredients and nutrients that appear in green, blue or purple. These are the bounds at their upper or lower limit. This may not be conclusive proof that these ingredients/nutrients are the culprits, but often they are (sometimes they could have been broken because in trying to solve other constraints the linear programming algorithm had to introduce unrealistic ingredient concentrations causing other nutrient constraints to be broken).
  • Highlight the nutrient bounds that you believe are most likely to be the cause of the problem, and click the Icon button. WinFeed will establish in what range the nutrient/ingredient must fall in order to be a solution. If the current range defined by the upper and lower bound does not overlap with the feasible range, change the bounds so that they do overlap. Reformulate and you will get a solution.
  • Add more ingredients to the current client’s list of ingredients.

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 © 2025 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}