91
FASOM FASOM Hamburg Hamburg January 17-19, 2007 January 17-19, 2007

FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

FASOMFASOM

HamburgHamburg

January 17-19, 2007January 17-19, 2007

Page 2: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

TopicsTopics

1. FASOM Basics

2. FASOM Equations

3. Analyzing FASOM

4. Modifying FASOM

Page 3: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

I FASOM BasicsI FASOM Basics

Page 4: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Model ScopeModel Scope

• Natural Resources

• Agriculture

• Forestry

• Processing

• Food, Fibre, Timber, Energy Markets

Page 5: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Purpose and ObjectivesPurpose 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

Page 6: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Policy ScopePolicy Scope

• Climate and other environmental policies

• Research subsidies

• Agricultural policies

• Trade policies

Simultaneous assessment

Page 7: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Structural ChangesStructural Changes

a) Policies

b) Environmental change

c) Technical change

d) Socioeconomic change (population, preferences)

Page 8: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

MethodologyMethodology

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

Page 9: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Model StructureModel Structure

Resources Land Use

Technologies

Processing Technologies

Products Markets

Inputs

Limits

Supply Functions

Limits

Demand Functions,Trade

Limits

Environmental Impacts

Page 10: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

FASOM is a Large Linear ProgramFASOM is a Large Linear Program

jallfor0X

iallforbXa..

Xc

j

ij

jij

jjj

ts

Max

Page 11: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

ProgrammingProgramming

Declare and Assign

• Indexes

• Exogenous data

• Endogenous data

• Equations (endogenous/exogenous)

Run Programs and Display Results

Page 12: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Major Indexes (Sets)Major Indexes (Sets) (decl_basicsets.gms)(decl_basicsets.gms)

• Regions

• Periods

• Altitudes

• Species

• Resources

• Cohorts

• Farm sizes

• Farm types

• Technologies

• Products

• Substances

Page 13: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

SetsSets

• Identify scope• Efficient, sometimes challenging• Super sets, Sub sets, Tuples (Index maps)

• decl_basicsets.gms• 2_activesets.gms• calc_tuples.gms

Page 14: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Exogenous DataExogenous Data

• Resource endowments

• Technologies (Inputs,Outputs, Costs)

• Environmental Impacts

• Demand functions

• Policies

• Base Year Observations

Page 15: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Exogenous DataExogenous Data

• Parameters (Tables, Scalars)

• decl_parameters.gms

• Data_*.gms

Page 16: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Data SubdirectoriesData Subdirectories

• EPIC

• FINDUS

• FADN + others

• OSKAR

• FAO

• BIODIV

Page 17: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Endogenous DataEndogenous Data

• Land use decisions (control variables), Impacts (state variables), Shadow prices of constraints

• Positive and Free Variables• (Integer Variabales)

• 4_eufasom_model.gms

Page 18: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

EquationsEquations

• Understanding them is

• to understand FASOM

Page 19: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

EquationsEquations

• Objective Function

• Resource Restrictions

• Technological Restrictions

• Environmental Accounts

• Others

Page 20: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Major ParametersMajor ParametersFOREST_DATA FOREST_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,AGE,ALLTECH,ALLITEM)(PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,AGE,ALLTECH,ALLITEM)

PEREN_DATA PEREN_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,AGE,ALLTECH,ALLITEM)(PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,AGE,ALLTECH,ALLITEM)

CROP_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,ALLTECH,ALLITEM)CROP_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,ALLTECH,ALLITEM)

ECO_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,ALLTECH,ALLITEM)ECO_DATA (PERIOD,REGION,SOILTYPE,SOILSTATE,ALLTECH,ALLITEM)

LIVE_DATA (PERIOD,REGION,ANIMAL,ALLTECH,ALLITEM)LIVE_DATA (PERIOD,REGION,ANIMAL,ALLTECH,ALLITEM)

FEED_DATA (PERIOD,REGION,PRODUCT,ALLTECH,ALLITEM)FEED_DATA (PERIOD,REGION,PRODUCT,ALLTECH,ALLITEM)

