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;