MidAmerican Energy Company Non-Monotonically Increasing Generating Unit Dispatch

Design Report

May06-07

Client:

MidAmerican Energy Company

Alan Oneal

Faculty Advisors:

Dr. John Lamont

Dr. James McCalley

Students:

Matthew Ellis, EE

Noraima Fernandez, EE

Jeremy Hamilton, EE

Robert Walter, EE

REPORT DISCLAIMER NOTICE

DISCLAIMER: This document was developed as a part of the requirements of an electrical and computer engineering course at IowaStateUniversity, Ames, Iowa. This document does not constitute a professional engineering design or a professional land surveying document. Although the information is intended to be accurate, the associated students, faculty, and IowaStateUniversity make no claims, promises, or guarantees about the accuracy, completeness, quality, or adequacy of the information. The user of this document shall ensure that any such use does not violate any laws with regard to professional licensing and certification requirements. This use includes any work resulting from this student-prepared document that is required to be under the responsible charge of a licensed engineer or surveyor. This document is copyrighted by the students who produced this document and the associated faculty advisors. No part may be reproduced without the written permission of the senior design course coordinator.

Submitted December 8, 2005

1

Table of Contents

1Frontal Materials

List of Figures

List of Tables

List of Definitions

2Introductory Materials

2.1Executive Summary

2.2Acknowledgement

2.3Problem Statement

2.3.1General Problem Statement

2.3.2General Solution Approach

2.4Operating Environment

2.5Intended User(s) and Intended Uses(s)

2.5.1Intended User(s)

2.5.2Intended Use(s)

2.6Assumptions and Limitations

2.6.1Assumptions

2.7Expected End Product and Other Deliverables

2.7.1Microsoft Excel workbook file

2.7.2Documentation

3Approach and Product Design Results

3.1Approach Used

3.1.1Design Objectives

3.1.1.1Unit Commitment Page

3.1.1.2Output Page

3.1.1.3Usability

3.1.1.4Overall Structure of the Software

3.1.1.5Programmer’s Guide

3.1.1.6Miscellaneous Objectives/ Future Work

3.1.2Functional Requirements

3.1.3Design Constraints

3.1.4Technical Approach Considerations and Results

3.1.5Testing Approach Considerations

3.1.6Recommendations Regarding Project Continuation or Modification

3.2Detailed Design

3.2.1Unit Commitment Page

3.2.2Output Page

3.2.3Usability

3.2.4Overall Structure of the Software

3.2.5Programmer’s Guide

4Resources and Schedules

4.1Resources Requirements

4.1.1Estimated Personnel Effort Requirements

4.1.2Estimated Other Resource Requirements

4.1.3Estimated Total Financial Requirements

4.2Schedules

4.2.1Revised Schedule

4.2.2Deliverables Schedule

4.2.3Weekly Schedule – Spring 2006

5Closure Materials

5.1Project Team Information

5.1.1Client Information:

5.1.2Faculty Advisors:

5.1.3Student Information:

5.2Closing Summary

1Frontal Materials

List of Figures

Figure 1: / Monotonic Incremental Cost Curve / v
Figure 2: / Non-monotonic Incremental Cost Curve / v
Figure 3: / Combined Cycle Generator / 1
Figure 4a: / The Updated Unit Commitment Page / 14
Figure 4b: / The Updated Unit Commitment Page / 14
Figure 5: / The Generator Output Page / 15
Figure 6: / The Generator Cost Page / 16
Figure 7: / The Fuel Use Page / 16
Figure 8: / Menu Structure Flowchart / 17
Figure 9a: / Main Menu / 21
Figure 9b: / Main Menu / 22
Figure 10: / Basic Flow of Programming Modules / 25
Figure 11: / Algorithm Flowchart / 29
Figure 12: / Original Gantt Chart / 40
Figure 13: / Revised Gantt Chart / 41
Figure 14: / Original Deliverables Schedule / 43
Figure 15: / Revised Deliverables Schedule / 43

