Freefarm
      Hem
Kontakta oss
Opti-mu 2002, foderoptimering för mjölkkor

Denna texten syns om du har en weblösare som inte stödjer Java. För att kunna optimera behövs en webläsare som tex Netscape version 4 eller senare, eller Explorer version 4 eller senare. Dessutom måste Java vara påslaget i weblõsarens inställningar. Har du problem, ring eller mejla så hjälper jag dig. 070-686 98 28

Instruktionsbok

För den otålige:
Starta programmet genom att klicka på knappen "Starta programmet" och välj avkastningsnivå i behovsfönstret. Klicka sedan på knappen optimera i menyfönstret:

Om du behöver mer hjälp

Behöver du teknisk hjälp eller vill prata om programmet i största allmänthet kan man mejla Mattias Malmgren på adressen mattias@freefarm.se eller ringa på 070 686 98 28. Vill du diskutera foderstater och foderoptimering mer specifikt kanske det är bättre att du vänder dig till en foderrådgivare, exempelvis på en husdjursförening. Foderrådgivare är i allmänhet mycket duktiga på foderoptimering och kan säkerligen hjälpa till med alla dina frågor.

Innehåll

Introduktion

En mjölkko ställer krav på att en foderstat tillgodoser alla hennes näringsbehov. Olika foder har olika priser och innehåller olika mycket av olika näringsämnen. Att optimera en foderstat går ut på att finna den blandningen av foder som på det billigaste sättet uppfyller alla kons krav.

Det är praktiskt taget omöjligt att för hand räkna ut en optimal foderstat, men med hjälp av dataprogram som utnyttjar en matematisk metod, den så kallade simplex-algoritmen, är det möjligt. Optimeringsprogram har funnits på marknaden i många år. Opti-mu är speciellt framtaget för att det ska vara enkelt och roligt att använda, och för att utnyttja internet.

Opti-mu finns i två versioner, en enklare version (light) som man kan köra direkt från en vanlig hemsida under förutsättning att man har en någorlunda modern webbläsare (Explorer 5, Netscape 4), dels en professionell version med möjlighet att spara, ladda och skriva ut alla sina data (t.ex. fodermedelstabellen). Den professionella versionen har också funktionalitet för att man ska kunna optimera foderstater tillsammans via internet. Opti-mu i professionell version kan dessutom integreras med många andra program som t.ex. explorer, word, excel eller individ RAM.

Så använder man programmet (light versionen)

Överst på den här sidan finns en knapp som heter "Starta programmet", klickar man på den visas tre fönster; menyn, fodermedelstabellen och behovsfönstret. Notera också att dessa tre fönster syns i aktivitetsfältet. Man kan klicka dessa ikoner för att växla mellan fönstren.

I behovsfönstret ställer man in vilka näringsämnesbegränsningar man vill ha i sin optimering. Opti-mu är förprogrammerat med begränsningar för två olika normer vid sex olika avkastningsnivåer. Man kan också anpassa de förprogrammerade inställningarna om man vill använda egna begränsningar. I fodermedelstabellen kan man ändra priser och näringsvärden på foder. Man kan också ställa in begränsningar för fodergivor av varje enskilt foder. När man gjort sina inställningar klickar man på knappen "Optimera" i meny-fönstret. Då visas ett resultatfönster som talar om vilka givor av vilka foder som ingår i den optimala blandningen. Man kan också se marginalkostnader, prisgränser och näringsvärden för foderstaten. Dessutom finns en "mixblandare" som räknar om foderstaten till verkliga givor för en eller flera kor.

Fönstren är placerade på ett sådant sätt att man kan växla mellan dem utan att behöva flytta runt dem. Fönstren syns bäst om man har en högupplöst bildskärm.

Behovsfönstret

