Presentation is loading. Please wait.

Presentation is loading. Please wait.

FASOM Hamburg July 1-3, 2008. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM.

Similar presentations


Presentation on theme: "FASOM Hamburg July 1-3, 2008. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM."— Presentation transcript:

1 FASOM Hamburg July 1-3, 2008

2 Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

3 I FASOM Basics

4 Model Scope Natural Resources Agriculture Forestry Processing Food, Fibre, Timber, Energy Markets

5 Purpose and Objectives To study and advice policy makers about the agricultural and forestry sector response to a)Policies b)Environmental change c)Technical change d)Socioeconomic change

6 Policy Scope Climate and other environmental policies Research subsidies Agricultural policies Trade policies Simultaneous assessment

7 Structural Changes a)Policies b)Environmental change c)Technical change d)Socioeconomic change (population, preferences)

8 Methodology Partial Equilibrium Bottom Up Constrained Welfare Maximization Dynamic Optimization Integrated Assessment Mathematical programming GAMS

9 Model Structure Resources Land Use Technologies Processing Technologies ProductsMarkets Inputs Limits Supply Functions Limits Demand Functions, Trade Limits Environmental Impacts

10 FASOM = Large Linear Programs

11 Programming Declare and Assign Indexes Exogenous data Endogenous data Equations (endogenous/exogenous) Run Programs and Display Results

12 Major Indexes (Sets) (decl_basicsets.gms) Regions Periods Altitudes Species Resources Cohorts Farm sizes Farm types Technologies Products Substances

13 Sets Identify scope Efficient but dangerous and difficult Super sets, Sub sets, Tuples decl_basicsets.gms 2_activesets.gms calc_tuples.gms

14 Exogenous Data Resource endowments Technologies (Inputs,Outputs, Costs) Demand functions Environmental Impacts Policies

15 Exogenous Data Parameters (Tables, Scalars) decl_parameters.gms Data_*.gms

16 Data Subdirectories EPIC FINDUS FADN+ others OSKAR FAO BIODIV

17 Endogenous Data Land use decisions (control variables), Impacts (state variables), Shadow prices of constraints Positive and Free Variables (Integer Variabales) 4_eufasom_model.gms

18 Equations Understanding them is to understand FASOM

19 Equations Objective Function Resource Restrictions Technological Restrictions Environmental Accounts Others

20 Major Parameters FOREST_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,AGE,ALLTECH,ALLITEM) PEREN_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,AGE,ALLTECH,ALLITEM) CROP_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,ALLTECH,ALLITEM) ECO_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,ALLTECH,ALLITEM) LIVE_DATA (PERIOD,REGION,ANIMAL,ALLTECH,ALLITEM) FEED_DATA (PERIOD,REGION,PRODUCT,ALLTECH,ALLITEM) PROCESS_DATA (PERIOD,REGION,ALLTECH,ALLITEM) PRODUCT_DATA (PERIOD,REGION,PRODUCT,ALLITEM) MARKET_DATA (PERIOD,REGION,ALLITEM,SDTYPE,SDITEM) TRADE_DATA (PERIOD,REGION,REGION,PRODUCT,ALLITEM) RESOURCE_DATA (PERIOD,REGION,ALLRESOURCE,SDITEM) STOCK_DATA (PERIOD,REGION,PRODUCT,ALLITEM) LUC_DATA (PERIOD,REGION,SOILTYPE,SPECIES,ALLCHANGE,ALLITEM)

21 Major Variables RESOURCE_VAR (PERIOD,REGION,RESOURCE) FOREST_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,OWNER,AGE,FORTECH) PEREN_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,AGE,CROPTECH) CROP_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,CROPTECH) LIVE_VAR (PERIOD,REGION,ANIMAL,LIVETECH) FEED_VAR (PERIOD,REGION,ANIMAL,PRODUCT,FEEDTECH) ECO_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,ECOTECH) PROCESS_VAR (PERIOD,REGION,PROCTECH) LUC_VAR (PERIOD,REGION,SOILTYPE,SPECIES,CHANGE) DEMAND_VAR (PERIOD,REGION,PRODUCT) SUPPLY_VAR (PERIOD,REGION,PRODUCT) TRADE_VAR (PERIOD,REGION,REGION,PRODUCT)

