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;