Economic Dispatch of Combined-Cycle Generators

Economic Dispatch of
Combined-Cycle Generators
May06-07
Client:
MidAmerican Energy Company
Alan Oneal
Faculty Advisors:
Dr. John Lamont
Students:
Matthew Ellis, EE
Noraima Fernandez, EE
Jeremy Hamilton, EE
Robert Walter, EE
Presentation Overview



Background Material
Previous Teams’ Contributions
Project Team Goals






Main Menu
Overall Structure
Unit Commitment
Output Data
Time Permitting Work
Conclusion/Questions
Usability
Acknowledgements
The senior design project team would like
to acknowledge:
 Alan Oneal of MidAmerican Energy as
our client contact for the project
 Dr. Lamont for advising and
overseeing the project
Overall Project Idea


To incorporate combined-cycle
generator units into the current power
system to meet peak load emergency
To solve for economic dispatch of
monotonic and non-monotonic units,
providing the least cost solution
Monotonic(MU)→
←Non-Monotonic (NMU)
General Problem Statement
The project involves:


modification of an algorithm
incorporated into Microsoft Excel
macros offering a low-cost and
time efficient solution in meeting
power demand
use of monotonic and non-monotonic generation systems to
provide more cost effective generation dispatch
combinations
Initial Project Work
1/5
What’s already been accomplished by prior teams….


Overview
Data Loading and Verification


User specified Excel fields are read into a
corresponding VB data array
Data is checked to assure it’s in the
correct format and none is missing

If data is incorrect an error window pops into
the screen and a log is produced
Initial Project Work
2/5
Algorithm (How does it work?)

1.
MW vs. IHR and I/O are used to calculate A,
B, and C coefficients relating each
generator’s power and cost
Fuel = Ax2 + Bx + C
x = Power (MW)
dF/dX = IHR = 2Ax + B
Initial Project Work
2.
3/5
Monotonic vs. Non-Monotonic?
i.
3.
A < 0 = Non-Monotonic!
If NMU
i.
ii.
iii.
4.
Determines 7th order coefficients that relates CT to
HRSG output
Uses regression and Solver add-in to solve for each
coefficient
Makes a NMU table relating power to cost for every
NMU generator
If MU
i.
Makes a MU table relating power to cost for every
MU generator
Initial Project Work
5.
4/5
Consolidation
i.
ii.
iii.
6.
Reads in Unit Commitment Table
For every hour all dispatchable NMU generators are
consolidated into a master NMU power vs. cost
table
For every hour all dispatchable MU generators are
consolidated into a master MU power vs. cost table
Solution
i.
ii.
For a desired power output, the program loops
through the master MU and NMU tables and finds
the least cost solution
Goes into each MU and NMU table and loads each
individual power and cost given the master’s power
and cost
Initial Project Work

5/5
Client’s Conclusion

The algorithm and program are working
correctly and efficiently; however, are
extremely confusing to use.
General Solution Approach

The project team will modify the
existing software to increase the
usability in 4 main areas




Main Menu
Overall Structure
Unit Commitment
Output
Main Menu

Prior Groups’ Main Menu
1/6
Main Menu

2/6
Client’s Comments on Existing Menu




Extremely Confusing
Didn’t understand what output options meant
Didn’t understand what format data outside
the menu had to be in
Couldn’t find the appropriate places in the
workbook to input data
Main Menu

3/6
New Main Menu

Step by Step like a brief instruction manual


Every User Specified Worksheet (data the user
can change) will have a step dedicated to it.
Each step will include:






Output Options




Description of the worksheet
How to change the data
Acceptable data/data format
A hyperlink to the appropriate worksheet
A hyperlink to more detail instructions if desired
Each option will have brief description
Scroll Down Lists
Visually Appealing Format
Troubleshooting Links
Main Menu

Structure
4/6
Main Menu
5/?
Overall Code Structure

1/5
Client Requests


Have the ability to enter a start and end
hour (1-168)
Find solutions for only a range of hours
specified
Overall Code Structure

2/5
Dispatching only a range of hours


Code must be completely ran once
Visual Basic Modifications:




A completely different set of modules will be written
(many won’t have to change168)
Any data set that doesn’t change will not be re-read
in (stored in memory)
Unit-Commitment and Gen Limits will only be read
in for user specified hours
Algorithm will only dispatch user specified hours
Overall Code Structure

3/5
Secondary Menu


Will mimic the Main Menu; however common
instructions are more vague
Increased Number of User Options




Start/Stop Hours in Scroll Down lists
Unit Commitment, Gen Limits, CT vs. HRSG, etc.
data changed?
Set existing unit commitment to default?
Opposite Color Scheme
Main Menu
6/?
Main Menu
6/?
Unit Commitment Page 1/9

Client’s Comments on Unit Commitment
page





Should have statistics on top of page
Doesn’t allow changes in current configuration
Should be able to reset to default commitment
pattern
Should consider a number < 0 or a blank to
mean the unit is not available
Should check any changes made to ensure that
generators up and down times are not violated
Unit Commitment Page 2/9
Existing Unit Commitment Page will updated to
include the following features:
 Calculate the following statistics per hour for
a given unit commitment pattern:





Maximum generation capability
Reserve
Generation requirement
Foot room
Minimum generation requirement
Unit Commitment Page 3/9
Definitions…





Maximum generation capability = The sum of all
committed units’ maximum generation capability
Reserve = The maximum generation capability
minus the load requirement
Generation requirement = The total required load
Foot room = The generation requirement minus the
minimum generation capability
Minimum generation capability = The sum of all
committed units’ minimum generation capability
Unit Commitment Page 4/9

The calculations for the statistics will be
made by the following:





IF statements will be used within the Excel
worksheet
The IF statement checks the status of each
generator for the given hour
If the generator has a blank or zero, the
generator is considered off/unavailable
If the generator has a one then it is considered
on/available and ready for dispatch
The IF statement then calculates the statistics
based on the status of the generators
Unit Commitment Page 5/9
The Updated Unit Commitment Page
Unit Commitment Page 6/9

If < 0 or a blank treat as a zero (i.e. not
available)


The above change will be made within the visual
basic code that loads in the unit commitment
data
Master reset button, that loads the default
unit commitment pattern from a separate
worksheet

The reset button is written in a separate macro
which allows a reset of the Unit Commitment
table at any given time
Unit Commitment Page 7/9
Unit Commitment Page 8/9

A up and down time checker for any
given Unit Commitment pattern



The unit commitment checker will be
written in a separate visual basic macro
The macro can be ran after each change
made to the unit commitment pattern
Any violations of up or down times for the
generators will be noted within the unit
commitment table in orange
Unit Commitment Page 9/9
Output Page
1/5
Output Page

2/5
Client’s Comments on Existing Output Sheet





Move statistical data to top of output
Separate output tables
Replace zeros with blanks
Remove units that are not committed
Insert linear hour
Output Page
3/5
Output Page
4/5
Output Page
5/5
Time Permitting/Future Work

Graphs consisting of the following data:




Weekly loading, weekly generation per
generator and weekly generation for the entire
system
Weekly fuel usage for each generator and fuel
usage for the entire system
Weekly cost of operation for each generator
and cost of operation for the entire system
Possible implementation of a faster
solution algorithm
Conclusion
The project team will modify a software
application that will seek to produce
the most economical power
distribution, with quick solution times,
between monotonically and nonmonotonically increasing generators.
Questions?

Excel