modeling for insight with an energy economy optimization model · 2013. 3. 19. · a common...

44
Modeling for Insight with an Energy Economy Optimization Model Joe DeCarolis Assistant Professor Dept of Civil, Construction, and Environmental Engineering NC State University http://temoaproject.org 1 CEDM Seminar 19 March 2012

Upload: others

Post on 11-Sep-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Modeling for Insight with an Energy Economy Optimization Model

Joe DeCarolisAssistant Professor

Dept of Civil, Construction, and Environmental EngineeringNC State University

http://temoaproject.org1

CEDM Seminar19 March 2012

Page 2: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Talk outline

Problems with model development and application

Introduction to Temoa

Approach to uncertainty analysis

Simple application of stochastic optimization

2

Page 3: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Driving questions

How does the world balance the costs of greenhouse gas mitigation in the near-term versus long-term?

What are the anticipated economic and environmental impacts associated with future environmental policies and energy technology deployments?

How do decision makers craft energy planning strategies that are robust to future uncertainties?

How do decision makers incorporate broader environmental sustainability considerations — beyond simply limits to greenhouse gas emissions — into their strategies?

3

Page 4: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Energy-economy optimization (EEO) models

Large uncertainties combined with a mix of technical, moral, and philosophical considerations preclude definitive answers to the questions above.

Model-based analysis can deliver crucial insight that informs key decisions.

Energy-economy optimization (EEO) models refer to partial or general equilibrium models that minimize cost or maximize utility by, at least in part, optimizing the energy system over multiple decades

• Self-consistent framework for evaluation

• Explore how effects may propagate through a system

• Expansive system boundaries and multi-decadal timescales

What can we usefully conclude from modeling exercises where uncertainty is rigorously quantified?

4

Page 5: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

High Visibility Model-Based Analyses

IPCC Special Report on Emissions Scenarioshttp://www.ipcc.ch/ipccreports/sres/emission/index.htm

IEA Energy Technology Perspectiveshttp://www.iea.org/techno/etp/index.asp

Annual Energy Outlookhttp://www.eia.gov/forecasts/aeo/er/

EPA Legislative Analyseshttp://epa.gov/climatechange/economics/economicanalyses.html

5

Page 6: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Problems with the status quo

6

Inability to validate model

results

Increasing availability of

data

Moore’s Law

+

+

Increasing model

complexity

Lack of openness

+

Inability to verify model

results

Uncertainty analysis is

difficult

Page 7: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Four conditions for validatable models

According to Hodges and Dewar (1992) :

• It must be possible to observe and measure the situation being modeled.

• The situation being modeled must exhibit a constancy of structure in time.

• The situation being modeled must exhibit constancy across variations in conditions not specified in the model.

• It must be possible to collect ample data with which to make predictive tests of the model.

Little to guide the modeler and reign in efforts that do not improve model performance 7

Inability to validate model

results

Increasing availability of

data

Moore’s Law

+

+

Increasing model

complexity

Lack of openness

+

Inability to verify model

results

Uncertainty analysis is difficult

Page 8: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

8

Past projections are generally dismal

Source: Craig et al. (2002). “What Can History Teach Us? A Retrospective Examination of Long-Term Energy Forecasts for the United States.” Ann. Rev. Energy Environ. 27:83-118.

U.S. Atomic Energy Commission forecast from 1962

Source: Morgan G, Keith D. (2008). “Improving the way we think about projecting future energy use and emissions of carbon dioxide.” Climatic Change. 90: 189-215.

Page 9: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Lack of openness

Most EEO models and datasets remain closed source. Why?

• protection of intellectual property

• fear of misuse by uninformed end users

• inability to control or limit model analyses

• implicit commitment to provide support to users

• overhead associated with maintenance

• unease about subjecting code and data to public scrutiny

9

Inability to validate model

results

Increasing availability of

data

Moore’s Law

+

+

Increasing model

complexity

Lack of openness

+

Inability to verify model

results

Uncertainty analysis is difficult

Page 10: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Inability to verify model results

With a couple exceptions,

energy-economy models are not open source

Descriptive detail provided in model documentation and peer-reviewed journals is insufficient to reproduce a specific set of published results

Reproducibility of results is fundamental to science

Replication and verification of large scientific models can’t be achieved without source code and input data

10

Inability to validate model

results

Increasing availability of

data

Moore’s Law