22 Major Equations OBJECTIVE_EQU RESOURCEBAL_EQU (PERIOD,REGION,RESOURCE) RESOURCEMAX_EQU (PERIOD,REGION,RESOURCE) SOILSTATE_EQU (PERIOD,REGION,SOILTYPE,SOILSTATE) FORINVENT_EQU (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,OWNER,AGE,FORTECH) LUC_EQU (PERIOD,REGION,SOILTYPE,SPECIES,CHANGE) LUCLIMIT_EQU (PERIOD,REGION,SOILTYPE,SPECIES,CHANGE) STOCK_EQU (PERIOD,REGION,STOCK) EMIT_EQU (PERIOD,REGION,SUBSTANCE) PRODUCTBAL_EQU (PERIOD,REGION,PRODUCT) MINFEED_EQU (PERIOD,REGION,ANIMAL,NUTRIENT) MAXFEED_EQU (PERIOD,REGION,ANIMAL,NUTRIENT)

23 Managing the Model Scope 2_active_sets.gms –index elements on/off decl_scope.gms –components on/off

24 FASOM File Structure Main directory (full access) Data subdirectories (restricted access) –Agriculture (FADN) –Crop environmental impacts (EPIC) –Bioenergy (ENFA) –Nature Reserves (HABITAT) –Forest Stands (OSKAR) –Forest Industry (FINDUS) –FAOSTAT –Dynamics

25 FASOM File Naming (Main Dir) Data files (data_*.gms) Declaration files (decl_*.gms) Input calculation files (calc_*.gms) Program files (#_*.gms) GAMSCHK files (*.gck), Solver option files (*.opt) Report files (rep_*.gms) Special program files (z#_*.gms) *= description #=1,2,...,k

26 FASOM Sub Directories Store original data files in provider format Convert data to FASOM format (names, resolution, unit consistency) Automated programs, slow, infrequent use Protect main FASOM directory from information floods Confidentiality (FADN), IPR

27 FASOM Execution 1_load_data.gms (primary data files) 2_active_sets.gms (determine model size) 3_precompute.gms (calculation files) 4_eufasom_model.gms (equations) 5_base_report.gms (base solution report) 6_scenario.gms (repeated solves) 7_results.gms (scenario differences)

28 Save / Restart When using GAMSIDE, each program segment must restart from previous one and save for the next 1_load_data.gms (save.\t\a1) 2_active_sets.gms (restart.\t\a1 save.\t\a2) 3_precompute.gms (restart.\t\a2 save.\t\a3) 4_eufasom_model.gms (restart.\t\a3 save.\t\a4) 5_base_report.gms (restart.\t\a3 save.\t\a4)...

29 1_load_data.gms * Indexes $include decl_basicsets.gms $include decl_foresttuple.gms $offlisting * Load Data $include data_crop2000.gms $include data_faowood.gms $include data_faocrop.gms $include data_faoworldcrop2002.gms $include data_oatsprice.gms $include data_feed.gms $include data_land.gms $include data_cropsupply.gms $include data_averagecropemission.gms $include data_euepic.gms $include data_euluc.gms $include data_uscrops.gms $include data_peat.gms $include data_forprocess.gms $include data_forproduct.gms $include data_formarket.gms $include data_treelog.gms $include data_rotlength.gms $include data_forestrent.gms $include data_forest_set.gms $include data_forest_nor.gms $include data_forest_lrg.gms $include data_forest_sml.gms

30 2_active_sets.gms Define active set elements Region Period Product Cohort Can limit model scope to 1 Region, 1 Period, 1 Product

31 3_precompute.gms Assumptions and Definitions (Discounting) Deal with Data Gaps Calculations (Data, Tuples) Checks Calibrations (Zero Marginal Profits!) Experiments Check whether statements can be moved to subdirectory

32 4_eufasom_model.gms Variable declarations Equation declarations On/off switches for some equations FASOM equations (see part II) First solve statement 4_eufasom_model.gck

33 5_base_report.gms Declaration of report indexes and parameters Display of FASOM base solution –Current period (?=? observation) –Future periods (?=? econometric forecast)

34 6_scenario_loop.gms Define scenarios –Number (Set) –Assumptions (Parameters) –Declare report Loop over scenario set –Restore all parameters to original values –Implement scenario assumptions –Solve –Save solution

35 7_scenario_report.gms Display scenario results Comparison between base line solution and scenario solution

36 8_scenario_graphs.gms Display scenario results graphically Need gnupltxy installed

37 II FASOM Equations 4_eufasom_model.gms

38 Understanding FASOM Equations a)GAMS code (indexed equation block) b)DISPLAYCR output (individual equations) c)Display equation components

39 Condition(al)s Restrict cases (very important, many indexes) Use GAMSCHK to check PRODUCTBAL_EQU(REGION,PERIOD,PRODUCT) $ PRODUCT_TUPLE(REGION,PERIOD,PRODUCT).. calc_tuples.gms

