The following data sets and macro variables contain the input data that are used in this example:
data cow_data; do age = 0 to 11; init_num_cows = 10; if age < 2 then do; acres_needed = 2/3; annual_loss = 0.05; bullock_yield = 0; heifer_yield = 0; milk_revenue = 0; grain_req = 0; sugar_beet_req = 0; labour_req = 10; other_costs = 50; end; else do; acres_needed = 1; annual_loss = 0.02; bullock_yield = 1.1/2; heifer_yield = 1.1/2; milk_revenue = 370; grain_req = 0.6; sugar_beet_req = 0.7; labour_req = 42; other_costs = 100; end; output; end; run; data grain_data; input group $ acres yield; datalines; group1 20 1.1 group2 30 0.9 group3 20 0.8 group4 10 0.65 ; %let num_years = 5; %let num_acres = 200; %let bullock_revenue = 30; %let heifer_revenue = 40; %let dairy_cow_selling_age = 12; %let dairy_cow_selling_revenue = 120; %let max_num_cows = 130; %let sugar_beet_yield = 1.5; %let grain_cost = 90; %let grain_revenue = 75; %let grain_labour_req = 4; %let grain_other_costs = 15; %let sugar_beet_cost = 70; %let sugar_beet_revenue = 58; %let sugar_beet_labour_req = 14; %let sugar_beet_other_costs = 10; %let nominal_labour_cost = 4000; %let nominal_labour_hours = 5500; %let excess_labour_cost = 1.2; %let capital_outlay_unit = 200; %let num_loan_years = 10; %let annual_interest_rate = 0.15; %let max_decrease_ratio = 0.50; %let max_increase_ratio = 0.75;