List of Tables

Table 1: / Project Assumptions and Justifications / 4
Table 2: / Project Limitations and Justifications / 5
Table 3: / Coefficient Computation Example / 25
Table 4: / Nuke 1 Data / 26
Table 5: / Nuke 1 Computed Coefficients / 27
Table 6: / Original Personnel Effort Resource Requirements / 34
Table 7: / Revised Personnel Effort Resource Requirements / 35
Table 8: / Original Other Resource Requirements / 35
Table 9: / Revised Other Resource Requirements / 36
Table 10: / Original Project Cost Estimates / 36
Table 11: / Revised Project Cost Estimates / 37

List of Definitions

Combined cycle unit: a dual cycle generating unit that first produces power through a combustion turbine, then uses the waste heat to vaporize water and drive a steam turbine

Combustion turbine: a generating unit used to meet peak loading conditions by the combustion of fuel, usually natural gas

Economic dispatch: the allocation of the total load demand among generating units in order to achieve the most economical production of power

Heat-recovery steam generator: the second process of the combined cycle that recovers waste heat to drive a steam turbine

Incremental cost: the increase in cost in dollars per increase in mega-watt hours

Initial project: the dispatching algorithm designed by May 05-10 project team

Input/output function: the ratio of fuel input in MBtu per hour to power output in mega-watts

Main program: the initial run of code that must iterate through entire 168-hour range

Monotonic unit (MU): a generator that produces more power output as fuel input is increased

Non-monotonic unit (NMU): a generator that can have an increase in power output with no increase in fuel input

Secondary program: allows for the code to be ran for a user defined range of hours after the main program has been successfully completed

1

2Introductory Materials

This section establishes the project’s purpose, including a description of the problem, plans for reaching a solution, and possible assumptions and limitations that the project team will have to deal with along the way.

2.1Executive Summary

This section establishes the project’s purpose, including a description of the problem, plans for reaching a solution, and possible assumptions and limitations that the project team will have to deal with along the way.

Combined-cycle generating units are being incorporated into the current power system in order to meet peak loading contingencies as efficiently as possible. Combined-cycle generating units consist of two simple-cycle combustion turbines and one heat recovery steam generator as shown in Figure 1. Combined-cycle generating units exhibit non-monotonically increasing cost curves which cannot be solved by classical methods of economic dispatch optimization. The project team will modify and redesign a pre-existing algorithm to calculate optimal economic dispatch, including both monotonically and non-monotonically increasing generators, with a shorter solution time. Major milestones include comprehension of the pre-existing optimization algorithm, implementation of the algorithm in Microsoft Excel using Visual Basic macro programming, redesign of the optimization algorithm for faster solution speed, and delivery of the software and documentation to the client. Optimal results will allow for power to be produced at the lowest possible cost to the client while prolonging the life of each generating unit.

Figure 3: Combined Cycle Generator

Graphic from

2.2Acknowledgement

The senior design project team would like to acknowledge Alan Oneal from MidAmerican Energy Company as our client contact for the project. The project team would also like to thank Dr. Lamont for advising and overseeing the project.

2.3Problem Statement

The problem statement is composed of two components: the general problem statement and the general solution statement.

2.3.1General Problem Statement

The project involves the modification of an algorithm incorporated into Microsoft Excel macros to give MidAmerican Energy the lowest cost solution to meet power demand with the shortest solution time possible. The problem will involve the use of monotonic and non-monotonic generation systems. Monotonically increasing systems are systems that create more power when the fuel supply is increased. Non-monotonic systems may show a power increase without any more fuel being provided to the system and thus without the normal increase in costs. The algorithm will use information from an Excel workbook to come up with the most cost effective generation dispatch combinations. Macro programming using Visual Basic will be used to modify and implement the developed solution algorithm.

2.3.2General Solution Approach