40 Constrained Optimization Maxz = f(X)... objective function s.t. G(X) <= 0... constraints

41 FASOM = Large Linear Programs

42 Objective Function (Normative Economics) Maximize +Area underneath demand curves -Area underneath supply curves -Costs ±Subsidies / Taxes from policies Maximum equilibrates markets!

43 Alternative Objective Function To get „technical potentials“ from land use for alternative objective u, simply use Maximize us.t. all constraints Examples: u = Carbon Sequestration, Wheat production, Mire area

44 Is FASOM linear? Input prices increase with increasing input use (scarcity of resources) Output prices decrease with increasing output supply (saturation of demand) Hence, FASOM has non-linear objective function but is solved as Linear Program using linear approximations

45 Linear Approximation? For well behaved functions: yes –Concave benefit / convex cost functions –Decreasing marginal utilities –Increasing marginal costs For ill behaved: no, need integer variables –Fixed cost (Investment) –Minimum habitat requirements (Biodiversity)

46 Linear Approximation in FASOM Use step variables (x i )... with i steps Convexity Restriction Sum(i, x i ) = 1 Identity Restriction Sum(i, a i x i ) = x DEMAND_VAR(REGION,PERIOD,PRODUCT) DEMAND_STEP(REGION,PERIOD,PRODUCT,STEP) DEMAND_CONVEXITY(REGION,PERIOD,PRODUCT) DEMAND_IDENTITY(REGION,PERIOD,PRODUCT) How many steps?

47 Correct Convex Combination? Model will automatically choose closest neighbor points

48 Constraints

49 PRODUCTBAL_EQU Very important Multi-input, Multi-output Negative coefficients - Inputs Positive coefficients - Outputs

50 RESOURCEBAL_EQU Sum resource uses over all technologies, species, farm structures into an accounting variable RESOURCE_VAR(REGION,PERIOD,RESOURCE)

51 RESOURCEMAX_EQU Represent resource limits (endowments) RESOURCE_VAR(REGION,PERIOD,RESOURCE) ≤ RESOURCE_DATA (REGION,PERIOD,RESOURCE,”Maximum”)

52 LUC_EQU LUC_EQU(REGION,PERIOD,SOILTYPE,SPECIES,CHANGE) $ LUC_TUPLE(REGION,PERIOD,SOILTYPE,SPECIES,CHANGE).. Land use accounting equation Combines individual and aggregated accounting

53 LUCLIMIT_EQU LUCLIMIT_EQU(REGION,PERIOD,SOILTYPE,SPECIES,CHANGE) $(LUC_TUPLE(REGION,PERIOD,SOILTYPE,SPECIES,CHANGE) AND LUC_DATA(REGION,PERIOD,SOILTYPE,SPECIES,CHANGE, "MAXIMUM")).. Land use change limits Should be based on land characteristics Currently uses rough assumptions

54 FORINVENT_EQU Forest distribution this period depends on forest distribution in last period and harvest activities Note: –Oldest cohort transition –Initial distribution –Harvested forests can immeadiatly be reforested

55 INTIALFOREST_EQU Thinning regime cannot be switched Initial thinning distribution unknown Let model decide, which thinning regime to use for initial forests

56 REPLANT_EQU Restricts tree species that can be replanted after harvest (can have agricultural break inbetween) Regulated by tuple SPECIESSEQU_MAP(OLDSPECIES,SPECIES) Currently restrictive

57 SOILSTATE_EQU To portray important unstable soil properties Carbon sequestration effect depends on soil carbon level Equations are implemented, EPIC data are not yet established SOILSTATE_EQU(REGION,PERIOD,SOILTYPE,SOILSTATE)

58 SOILSTATE_EQU To portray important unstable soil properties Carbon sequestration effect depends on soil carbon level Equations are implemented, EPIC data are not yet established

59 SOILSTATE_EQU Contains soil state transition probabilities Probability_Data(REGION,SOILTYPE,SOILSTATE,SPECIES, OWNER,COHORT,ALLTECH,POLICY,OLDSTATE) Transition probabilities are calculated from EPIC based carbon functions

60 Soil Carbon Transition Probabilities SOC1SOC2SOC3SOC4SOC5SOC6SOC7SOC8 SOC10.810.19 SOC21 SOC30.090.91 SOC40.310.69 SOC50.5 SOC60.740.26 SOC71 SOC80.040.96 No-till Wheat Fallow

61 Soil Organic Carbon (tC/ha/20cm) 5 10 15 20 25 30 35 40 45 0 10 20 30 40 50 Time (years) Wheat-Lucerne 3/3 Wheat-Lucerne 6/3 No-till wheat-fallow Tilled wheat-fallow Carbon Functions