Överst i behovsfönstret finns en rullgardinsmeny där man ställer in avkastningsnivå. Om man exempelvis vill göra en foderstat som passar för en ko som mjölkar 40 kg per dag väljer man 40 ur rullgardinsmenyn. Sedan väljer man vilken norm man vill använda sig av, antingen Energi-metoden eller TS-metoden, genom att klicka på respektive metods knapp. Om man väljer Energi-metoden ska man också ställa in kons vikt med hjälp av rullgardinsmenyn "Levandevikt". Beroende på vilken metod som valts visas ett antal näringsämnesparametrar som man kan välja att begränsa. Alla begränsningar har en undre, en övre, eller en fix begränsning. Om man exempelvis ställer in mängden fosfor till 90 gram så kommer optimeringen se till att det minst är 90 gram fosfor i foderstaten. På motsvarande sätt kan man ställa in övre begränsningar. En fix begränsning betyder att det skall vara exakt så mycket av det näringsämnet i foderstaten. Om man ställt in en fix begränsning tar programmet inte hänsyn till vad som står i min- eller maxrutan för den näringsparametern. Om man inte vill ha en undre eller övre eller fix begränsning skall man lämna de rutorna tomma (detta till skillnad från Rapp/F-stat där man sätter 0 som min och 9999 som max). I exempelvis energimetoden finns det i grundinställningarna ingen övre begränsning på energi, därför är bara den undre begränsningen ifylld.

Om man vill räkna med sina egna begränsningar kryssar man bort rutan "uppdatera begränsningar automatiskt".

Om man vill göra en foderstat som uppfyller KRAV's regler kan man fylla i andelen av foderstaten som måste utgöras av KRAV-foder, exempelvis 95%.

I TS-metoden måste parametern fix kg TS/dag vara ifylld. Det finns ingen undre eller övre begränsning för kg TS/dag i TS-metoden. Det beror på att den normen utgår från ts-givan.

Opti-mu använder tecknet . som decimaltalsavskiljare. Men om man vill kan man skriva in sina siffror med , som decimaltalsavskiljare istället. Opti-mu ändrar själv alla , till .

Fodermedelstabellen

Fodermedelstabellen visar de foder som finns tillgängliga för optimeringen. Först står fodermedlets namn, därefter eventuella fodergivabegränsningar (max 0 på bete i exemplet ovan) därefter pris och näringsvärden.

Priset kan ställas in antingen per kg eller per kg ts. Om exempelvis ett foder har en ts-halt på 0.5 och man matar in 2 kronor per kg och trycker på tangentbordets knapp "return" så räknas priset per kg ts om till 1 krona. Optimeringen använder sig av priset per kg ts.

Grf står för grovfoder. Det är ett värde på ett eller noll, och talar om ifall fodret skall räknas som ett grovfoder eller inte. Samma sak med KRAV som talar om ifall fodret skall räknas som KRAV-odlat eller inte.

Alla näringsparametrar är per kg ts, där annat ej är angivet. Smältbarhetskoefficienterna för fiber och protein, EFD och EPD, anges som ett värde mellan 0 och 1.

I fodermedelstabellen finns även pektin med. Men pektinvärdet är satt till 0 på alla foder och optimeingen tar inte hänsyn till pektin.

Om man inte vill ha med ett foder i optimeingen kan man sätta maxgivan till 0 kg, som i exemplet ovan med fodermedlet bete.

Om man vill kan man ändra både på namnet, priset och näringsvärdena på varje foder i fodermedelstabellen. I light versionen kan man dock inte spara sin fodertabell.

När man klickar i en ruta i fodermedelstabellen står det nere till vänster vilket foder och vilken parameter man är inne och ändrar på.

Fodermedelstabellen är ganska stor, därför har den rullningslister så att man ska kunna scrolla både i höjdled och i längsled.

Enheterna som används i fodermedelstabellen är som följer:

Menyn

I lightversionen finns det tre knappar på översta raden i menyn. Man kan klicka på fodertabells- respektive näringsbehovsknappen för att visa respektive fönster. Man kan också använda ikonerna i aktivitetsfältet.

De tre understa knapparna använder man för att lägga till eller ta bort foder från fodertabellen, samt ändra ordningen på foder i fodertabellen.

Längst till höger sitter den viktigaste knappen "Optimera". Klicka på den för att starta en optimering.