+

+

Increasing model

complexity

Lack of openness

+

Inability to verify model

results

Uncertainty analysis is difficult

Page 11: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Uncertainty analysis is difficult

A common result is false precision

E.g., EPA analysis of S.2191 (Lieberman-Warner), GDP growth

predictions to 0.01%!

Large, complex models tuned to look at a few scenarios by necessity

Scenario analysis overused

Without subjective probabilities p(X|e), scenarios of little value to decision makers

11

Inability to validate model

results

Increasing availability of

data

Moore’s Law

+

+

Increasing model

complexity

Lack of openness

+

Inability to verify model

results

Uncertainty analysis is difficult

Page 12: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Cognitive heuristics play a role and can lead to misinterpretation of results.

Availability heuristic:

Probabilities of a future event or outcome assessed on the basis of how easily an individual can remember or imagine examples

Anchoring and adjustment:

People start with an initial value or “anchor” and then modify their judgment as they consider factors relevant to the specifics often insufficient adjustment

A few highly detailed scenarios can create cognitively compelling storylines.

Problems with scenario analysis

Drawn from: Morgan G, Keith D. Improving the way we think about projecting future energy use and emissions of carbon dioxide. Climatic Change 2008; 90; 189-215. 12

Page 13: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Tools for Energy Model Optimization and Analysis

Temoa also means “to seek something” in the Nahuatl (Aztec) language:

Taken from: An analytical dictionary of Nahuatlby Frances E. Karttunen

13

Temoa

Page 14: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Temoa goals and approach

Goal: Create an open source, technology explicit EEO model

Our Approach:• Public accessible source code and data• No commercial software dependencies• Data and code stored in a web accessible electronic repository• A version control system• Programming environment with links to linear, mixed

integer, and non-linear solvers• Built-in capability for sensitivity and uncertainty analysis• Utilize multi-core and compute cluster environments• Input and output data managed directly with a relational DB*

14

Page 15: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Framework for Temoa

15

Navigable System

Diagram (Graphviz)

Optimization

Solvers & Tools

(Coopr)

Input Data

Online Accesshttp://temoaproject.org

Code and Data Repository (Subversion)

Test

Suite

Formulation

1

Input/Output Datasets

Model Source (Pyomo)

Multiple archived versions for verification exercises

Multiple archived versions for verification exercises

Solve iteratively for

uncertainty analysis

System 1

Inputs …

… Formulation

n

System 1

Outputs

System x

Inputs

System x

Outputs

Auto-generated

documentation

Page 16: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Version Control

We are using an open source version control system (Subversion)

Why? Ensure the integrity, sustainability and traceability of changes during the entire software lifecycle.

Version control enables:• Multiple developers to work simultaneously on software components;

automatic integration of non-conflicting changes• Display the modifications to model source code• Create software snapshots (releases) that represent well-tested and

clearly defined milestones• Public access to code and data snapshots used to produce published

analysis enables third party verification

You can view our code online: http://svn.temoaproject.org/trac/browserMost current branch: branches/energysystem-process-Coopr3

Works on all major (Unix, Windows, MacOS) platforms

16

Page 17: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Programming environment

A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages that supports a diverse set of optimization capabilities for formulating and analyzing optimization models.

• Algebraic model formulation using Python Optimization Modeling Objects (Pyomo)

• Capability to formulate linear, mixed integer, and non-linear model formulations

• Includes a stochastic programming package

• Part of a rich Python ecosystem (Numpy, Scipy)

Developed by the Discrete Math and Complex Systems Department at Sandia National Laboratories: https://software.sandia.gov/trac/coopr/

17

Page 18: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Technology explicit modeling

18

Capital Cost ($M/PJ)Fixed O&M ($M/PJ∙yr)Variable O&M ($/PJ)Capacity factor EfficiencyEmissions coefficient (kton/PJ)

Objective function: minimize present cost of energy supplyDecision variables: activity (PJ) and capacity (PJ/yr) for each technology

‘Utopia’ (18 technologies included)

Page 19: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

19

1

Ene

rgy

Per

Tim

esl

ice

Timeslice Length (Fraction of Year)0

Summer-DaySummer-Night

Winter-DayWinter-Night

Intermediate-Day

Intermediate-Night

End-Use Demand Specification

Page 20: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

TEMOA Model Features

A technology explicit model with perfect foresight, similar to the TIMES model generator.