PROCESS_DATA (PERIOD,REGION,ALLTECH,ALLITEM)PROCESS_DATA (PERIOD,REGION,ALLTECH,ALLITEM)

PRODUCT_DATA (PERIOD,REGION,PRODUCT,ALLITEM)PRODUCT_DATA (PERIOD,REGION,PRODUCT,ALLITEM)

MARKET_DATA (PERIOD,REGION,ALLITEM,SDTYPE,SDITEM)MARKET_DATA (PERIOD,REGION,ALLITEM,SDTYPE,SDITEM)

TRADE_DATA (PERIOD,REGION,REGION,PRODUCT,ALLITEM)TRADE_DATA (PERIOD,REGION,REGION,PRODUCT,ALLITEM)

RESOURCE_DATA (PERIOD,REGION,ALLRESOURCE,SDITEM)RESOURCE_DATA (PERIOD,REGION,ALLRESOURCE,SDITEM)

STOCK_DATA (PERIOD,REGION,PRODUCT,ALLITEM)STOCK_DATA (PERIOD,REGION,PRODUCT,ALLITEM)

LUC_DATA (PERIOD,REGION,SOILTYPE,SPECIES,ALLCHANGE,ALLITEM)LUC_DATA (PERIOD,REGION,SOILTYPE,SPECIES,ALLCHANGE,ALLITEM)

Page 21: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Major VariablesMajor VariablesRESOURCE_VAR (PERIOD,REGION,RESOURCE) RESOURCE_VAR (PERIOD,REGION,RESOURCE)

FOREST_VAR FOREST_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,OWNER,AGE,FORTECH) (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,OWNER,AGE,FORTECH)

PEREN_VAR PEREN_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,AGE,CROPTECH) (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,AGE,CROPTECH)

CROP_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,CROPTECH) CROP_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,FARM,CROPTECH)

LIVE_VAR (PERIOD,REGION,ANIMAL,LIVETECH) LIVE_VAR (PERIOD,REGION,ANIMAL,LIVETECH)

FEED_VAR (PERIOD,REGION,ANIMAL,PRODUCT,FEEDTECH)FEED_VAR (PERIOD,REGION,ANIMAL,PRODUCT,FEEDTECH)

ECO_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,ECOTECH) ECO_VAR (PERIOD,REGION,SOILTYPE,SOILSTATE,ECOTECH)

PROCESS_VAR (PERIOD,REGION,PROCTECH) PROCESS_VAR (PERIOD,REGION,PROCTECH)

LUC_VAR (PERIOD,REGION,SOILTYPE,SPECIES,CHANGE) LUC_VAR (PERIOD,REGION,SOILTYPE,SPECIES,CHANGE)

DEMAND_VAR (PERIOD,REGION,PRODUCT) DEMAND_VAR (PERIOD,REGION,PRODUCT)

SUPPLY_VAR (PERIOD,REGION,PRODUCT) SUPPLY_VAR (PERIOD,REGION,PRODUCT)

TRADE_VAR (PERIOD,REGION,REGION,PRODUCT) TRADE_VAR (PERIOD,REGION,REGION,PRODUCT)

Page 22: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Major EquationsMajor EquationsOBJECTIVE_EQU OBJECTIVE_EQU

RESOURCEBAL_EQU (PERIOD,REGION,RESOURCE) RESOURCEBAL_EQU (PERIOD,REGION,RESOURCE)

RESOURCEMAX_EQU (PERIOD,REGION,RESOURCE) RESOURCEMAX_EQU (PERIOD,REGION,RESOURCE)

SOILSTATE_EQU (PERIOD,REGION,SOILTYPE,SOILSTATE) SOILSTATE_EQU (PERIOD,REGION,SOILTYPE,SOILSTATE)

FORINVENT_EQU FORINVENT_EQU (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,OWNER,AGE,FORTECH) (PERIOD,REGION,SOILTYPE,SOILSTATE,SPECIES,OWNER,AGE,FORTECH)

