Post on 05-Jan-2016
transcript
FASOMFASOM
HamburgHamburg
July 1-3, 2008July 1-3, 2008
TopicsTopics
1. FASOM Basics
2. FASOM Equations
3. Analyzing FASOM
4. Modifying FASOM
I FASOM BasicsI FASOM Basics
Model ScopeModel Scope
• Natural Resources
• Agriculture
• Forestry
• Processing
• Food, Fibre, Timber, Energy Markets
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
Policy ScopePolicy Scope
• Climate and other environmental policies
• Research subsidies
• Agricultural policies
• Trade policies
Simultaneous assessment
Structural ChangesStructural Changes
a) Policies
b) Environmental change
c) Technical change
d) Socioeconomic change (population, preferences)
MethodologyMethodology
• Partial Equilibrium• Bottom Up• Constrained Welfare Maximization• Dynamic Optimization• Integrated Assessment• Mathematical programming• GAMS
Model StructureModel Structure
Resources Land Use
Technologies
Processing Technologies
Products Markets
Inputs
Limits
Supply Functions
Limits
Demand Functions,Trade
Limits
Environmental Impacts
FASOM = Large Linear ProgramsFASOM = Large Linear Programs
jallfor0X
iallforbXa..
Xc
j
ij
jij
jjj
ts
Max
ProgrammingProgramming
Declare and Assign
• Indexes
• Exogenous data
• Endogenous data
• Equations (endogenous/exogenous)
Run Programs and Display Results
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
SetsSets
• Identify scope• Efficient but dangerous and difficult• Super sets, Sub sets, Tuples
• decl_basicsets.gms• 2_activesets.gms• calc_tuples.gms
Exogenous DataExogenous Data
• Resource endowments
• Technologies (Inputs,Outputs, Costs)
• Demand functions
• Environmental Impacts
• Policies
Exogenous DataExogenous Data
• Parameters (Tables, Scalars)
• decl_parameters.gms
• Data_*.gms
Data SubdirectoriesData Subdirectories
• EPIC
• FINDUS
• FADN + others
• OSKAR
• FAO
• BIODIV
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
EquationsEquations
• Understanding them is
• to understand FASOM
EquationsEquations
• Objective Function
• Resource Restrictions
• Technological Restrictions
• Environmental Accounts
• Others
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)
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)
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)
Managing the Model ScopeManaging the Model Scope
• 2_active_sets.gms– index elements on/off
• decl_scope.gms– components on/off
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
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
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
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)
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)• ...
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
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
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
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
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)
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
7_scenario_report.gms7_scenario_report.gms
• Display scenario results
• Comparison between base line solution and scenario solution
8_scenario_graphs.gms8_scenario_graphs.gms
• Display scenario results graphically
• Need gnupltxy installed
II FASOM EquationsII FASOM Equations
4_eufasom_model.gms4_eufasom_model.gms
Understanding FASOM EquationsUnderstanding FASOM Equations
a) GAMS code (indexed equation block)
b) DISPLAYCR output (individual equations)
c) Display equation components
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
Constrained OptimizationConstrained Optimization
Max z = f(X) ... objective function
s.t. G(X) <= 0 ... constraints
FASOM = Large Linear ProgramsFASOM = Large Linear Programs
jallfor0X
iallforbXa..
Xc
j
ij
jij
jjj
ts
Max
Objective FunctionObjective Function(Normative Economics)(Normative Economics)
Maximize
+ Area underneath demand curves
- Area underneath supply curves
- Costs
± Subsidies / Taxes from policies
Maximum equilibrates markets!
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
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
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)
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?
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
ConstraintsConstraints
PRODUCTBAL_EQUPRODUCTBAL_EQU
• Very important
• Multi-input, Multi-output
• Negative coefficients - Inputs
• Positive coefficients - Outputs
RESOURCEBAL_EQURESOURCEBAL_EQU
• Sum resource uses over all technologies, species, farm structures into an accounting variable
RESOURCE_VAR(REGION,PERIOD,RESOURCE)
RESOURCEMAX_EQURESOURCEMAX_EQU
• Represent resource limits (endowments)
RESOURCE_VAR(REGION,PERIOD,RESOURCE)
≤
RESOURCE_DATA
(REGION,PERIOD,RESOURCE,”Maximum”)
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
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
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
INTIALFOREST_EQUINTIALFOREST_EQU
• Thinning regime cannot be switched
• Initial thinning distribution unknown
• Let model decide, which thinning regime to use for initial forests
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
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)
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_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
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
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
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
PRODUCTINVENT_EQUPRODUCTINVENT_EQU
PRODUCTINVENT_EQU(REGION,PERIOD,PRODUCT)
• Represents different product life span of forest products
• Linked to carbon emissions from forest products
EMIT_EQUEMIT_EQU
EMIT_EQU(REGION,PERIOD,SUBSTANCE)
$ EMIT_TUPLE(REGION,PERIOD,SUBSTANCE)..
• Accounting equation
• Contains direct emissions and emissions from stock changes
Resource BalanceResource 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)
III Analyzing FASOMIII Analyzing 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
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
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
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)
More Generic ChecksMore Generic Checks
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
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
Post-Solution AnalysisPost-Solution Analysisof “Misbehaving” Solutionsof “Misbehaving” Solutions
Infeasible equations
empty solution
Unbounded variables
objective reaches infinity
Non-sensible solutions
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
Unbounded SolutionUnbounded Solution
• Very easy to detect
• Easy to fix
• Add artificial bounds
• Look for high variable levels
• Examine equations coefficients of unbounded variables
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
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
Reduced CostReduced Cost
j
ji
iij X
ZcUa
Shadow prices
TechnicalCoefficients
ObjectiveFunctionCoefficients
Complementary SlacknessComplementary Slackness
*' *
*' *
0U b AX
0U A C X
Reduced Cost Opt. Variable Level
Shadow Price Opt. Slack Variable Level
Reduced Cost EqualityReduced Cost Equality
• Links variables with individual equations
• Positive aij*Ui costs (Maximization)
• Negative aij*Ui benefits (Maximization)
## CROP_VAR(Alabama,Corn,DryLand,BASE,W3-8Land,Vent,NONE,ND,Nbase) ## CROP_VAR(Alabama,Corn,DryLand,BASE,W3-8Land,Vent,NONE,ND,Nbase)
SOLUTION VALUE 7.22224 SOLUTION VALUE 7.22224
UPPER BOUND 0.100000E+10 UPPER BOUND 0.100000E+10
EQN Aij Ui Aij*Ui EQN Aij Ui Aij*Ui
OBJT 134.90 1.0000 134.90 OBJT 134.90 1.0000 134.90
ProductBal(Corn,Southeast) -108.41 2.5413 -275.50 ProductBal(Corn,Southeast) -108.41 2.5413 -275.50
MAXLAND(Alabama,W3-8Land) 1.0000 122.45 122.45 MAXLAND(Alabama,W3-8Land) 1.0000 122.45 122.45
LABOR(Southeast) 2.4700 2.2800 5.6316 LABOR(Southeast) 2.4700 2.2800 5.6316
MIXREG(Corn,Alabama,All) 1.0000 28.496 28.496 MIXREG(Corn,Alabama,All) 1.0000 28.496 28.496
MIXREGTOT(Alabama,All) 1.0000 -15.973 -15.973 MIXREGTOT(Alabama,All) 1.0000 -15.973 -15.973
EMITACCT(Southeast,FuelCarbon) -0.35077E-01 0.0000 0.0000 EMITACCT(Southeast,FuelCarbon) -0.35077E-01 0.0000 0.0000
EMITACCT(Southeast,DrygCarbon) -0.44493E-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,FertCarbon) -0.95131E-01 0.0000 0.0000
EMITACCT(Southeast,PestCarbon) -0.19033E-02 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,SoilCarbon) -0.32381E-01 0.0000 0.0000
EMITACCT(Southeast,N2ODeNit) -0.61070E-05 0.0000 0.0000 EMITACCT(Southeast,N2ODeNit) -0.61070E-05 0.0000 0.0000
EMITACCT(Southeast,N2OFert) -0.96429E-03 0.0000 0.0000 EMITACCT(Southeast,N2OFert) -0.96429E-03 0.0000 0.0000
TRUE REDUCED COST 0.0000 TRUE REDUCED COST 0.0000
Ex: Reduced Cost Computation
## FEEDINGBAL_EQU(Pacific,turkeypro0)## FEEDINGBAL_EQU(Pacific,turkeypro0)
VAR Aij Xj Aij*Xj VAR Aij Xj Aij*Xj LVSTBUDGET(CaliforniN,turkey,0,BASE) 0.10000E-01 0.60560E+06 6056.0 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(CaliforniS,turkey,0,BASE) 0.10000E-01 25233. 252.33 LVSTBUDGET(Oregon,turkey,0,BASE) 0.10000E-01 34428. 344.28 LVSTBUDGET(Oregon,turkey,0,BASE) 0.10000E-01 34428. 344.28 REGPROCESS(Pacific,trkpromix4) -1.0000 6652.6 -6652.6 REGPROCESS(Pacific,trkpromix4) -1.0000 6652.6 -6652.6 =L= =L= =L= =L= RHS COEFF 0.0000 RHS COEFF 0.0000
SLACK EQUALS 0.0000SLACK EQUALS 0.0000SHADOW PRICE 0.86001SHADOW PRICE 0.86001
Row Summing
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
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
IV Modifying FASOMIV Modifying FASOM
Watch outWatch out
• Unit consistency (5 year)
• Documentation