• Flexible time slicing by season and time-of-day

• Variable length model time periods

• Technology vintaging

• Separate technology loan periods and lifetimes

• Global and technology-specific discount rates

• Capacity determined by commodity flows at the timeslice level

20

Page 21: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

‘Utopia’ verification exercise

21

0

50

100

150

Pe

tajo

ule

s / Y

ea

r

0

0.5

1

1.5

2

Gig

aw

atts

1990 2000 20100

20

40

60

Pe

tajo

ule

s / Y

ea

r

IMPDSL1

IMPGSL1 IMPHCO1

IMPDSL1

IMPGSL1

IMPHCO1

IMPDSL1

IMPGSL1

IMPHCO1

E01

E01

E31 E31 E31

E51 E51 E51

E70 E70 E70

E01

RHE

RHE RHE

RHORHO

RHO

RL1RL1

RL1

TXD TXD TXDTXG TXG TXG

Import Technologies

Electric Generators

Demand Devices

MARKAL: BlackTemoa: White

Page 22: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Approach to uncertainty analysis

Use the following techniques in series:

Sensitivity analysis and Monte Carlo simulation

→ Determine key sensitivities

Multi-stage stochastic optimization

→ Develop a hedging strategy

Explore near-optimal, feasible region

(Modeling-to-Generate-Alternatives)

→ Test robustness of hedging strategy

22

Page 23: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

23

Stochastic Optimization

Decision-makers need to make choices before uncertainty isresolved → requires an “act then learn” approach

Need to make short-term choices that hedge against future risk

→ Sequential decision-making process that allows recourse

Stochastic optimization• Build a scenario tree• Assign probabilities to future outcomes• Optimize over all possibilities

Page 24: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

24

Simple example of stochastic optimization

Suppose we have two technologies, A and B. Let x and y represent the installed capacity in Stages 1 and 2, respectively.

t1 t2

s1

s2

Stage 1 Decision Variables:

Stage 2 Decision Variables:

,A B

x x

1 1

2 2

, ,

, ,

,

,

A s B s

A s B s

y y

y y

1p

2p

1

Minimize: cN

T T

s s s

s

x p d y

Subject To:

1,...,

0

0 1,...,

s s s s

s

Ax b

T x W y h for s N

x

y for s N

Scenario 1: s1

Scenario 2: s2

Page 25: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Stochastic optimization with PySP

Python-based Stochastic Programming (PySP) is part of the Cooprpackage.

To perform stochastic optimization, specify a Pyomo reference model and a scenario tree

PySP offers two options:1. runef: builds and solves the extensive form of the model.

“Curse of dimensionality” → memory problems2. runph: builds and solves using a scenario-based decomposition

solver (i.e., “Progressive Hedging) based on Rockafellar and Wets (1991).Can be implemented in a compute cluster environment; more complex scenario trees possible.

R.T. Rockafellar and R. J-B. Wets. Scenarios and policy aggregation in optimization under uncertainty. Mathematics of Operations Research, pages 119–147, 1991.

25

Page 26: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Progressive hedging (runph)• Decomposes a stochastic program by scenarios (i.e., pathways

through the event tree) instead of time stages.

• Calculates scenario-specific solutions and proceeds in an iterative manner by updating the scenario-specific solutions for a modified objective.

• Combines them to form a unified solution, and repeats the process until convergence is reached .

• The scenario-specific solutions required at each iteration can be evaluated in parallel on a compute cluster.

→ Processor 1

→ Processor 2

→ Processor 3

→ Processor 4

→ Processor 5

→ Processor 6

26

NCSU Cluster “Cygnus”:• 11 nodes, each with 2 AMD quad-

core Opteron processors (2.0 GHz with 512 KB Cache/core)

• 1.8 TB of storage• 176 GB memory• OpenSuse 10.3 (Linux)• FLOPS = 704 Gigaflops • 1 GigE interconnect

Page 27: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Stochastic application of ‘Utopia’

A proof-of-concept application

9 branches per node / 2 uncertain time stages 81 scenarios

Decadal growth rates used in stochastic utopia:

27

Scenario E01 E21 RH RL TX

Cost (L) / Demand (H) 1.2 -0.80 0.48 0.48 0.48

Cost (L) / Demand (M) 1.2 -0.80 0.11 0.11 0.11