LUC_EQU (PERIOD,REGION,SOILTYPE,SPECIES,CHANGE) LUC_EQU (PERIOD,REGION,SOILTYPE,SPECIES,CHANGE)

LUCLIMIT_EQU (PERIOD,REGION,SOILTYPE,SPECIES,CHANGE) LUCLIMIT_EQU (PERIOD,REGION,SOILTYPE,SPECIES,CHANGE)

STOCK_EQU (PERIOD,REGION,STOCK)STOCK_EQU (PERIOD,REGION,STOCK)

EMIT_EQU (PERIOD,REGION,SUBSTANCE)EMIT_EQU (PERIOD,REGION,SUBSTANCE)

PRODUCTBAL_EQU (PERIOD,REGION,PRODUCT) PRODUCTBAL_EQU (PERIOD,REGION,PRODUCT)

MINFEED_EQU (PERIOD,REGION,ANIMAL,NUTRIENT) MINFEED_EQU (PERIOD,REGION,ANIMAL,NUTRIENT)

MAXFEED_EQU (PERIOD,REGION,ANIMAL,NUTRIENT) MAXFEED_EQU (PERIOD,REGION,ANIMAL,NUTRIENT)

Page 23: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Managing the Model ScopeManaging the Model Scope

• 2_active_sets.gms– index elements on/off

• decl_scope.gms– components on/off

Page 24: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

FASOM File StructureFASOM 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

Page 25: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

FASOM File Naming (Main Dir)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

Page 26: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

FASOM Sub DirectoriesFASOM 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

Page 27: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

FASOM ExecutionFASOM 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)

Page 28: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Save / RestartSave / 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)• ...

Page 29: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

1_load_data.gms1_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

Page 30: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

2_active_sets.gms2_active_sets.gms

• Define active set elements• Region• Period• Product• Cohort

• Can limit model scope to 1 Region, 1 Period, 1 Product

Page 31: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

3_precompute.gms3_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

Page 32: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

4_eufasom_model.gms4_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

Page 33: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

5_base_report.gms5_base_report.gms

• Declaration of report indexes and parameters

• Display of FASOM base solution– Current period (?=? observation)– Future periods (?=? econometric forecast)

Page 34: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

6_scenario_loop.gms6_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

Page 35: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

7_scenario_report.gms7_scenario_report.gms

• Display scenario results

• Comparison between base line solution and scenario solution

Page 36: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

8_scenario_graphs.gms8_scenario_graphs.gms

• Display scenario results graphically

• Need gnupltxy installed

Page 37: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

II FASOM EquationsII FASOM Equations

4_eufasom_model.gms4_eufasom_model.gms

Page 38: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Understanding FASOM EquationsUnderstanding FASOM Equations

a) GAMS code (indexed equation block)

b) DISPLAYCR output (individual equations)

c) Display equation components

Page 39: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Condition(al)sCondition(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

Page 40: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Constrained OptimizationConstrained Optimization

Max z = f(X) ... objective function

s.t. G(X) <= 0 ... constraints

Page 41: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

FASOM = Large Linear ProgramsFASOM = Large Linear Programs

jallfor0X

iallforbXa..

Xc

j

ij

jij

jjj

ts

Max

Page 42: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Objective FunctionObjective Function(Normative Economics)(Normative Economics)

Maximize

+ Area underneath demand curves

- Area underneath supply curves

- Costs

± Subsidies / Taxes from policies

Maximum equilibrates markets!

Page 43: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Alternative Objective FunctionAlternative Objective Function

To get „technical potentials“ from land use for alternative objective u, simply use

Maximize

u s.t. all constraints

Examples: u = Carbon Sequestration, Wheat production, Mire area

Page 44: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Is FASOM linear?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

Page 45: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Linear Approximation?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)

Page 46: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Linear Approximation in FASOMLinear Approximation in FASOM

• Use step variables (xi) ... with i steps• Convexity Restriction

Sum(i, xi) = 1

• Identity RestrictionSum(i, aixi) = 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?

How many steps?

Page 47: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Correct Convex Combination?Correct Convex Combination?