Resultatfönstret

Resultatfönstren är numrerade. Eftersom varje ny optimerings resultat visas i ett eget fönster kan man placera fönstrena bredvid varandra för att jämföra.

Överst i resultatfönstret visas ett meddelande som talar om vad för slags begränsningar som optimeringen är gjort med. Sedan visas tre kolumner i en tabell. Där står fodermedlets namn, den optimala givan av fodret och marginalkostnaden för de foder som inte är med i blandningen. I foderstaten ovan är givan av fodret "Ensilage 1" 9.51 kg ts. Marginalkostnaden för havre är 0.07. Det betyder att om priset på havre går ned med 7 öre så kommer havre att vara med i foderstaten.

Om man scrollar till höger, eller förstorar fönstret ser man också de båda sista kolumnerna;

För fodret "Ensilage 1" är undre prisgräns 0.05 och övre prisgräns 0.08. Detta betyder att om priset på "Ensilage 1" minskar med mer än 5 öre kommer den optimala foderstaten att innehålla mer av ensilaget. Om priset går upp med mer än 8 öre kommer mängden ensilage att minska i den optimala foderstaten.

Marginalkostnader och prisgränser är viktig information när man avgör vilket pris man är beredd att betala för ett fodermedel som man köper in.

Scrollar man längre ned i resultatfönstret kan man under rubriken "Foderstaten ger" se hur mycket foderstaten innehåller av de olika näringsparametrarna, liksom priset för foderstaten totalt.

Även om man beräknar en foderstat med hjälp av den ena eller den andra metoden visas samtliga parametrar. För Energi-metoden visas mängden AAT i foderstaten dividerat med energibegränsningen, alltså inte mänden AAT dividerat med den totala mängden energi i foderstaten.

Längst ned i resultatfönstret ligger "mixblandaren".

Där kan man skriva in hur många kor man vill att mixen skall räcka till. Mixblandaren räknar också om givorna till kg foder, inte kg ts som den optimala foderstaten presenteras i. Ts-halten i mixen är viktig att hålla ett öga på. Om blandningen är för torr kan de olika fodren separera. Kossorna kan då lyckas sortera ut dom godaste fodermedlen, vilket leder till att korna inte får i sig rätt mängd näring.

Att optimera foderstater med krav på fix vikt

TS-metoden skiljer sig ur optimeringssynpunkt från energimetoden bland annat genom att vikten är fix. Just den fixa vikten och att andra näringsämnen är rekommenderade att utgöra en viss procent av vikten kan skapa problem för den som använder ett optimeringsprogram. Om alla näringskrav utom ts-intaget är tillgodosedda kan programmet välja att ge mer av ett billigt fodermedel för att nå upp till det fixa kravet på ts-intag. Ofta är det billiga fodret foderkalk. Ser man att det är mycket foderkalk i foderstaten, samtidigt som mängden Ca i foderstaten ligger på den övre gränsen har man kanske råkat ut för detta.

Visserligen anses ts-intaget ha starkt samband med mjölkavkastningen, men frågan är om en ökad giva foderkalk för att nå upp till rekommendationen för ts-intag verkligen leder till ökad mjölkavkastning. Detta problemet är välkänt för människor som optimerar foderstater för grisar där man i allmänhet har en fix vikt som krav på blandningen. Där sätter man ofta begräsningar på mineraler väldigt snävt för att undvika att optimeirngsprogrammet använder något billigt mineralfoder som utfyllnad.

Kan man lita på resultatet ?

Ja och nej. Det är noggrant kontrollerat att programmet räknar rätt. Vid tester mellan de tre optimeringsprogrammen Opti-mu, F-stat och UFFDA har samtliga program givit samma resultat. Vid foderstatsoptimering med hjälp av simplex-metoden utför datorn väldigt många beräkningar. Avrundningsfel under beräkningens gång kan leda till att man får ett felaktigt resultat. I sådant fall varnar programmet för det mesta om detta. Olika program är olika bra på att hantera avrundningsfel. Opti-mu's implementation av simplexalgoritmen är bara semisofistikerad, men i tester som gjorts hitintills har Opti-mu's simplexalgoritmimplementation givit mycket tillfredställande resultat på foderoptimeringsproblem. Trots detta kan ingen garanit för att programmet verkligen räknar rätt ges. Den som optimerar foderstaten måste själv ta ansvaret. Opti-mu är skrivet i programspråket JAVA.