Cost (L) / Demand (L) 1.2 -0.80 0.05 0.05 0.05

Cost (M) / Demand (H) 1.0 -0.30 0.48 0.48 0.48

Cost (M) / Demand (M) 1.0 -0.30 0.11 0.11 0.11

Cost (M) / Demand (L) 1.0 -0.30 0.05 0.05 0.05

Cost (H) / Demand (H) 0.8 0.20 0.48 0.48 0.48

Cost (H) / Demand (M) 0.8 0.20 0.11 0.11 0.11

Cost (H) / Demand (L) 0.8 0.20 0.05 0.05 0.05

Page 28: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Results from stochastic ‘utopia’

28

2300 2400 2500 2600 2700 2800 2900 3000 3100 32004.4

4.6

4.8

5

5.2

5.4

5.6

5.8

6

6.2

6.4

x 104

E01 Average Investment Cost ($/kW)

Dis

cou

nte

d S

yst

em C

ost

($

Mil

lio

n)

Marker Size E21 Average Investment CostMarker Color 2045 Demand Level

Page 29: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

‘Utopia’ scenario-specific results

29

1

10

100

1990 2000 2010

Acti

vit

y (P

J/y

r)

Year

E70

E51

E31

E010

20

40

60

80

1990 2000 2010

Acti

vit

y (P

J/y

r)

Year

TXG

TXD

RL1

RHO

RHE

1

10

100

1990 2000 2010

Acti

vit

y (P

J/y

r)

Year

E51

E31

E21

E010

20

40

60

80

1990 2000 2010

Acti

vit

y (P

J/y

r)

Year

TXG

TXD

RL1

RHO

RHE

Page 30: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

A slightly more complicated stochastic application

30

‘Temoa Island’(27 technologies included)

Page 31: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

31

0

5

10

15

20

25

$0

$2

$4

$6

$8

$10

$12

$14

1970 1980 1990 2000 2010

En

d-U

se D

em

an

d P

roxy (

PJ)

Fu

el P

rice (

$/G

J)

Year

Demand

Natural Gas

Oil

Historical data drawn from the U.S. EIA Annual Energy Review 2011Source: http://www.eia.gov/totalenergy/data/annual/(Demand proxy is U.S. total residential energy demand)

3 stochasticparameters:

• End-use demand

• Natural gas price

• Crude oil price

Stochastics

5-year rolling average

Page 32: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

32

Historical data drawn from the U.S. EIA Annual Energy Review 2011Source: http://www.eia.gov/totalenergy/data/annual/(Demand proxy is U.S. total residential energy demand)

• Using the rolling average data, calculate the growth rate associated with each stochastic parameter from one period to the next

• Calculate conditional probabilities and associated growth rates based on examining results from each pair of successive periods

Probabilities:

A Simple Markov Chain

DDD DDU DUD DUU UDD UDU UUD UUU

DDD

DDU 100%

DUD

DUU 67% 33%

UDD 78% 11% 11%

UDU 33% 67%

UUD 25% 25% 50%

UUU 6% 6% 6% 82%

D D Uo o pw wn n

Demand

NG Price

Oil Price

FRO

M

TOExample:

Page 33: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Forming the Event Tree

33

P(UUU)

P(DDU|UUU)

P(DUU|UUU)

P(UUD|UUU)

P(UUU|UUU)

5-year model time periodsNon-anticipative stages: 2010 - 2020Uncertainty is resolved: 2025 - 2045Resulted in a total of 309 scenarios

Page 34: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Solve statistics

Solved the extensive form using runef

Raw LP:Variables: 3,907,626Constraints: 5,384,195

Presolved LP:597,421 constraints196,274 variables

It took CPLEX 133,772.65 seconds (38 hours) to solve.

34

Page 35: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Total System Cost versus Natural Gas Price

35

9 10 11 12 13 14 15 160.98

0.985

0.99

0.995

1

1.005

1.01

1.015

1.02

1.025

Natural Gas Price in 2045 ($/GJ)

Tota

l S

yste

m C

ost

(Fra

ction o

f A

vera

ge)

Marker Size 2045 Oil PriceMarker Color 2045 Demand Level

Page 36: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Capacity Results: Lowest Cost Scenario

36

0

500

1000

1500

2000

2500

3000

2010 2015 2020 2025 2030 2035 2040 2045

Inst

all

ed

Ca

pa

city