62 STOCK_EQU STOCK_EQU(REGION,PERIOD,STOCK) $(STOCK_TUPLE(REGION,PERIOD,STOCK) AND STOCK_DATA(REGION,PERIOD,STOCK,"DecompRate")).. Represents dynamics of dead wood (14 types) Linked to emission accounting

63 PRODUCTINVENT_EQU PRODUCTINVENT_EQU(REGION,PERIOD,PRODUCT) Represents different product life span of forest products Linked to carbon emissions from forest products

64 EMIT_EQU EMIT_EQU(REGION,PERIOD,SUBSTANCE) $ EMIT_TUPLE(REGION,PERIOD,SUBSTANCE).. Accounting equation Contains direct emissions and emissions from stock changes

65 Resource Balance * Resource Equations LUC_EQU(REGION,PERIOD,SOILTYPE,SPECIES,CHANGE) Land Use Change Equation LUCLIMIT_EQU(REGION,PERIOD,SOILTYPE,SPECIES,CHANGE) Land Use Change Limits * Environmental Externality Accounts * POPULATION_EQU(REGION,PERIOD,ECOSYSTEM,ANIMAL) Wildlife Population Accounting Equation * HABITAT0_EQU(REGION,PERIOD,ECOSYSTEM,ANIMAL) Habitat Requirement Equation * HABITAT1_EQU(REGION,PERIOD,ECOSYSTEM,ANIMAL) Habitat Requirement Equation * Production Equations: Jointly model agricultural and forestry products HARVESTINERTIA_EQU(REGION,PERIOD) Harvest Inertia Equation MINFEED_EQU(REGION,PERIOD,ANIMAL,MINNUTRIENT) Minimum Feed Intake MAXFEED_EQU(REGION,PERIOD,ANIMAL,MAXNUTRIENT) Maximum Feed Intake CROPMIX_EQU(REGION,PERIOD,SPECIES) Crop Mix Restrictions TOTALCROPMIX_EQU(REGION,PERIOD) Crop Mix Identity PRODUCTMIX_EQU(REGION,PERIOD,ALLPRODUCT) Product Mix Restrictions ANIMALMIX_EQU(REGION,PERIOD,SPECIES) Animal Mix Restrictions * PLANTCAP_EQU(REGION,PERIOD,COHORT,PROCTECH)

66 III Analyzing FASOM

67 Why Large Models? Land use is diverse and globally linked We want both high resolution and large scope More computer power tempts larger models Data availability better

68 Large Model Effects Indexed data, variables, and equations Dimensions need to be carefully conditioned More things can go wrong Less intuition in model drivers Causes of misbehavior difficult to guess Higher probability that some errors are not discovered

69 Pre-Solution Analysis Generic variable and equation checks About 30 different types Easy in GAMS through use of GAMSCHK, possible with other software

70 Example Nonnegative Variable X j occurs only in <= constraints All a ij coefficients are nonnegative All objective function coefficients (c j ) are nonpositive  Optimal X j = 0! (Maximization problem)

71 More Generic Checks

72 Generic Errors Caused by: Missing/misspecified data Missing/misspecified conditions Missing/misspecified equations Correction (rule of thumb): All individual variables need the same condition in all individual equations

73 Generic Checks Large models frequently reveal unchecked generic errors Errors may or may not impact optimal solution Correction always increases model speed Detection and correction of generic errors also applicable to non-linear models

74 Post-Solution Analysis of “Misbehaving” Solutions Infeasible equations  empty solution Unbounded variables  objective reaches infinity Non-sensible solutions

75 Infeasibility Very easy to detect Easy to fix Use artificial variables Analyze equations with non-zero artificial variables Look for constraints with high shadow prices

76 Unbounded Solution Very easy to detect Easy to fix Add artificial bounds Look for high variable levels Examine equations coefficients of unbounded variables

77 Non-sensible solution values Detection requires context knowledge Problem analysis more challenging Large deviations easier Must employ post optimality checks Start at the symptom Go backwards alternating between variables and equations

78 Linear Program Duality

79 Reduced Cost Shadow prices Technical Coefficients Objective Function Coefficients

80 Complementary Slackness Reduced Cost Opt. Variable Level Shadow Price Opt. Slack Variable Level

81 Reduced Cost Equality Links variables with individual equations Positive a ij *U i  costs (Maximization) Negative a ij *U i  benefits (Maximization)

