LabourPyomo module

author: young

Note

Labour is uncondensed in pyomo. We have code which builds constraints for casual, permanent and manager (rather than using a worker level set). The transfer labour variables do have a worker set which indicates what level of job is being done. The level is fixed for each constraint. E.g. A manager can do casual jobs, in con_sheep_anyone (sheep jobs that can be done by anyone) w (worker set) is fixed to ‘casual’. Eventually all the labour constraints could be condensed so there is one constraint for all the worker levels. This would require using the worker set as a set that is passed into the constraint. Would also need a param which indicates which level of working each source supplies e.g. casual needs to provide 0 manager level jobs.

AfoLogic.LabourPyomo.f_con_casual_bounds(model)

Optional constraint to bound the level of casual staff in each period.

AfoLogic.LabourPyomo.f_con_casual_supervision(model)

Casual labourers require a certain amount of supervision per period. Supervision can be provided by either permanent or manager staff. This constraint ensures that the supervision requirement is met.

AfoLogic.LabourPyomo.f_con_labour_transfer_casual(model)

Transfer casual labour to livestock, cropping and fixed activities.

AfoLogic.LabourPyomo.f_con_labour_transfer_manager(model)

Transfer manager labour to livestock, cropping, fixed and supervising activities.

AfoLogic.LabourPyomo.f_con_labour_transfer_permanent(model)

Transfer permanent labour to livestock, cropping, fixed and supervising activities.

AfoLogic.LabourPyomo.f_con_perm_supervision(model)

perm labourers require a certain amount of supervision per period. Supervision can be provided by manager staff. This constraint ensures that the supervision requirement is met.

AfoLogic.LabourPyomo.f_labour_cost(model, q, s, p7, z)

Calculate the total cost of the selected labour activities. Perm and manager labour cost is allocated to each enterprise based on the fixed cost allocation proportion.

Used in global constraint (con_profit). See CorePyomo

AfoLogic.LabourPyomo.f_labour_wc(model, q, s, c0, p7, z)

Calculate the total wc of the selected labour activities. Perm and manager labour wc is allocated to each enterprise based on the fixed wc allocation proportion.

Used in global constraint (con_workingcap). See CorePyomo

AfoLogic.LabourPyomo.f_manager_holiday_allocation(model)

Optimise the timing of manager holidays.

AfoLogic.LabourPyomo.f_perm_holiday_allocation(model)

Optimise the timing of perm holidays.

AfoLogic.LabourPyomo.lab_precalcs(params, r_vals)

Call crop precalc functions.

Parameters:
  • params – dictionary which stores all arrays used to populate pyomo parameters.

  • report – dictionary which stores all report values.