MidAmerican Energy supplied the data for the power generators. This data includes minimum and maximum load values, fuel costs, power generation levels with their corresponding incremental heat rate values and I/O values. The initial project team developed the algorithm used this data to create the piecewise-linear cost functions for each power generator range and also determine whether a given unit is a monotonic or non-monotonic generator based upon the piecewise-linear determinations.

The initial project team developed the equations for algorithm to perform a standard lambda search with the monotonic generators that the user specifies as operational. The program then populates a table for the lowest cost dispatch among the MUs at each possibly load value (a definable step, default = 1MW). The load values extremes are also determined using the combined generator minimum and maximum values.

After the monotonic unit table is populated, the algorithm moves on to the non-monotonic power generators. A similar table to that of the monotonic populated a minimum cost dispatches for each load value. These minimum cost values are determined by running a series of loops that compare all possible dispatch situations and then take the minimum value of each specified load value.

At this point the initial project’s algorithm determines the least cost dispatch available by the generator to meet the load requirements.

The project team will focus their efforts on a number of modifications to increase the overall usability of the software. These areas of modification will concentrate on improving the structure of the unit commitment page, reorganizing the way outputs are displayed, implementing a main menu, and finally restructuring the code to allow the user to dispatch only a range of hours.

During the project, weekly e-mails to the client and faculty advisor will detail the work that has been completed and future plans. After the initial software is completed it will be turned over to MidAmerican Energy Company for verification. In addition, the software will then be returned to the project team and any necessary modifications will be made. At the completion of the project all deliverables, including the completed software and final documentation, will be handed over to MidAmerican Energy Company.

2.4Operating Environment

The solution program will be written using Visual Basic macro programming embedded in the form of a Microsoft Excel workbook. The software will run on a windows-based system with adequate processing capabilities.

2.5Intended User(s) and Intended Uses(s)

This section provides the intended user(s) and use(s) of the project team’s final product.

2.5.1Intended User(s)

The software will be designed for MidAmerican Energy employees who work in the short-term trading and have a basic understanding of optimization and economics. The user(s) must have experience using Microsoft Excel and an understanding of power system analysis.

2.5.2Intended Use(s)

The software will be used to optimize the economic dispatch of power between monotonic and non-monotonic generators. Microsoft Excel will be used to process input data from generating units and produce output into a workbook or an external file which can be used for analysis of day-to-day operations.

2.6Assumptions and Limitations

This section provides the assumptions and limitations concerning the problem.

2.6.1Assumptions

Table 1 lists the project assumptions and their justifications.

Table 1. Project Assumptions and Justifications
The project team will have access to the current methods for optimizing combined-cycle generators. / Testing Requirement
A priority status will be placed on all generation units. / Client Requirement
Project ideas should not be shared outside the project team. / Confidentiality Requirement
A well-designed solution method is more important than the most efficient solution. / Client Requirement
The end product will be used in the United States. / Power System Requirement
The initial project’s algorithm is determining the least cost dispatch available to the generator to meet load requirements / Testing Requirement

2.6.2Limitations

Table 2 lists the project limitations and their justifications.

Table 2. Project Limitations and Justifications
The software will be written in Microsoft Excel with Visual Basic macro programming. / Client Requirement
The software code shall contain ample comments. / Client Requirement
Software must permit generator status to be specified hourly within a 7 day horizon. / Client Requirement
Status Codes / Software Requirement
- 1 / Forced Off / 1 / On/dispatchable
0 / Off/available / 2 / On/fixed output
Software accepts input data for generating units that use piece-wise linear incremental heat rate curves, with up to 10 segments each. / Client Requirement
Software includes an elapsed time indicator for performance measurements. / Software Requirement
A switch must be provided to allow full-output dumps (to the workbook, or output file) of iterations tested, their cost, total generation, and other relevant metrics as agreed upon between the client and the team. / Software Requirement
Results must be written into a single Excel workbook, by unit and by hour (MW output, production cost), with appropriate totals and other statistics as agreed to by the client. / Client Requirement
12 MUs and 2 sets of NMUs will be used for calculations. / Client Requirement