82 ## CROP_VAR(Alabama,Corn,DryLand,BASE,W3-8Land,Vent,NONE,ND,Nbase) SOLUTION VALUE 7.22224 UPPER BOUND 0.100000E+10 EQN Aij Ui Aij*Ui OBJT 134.90 1.0000 134.90 ProductBal(Corn,Southeast) -108.41 2.5413 -275.50 MAXLAND(Alabama,W3-8Land) 1.0000 122.45 122.45 LABOR(Southeast) 2.4700 2.2800 5.6316 MIXREG(Corn,Alabama,All) 1.0000 28.496 28.496 MIXREGTOT(Alabama,All) 1.0000 -15.973 -15.973 EMITACCT(Southeast,FuelCarbon) -0.35077E-01 0.0000 0.0000 EMITACCT(Southeast,DrygCarbon) -0.44493E-01 0.0000 0.0000 EMITACCT(Southeast,FertCarbon) -0.95131E-01 0.0000 0.0000 EMITACCT(Southeast,PestCarbon) -0.19033E-02 0.0000 0.0000 EMITACCT(Southeast,SoilCarbon) -0.32381E-01 0.0000 0.0000 EMITACCT(Southeast,N2ODeNit) -0.61070E-05 0.0000 0.0000 EMITACCT(Southeast,N2OFert) -0.96429E-03 0.0000 0.0000 TRUE REDUCED COST 0.0000 ## CROP_VAR(Alabama,Corn,DryLand,BASE,W3-8Land,Vent,NONE,ND,Nbase) SOLUTION VALUE 7.22224 UPPER BOUND 0.100000E+10 EQN Aij Ui Aij*Ui OBJT 134.90 1.0000 134.90 ProductBal(Corn,Southeast) -108.41 2.5413 -275.50 MAXLAND(Alabama,W3-8Land) 1.0000 122.45 122.45 LABOR(Southeast) 2.4700 2.2800 5.6316 MIXREG(Corn,Alabama,All) 1.0000 28.496 28.496 MIXREGTOT(Alabama,All) 1.0000 -15.973 -15.973 EMITACCT(Southeast,FuelCarbon) -0.35077E-01 0.0000 0.0000 EMITACCT(Southeast,DrygCarbon) -0.44493E-01 0.0000 0.0000 EMITACCT(Southeast,FertCarbon) -0.95131E-01 0.0000 0.0000 EMITACCT(Southeast,PestCarbon) -0.19033E-02 0.0000 0.0000 EMITACCT(Southeast,SoilCarbon) -0.32381E-01 0.0000 0.0000 EMITACCT(Southeast,N2ODeNit) -0.61070E-05 0.0000 0.0000 EMITACCT(Southeast,N2OFert) -0.96429E-03 0.0000 0.0000 TRUE REDUCED COST 0.0000 Ex: Reduced Cost Computation

83 ## FEEDINGBAL_EQU(Pacific,turkeypro0) VAR Aij Xj Aij*Xj LVSTBUDGET(CaliforniN,turkey,0,BASE) 0.10000E-01 0.60560E+06 6056.0 LVSTBUDGET(CaliforniS,turkey,0,BASE) 0.10000E-01 25233. 252.33 LVSTBUDGET(Oregon,turkey,0,BASE) 0.10000E-01 34428. 344.28 REGPROCESS(Pacific,trkpromix4) -1.0000 6652.6 -6652.6 =L= =L= RHS COEFF 0.0000 SLACK EQUALS 0.0000 SHADOW PRICE 0.86001 ## FEEDINGBAL_EQU(Pacific,turkeypro0) VAR Aij Xj Aij*Xj LVSTBUDGET(CaliforniN,turkey,0,BASE) 0.10000E-01 0.60560E+06 6056.0 LVSTBUDGET(CaliforniS,turkey,0,BASE) 0.10000E-01 25233. 252.33 LVSTBUDGET(Oregon,turkey,0,BASE) 0.10000E-01 34428. 344.28 REGPROCESS(Pacific,trkpromix4) -1.0000 6652.6 -6652.6 =L= =L= RHS COEFF 0.0000 SLACK EQUALS 0.0000 SHADOW PRICE 0.86001 Row Summing

84 Fixing Non-sensible Models Zero/large variables: look at cost and benefits of these variables in individual equations High shadow prices: indicate resource scarcity (check endowments, technical coefficients, units) In general, analyst needs a combination of mathematical and context knowledge

85 Conclusions Large mathematical programming models are not necessarily black boxes Drivers for individual results can be traced and understood Generic misspecifications can and should always be corrected Systematic post-optimality analysis is by far better and faster than intuition and guesswork

86 IV Modifying FASOM

87 Watch out Unit consistency (5 year) Documentation


Download ppt "FASOM Hamburg July 1-3, 2008. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM."

Similar presentations


Ads by Google