РефератыИностранный языкImImitating modelling of a cattle-breeding complex on basis Cedar Bog

Imitating modelling of a cattle-breeding complex on basis Cedar Bog

Setting a task of modelling.
There is a cattle herd structured on the basic of age. The herd consists of Heifers,
Calves,
Milk cows,
Cows,
Bulls.
Each Animal
has its Age
. The daily increase depends in weight of an animal which defines the weight of it depends on the age.So, for example, at achievement of the certain age (≈500 days) calves become bulls and pass from Calves
in Bulls
, but not all of them. Only the quantity which is enough for reproduction of the herd. The others remain calves until they fatten the necessary weight (≈1000 kg). As soon as it occurs, they are slaughtered.The similar situation is with heifers. Only at achievement of the certain age (≈450 days) they are divided into two categories: milk cowsand cows. Cows
are bred for meat production, MilkCows - for reproduction of herd and production of milk.According to financial opportunities a farmer defines an initial livestock of the cattle, and then makes a plan of reception of a livestock of the cattle in the future.It is required to model the change of an annual turnover of the herd and its reproduction.


Component of a high level
: Farm (Farm) which describes the structure of the model.


HIGH LEVEL COMPONENT FARM_High


SUBCOMPONENTS


Meteo,


Forage,


Effluent,


Herd


COMPONENT CONNECTIONS


Meteo.sun --> Forage.sun;


Meteo.sun --> Effluent.sun;


Meteo.sun --> Herd.sun;


Herd.Dung --> Effluent.Dung;


Effluent.A --> Herd.A;


Herd.Numb_young --> Forage.Numb_young;


Herd.Numb_old --> Forage.Numb_old;


END OF FARM_High


Basic components
:


1. Meteo which allows to watch the solar activity during a year (it is based on the data of the model Cedar Bog)


DYNAMIC BEHAVIOUR


suns:= 95.9[kJ/m^2] * (1+0.635 * SIN (2[1/d] * Pi *T/365));


WHENEVER T >= TNext DO


sun^:= suns - Oblako;


TNext^:= TNext + 1[d];


END


END OF Meteo


2. Forage. Norms and diets of feeding are defined in it.


DYNAMIC BEHAVIOUR


sun_bio:= sun * Bio_Fac;


WHENEVER T >= TNext DO


TNext^:= TNext +1[d];


Seno^:= 9 * Numb_young + 14 * Numb_old;


Silos^:= 8 * Numb_young + 12 * Numb_old;


Kombicorm^:= 5 * Numb_young + 7 * Numb_old;


Koncentrat^:= 2 * Numb_young + 3 * Numb_old;


Fosfat^:= 0.04 * Numb_young + 0.06 * Numb_old;


Sol^:= 0.03 * Numb_young + 0.05 * Numb_old;


END


DIFFERENTIAL EQUATIONS


p':= sun_bio - 4.03[1/a] * p;


BioMassa':= 0.48[1/a] * p - 17.87[1/a] * BioMassa;


END


END OF Forage


3. Herd, describing variable statuses and dynamics of behaviour of the herd as a whole. The important component which defines the structure of the herd, its internal interaction. It allows to watch a livestock of the herd, its reproduction.


# Changing of weight and age of heifers


WHENEVER (Stage = 1) AND (Index <= NUMBER(Heifers)) DO


Index^:= Index + 1;


Heifers:Animal[Index].Age^:= Heifers:Animal[Index].Age + 1;


Dung^:= Dung + 10;


IF Heifers:Animal[Index].Age < 180 DO


Heifers:Animal[Index].Weight^:= Heifers:Animal[Index].Weight + ves_2;


END


ELSE DO


Heifers:Animal[Index].Weight^:= Heifers:Animal[Index].Weight + ves_3;


END


END


WHENEVER (Stage = 1) AND (Index > NUMBER(Heifers)) DO


Stage^:=2;


Index^:=1;


END


# F
ecundation
of heifers


WHENEVER (Stage = 3) AND (Index <= NUMBER(Heifers)) DO


Index^:= Index + 1;


IF Heifers: Animal [Index].Age > (450 + Norm_raspr(10,3)) DO


IF Rand < 0.85 DO


Heifers^: TO MilkCows SEND Animal[Index]


CHANGING


Age^:=Heifers:Animal[Index].Age;


Weight^:= Heifers:Animal[Index].Weight;


Status^:= TRUE;


Stelnost^:= 1;


END


END


ELSE DO


Heifers^: TO Cows SEND Animal[Index]


CHANGING


Age^:= Heifers:Animal[Index].Age;


Weight^:= Heifers:Animal[Index].Weight;


END


END


END


END


WHENEVER (Stage = 3) AND (Index > NUMBER(Heifers)) DO


Stage^:=4;


Index^:=1;


END


# Calves became Bulls, or they are slaughtered


WHENEVER (Stage = 4) AND (Index <= NUMBER(Calves)) DO


Index^:= Index + 1;


IF (Calves:Animal[Index].Age > (500 + Norm_raspr(10,2)))


AND (NUMBER(Bulls) < 3) DO


Calves^: TO Bulls SEND Animal[Index]


CHANGING


Age^:= Calves:Animal[Index].Age;


Weight^:= Calves:Animal[Index].Weight;


END


END


IF (Calves:Animal[Index].Age > (500 + Norm_raspr(10,2)))


AND (Calves:Animal[Index].Weight > 1000) DO


VesTyw^:= VesTyw + Calves:Animal[Index].Weight/2;


Calves^: REMOVE Animal[Index];


UBOI^:= UBOI + 1;


END


END


WHENEVER (Stage = 4) AND (Index > NUMBER(Calves)) DO


Stage^:=5;