Model will automatically choose closest neighbor points

q 100q-0.5q^2 Share Share2 198.0 0.53 295.5 0.54 392.0 0.55 487.5 0.5

Welfare 343.75 342.75Quantity 3.5 3.5

Page 48: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

ConstraintsConstraints

Page 49: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

PRODUCTBAL_EQUPRODUCTBAL_EQU

• Very important

• Multi-input, Multi-output

• Negative coefficients - Inputs

• Positive coefficients - Outputs

Page 50: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

RESOURCEBAL_EQURESOURCEBAL_EQU

• Sum resource uses over all technologies, species, farm structures into an accounting variable

RESOURCE_VAR(REGION,PERIOD,RESOURCE)

Page 51: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

RESOURCEMAX_EQURESOURCEMAX_EQU

• Represent resource limits (endowments)

RESOURCE_VAR(REGION,PERIOD,RESOURCE)

RESOURCE_DATA

(REGION,PERIOD,RESOURCE,”Maximum”)

Page 52: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

LUC_EQULUC_EQU

LUC_EQU(REGION,PERIOD,SOILTYPE,SPECIES,CHANGE)

$ LUC_TUPLE(REGION,PERIOD,SOILTYPE,SPECIES,CHANGE)..

• Land use accounting equation

• Combines individual and aggregated accounting

Page 53: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

LUCLIMIT_EQULUCLIMIT_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

Page 54: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

FORINVENT_EQUFORINVENT_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

Page 55: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

INTIALFOREST_EQUINTIALFOREST_EQU

• Thinning regime cannot be switched

• Initial thinning distribution unknown

• Let model decide, which thinning regime to use for initial forests

Page 56: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

REPLANT_EQUREPLANT_EQU

• Restricts tree species that can be replanted after harvest (can have agricultural break inbetween)

• Regulated by tuple SPECIESSEQU_MAP(OLDSPECIES,SPECIES)

• Currently restrictive

Page 57: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

SOILSTATE_EQUSOILSTATE_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)

Page 58: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

SOILSTATE_EQUSOILSTATE_EQU

• To portray important unstable soil properties

• Carbon sequestration effect depends on soil carbon level

• Equations are implemented, EPIC data are not yet established

Page 59: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

SOILSTATE_EQUSOILSTATE_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

Page 60: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Soil Carbon Transition ProbabilitiesSoil Carbon Transition Probabilities

SOC1 SOC2 SOC3 SOC4 SOC5 SOC6 SOC7 SOC8

SOC1 0.81 0.19

SOC2 1

SOC3 0.09 0.91

SOC4 0.31 0.69

SOC5 0.5 0.5

SOC6 0.74 0.26

SOC7 1

SOC8 0.04 0.96

No-till Wheat Fallow

Page 61: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Soi

l Org

anic

Car

bon

(tC

/ha/

20cm

)

5

10

15

20

25

30

35

40

45

0 10 20 30 40 50Time (years)

Wheat-Lucerne 3/3

Wheat-Lucerne 6/3

No-till wheat-fallow

Tilled wheat-fallow

Carbon FunctionsCarbon Functions

Page 62: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

STOCK_EQUSTOCK_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

Page 63: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

PRODUCTINVENT_EQUPRODUCTINVENT_EQU

PRODUCTINVENT_EQU(REGION,PERIOD,PRODUCT)

• Represents different product life span of forest products

• Linked to carbon emissions from forest products

Page 64: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

EMIT_EQUEMIT_EQU

EMIT_EQU(REGION,PERIOD,SUBSTANCE)

$ EMIT_TUPLE(REGION,PERIOD,SUBSTANCE)..

• Accounting equation

• Contains direct emissions and emissions from stock changes

Page 65: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

POPULATION_EQUPOPULATION_EQU

• Computes the number of wild animals on suitable habitats

POPULATION_EQU(REGION,PERIOD,ECOSYSTEM,ANIMAL) $ HABITAT_DATA(REGION,PERIOD,ECOSYSTEM,ANIMAL,"DENSITY")..

