1
Slide 1The SimBatch simulation model
Advanced Herd Management Anders Ringgaard Kristensen
Slide 2System description
A batch of slaughter pigs is simulated from insertion of the batch until slaughter. The pigs are fed ad libitum. Sent to a Danish slaughter house. The highest price per kg is obtained in the “optimal” interval from 70 to 84 kg slaughter weight. Delivery is decided on the basis of
- bserved live weight.
The slaughter policy is decided by the farmer
Slide 3Model type SimBatch is a
- Dynamic (i.e. not static) time stepping model
with daily updating of the states of the pigs and the batch.
- Mechanistic (i.e. not empirical) model since it
models a batch by modeling each individual pig.
- Initially it is a deterministic model, but in the
exercise it is step by step transformed into a stochastic model.
- Monte Carlo simulation model, because the
simulation mechanism is based on drawing random numbers from relevant distributions.
Slide 4State of nature, Φ0
# State of nature information stateOfNature = list(initialAverage = 30, # Average weight at insertion initialStdDev = 2, # Std. deviation of weight at insertion averageDG = 0.900, # Average daily gain stdDevDG = 0.100, # Std. dev. of daily gain between pigs autocorrelationDG = 0.99, # Autocor. for individual daily gain diseaseRisk = 0.01, # Risk of disease any day diseaseEffectAve = 0.250, # Average effect of disease diseaseEffectStd = 0.030, # Standard deviation of disease effect diseaseDurationAv = 5, # Average duration of disease liveToSlaughterAv = 0.76, # Live w. to slaughter w. conversion liveToSlaughterStd = 1.4, # Standard deviation of conversion lowerOptimal = 70, # Lower bound of opt. slaughter weight upperOptimal = 84, # Upper bound of opt. slaughter weight deliverEvery = 7) # Days btw. del.(7 = weekly, 1 = daily) Slide 5Decision strategy, Θ
# Decision strategy information decisionStrategy = list(thresholdWeight = 100, # Intended live weight at slaughter minimumDelivery = 10, # Minimum number of pigs to send to maximumUnderWeight = 2, # Acc this number of pigs bel. Thresh. minimumStock = 50, # Minimum acc. stock: Send all if below maximumAge = 90) # Maximum age before slaughter # Strategy with completely individual delivery individualStrategy = list(thresholdWeight = 100, # Intended live weight at slaughter minimumDelivery = 1, # Minimum number of pigs to send to maximumUnderWeight = 0, # Acc this number of pigs bel. thres minimumStock = 0, # Minimum acc. stock: Send all if bel maximumAge = 9999) # Maximum age before slaughter # Strategy with slaughter at a given age ageStrategy = list(thresholdWeight = 9999, # Intended live weight at slaughter minimumDelivery = 9999, # Minimum number of pigs to send to maximumUnderWeight = 0, # Acc this number of pigs bel. thres minimumStock = 0, # Minimum acc. stock: Send all if bel maximumAge = 90) # Maximum age before slaughter Slide 6Modeling a pig
A pig is defined by 4 state variables
- Live weight in kg
- The gain today in kg (if healthy)
- An integer, i, defining the status of the pig:
- i = -2: The pig has already been slaughtered
- i = -1: The pig is healthy and still present
- i ≥ 0: The pig is diseased and will stay diseased i
days yet
- The effect of disease (if any) on daily gain
In SimBatch, a pig is represented on a given day by a vector with 4 elements. The state of the pig is updated every day.