/>

Index^:=1;


END


# Bulls are slaughtered


WHENEVER (Stage = 5) AND (Index <= NUMBER(Bulls)) DO


Index^:= Index + 1;


Bulls:Animal[Index].Age^:= Bulls:Animal[Index].Age + 1;


Dung^:= Dung + 20;


IF Bulls:Animal[Index].Weight < 1000 DO


Bulls:Animal[Index].Weight^:= Bulls:Animal[Index].Weight + ves_3;


END


IF Bulls:Animal[Index].Age > 3000 DO


VesTyw^:= VesTyw + Bulls:Animal[Index].Weight/2;


Bulls^: REMOVE Animal[Index];


UBOI^:= UBOI + 1;


END


END


WHENEVER (Stage = 5) AND (Index > NUMBER(Bulls)) DO


Stage^:=6;


Index^:=1;


END


# B
irth
of young animal


WHENEVER (Stage = 7) AND (Index <= NUMBER(MilkCows)) DO


Index^:= Index + 1;


MilkCows:Animal[Index].Age^:=MilkCows:Animal[Index].Age + 1;


Dung^:= Dung + 20;


IF MilkCows:Animal[Index].Weight < 600 DO


MilkCows:Animal[Index].Weight^:= MilkCows:Animal[Index].Weight + ves_3;


END


MilkCows:Animal[Index].Stelnost^:=


MilkCows:Animal[Index].Stelnost + 1;


IF MilkCows:Animal[Index].Stelnost > (275 + Norm_raspr(5,1))


AND (MilkCows:Animal[Index].Status = TRUE) DO


MilkCows:Animal[Index].Status^:= FALSE;


MilkCows:Animal[Index].Kol_voOtelov^:=


MilkCows:Animal[Index].Kol_voOtelov + 1;


IF Rand < 0.7 DO


Heifers^: ADD 1 NEW Animal


CHANGING


Weight^:= ves_1;


Age^:= 1;


END


END


ELSE DO


Calves^: ADD 1 NEW Animal


CHANGING


Weight^:= ves_1;


Age^:= 1;


END


END


END


# MilkYield


IF (MilkCows:Animal[Index].Kol_voOtelov >= 1)


AND ((MilkCows:Animal[Index].Stelnost < 250) OR


(MilkCows:Animal[Index].Stelnost >280)) DO


NADOI^:= NADOI + 20;


END


# MilkCows are slaughtered


IF MilkCows:Animal[Index].Kol_voOtelov > 5 DO


VesTyw^:= VesTyw + MilkCows:Animal[Index].Weight/2;


MilkCows^: REMOVE Animal[Index];


UBOI^:= UBOI + 1;


END


END


WHENEVER (Stage = 7) AND (Index > NUMBER(MilkCows)) DO


Stage^:=8;


Index^:=1;


END


#
F
ecundation
of MilkCows


WHENEVER (Stage = 8) AND (Index <= NUMBER(MilkCows)) DO


Index^:= Index + 1;


IF (MilkCows:Animal[Index].Status = FALSE) AND


(MilkCows:Animal[Index].Stelnost > (340)) DO


IF Rand < 0.98 DO


MilkCows:Animal[Index].Status^:= TRUE;


MilkCows:Animal[Index].Stelnost^:= 1;


END


ELSE DO


MilkCows^: TO Cows SEND Animal[Index]


CHANGING


Age^:= MilkCows:Animal[Index].Age;


Weight^:= MilkCows:Animal[Index].Weight;


END


END


END


END


END OF Herd


4. Effluent (Drains) in which it is provided annual downcast drains on fields (for fertilizer of pastures). Also sale of drains for the manufacture of mineral fertilizers is possible.


DYNAMIC BEHAVIOUR


WHENEVER T >= TNext DO


TNext^:= TNext + 1[d];


IF ((sun > 100[kJ/m^2]) AND (sun < 110[kJ/m^2])) AND (FLAG = TRUE)


AND (Dung >= 10000) DO


A^:= 0;


FLAG^:= FALSE;


END


END


WHENEVER (T >= TNext) AND (FLAG = FALSE) DO


IF (sun > 50[kJ/m^2]) AND (sun < 60[kJ/m^2]) DO


FLAG^:= TRUE;


END


END


END OF Effluent


5. Profit, expenses (profit, expenses), including an economic part of the model. Unfortunately, because of insufficient amount of the information it is designed only in the theory. But further, at the profound studying of the model, it will be created and, I hope, it will work on a level with other components of the model.


MOBILE COMPONENT Animal


DECLARATION OF ELEMENTS


STATE VARIABLES


DISCRETE


Age (INTEGER):= 0,


Weight (REAL):= 0,


Status (LOGICAL):= FALSE, # Fecundation / not Fecundation


Stelnost (INTEGER):= 0, # Duration of the pregnancy


Kol_voOtelov (INTEGER):= 0, # Number of calves


MilkYield (REAL):= 0,


Manure (REAL):= 0


END OF Animal


The results of modelling with an initial livestock of the cattle - 30 heifers, 10 calves (all animals are about one year):


On the given schedules dynamics of transition of animals from one age groups in others is displayed.


We can see, that at achievement of the certain age heifers (a red line) are divided into two categories: milk cows (a green line) and cows (a blue line). Cows fatten the necessary weight, and then they are slaughtered. Through the certain time interval Milk cows give a gain of the herd and start to be milked.


We can see, that at achievement of the certain age three calves (a red line) become bulls (a blue line), the others remain calves, until they fatten the necessary weight. As soon as it occurs, they are slaughtered.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Imitating modelling of a cattle-breeding complex on basis Cedar Bog

Слов:1262
Символов:11673
Размер:22.80 Кб.