RUFAS.routines.animal.ration.ration_config module#

class RUFAS.routines.animal.ration.ration_config.RationConfig(price__list: list[float] = [], NEmaint__requirement: float = 0, NEa__requirement: float = 0, NEpreg__requirement: float = 0, NEl__requirement: float = 0, NEg__requirement: float = 0, MP__requirement: float = 0, C__requirement: float = 0, P__requirement: float = 0, P__process__requirement: float = 0, TDN__list: list[float] = [], DE__list: list[float] = [], EE__list: list[float] = [], is_fat__list: list[bool] = [], BW_: float = 0, calcium__list: list[float] = [], phosphorus__list: list[float] = [], NDF__list: list[float] = [], feed_type__list: list[str] = [], is_wetforage__list: list[bool] = [], Kd__list: list[float] = [], N_A__list: list[float] = [], N_B__list: list[float] = [], CP__list: list[float] = [], dRUP__list: list[float] = [], feed_minimum__list: list[float] = [], feed_limit__list: list[float] = [], lactating_: bool = False, DMIest__requirement: float = 0.0)#

Bases: object

RationConfig provides a structured way to represent the collection of animal requirements and feed supply information for the ration formulation process.

Attributes#

price_listlist

The price of each feed.

NEmaint_requirementfloat

Net energy for maintenance requirement (Mcal).

NEa_requirementfloat

Net energy for activity requirement (Mcal).

NEpreg_requirementfloat

Net energy requirement for pregnancy (Mcal).

NEl_requirementfloat

Net energy requirement for lactation (Mcal).

NEg_requirementfloat

Net energy for growth requirement (Mcal).

MP_requirementfloat

Metabolizable protein requirement for growth (g).

C_requirementfloat

Calcium requirement (g).

P_requirementfloat

Phosphorus requirement (g).

P_requirement_processfloat

Phosphorus requirement (g).

TDN_listlist

Total digestible nutrient in each feed (% of DM).

DE_listlist

Digestible energy in each feed (Mcal/kg).

EE_listlist

Ether extract, crude fat in each feed (% of DM).

is_fat_listlist of bool

Indicates if the feed is a fat supplement (yes = True; no = False).

BW_listfloat

The average body weight of the pen.

calcium_listlist

Calcium content of each feed (% of DM).

phosphorus_listlist

Phosphorus content of each feed (% of DM).

NDF_listlist

Neutral detergent fiber in each feed (% of DM).

feed_type_listlist

Feed types (Forage, Concentrate, or Mineral).

is_wetforage_listlist of bool

Indicates if the feed is wet forage (yes = True; no = False).

Kd_listlist

Rumen protein degradation rate in each feed (%/h).

N_A_listlist

Fraction A of protein, degraded immediately in rumen for each feed (% of CP).

N_B_listlist

Fraction B of protein, potentially degradable protein, requires time to degrade in rumen for each feed (% of CP).

CP_listlist

Crude protein in each feed (% of DM).

dRUP_listlist

RUP degradability in each feed (% of RUP).

feed_limit_listlist

Limiting upper bounds for each feed (kg).

lactatingbool

True if the cow is lactating, False otherwise.

DMIest_requirementfloat

Dry matter intake estimation (kg).

MEact_listlist

Actual metabolizable energy for each feed (Mcal/kg)

NEgact_listlist

Actual net energy for growth for each feed (Mcal/kg)

NEm_act_listlist

Actual net energy for maintenance for each feed (Mcal/kg)

is_forage_listlist

Boolean if feed item is forage or not

MPbact_listlist

Metabolizable bacterial protein production for each feed (g)

RUP_diet_listlist

Rumen undegradable protein for each feed (% of DM)

dP_listlist

P digestibility for each feed (proportion of P)

TDNact_listlist

Actual dietary total digestible nutrient for each feed (kg)

dCa_listlist

Calcium digesibility of feed (proportion of Ca)

Methods#

None.