Opti-mu tar inte hänsyn till mikronäringsämnen och vitaminer. Det är en avvägninsfråga om man skall göra detta eller inte. De foder som man ger mest av är ofta producerade på den egna gården. De är sällan analyserade för alla näringsparametrar. Därför skulle en optimeing som tog hänsyn till både mikronäringsämnen och vitaminer för många bli osäkra. Erfarenhetsmässigt vet man att det är bra om man använder ett vitaminiserat mineralfoder för att vara på den säkra sidan. Om man har analysvärden kan man, om man har den professionella versionen, ta sin optimerade foderstat och öppna den i ett kalkylprogram, t.ex. excel. Där kan man själv räkna efter hurvida foderstaten behöver kompleteras med ytterligare mikronäringsämnen och vitaminer.

De begränsningar som Opti-mu är förprogrammerade med bygger på "SLU's fodertabeller för idisslare, Rolf Spörndly 1999", respektive Lantmännen foderutveckling AB's häfte "Värdering av foder. En bok om LFU-systemet och Lantmännens utfodringsrekommendationer, 2001". Även om man försökt förfina fodervärderingssystem och utveckla nya normer måste biologin ändå fortfarande bedömmas vara allt för komplex för att man med säkerhet skall kunna fastställa ett utfodringssystem som verkligen i alla lägen fungerar. Det är långt ifrån säkert att en foderstat som optimeras med avseende på dessa parametrar verkligen fungerar när kon äter den. Därför kan det vara viktigt att kompletera dagens metoder på olika sätt, t.ex. med fodergivabegränsningar. Optimeringsprogram ställer bara ännu högre krav på ett gediget foderkunnande.

Givet dessa brister är dock Opti-mu ett viktigt och lättanvänt program för att på ett snabbare sätt försöka nå både bättre och billigare foderstater. Om man lyckas sänka foderkostnaden per ko och dag med 3 kronor blir det över 50 000 kronor per år för en genomsnittlig mjölkgård, eller motsvarande c:a 10 öre/kg mer för mjölken.

Förkortningar

Utöver gängse förkortningar finns även några kanske inte helt allmänna förkortningar i programmet Opti-mu.

Grf grovfoder
Stärk. stärkelse
Råprot. råprotein
EffRp effektivt råprotein
VSP vomstabilt protein
Eff NDF effektivt NDF
VSN vomstabilt NDF

Att optimera med utgångspunkt från en redan befintlig foderstat ("endagars")

Genom att använda möjligheterna till fixa fodergivabegränsningar i Opti-mu kan man anävnda Opti-mu för att räkna ut näringsinnehållet och priset på en redan befintlig foderstat. Informationen kan sedan användas som utgångspunkt för en optimering där vissa parametrar justeras för att nå en bättre foderstat. Populärt brukar detta i foderrådgivarkretsar kallas för "endagars" eftersom man har en mätning av foderförbrukningen under en dag på en gård som utgångspunkt.

Exempel: Antag att foderförbrukningen på en gård mäts. En ko som mjölkar c:a 30 liter per dag har följande foderstat (för enkelhets skull antas fodren på gården ha exakt samma näringsvärden och pris som den förprogrammerade fodertabellen i Opti-mu) :

Foder Giva (kg ts)
Ensilage 1 6
Halm 1
Havre 7
Betfor 2
Solid 120 1
Sojamjöl 3
Effekt hög 0.2

Steg 1 är att välja energi-metoden, kryssa bort "uppdatera begränsningar automatiskt" och sedan ta bort alla näringsämnesbegränsningar så som bilden visar:

Steg två är att sätta 0 som maxgiva på samtliga foder i fodermedelstabellen som inte ingår i den befintliga foderstaten, och sätta Fix-värdet på de fodermedel som ingår i foderstaten. Fix-värdet skall vara det samma som i den befintliga foderstaten, dvs. 6 på "Ensilage 1", 1 på halm, etc. så som bilden visar.

Klicka på knappen "Optimera". I resultatfönstret kan man då se hur mycket av de olika näringsämnena som foderstaten innehåller.

Foderstaten ger:
Näringsämne MängdMängd %
Grf 7.0034.65
KRAV0.00 0.00
Energi 231.70
AAT 1788.008.09(g/begränsande MJ)
PBV718.00
Råprot.3583.00 17.74
Råfett 668.003.31
Stärk.2836.00 14.04
NDF 7904.0039.13
LlKh3794.00 18.78
Ca 116.505.77 (g/ts)
P79.00 3.91 (g/ts)
Mg 53.802.66 (g/ts)
K314.20 15.55 (g/ts)
Na 40.201.99 (g/ts)
EffRp2584.13 12.79
VSP 998.874.94
EffNDF3616.57 17.90
VSN 4287.4321.22
Vikt20.20
EFD-kvot 45.76
Koncentration MJ/ts 11.47
Pris (kr) 27.07

Med utgångspunkt från det här resultatet kan man sedan gå in och sätta egna begränsningar i Behovs-fönstret och göra nya optimeringar så som bilden visar, glöm bara inte att ta bort de fixa fodergivabegränsningarna!

Om programmet inte fungerar

Ring Mattias Malmgren på telefon 070 686 98 28 eller mejla på mattias@freefarm.se för hjälp.

Ett problem som tyvärr förekommer är att det i webbläsaren inbyggda JVM-programmet inte tillräckligt bra stödjer Java. Detta problem kan visa sig t.ex. i form av att när man klickar på "Starta programmet" så visas tre fönster, men dom är alldeles tomma. För att komma runt detta kan man använda ett av Sun rekommendert plug-in (Det är Sun som tillverkar programspråket Java som Opti-mu är skrivet i). Sun har en särskild hemsida där man automatiskt installerar ett Java plug-in. Gå in på den hemsidan och klicka på bilden som ser ut så här:

Sedan går resten i de flesta fall automatiskt, följ bara instruktionerna på Suns hemsida. Det tar c:a 30 minuter att ladda hem plug-inet med ett vanligt 56 k modem.

När installationen är klar ska det gå bra att köra Opti-mu.

Ett annat alternativ, om man inte vill installera något plug-in kan vara att byta till en annan webbläsare eller till en annan version av samma webbläsare.

Referenser

Fodertabeller för idisslare 1999, Rolf Spörndly (redaktör). SLU. Instutionen för husdjurens utfodring och vård. Rapport 247. Uppsala 1999.

Värdering av foder. En bok om LFU-systemet och Lantmännens utfodringsrekommendationer. 2002. Lantmännen foderutveckling AB.

Linear Programming, the source codes of Java version of lp_solve 2.0 written by Michel Berkelaar. 1997. http://www.cs.wustl.edu/~javagrp/help/LinearProgramming.html

Linear programming - sensitivity analysis. J E Beasley. Imperial Collage management school, in Operations Research and Management Science. London. http://mscmga.ms.ic.ac.uk/jeb/or/lpsens.html

Linjär och konvex optimering, Christer Borell och Lars-Åke Lindahl. Uppsala universitet, matematiska instutionen.

Numerical recipes in C: The art of scientific computing (ISBN 0-521-43108-5). 1992. Chapter 10.8, Linear Programming and the Simplex Method. http://www.nr.com

Ratios Between Nutrients. WUFFDA. Gene M. Pesti, Professor, Department of Poultry Science, University of Georgia, Athens GA 30602-2772, USA http://department.caes.uga.edu/poultry/software.htm

Tableau Sensitivity Analysis. Michael A. Trick. 1998 Graduate School of Industrial Administration. Carnegie Mellon University, Pittsburgh, PA USA http://mat.gsia.cmu.edu/QUANT/NOTES/chap8/node3.html