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

Formulating a feed with WinFeed

WinFeed is a program specifically designed for nutritionists who work as consultants for a number of clients, for ingredient suppliers wishing to price their ingredients, for farmers who wish to compose and formulate their own feeds, and for researchers wishing to formulate feeds, not necessarily at least cost. WinFeed has been designed to make this easy by allowing the user to:

  • define an unlimited number of clients.
  • define the ingredients available to each client, and to edit and maintain the ingredient costs for each client.
  • define the animals for which the feeds are to be formulated.
  • define the nutrient names and concentrations that are relevant when formulating feeds for a particular animal.
  • define one or more digestibility groups.
  • define general feed templates that can then be customised for a particular client.

There are no restrictions on the number of animals, clients, nutrients, ingredients or feeds. All the information is saved in a SQL Server database.

WinFeed is shipped with a default database that is used throughout this manual for explanatory purposes. It can serve as a useful starting point for developing your own database.

Note

We do not guarantee that the nutrient concentrations in the database are correct. You should check and modify the nutrient concentrations in the database where necessary before formulating any real feeds.

To formulate a feed, publish a feed template for the relevant animal to a client, set the nutrient to be used as the objective (normally cost), and choose whether the objective nutrient (i.e. the nutrient that is used in the objective function) is to be maximised or minimised. Finally, set the various nutrient and ingredient bounds before formulating the feed.

The following example illustrates the power and ease of use of WinFeed once the database has been correctly set up.

Suppose you have a client, John Smith, who needs to update his broiler starter feed because he can no longer obtain fishmeal, an ingredient used in his previous formulation, and has a limited amount of sunflower oilcake meal that he wishes to dispose of.

You would go through the following steps

  1. Select John Smith as the current client (this loads the ingredients available to John Smith as well as the prices of these ingredients when last edited). You would need to update his ingredient prices, delete fishmeal, and add any ingredients to which he now has access.
  2. Select broiler as the current animal (this restricts the nutrients to those relevant for broilers).
  3. Publish the broiler starter feed template to John Smith (if this has not been done previously).
  4. Place a minimum constraint of 5% on sunflower oilcake meal.
  5. Set the cost of the feed to be the objective and specify that it is to be minimised.
  6. Press the formulate button and the solution will be calculated and displayed.

Description of the database components in WinFeed

The following is a more detailed description of all the database components in WinFeed. It is important to understand what these different components represent.

Client

If you consult to various clients, each would need to be defined as a client. If you only use the program to mix feeds for yourself you would not need more than one client to be defined.

For each client the following information is stored:

  • Some of the client’s personal and contact information.
  • The set of ingredients to which that particular client has access, and the price of each.
  • An audit (record) of the prices that have been paid by the client for each ingredient over time.

As a client is essentially a set of ingredient prices there is no reason why clients cannot be used to represent different ingredient groupings or price scenarios e.g. the client facility could be used to store different ingredient groupings such as dairy feeds, pig feeds or horse feeds.

The current client is the client that is currently selected in the client drop-down listbox. Selecting a current client determines the set of ingredients that are currently being used and the prices of these ingredients.

Ingredient

Ingredients in the database represent real world ingredients that are used to mix feeds. Examples of ingredients are maize, salt and fishmeal. There is no restriction on the number of ingredients that can be added to the database, or when these can be added. It is possible also to delete ingredients at a later stage, if necessary.

The nutrient concentrations for each ingredient should reflect the composition of each ingredient: where the same ingredient is available to the client at different protein contents, for example, these should be given names that are sufficiently descriptive, and the nutrient contents should reflect these differences. The nutrient concentrations in the database supplied with WinFeed are not guaranteed to be correct, nor are they to accurately reflect the specific ingredients used by each client.

Bag weights may be specified for each ingredient if desired. These bag weights are used in rounding solutions, making it easier to weigh out ingredients to be used in a feed. Default bounds may also be specified, to be used for each ingredient in a new feed. See Rounding and Animal Feed Calculations.

Animal

Each animal has a requirement for a unique set of nutrients i.e. when formulating feeds for dairy cows there would be no need to specify amino acid requirements. To simplify the management of nutrients, WinFeed allows the user to create a database record for different animals and then to specify the nutrients that are specific to that animal, i.e. it uses a sub-set of the entire database.

Just as there is a current client, there is a current animal. This is selected from the current animal drop-down listbox. The current animal determines the set of nutrients that will be used.

Nutrient

There is no restriction on the number of nutrients that can be entered into the database. It is possible also to specify whether or not the nutrient has an associated digestibility, allowing the user to work with either total or digestible nutrient concentrations. It is possible to set up more than one digestibility group, allowing a different digestibility value to be entered for each animal. Default bounds and some information about a nutrient is also stored. WinFeed also allows the user to create nutrients defined as ratios of other nutrients, and nutrients that are defined as linear expressions of other nutrients.

Matrix

The large array of ingredients and their associated nutrient concentrations is referred to as the ingredient matrix. The matrix values can be edited either by accessing the table or by selecting individual ingredients or nutrients.

Feed Templates

When formulating feeds for a particular animal (e.g. a weaner feed for pigs) the same set of nutrient and ingredient constraints would probably be used each time. Instead of always having to re-enter the bounds, this set of constraints can be saved as a feed template which is given a name.

A feed template is animal-specific because the set of nutrients being used when formulating a feed is determined by the animal that has been specified.

The following information is saved when a feed template is saved:

  • ingredient and nutrient upper and lower bounds.
  • the nutrient chosen as the objective.
  • whether the objective is maximised or minimised.
  • additional defined ingredient constraints.
  • nutrients calculated as either total or digestible values.
  • the weight of the feed that is being formulated.

Icon Client Feeds

WinFeed considers a feed to be the result of a formulation, which is therefore client specific (i.e. the same feed template may be used for different clients, but the answer would be saved as a feed for the particular client). WinFeed saves the ingredient and nutrient composition of the feed at the time when it is formulated, as well as the bounds that were specified when the feed was formulated. This feed can be retrieved and reformulated at a later stage, thereby allowing the user to determine whether there are any changes in the solution brought about by availability of new ingredients, price changes etc.

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}