__init__(price__list: list[float] = [], NEmaint__requirement: float = 0, NEa__requirement: float = 0, NEpreg__requirement: float = 0, NEl__requirement: float = 0, NEg__requirement: float = 0, MP__requirement: float = 0, C__requirement: float = 0, P__requirement: float = 0, P__process__requirement: float = 0, TDN__list: list[float] = [], DE__list: list[float] = [], EE__list: list[float] = [], is_fat__list: list[bool] = [], BW_: float = 0, calcium__list: list[float] = [], phosphorus__list: list[float] = [], NDF__list: list[float] = [], feed_type__list: list[str] = [], is_wetforage__list: list[bool] = [], Kd__list: list[float] = [], N_A__list: list[float] = [], N_B__list: list[float] = [], CP__list: list[float] = [], dRUP__list: list[float] = [], feed_minimum__list: list[float] = [], feed_limit__list: list[float] = [], lactating_: bool = False, DMIest__requirement: float = 0.0) None#

Initialize the RationConfig class with the provided feed information. If the input is a list, it should have a length corresponding to the decision vector.

Parameters#

price__listlist, default []

The price of each feed.

NEmaint__requirementfloat, default 0

Net energy for maintenance requirement (Mcal).

NEa__requirementfloat, default 0

Net energy for activity requirement (Mcal).

NEpreg__requirementfloat, default 0

Net energy requirement for pregnancy (Mcal).

NEl__requirementfloat, default 0

Net energy requirement for lactation (Mcal).

NEg__requirementfloat, default 0

Net energy for growth requirement (Mcal).

MP__requirementfloat, default 0

Metabolizable protein requirement for growth (g).

C__requirementfloat, default 0

Calcium requirement (g).

P__requirementfloat, default 0

Phosphorus requirement (g) as calculated by NRC or NASEM.

P__process__requirementfloat, default 0

Phosphorus requirement (g) as calculated by process-based P methods.

TDN__listlist, default []

Total digestible nutrient in each feed (% of DM).

DE__listlist, default []

Digestible energy in each feed (Mcal/kg).

EE__listlist, default []

Ether extract, crude fat in each feed (% of DM).

is_fat__listlist of bool, default []

Indicates if the feed is a fat supplement (yes = True; no = False).

BW_float, default 0

The average body weight of the pen.

calcium__listlist, default []

Calcium content of each feed (% of DM).

phosphorus__listlist, default []

Phosphorus content of each feed (% of DM).

NDF__listlist, default []

Neutral detergent fiber in each feed (% of DM).

feed_type__listlist, optional

Feed types (Forage, Concentrate, or Mineral).

is_wetforage__listlist of bool, default []

Indicates if the feed is wet forage (yes = True; no = False).

Kd__listlist, default []

Rumen protein degradation rate in each feed (%/h).

N_A__listlist, default []

Fraction A of protein, degraded immediately in rumen for each feed (% of CP).

N_B__listlist, default []

Fraction B of protein, potentially degradable protein, requires time to degrade in rumen for each feed (% of CP).

CP__listlist, default []

Crude protein in each feed (% of DM).

dRUP__listlist, default []

RUP degradability in each feed (% of RUP).

feed_limit__listlist, default []

Limiting upper bounds for each feed (kg).

feed_minimum_listlist, default []

Limiting lower bounds for each feed (kg).

lactating_bool, default False

True if the cow is lactating, False otherwise.

DMIest__requirementfloat, default []

Dry matter intake estimation (kg).

Returns#

None

Discount: float = 0#
TDNact_diet: float = 0#
TDNact_list: List[float] | ndarray = []#
DEact_list: List[float] | ndarray = []#
MEact_list: List[float] = []#
NEm_act_list: List[float] | ndarray = []#
NElact_list: List[float] | ndarray = []#
NEgact_list: List[float] = []#
is_forage_list: List[float] | ndarray = []#
dP_list: List[float] = []#
dCa_list: List[float] = []#
is_conc_list: List[int] = []#
RDP_list: List[float] | ndarray = []#
RUP_list: List[float] | ndarray = []#
MPbact: float = 0#
RUP_diet: float = 0#
RDP_diet: float = 0#
MP_supply: float = 0#