Manpower Planning: How to Recruit, Retrain, Make Redundant, or Overman


Input Data

The following data sets and macro variables contain the input data that are used in this example:

data demand_data;
   input period unskilled semiskilled skilled;
   datalines;
0 2000 1500 1000
1 1000 1400 1000
2  500 2000 1500
3    0 2500 2000
;

data worker_data;
   input worker $12. waste_new waste_old recruit_ub redundancy_cost 
      overmanning_cost shorttime_ub shorttime_cost;
   datalines;
unskilled   0.25 0.10 500 200 1500 50 500
semiskilled 0.20 0.05 800 500 2000 50 400
skilled     0.10 0.05 500 500 3000 50 400
;

data retrain_data;
   input worker1 $12. worker2 $12. retrain_ub retrain_cost;
   datalines;
unskilled   semiskilled 200 400
semiskilled skilled       . 500
;

data downgrade_data;
   input worker1 $12. worker2 $12.;
   datalines;
semiskilled unskilled
skilled     semiskilled
skilled     unskilled
;

%let semiskill_retrain_frac_ub = 0.25;
%let downgrade_leave_frac = 0.5;
%let overmanning_ub = 150;
%let shorttime_frac = 0.5;