Factory Planning 1: What to Make, On What Machines, and When


Input Data

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

data product_data;
   input product $ profit;
   datalines;
prod1 10
prod2  6
prod3  8
prod4  4
prod5 11
prod6  9
prod7  3
;

data demand_data;
   input prod1-prod7;
   datalines;
500 1000 300 300  800 200 100
600  500 200   0  400 300 150
300  600   0   0  500 400 100
200  300 400 500  200   0 100
  0  100 500 100 1000 300   0
500  500 100 300 1100 500  60
;

data machine_type_data;
   input machine_type $ num_machines;
   datalines;
grinder 4
vdrill  2
hdrill  3
borer   1
planer  1
;

data machine_type_period_data;
   input machine_type $ period num_down;
   datalines;
grinder 1 1
hdrill  2 2
borer   3 1
vdrill  4 1
grinder 5 1
vdrill  5 1
planer  6 1
hdrill  6 1
;

data machine_type_product_data;
   input machine_type $ prod1-prod7;
   datalines;
grinder 0.5  0.7  0    0    0.3  0.2 0.5
vdrill  0.1  0.2  0    0.3  0    0.6 0
hdrill  0.2  0    0.8  0    0    0   0.6
borer   0.05 0.03 0    0.07 0.1  0   0.08
planer  0    0    0.01 0    0.05 0   0.05
;

%let store_ub = 100;
%let storage_cost_per_unit = 0.5;
%let final_storage = 50;
%let num_hours_per_period = 24 * 2 * 8;