(P

J/yr

)Time Period

Electric AC CFL Lighting

NG Furnace Solar Water Heater

Gasoline Car (bvmt/yr)

0

2

4

6

8

10

12

14

16

18

2010 2015 2020 2025 2030 2035 2040 2045

Inst

all

ed

Ca

pa

city

(G

W)

Time Period

Pulverized Coal Hydro

Combined-Cycle Gas Simple-Cycle Gas

Page 37: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Modeling to Generate Alternatives

37

Still haven’t dealt with structural uncertainty in the model

Need a method to explore an optimization model’s feasible region → “Modeling to Generate Alternatives”†

MGA generates alternative solutions that are maximally different in decision space but perform well with respect to modeled objectives

The resultant MGA solutions provide modelers and decision-makers with a set of alternatives for further evaluation

†Brill (1979), Brill et al. (1982), Brill et al. (1990)

Page 38: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

How Optimal is the “Optimal” Solution?

38

Consider an optimization model that only includes Objective 1 and leaves Objective 2 unmodeled.The true optimum is within the feasible, suboptimal region of the model’s solution space.

Viable alterative solutions exist within the model’s feasible region.

Example adopted from Brill et al. (1990).

Objective 1

Ob

ject

ive

2

Non-inferior frontier

Page 39: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Hop-Skip-Jump (HSJ) MGA

39

Steps:

1. Obtain an initial optimal solution by any method

2. Add a user-specified amount of slack to the value of the objective function

3. Encode the adjusted objection function value as an additional upper bound constraint

4. Formulate a new objective function that minimizes the decision variables that appeared in the previous solutions

5. Iterate the re-formulated optimization

6. Terminate the MGA procedure when no significant changes to decision variables are observed in the solutions

Brill et al. (1982)

Page 40: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

HSJ MGA

40

Mathematical formulation

X

jTxf

xp

jj

Kk

k

x

)( s.t.

min

where:

K represents the set of indices of decision variables with nonzero values in the previous solutions

is the jth objective function

Tj is the target specified for the jth modeled objective

X is the set of feasible solution vectors

xf j

Page 41: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Conclusions

Most EEO models and model-based analyses are opaque to external parties

The TEMOA project represents a new, transparent modeling framework designed for rigorous uncertainty analysis

• Archival copies of source code and data publicly available for replication

• Uncertainty analysis enabled by a high performance computing environment

Combine sensitivity analysis, stochastic optimization, and modeling-to-generate-alternatives to identify robust hedging strategies for greenhouse gas mitigation

41

Page 42: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Temoa Next Steps

Development

• Develop more refined approach to generating stochastic data and branch probabilities

• Find ways to prune the event tree

• Improve ways to analyze outputs from stochastic runs

• Implement MGA in Temoa framework

• Develop a relational database schema for I/O data

Application

• Adapt single-region US TIMES model to Temoa

• Begin addressing the driving questions listed on Slide 3

http://temoaproject.org

42

Page 43: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Relevant papers (published or submitted)

DeCarolis J.F. (2011). Using modeling to generate alternatives (MGA) to expand our thinking on energy futures. Energy Economics, 33: 145-152.

Howells M., Rogner H., Strachan N., Heaps C., Huntington H., KypreosS., Hughes A., Silveira S., DeCarolis J., Bazillian M., Roehrl A. (2011). OSeMOSYS: The open source energy modeling system: An introduction to its ethos, structure and development. Energy Policy, 39(10), 5850-5870.

DeCarolis J.F., K. Hunter K., S. Sreepathi. The Case for Repeatable Analysis with Energy Economy Optimization Models. Energy Economics (under revision).

Hunter K., S. Sreepathi S., J.F. DeCarolis , Tools for Energy Model Optimization and Analysis. Preparing submission to Environmental Modeling and Assessment.

43

Page 44: Modeling for Insight with an Energy Economy Optimization Model · 2013. 3. 19. · A Common Optimization Python Repository (Coopr) is a collection of Python optimization-related packages

Acknowledgments

• Kevin Hunter, MS student, Civil Engineering, NCSU

• Sarat Sreepathi, PhD student, Computer Science, NCSU

• Jean-Paul Watson and Bill Hart, Sandia National Laboratory

This work would made possible through the generous support of the National Science Foundation. CAREER: Modeling for Insights with an Open Source Energy Economy Optimization Model. Award #1055622

44