2.7Expected End Product and Other Deliverables

This section states what will be given to the client upon completion of the project.

2.7.1Microsoft Excel workbook file

The Excel workbook file will include user instructions along with the Visual Basic code containing embedded commenting. The software will employ an economic dispatch algorithm used for monotonic and non-monotonic generating systems. An initial version of the software will be provided to the MidAmerican Energy Company for testing purposes. Any necessary changes will be made prior to completion of the project. The software will meet the requirements listed in the limitations section.

2.7.2Documentation

Test results from the software will be given to MidAmerican Energy Company. A printed copy of the fully commented program code, a user manual, a programmer’s guide, and other documentation will be provided to the client upon completion of the project.

3Approachand Product Design Results

The following section describes the project team’s proposed approach toward solving the problem, and tasks that will be successfully completed along the way.

3.1Approach Used

A successful project will meet the following twelve requirements.

3.1.1Design Objectives

Because the all of the main economic dispatching algorithms and data loading functions have already been designed, implemented, and assumed working appropriately, the project team will be concentrating their efforts on modifying the existing software for better usability and efficiency.

These goals shall be attained upon the successful completion of the project.

3.1.1.1Unit Commitment Page

  • The new unit commitment page will recalculate the maximum capability of the committed units, display the generation requirements the reserve of the committed units, calculate the foot room of the committed units, and calculate the minimum capability of the committed units for each of the 168 hours based on changes in the unit commitment table.
  • The new unit commitment page will also contain a check to make sure that when the unit commitment page is changed; all of the up and down times for each generator will not be violated for all of the 168 hours. The upgraded page will also check that the load is within the following limits:

Min. Capability + Foot Room Load Max. Capability - Reserve

3.1.1.2Output Page

  • The current output page will be redesigned to be split up into three separate output pages which will all contain the maximum capability, reserve, the generation, the foot room, and the minimum capability.
  • The pages will be split up into a page that contains generation output data, the cost of each generator, and the fuel use for each generator for each of the 168 hours.

3.1.1.3Usability

  • The entire program will be run from a visually appealing and easy-to-follow main menu. The menu will have hyperlinks to all worksheets where user inputted data is stored. Before each hyperlink a brief description of what the corresponding worksheets functions are and how to appropriately input data to them.
  • The user will also have many more options from this main menu, which will allow for multiple combinations of output displays and the ability to reset many values to their default setting.
3.1.1.4Overall Structure of the Software
  • The way the code is currently arranged it finds dispatch solutions for all 168 weekly hours when it is executed. The project team will modify the current software so that the user will have the ability to specify a range of hours or a start day/hour and end day/hour to solve. This option will only be available to the user after the software has initially found solutions for the 168-hour week. This will allow the user to save time and concentrate their efforts on a specified time frame.
  • There are two time requirements. The entire program when executed for the entire week (and loading in all new data) must completely solve for 168 dispatch solutions in less than five minutes. Since the project will now be able to solve for only a designated range of hours a separate time constraint must be included. The software must have the ability to dispatch a single hour in ten seconds or less. After completion of the project the team will spend remaining time optimizing the algorithm and data loading functions to decrease run time (see Section 3.1.1.5).
3.1.1.5Programmer’s Guide
  • A programmer’s guide will be written to assist anyone who plans on understanding how the program works, adds additional functionality to the code, or maintains the code.
  • The programmer’s guide will contain the following information:
  • The general solution algorithm of the program, with a hand calculated example for easy understanding.
  • Descriptions of each subroutine as well as a call tree.
  • A list and description of all global and local data variables. Each description will include a list of subroutines that calls the variable.
  • A list of error messages as well as possible resolutions to fix the error message.
  • The programmer’s guide will include a complete print out of the most updated code and comments

3.1.1.6Miscellaneous Objectives/ Future Work