Rates move weekly, nutrient values vary by consignment, and the panel a nutritionist actually wants is routinely one that no combination of the materials in the shed can satisfy. A solver that answers infeasible has told you nothing you can act on, and the spreadsheet holding the ration is usually the only record of why it looks the way it does.
Solve it as what it is, and make the misses legible. Every nutrient bound carries a violation term, so the solve runs twice: first for the smallest possible normalised miss, then for the cheapest mix that stays within it. The batch total and the inclusion limits stay hard — if those alone cannot be met, you are told why before you press optimise.
Eight raw materials at the rates and composition the application carries, scored against its broiler-starter panel. Move a line and every nutrient re-reads against its window. Dig. lysine sits below its floor at the default mix and stays there whatever you do — these eight materials cannot reach 1.15% inside a 23% protein ceiling. That is the ordinary case, and it is the one the solver is built for: in the application, synthetic lysine closes the gap, and where nothing can, the panel reports the nearest ration instead of failing.
In the application the batch total is a hard constraint — a mix that cannot reach 1,000 kg within its inclusion limits is reported as infeasible before it is solved.
Soybean meal is 36% of the mixer and 46% of the money. Bulk fills a ration; a handful of dear materials decides what it costs — which is why a rate change on one of them moves the whole solve.
A real solver
Least-cost formulation is a linear program, and this is one — a two-phase primal simplex run over the whole ingredient list, not a spreadsheet approximating it.
Elastic nutrient windows
Every nutrient bound carries a violation term, so an unreachable panel returns the cheapest ration that misses it by as little as possible, with the nutrients that had to give flagged — rather than the word “infeasible”.
Shadow prices
Reported per material as the change in batch cost per additional kilogram: what a ceiling would save you if it were lifted, and what a floor is costing you to hold.
Substitute suggestions
For each nutrient out of range, the materials already on the formula that still have headroom — ranked by real cost per unit of the nutrient you are short.
Shared library, private edits
One Ingredient Master and Nutrient Library for the mill. Re-price a material or re-analyse a value and it changes for you alone; every other account keeps the original.
Cost and margin per tonne
Every solved formula carries through to a profit-and-loss view, with closed-month production history behind it.
Two curated reference tables sit under everything else — the Ingredient Master and the Nutrient Library — built from the mill's own workbooks rather than a generic feed table, and editable from either direction.
Broiler, layer, breeder, swine, ruminant and aqua panels · eight standing ratio checks including Ca : Av P, ME : CP and the amino-acid ratios · units in %, kcal/kg, PPM, mEq/kg and IU/kg
Feed Formulator is not yet publicly available.
It runs per mill, and there is no public sign-up by design — accounts are issued by the mill administrator, and each one is its own workspace. Register interest to be notified when early access opens.
Fur, Feather