POP_VAR(REGION,PERIOD,ECOSYSTEM,ANIMAL)

- HABITAT_DATA(REGION,PERIOD,ECOSYSTEM,ANIMAL,"DENSITY") * ( HABITAT_DATA(REGION,PERIOD,ECOSYSTEM,ANIMAL,"MINIMUM")* HABSIZE_BINVAR(REGION,PERIOD,ECOSYSTEM,ANIMAL) +HABITAT1_VAR(REGION,PERIOD,ECOSYSTEM,ANIMAL))

=L= 0;

Page 66: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

HABITAT0_EQU, HABITAT1_EQUHABITAT0_EQU, HABITAT1_EQU

• See presentation in wetland sub directory

Page 67: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Other EquationsOther Equations

• Crop mix

• Calibration constraints

Page 68: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

III Analyzing FASOMIII Analyzing FASOM

Page 69: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Why Large Models?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

Page 70: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Large Model EffectsLarge 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

Page 71: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Pre-Solution AnalysisPre-Solution Analysis

• Generic variable and equation checks

• About 30 different types

• Easy in GAMS through use of GAMSCHK, possible with other software

Page 72: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

ExampleExample

• Nonnegative Variable Xj occurs only in <= constraints

• All aij coefficients are nonnegative

• All objective function coefficients (cj) are nonpositive

Optimal Xj = 0! (Maximization problem)

Page 73: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

More Generic ChecksMore Generic Checks

Page 74: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Generic ErrorsGeneric 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

Page 75: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Generic ChecksGeneric 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

Page 76: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Post-Solution AnalysisPost-Solution Analysisof “Misbehaving” Solutionsof “Misbehaving” Solutions

Infeasible equations

empty solution

Unbounded variables

objective reaches infinity

Non-sensible solutions

Page 77: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

InfeasibilityInfeasibility

• Very easy to detect

• Easy to fix

• Use artificial variables

• Analyze equations with non-zero artificial variables

• Look for constraints with high shadow prices

Page 78: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Unbounded SolutionUnbounded Solution

• Very easy to detect

• Easy to fix

• Add artificial bounds

• Look for high variable levels

• Examine equations coefficients of unbounded variables

Page 79: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Non-sensible solution valuesNon-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

Page 80: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Linear Program DualityLinear Program Duality

i allfor 0 U

j allfor caUs.t.

ZbUMin

i

ji

iji

iii

jallfor0X

iallforbXa..

ZXc

j

ij

jij

jjj

ts

Max

Page 81: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Reduced CostReduced Cost

j

ji

iij X

ZcUa

Shadow prices

TechnicalCoefficients

ObjectiveFunctionCoefficients

Page 82: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Complementary SlacknessComplementary Slackness

*' *

*' *

0U b AX

0U A C X

Reduced Cost Opt. Variable Level

Shadow Price Opt. Slack Variable Level

Page 83: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Reduced Cost EqualityReduced Cost Equality

• Links variables with individual equations

• Positive aij*Ui costs (Maximization)

• Negative aij*Ui benefits (Maximization)

Page 84: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Ex: Reduced Cost Computation

Page 85: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Ex: Row Summing

Page 86: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Fixing Non-sensible ModelsFixing 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

Page 87: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

ConclusionsConclusions

• 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

Page 88: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

IV Modifying FASOMIV Modifying FASOM

Page 89: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Possible ModicficationsPossible Modicfications

• Data updates

• Data calculations

• Scenario anaysis

• Equation modifications

Easy

Difficult

Page 90: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

DocumentationDocumentation

• Write log of changes in text file

• Place comments on purpose of programming statements in FASOM code

• Put „????“ where you make preliminary modifications

Page 91: FASOM Hamburg January 17-19, 2007. Topics 1.FASOM Basics 2.FASOM Equations 3.Analyzing FASOM 4.Modifying FASOM

Frequent ErrorsFrequent Errors

• Units (Ex: 5 vs. 1 years)

• Inconsistent conditions

• Ignorance of GAMSCHK