Download - Application of Goal Programming

Transcript
Page 1: Application of Goal Programming

Application of Goal Programming Techniqu~s

for Optimal Reservoir Operations

by

Debashish Bhattacharya

Thesis submitted to the Faculty of the

Virginia Polytechnic Institute and State University

in partial fulfillment ·of the requirements for the degree of

Master of Science

Dr. d. Y. Kuo

in

Civil Engineering

APPROVED:

Dr. G. V. LoganbJ!an, Chairman

May, 1988

Blacksburg, Virginia

Dr. S. A. Ardekani

Page 2: Application of Goal Programming

Application of Goal Programming Techniques

for Optimal Reservoir Operations

by

Debashish Bhattacharya

Dr. G. V. Loganathan, Chairman

Civil Engineering

(ABSTRACT)

The optimal reservoir operations problem consists of obtaining releases, storages

of a reservoir and downstream reach routed flows such that benefits derived from

operating the reservoir are maximized. These are obtained on the basis of forecasted

inflows to the reservoir, and forecasted precipitation in the downstream reaches.

Five goal programming schemes, namely (i) preemptive goal programming (ii)

weighted goal programming (iii) minmax goal programming (iv) fuzzy goal program-

ming and (v) interval goal programming are considered .. The reservoir operation

problem is also formulated as a multiobjective linear program (MOLP). It is shown

that the optimal solutions of the goal programs are contained among the efficient

points of the MOLP. It is also shown that the min max and fuzzy goal programs can

yield inefficient points as optima; however, there exist alternate optima to these pro-

grams which are efficient. Therefore, it is suggested that one should solve an MOLP

for considering alternative efficient solutions. These techniques are applied to the

Green River basin system in Kentucky.

Page 3: Application of Goal Programming

Acknowledgements

I would like to take this opportunity to express my sincere gratitude to my advisor,

Dr. G. V. Loganathan, without whose guidance this thesis could not have been a re-

ality. His constant encouragement kept me going when everything seemed bleak.

The training he has provided will stand me in good stead in my future pursuits.

I would also like to express my thanks to Dr. C. Y. Kuo and Dr. S. A. Ardekani for re-

viewing the manuscript. Their constructive criticisms and helpful suggestions have

gone a long way in improving the quality of this thesis.

My thanks are also due to all my friends at Virginia Tech who have helped me from

time to time. In particular, I would like to thank my roommates, during my stay in

Blacksburg, for keeping my spirits up during times of extreme distress.

Lastly, I would like to thank my parents whose moral support has been a continuing

source of encouragement in pursuing my goals throughout my academic career.

Acknowledgements iii

Page 4: Application of Goal Programming

Table of Contents

Reservoir Operations: An Overview • • • • . • • • • • • • • • • • . • • • • • • • . • • . . . • • . . • • • . . • . • 1

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Regulation of Reservoirs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.1 Ru:n Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.2 Mathematical Programming ........................................ 10

1.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Goal Programming Formulations • • • • • • • • • . • • • . • . • • . . . • • • • . • • • • • . • • • • . . • • • • . 18

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2 Multiobjective Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3 Goal Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.4 Preemptive Goal Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.5 Weighted Goal Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.6 Min-Max Goal Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2. 7 Fuzzy Goal Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.8 Interval Goal Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.9 Multiobjective linear programming (MOLP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.10 Application of Goal Programming for Reservoir Operations . . . . . . . . . . . . . . . . . . 39

Table of Contents iv

Page 5: Application of Goal Programming

2.11 System Constraints ........................... ; . . . . . . . . . . . . . . . . . . . . 40

2.12 Objective function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

A·ppllcat_lons .....•.. _ .....•...•......•..... ,_ ........ -. . . . • . . . • . . . . . . . . . . . . . . . 44

3.1 The Green River Basin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.1.1 Routing Model of the Green River Basin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.1.2 Storage Elevation Curves. . ........................................ 47

3.1.3 Penalty Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . 47

3.2 Implementation of the method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.3 Real Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.4 Goal Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Summary ..................... -, ...... , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

References .......• I •••• -· •••••• I •• I • I • I I I II •••••• I I •• - •••• I • I • I •••• I •• I e 7 4

The program AD BASE ... • .............. i •••• , ••••.•••••••••••••• :;; • • • • • • • • • 76

A.1.1.1 Execution control. parameters ............................. 77

A.1.1.2 1/0 Control Parameters ........•......................... 78

A.1.1.3 · ADBASE Input Format ................................... 79

A.1.1.4 Versatility of ADBASE ................................... 83

A.1.1.5 Sample Problem and Output .............................. 86

V·ita ....•......•.•....••••..••..••....•........•....................... 94

Table of Contents y

Page 6: Application of Goal Programming

List of Illustrations

Figure 1. Development of a Rule Curve (Kuiper, 1965) ................... 9

Figure 2. A Single Reservoir System ................................ 16

Figure 3. Systems Model for the Green River Basin (Can et al., 1982) ........ 45

List of Illustrations vi

Page 7: Application of Goal Programming

List of Tables

Table 1. Storage Penalties for Green and Nolin Reservoirs ................ 55

Table 2. Storage Penalties for Barren and Rough Reservoirs .............. 56

Table 3. Flow Penalties ........................................... 57

Table 4. Deviation Parameters for Fuzzy Goal Program .................. 59

Table 5; Input Parameters ......................................... 60

Table 6. Expected Rain ........................................... 61

Table 7. Reach Routing Equations(Can et al., 1982) ...................... 62

Table 8. Optimal Solutions ........................................ 64

Table 9. Targets ..........•..................................... 65

Table 10. Deviations from Targets ................................... 66

Table 11. Alternative Optimal Solutions for Min-Max formulation ............ 67

Table 12. Deviations for Min-Max GP using LINDO and ADBASE ............. 68

Table 13. Efficient Solutions ........................................ 69

Table 14. Parameters to be set in XTERNA and ADBASE data deck .......... 85

List of Tables vii

Page 8: Application of Goal Programming

Chapter I

Reservoir Operations: An Overview

1.1 Introduction

The objective of constructing a water storage and diversion project is to augment

and/or control the natural flow of water in satisfying various purposes such as do-

mestic and industrial use, irrigation, navigation, hydropower production, low flow

augmentation and water quality. These projects generally have a number of stages

of development. Because of the complexity involved in design, construction, and

subsequently operation and maintenance, these systems are subject to detailed

analysis at every stage. Their environmental and economic impact is immense. A

typical storage and diversion project (Goodman, 1984; p.133)

• Disturbs natural state of an area. It changes land areas to water areas, also changes wild rivers to controlled rivers.

• Modifies stream flows downstream of reservoir; reduces flood peaks; reduces or raises minimum flows; may introduce abnormal and variableflows, such as the flows from penstocks during peak demand hours for power which can raise the water level by several feet downstream in a short period.

• Changes physical, chemical and bacteriological characteristics of water down-stream. Also, the groundwater level increases.

Reservoir Operations: An Overview 1

Page 9: Application of Goal Programming

• Modifies types and quantities of fish and wildlife production.

• Alters erosion, sediment production, navigation pattern in the downstream channel and could lead to erosion of banks.

• Alters population and economic, social and political life of the area with associ-ated environmental impacts.

Like most water resources systems, the water storage systems involve the following

three subproblems: (1) Planning (2) Design and (3) Operations. Planning involves es-

timating engineering and economic objectives of a system which depend on the fol-

lowing data (Goodman, 1984; pp. 143-148) :

• Economic data showing the population distribution and the main occupation(s)

of the people in the region.

This factor determines whether a project will be useful to the people of a region

or not. Although this is the primary reason for building water storage facilities

other pertinent questions like environmental impact downstream of the storage

facility should be considered. The final decision should be made with regard to

the total economic and environmental impact of the project.

• Streamflow data showing all the relevant rainfall, runoff data pertaining to the

region.

This helps in determining the location and size of a water storage facility. The

rule curves which are plots of reservoir storage versus time are developed on the

basis of historically recorded low flows.

• Geographical maps of the basin showing streams, topography, soils and

geologic formations.

Reservoir Operations: An Overview 2

Page 10: Application of Goal Programming

These maps are usually obtained from aerial photographs which are used for

agricultural soil classification and geologic interpretation. In addition satellite

photographs are also used to gain a perspective of the site. The dam site and the

material to build the dam are selected on the basis of the geology and climate

of a region. For example reinforced concrete arch dams are usually located in a

gorge, because of the best side support provided by hard rocks .

• Economic base projection determining the estimate of the future growth of the

population and the economy both in the near and long term future.

The forecasted population growth determines the increase in economic activity

for a particular region. In accordance with this economic base projection water

requirements for domestic and industrial use, irrigation, navigation, power, flood

control can be predicted.

Finally the above projections are combined into a development plan. Usually com-

parisons are made among the various alternative sites that a planner has in mind

(Goodman, 1984; p.130). An alternative must pass five feasibility tests namely engi-

neering, economic, financial, political and social. Engineering feasibility is ascer-

tained through design analysis which include structural stability, adequacy of

foundations, sources and amounts of construction material. Economic and other·

feasibilities are contingent on engineering feasibility because a project incapable of

producing the desired output is not going to produce the benefits needed for its jus-

tification from a purely economic standpoint. The alternatives are in general evalu-

ated in terms of benefit and cost which are defined in the sequel. Since all the

alternatives do not yield similar types of benefits, it is not always possible to evaluate

Reservoir Operations: An Overview 3

Page 11: Application of Goal Programming

,-

these alternatives on an equitable basis. According to James and Lee (1971; pp.

165-168), these benefits and costs may be listed as

1. Primary Benefits are the benefits which accrue from the physical effects of the

project on the user.

• Direct benefits include, reduction in physical damage to items coming iri

contact with flood water, increase in farm income resulting from application

of i:"rigation water, the value consumers received from the use of electric

power, and savings in transportation costs for goods moved by navigation.

• Land enhancement benefits which result when a more productive land use

is made possible by a reliable water supply and could be distinguished from

direct benefits to the land use. For example, land enhancement benefits

equal the net crop income from the higher value crop with flood protection

less the net crop income from lower value crops with flood protection.

• Indirect benefits result as individuals realize the economic consequences of

technological external effects. In other words output intended for one pur-

pose ( low flow augmentation ) may achieve other beneficial effects ( navi-

gation ).

2. Secondary benefits denote the value added to activities influenced by the

project through economic rather than technological linkages. These include :

• Secondary benefits resulting from forward production linkages that increase

the net income of those who process project output. This is called the net

Reservoir Operations: An Overview 4

Page 12: Application of Goal Programming

stemming-from benefit which is the income from processing project output

minus the sum of the income which would be obtained from processing out-

put displaced by the project and output which would have been obtained from

an an alternate investment by using the money spent on the project.

• Benefits which may result from increases in the net income of those who

provide goods and services to the project area. Cotton produced by an irri-

gation project will require the purchase of farm machinery, fertilizer which

will set up a chain reaction of economic activity. This is usually called the

induced by benefits.

• Employment benefits denote the economic value gained from the increased

employment opportunity from new jobs created to construct, maintain or op-

ernte the project.

• Public benefits are realized in achievement of goals other than economic

efficiency.The construction of water storage facilities leads to a dependable

water supply which in turn enables farmers to rotate crops and thereby re-

ducing the variability of annual income of farmers who are served by that

particular project. Economically backward regions are usually uplifted by

water supply projects which can enhance industrial as well as agricultural

production of a region. As for an example, the Rajasthan Canal in western

India has transformed a desert region into a region of vast agricultural land.

• Intangible benefits are the benefits which cannot be measured in terms of

monetary units. These include the effects on human beings physically,

through loss of health or life, which cannot be measured in terms of monetary

Reservoir Operations: An Overview 5

Page 13: Application of Goal Programming

units. Similarly the loss of flora and fauna cannot be measured in terms of

monetary units. As for an example, the silent valley project in southern India

has .potentials of eradicating rare species of flora and fauna by construction

of a large dam.

The costs included in the calculation of benefit - cost ratio are :

• The project installation costs which include cost of construction, engineering

and administration and right of way costs and the cost of relocating facilities.

Cost of construction is the payment made to the contracting agency. Engineering

and administration costs is the amount paid to the consulting agency for doing

engineering analysis and inspecting construction sites. Right of way cost is the

opportunity cost of using the land required for project installation and mainte-

nance. The cost of relocating facilities is the amount required to move or modify

bridges, roads, railroads located on the project right of way.

• After installation, the project has continuing costs of operation, maintenance, and

replacement and other activities required to produce project output on a contin-

uing bc.isis. Operation includes the opening and closing of gates, overseeing hy-

droelectric plants, purchasing power for pumping. Maintenance includes

preventive maintenance to reduce anticipated breakdowns and repairs.

• Associated costs include the investment necessary to utilize project output. In-

duced costs are evaluated from an analysis of the nature and severity of partic-

ular adverse consequences. They should be evaluated as the smaller of the

value of the inflicted damage or the cost of damage prevention measures.

Reservoir Operations: An Overview 6

Page 14: Application of Goal Programming

The traditional design of reservoir systems involve mainly the structural and

earthwork design. The usual storage structures are dams and reservoirs. The type

of dam selected for a project depends on site conditions, hydraulic conditions and

climatic effects. Stability and stress analyses are performed to ensure the safety of

dams (Morris and Wiggert, 1971; pp. 228-253). The operations procedure involves the

determination of storage levels and water releases from reservoirs based on the

given capacity, safe releases and hydraulic constraints. A long term release policy

is important in meeting the irrigation, domestic, industrial, hydropower, recreational,

navigational, instream flow and water quality demands. Such a release policy is im-

portant for a smooth operation, especially in view of the fluctuating natural

streamflows. Day to day real time operations of a reservoir involves short term

forecasts of precipitation and/or stream flows. Such an ability is extremely important

in the operation of spillway gates in flood situations. Short term forecasts of

streamflows also help in the conjunctive operation of navigational locks and diversion

of flows to penstocks for power production.

It is the operation of these water storage facilities of particular concern in this study.

The conventional operation of reservoirs primarily depends on a rule curve which is

a graph of reservoir storage versus time. A procedure for the development of a rule

curve is discussed in the section on regulation of reservoirs. Subsequently it is

shown how mathematical programming offers another avenue for development of

reservoir regulation procedures. This section also provides comments on some of

the limitations of rule curves.

Reservoir Operations: An Overview 7

Page 15: Application of Goal Programming

1.2 Regulation of Reservoirs

1.2.1 Rule Curves

The conventional method of operating a reservoir on a day to day basis is with the

help of a rule curve. Rule curves are diagrams indicating storage requirements over

a time period. For a simple rule curve, consider the supply and demand curves

drawn on the same scale. Then the deficit at any time represents the amount of re-

lease from a reservoir and determines the amount of storage that should be main-

tained at that time. Figure 1 shows such a rule curve.

Referring to Figure 1, let the reservoir be used for water supply purposes. During

normal periods of river flow, the reservoir will be maintained at the normal pool level.

In general, the zone above the normal pool level is maintained for flood control. The

place between the normal and dead storage zones is called the active zone. Water

from the active zone is released based on the available volume and the expected in-

flows by using a rule curve. The maximum pool level may be maintained as long

as inflow does not exceed flood magnitude. Whenev_er inflow falls below the specified

yield, water is released to cover the deficiency. Referring to Figure 1, if the mass

curve of outlet release is shifted upwards, so that it becomes tangent to the mass

curve at a point where the reservoir is assumed to be full, then the difference be-

tween two curves yields the storage or deficit at that time depending upon whether

the outflow curve lies below or above the inflow curve, By plotting these differences

as shown in Figure 1-d, one obtains a rule curve.

This rule curve is designed to ensure that there will be adequate storage capacity

available to accommodate the design flood. This procedure can be applied for several

Reservoir Operations: An Overview 8

Page 16: Application of Goal Programming

Maximum

Normal pool levei

Dead storage level

(a)

:;:: 0

u..

:: 0

"C ... "' :J E :J u u c{

(b)

(di

Figure 1. Development of a Rule Curve ( Kuiper, 1965)

Reservoir Operations: An Overview

I

Required vol.ume of flood storage at the designated time

I I I

9

Page 17: Application of Goal Programming

alternative demand curves, and the corresponding rule curves can be generated. An

enveloping curve below these different curves will become th.e operating rule curve

for the system. Since these set of rule curves are based on historically recorded

flows, there is always a chance of encountering lower than recorded reservoir inflows

which can lead to empty reservoirs. On the other hand, if reservoirs. are operated at

a safe distance away from the rule curve there is a risk of filling the reservoir too

early and spilling the excess water. Additional details regarding rule curves can be

obtained from Kuiper ( 1965 ). ·

The problem of regulating reservoirs by means of rule curves becomes complicated

when there are severaJ reservoirs in the basin. Also, each one's operation must be

coordinated effectively with others to maximize the benefits of the entire system.

Morris and Wiggert ( 1971, pp. 420-425) have suggested that in case of an excess of

unregulated inflow into a system of reservoirs in series, the upstream reservoir may . . . .

be filled first, further surpluses may be discharged into the downstream reservoirs.

Similarly in the case of a deficiency, downstream reservoirs release water first and

then the subsequent release by upstream reservoirs~ Such a procedure may not

guarantee an optimum operation schedule because of its empirical nature.

1.2.2 Mathematical Programming

Mathematical programming techniques readily accommodate system constraints like

minimum storage, limited channel capacities and instream flow needs and guarantee

an optimal operating policy. Moreover, these techniques unlike the cumbersome

graphical rule curve procedures are analytical and therefore readily available for

theoretical analysis and very efficient standard computer programs can be used to

Reservoir Operations: An Overview 10

Page 18: Application of Goal Programming

the best advantage. A comprehensive review of various optimization procedures with

regard to reservoir operations is provided by Yeh (1985);

There is a fundamental distinction between an optimization model intended for plan-

ning and the one intended for day to day real time operations. The distinction lies

basically in two factors, namely (1) the objective function, and (2) the type of

hydrologic data used (Datta and Houck, 1984). Long term planning should incorporate

historical seasonal hydrologic data of considerable length and should incorporate

long term benefit functions. In long term planning, the capacities of reservoirs and

other facilities, and the allocations of water for seasonal use are considered to be the

decision variables. On the other hand, short term operation involves decisions for

implementation by a reservoir operator for an existing reservoir with known capacity.

These releases are chosen in order to meet immediate needs and the time span is

only a few days. Such an analysis is necessary to evaluate the performance of a

system under quickly changing demands and inflows characteristic of real time op-

erations. A real time operation model is particularly Important in flood control and

typically incorporates a flow forecasting model. The following guidelines are sug-

gested by Yazicigil et al.(1983) for real time operations:

1. The model should be built with all actual system constraints reflecting operator's

decision and monitoring process.

2; Inputs to the model should be updated at each time step, in accordance with

changing hydrologic condition.

3. The model should be flexible enough to allow the operation of the system to be

examined for a variety of operational policies.

Reservoir Operations: An Overview 11

Page 19: Application of Goal Programming

The term 'maximization of benefits' can be replaced by 'minimization of penalty',

provided a penalty is imposed on quantities such as reach routed flows, and reservoir

storage levels when they deviate from targets as dictated by the system demands.

Such a procedure also overcomes the difficulty in estimating the costs involved.

Because of the random nature of hydrologic inputs, the flows and storages will nee-

essarily deviate from the targets. In general, a deviation from the target is damaging

because excessive drawdown will disturb the recreational facilities, and may harm

aquatic species downstream. A rapid decrease can also lead to bank sloughing and

sediment problems whereas a rapid increase can endanger life and property. How-

ever, it mu~t be noted that these targets fixed by a decision maker are not very pre-

cise, and therefore some leeway should be allowed (Yazicigil, 1983). Also, these

targets are in general determined on a seasonal basis from a long term benefit point

of view which may not be valid for short term operations. Based on the above dis-

cussion a reservoir operating problem may be stated as :

Minimize

Deviations from targeted flows and storages

subject to

1. Reservoir continuity equations.

2. Reach routing equations.

3. Storages in the reservoir, releases from reservoir and the routed flows should be within permissible bounds.

The basic mathematical programming model for a single reservoir, single reach ,real

time reservoir operating model can be stated as (Figure 1)

Reservoir Operations: An Overview 12

Page 20: Application of Goal Programming

T

Minimize z =I [Z1(St+1). Z2COt+1)] t=1

subject to :

where:

for t = 2, ... , T

for t = 1, ... , T

S1+1 - Expected reservoir volume at the beginning of day t+ 1

Rt - Expected reservoir release during day t

Ot - Expected flow at the downstream control station during day t.

It - Forecasted reservoir inflow during day t.

Z1(S1+1) - Penalty function based on expected storage.

Reservoir Operations: An Overview

(1.1)

(1.2)

(1.3)

(1.4)

(1.5)

(1.6)

(1.7)

13

Page 21: Application of Goal Programming

Z2(Q1) - Penalty function based on expected downstream control station flow.

f(Rt) -Function representing the routi!lg equation between reservoir release and flow

at the downstream control station.

Smax• Smin - Maximum and Minimum value of the storage of the reservoir.

Rmax• Rmin - Maximum and Minimum value of the release from the reservoir.

T - Operating horizon of the reservoir under consideration (days). It indicates the

number of days into the future that will be included in the decision of the current op-

erations.

Eq.(1.1) represents the objective function which minimizes the sum of penalties over

a period equal to the operating horizon. Eqs.(1.2) and (1.3) represent the reservoir

continuity equations. It must be noted that St+1 and Rt are unknowns, but S1 is a

known boundary condition. It are given historical inflows or may be obtained from a

forecasting model. The discharge at the downstream control station at time t is pro-

vided by Eq.(1.4). The bounds on storages and releases of the reservoir are repres-

ented by Eqs.(1.5) and (1.6).

The above mentioned mathematical program can be solved as a linear program if (1)

the objective function is linear and (2) the constraints are linear. It is seen that the

continuity constraints are linear. If one chooses linear routing equations and a linear

objective function, then a valid linear program is obtained. The output of the above

mentioned linear program would be the reservoir releases Rt, the storage levels Sr,

and the routed flows Or· These releases will be used by an operator for day to day

Reservoir Operations: An Overview 14

Page 22: Application of Goal Programming

operations of a system. The combined forecasting-optimization model for a time pe-

riod of NDAYS involves the following steps :

1. Begin simulation, for N = 1, set initial storages, reach routing parameters, maxi-

mum and minimum storage parameters.

2. Forecast reservoir inflows,l,for next T days.

3. Run LP model .

4. Implement current days operation. Calculate penalties.

5. Store and print solution.

6. Let N = N + 1. If N < NDAYS, update historical flows and go to step 2, otherwise

stop.

Can et al.(1982) used a preemptive goal programming formulation to determine the

optimal operations of a reservoir system. In this approach a hierarchy of goals is ex-

pressed in terms of storages and flows. The goals are expressed such that they meet

a target value with an allowance for deviations. The goal programming model re-

quires information on these targets. The objective function is to minimize the devi-

ations from the targets obtained from the demands of the system. The major

disadvantage in using the preemptive goal programming algorithm, is to have priori-

ties for the objectives. These priorities are considered for optimization sequentially

until a stage is reached where subsequent satisfaction of a goal hurts previously

satisfied goals. In the sequel several alternative goal programming formulations are

considered. It is also shown that a multiobjective linear program encompasses these

. Reservoir Operations: An Overview 15

Page 23: Application of Goal Programming

r------------------~

I I I I I I I I

I,

P,

R,

L.._ __________ _

Figure 2. A single reservoir system

Reservoir Operations: An Overview

TF,

I I I I I I I I I ______ J

16

Page 24: Application of Goal Programming

formulations and yields nondominated points as solutions. Because there are se-

veral nondominated points, the decision maker has alternatives to choose from and

hence, gains more insight about the system performance.

1.3 Summary

In this chapter various aspects of planning, design and operations of water storage

systems have been reviewed. The reservoir operation problem is formulated as :

Given

Obtain

Forecasted inflows, forecasted precipitation, forecasted tributary inflows and

initial conditions.

Routed flows and reservoir releases and storages under the constraints im-

posed by the system.

The linear constraints of the system readily lead to a multiobjective linear program

or a goal programming formulation. In chapter 2 these techniques are examined.

Chapter 3 presents the formulation and application of these techniques to the opera-

tion of a reservoir ·system. Chapter 4 summarizes the conclusions reached from the

application.

Reservoir Operations: An Overview 17

Page 25: Application of Goal Programming

Chapter II

Goal Programming Formulations

2.1 Introduction

Decision makers are often faced with the task of obtaining solutions to a problem

which inherently involves non-commensurable and conflicting objectives. For exam-

ple the competing water uses in flood control and municipal water supply dictate

conflicting operating policies: one should keep the reservoir as empty as possible for

flood control purposes and as full as possible for water supply. The problem of de-

termining the optimal or best solution for a problem involving conflicting objectives

is very complex because of the following reasons :

1. Different criteria may be measured on different scales, such as costs (dollars),

quality of environment and other measures, say risk of flooding. In general it is

not possible to scale down all these units to a common scale of evaluation which

may aid in reducing the vector minimization problem to the one of scalar min-

imization.

Goal Programming Formulations 18

Page 26: Application of Goal Programming

2. Because multiple objectives are involved in a vector minimization problem, as-

sessing trade-offs among various objectives in a consistent manner becomes a

tedious problem which is even more complicated when multiple decision makers

are involved. Zeleny (1982) provides comprehensive coverage of multicriteria

decision making.

The ensuir;g discussion addresses the different aspects of multiobjective program-

ming and goal programming formulations.

2.2 Multiobjective Programming

A general multiobjective optimization problem with n decision variables, m con-

straints, and p objectives may be stated as

Problem (MOP)

Minimize Z(x) = { Z1(x), Z2(x), ............ , Zp(x)}

subject to: x e X

where:

Z(x) - p - dimensional objective function

x- n - dimensional vector of decision variables

X- Feasible Region

(2.1)

(2.2)

The phrase minimization of Z(x) lacks meaning because the set {Z(x) : x e X} lacks

a natural ordering whenever Z is vector valued. Hence without such ordering, given

two solutions y and s, both belonging to X, there may be no definite answer to

Goal Programming Formulations 19

Page 27: Application of Goal Programming

whether Z(y) is greater than, equal to or less than Z(s). In other words without having

information about preferences, the alternative solutions may be incomparable. The

word preference captures the subjectivity which is the characteristic feature of

multiobjective optimization problem (MOP). It is realized that a solution to an (MOP)

should be among the efficient points, provided an efficient point is defined as a sol-

ution vector such that there exists no other feasible solution which can improve upon

every objective function without hurting at least one. Mathematically with reference

to Eq.(2.1), x • is said to be an efficient solution of (MOP) ifthere exists no other fea-

sible x e X such that Zj(x) ~ Zj(x") for all j = 1, ... ,p with strict inequality holding for

at least one j. Any solution that is not efficient is defined as a dominated point.

There will ~e in general an infinite number of efficient solutions to an (MOP). There-

fore, a preference structure is essential for selection among these efficient solutions

to identify the most preferred solution which may be called the optimal solution to an

(MOP). Of particular interest in this thesis is the following problem (Pi)·

Problem (P ,)

Minimize

subject to : x e X

p

for I ..ti = 1 and ..ti > O i=1

Theorem 1 : ( Geoffrion, 1968; Benson and Morin, 1977)

(2.3)

(2.4)

Assume, Zi are linear for i = 1,2, ... ,p and Xis a linear constraint set. Then xO is effi-

cient in (MOP) if and only if xO is optimal in (Pi) for some ,.l with strictly positive

components.

Goal Programming Formulations 20

Page 28: Application of Goal Programming

Steuer(1979) has developed a computer program ADBASE which generates all the

efficient corner points for the linear (MOP). In the sequel the connection between

( P;.) and the various goal programming formulations is discussed.

2.3 Goal Programming

In goal programming the preference structure is completely prespecified so that

(MOP} reduces to a single objective optimization problem. The method essentially

seeks to minimize the differences between targets set forth by the decision maker

and the objective values as permitted by the feasibility restrictions. The notion of a

distance metric is an important concept in the development of the idea of minimum

distance from the best. The distance da. between two points say x and y with coordi-

nates (x1, ... , xp) and (y1, ... , Yp) is given by

(2.5)

In Euclidean geometry the distance corresponds to a= 2. It can be verified that as

a increases beyond 2, da. decreases approaching the largest component of differ-

ences. An ideal solution is defined as the solution which simultaneously optimizes

each objective function. This ideal solution is generally infeasible. If the value of the

ideal solution is denoted as {Zt , z2* , .•• , zp•} then the optimal solution to an (MOP)

may be defined as the solution that has the least distance from the ideal solution

(Zeleny, 1974). When a = 1, the minimization of the absolute deviation from the ideal

is obtained by solving the following problem.

Goal Programming Formulations 21

Page 29: Application of Goal Programming

p

=I: IZ1 * -Zi(x)I Minimize d1 i=1

subject to : xeX

When ix ~ oo, only the largest deviation matters, and thus the metric becomes

d = 00 max

i

And the equivalent problem is,

Minimize d = 00

subject to : x e X

max i

which is equivalent to

Minimize d00

subject to : x e X

d ~ lz.* -Z·(x)I oo I I

for i = 1,2, ........ ,p

for i = 1,2, ........ ,p

for i = 1,2, ........ ,p

(2.6)

(2.7)

(2.8)

(2.9)

(2.10)

(2.11)

(2.12)

(2.13)

In goal programming the metric with a= 1 is generally used, although other metrics

can be employed. In a goal program the achievement level or the target value Gi of

the objective function Zi is defined by the decision maker. The goal programming

model attempts to minimize the d1 distance from the goal. Mathematically it can be

stated as

Goal Programming Formulations 22

Page 30: Application of Goal Programming

p

Minimize d1 =LI G1 - Z1(x) I i=1

subject to : x e X

(2.14)

(2.15)

The absolute value objective function makes the problem nonlinear ; also X can be

made up of nonlinear constraints. However if X and Z; are linear and the weights of

dk's are nonnegative in a minimization objective then an equivalent linear program

can be stated as

p

Minimize I (dt + dj") (2.16) i=1

for i = 1,2, .... ,p (2.17)

xeX (2.18)

(2.19)

in which df, dj are called the deviational variables which provide for the deviation

of the ;th objective, Z; from the target value G; ; x is the decision vector . Goal pro-

gramming also allows the deviations to be weighted according to a priority P;, on an

objective. The j th objective is identified as higher priority objective over the k th

objective, by specifying a value of Pj such that Pj >Pk. A vector goal programming

problem to achieve the desired targets may be stated as

Problem (MOP1) :

Goal Programming Formulations 23

Page 31: Application of Goal Programming

Minimize Z = { df, d1, ... , d~, d~} (2.20)

subject to : for i = 1,2, .... ,p (2.21)

xeX (2.22)

(2.23)

In the sequel the relation between the vector goal pro.gram (MOP1) and other con-

ventional single objective goal programming formulations is studied. It will be shown

that the efficient corner points of (MOP1) qualify to be the optimal solutions of the

traditional single objective goal programming formulations.

2.4 Preemptive Goal Programming

A goal program with prioritized objective functions may be stated as

Problem (P1)

p

Minimize L Pi(dt + dj) (2.24) i=1

for i = 1,2, ..... ., p (2.25)

xeX (2.26)

(2.27)

Goal Programming Formulations 24

Page 32: Application of Goal Programming

Arthur and Ravindran (1978) considered preemptive priorities, which imply that

higher order priorities must be optimized befo're lower order goals can even be con-

sidered. That is, in preemptive goal programming Pi 's are not numerical weights

but hierarchical priorities assigned to different objectives or goals such that

P1 > > P2 > > P3 .•• >>Pp. It should be noted that Pi 's are never assigned any nu-

merical values. They simply indicate the order in which the various goals should be

considered. For a linear preemptive goal program the procedure consists of solving

a series of linear programming sub-problems by using the solution of the higher pri-

ority problem as the starting solution for the lower priority subproblem.

The partitioning algorithm (Arthur and Ravindran, 1978) begins by solving the sub-

problem s1 which is composed of the real constraints (feasible region X ) and those

goal constraints assigned to the highest priority P1 and the objective function made

up of the deviational variables for the highest priority goal. The optimal tableau for

this subproblem is then examined for alternate optimal solutions. If none exists then

the present solution is optimal and the algorithm substitutes the decision variables

into the lower level goal constraints to obtain their attainment levels. If an alternate

optimum exists then the next set of goal constraints and the corresponding

deviational terms to the objective function are appended to s1 so that the second

subproblem s2 is formed. The algorithm continues from one subproblem to another

as long as alternate optima are found. The algorithm is terminated when a unique

optimum is obtained for a subproblem or when all priorities have been exhausted .

It should be noted that in the partitioning algorithm, the consideration of successive

alternate optima at each stage Pj, disallows the very reasonable practice of trading

small degradation in a high priority objective for a large improvement in a low priority

objective.

Goal Programming Formulations 25

Page 33: Application of Goal Programming

As far as the daily reservoir operations is concerned, the goal programming model

doesn't re~uire detailed economic analysis to determine the cost coefficients of var-

iables in the objective function. The targets can in general be fixed, based on the

demands of the system. However, there is certain amount of fuzziness present in

these prefixed targets some leeway should be allowed in these targets. Based on the

above discussion the following points emerge : (i) relaxation of the preemptive pri-

ority concept, and (ii) consideration of' ranges ' in establishing the aspiration levels

or the targets.

2.5 Weighted Goal Programming

The drawback with regard to preempting the lower order goals can be overcome by

weighted goal programming which is

Problem (P2}

p

Minimize L(w(d( + wj""dj") (2.28) i=1

subject to: Zi(x) - d( + dj"" = Gi for i=1,2, ... ,p (2.29)

xeX (2.30)

(2.31)

in which wt, W/ are numerical weights assigned by the decision maker based on the

relative importance of various goals. The obvious difficulty is the selection of valid

Goal Programming Formulations 26

Page 34: Application of Goal Programming

weights. Once an appropriate selection of weights is made the above problem can

be solved using standard linear programming packages. The following theorem

provides a valuable relationship between problems (MOP1) and (P2).

Theorem 2

An optimal solution to the weighted goal programming problem P2 is an efficient

corner corner point solution to problem the vector goal programming problem

(MOP1).

Proof

First of all note that for any goal i, either d;+ or dj is positive but not both. Also,w/s

are positive. With the scaling factor L:w;+ + Wj, for i e K, where K is the set of indices K

for which the deviational variables d;+ or dj are positive, one can rewrite (P2) in the

form of (P ,.t). Therefore, from theorem 1, and the fact that problem (P2) is a linear

program, theorem 2 follows. The theorem is proved.

It is also noted there is a one to one correspondence between (P2) and (P1) , that is,

one could formulate preemptive goal program (P1) as a weighted goal program (P2)

( Sherali, 1982) and therefore theorem 2 is valid also for problem (P1).

2.6 Min-Max Goal Programming

Another commonly used method is the minimization of maximum error. This problem

may be stated as

Problem (P3)

Min (2.32)

subject to : Zi(x) - d( +di= G1 for i = 1,2, ......... ,p (2.33)

Goal Programming Formulations 27

Page 35: Application of Goal Programming

1 - + A> d· -d· - I I

xeX

- +, d· d· A ;?; Q I, I,

(2.34)

(2.35)

(2.36)

(2.37)

The above formulation is called the minimization of maximum error because, the op-

timal value of ,l is the maximum of d'f and dj.

Theorem 3

There existJ an efficient corner point solution in (MOP1) which is optimal to the min-

max goal program (P3) provided ,l is appended to the objective function of (MOP1)

and constraints (2.34) and (2.35) are appended to the constraints of (MOP1).

Proof:

Let xO be an optimal solution for (P3) but not an efficient for (MOP1). Then by defi-

nition of an efficient solution there exists an x1 e X such that

y~ s; yp for some i (2.38a)

and y~ s; yp for all j =F i (2.38b)

where: Y; = max {d'f, dj} with the fact at most only one of d'f or dj is positive. From

problem (P3) we have

(2.39)

Goal Programming Formulations 28

Page 36: Application of Goal Programming

In Eq.(2.39) if the inequality is strict, then the optimality of x0 leads to a contradiction,

implying xO must be efficient in (MOP1). If the inequality in Eq.(2.39) is satisfied as

an equation, then x1 is an alternate optimum to (P3). Since the problem (MOP1) and

(P3) are linear programs, and have the same feasible regions based on Theorem 1

such an efficient point should also be an efficient corner point.

2.7 Fuzzy Goal Programming

Fuzzy goal programming utilizes the concept of membership function which defines

degrees of belonging of various elements of a set. In conventional goal programming

problem, an objective function made up of deviational variables from the crisply

stated goals is minimized. In fuzzy goal programming the objective is to achieve all

goals ( in max min sense ) as permitted by the functional form of the membership

function. The fuzzy goals are related to the targets through a fuzzy decision D. Con-

sider a set of linear fuzzy goals, expressed as

Ax~b (2.40)

where : b is a vector of targets, A is a matrix of coefficients, and x is a vector of de-

cision variables. The symbol ' ~ ' is a 'fuzzifier' representing the imprecise fashion

in which goals are stated. Let (Ax); represent the i th equation of Ax, and b; is the i

th component of the right hand side vector or the target. The degree to which (Ax);

is close to b; can be represented by means of a fuzzy membership function which

attains a value of unity when (Ax);= b;, and zero when either (Ax);> b; + 11; or

(AX);< b; - a; where 111 and a; are prespecified deviations from the target b;. For

Goal Programming Formulations 29

Page 37: Application of Goal Programming

b; - '5; <(Ax);< b; +A;. the membership function for (Ax); denoted as µ;(Ax) assumes

values between zero and one, indicating the degree of closeness towards b;. That is

µi(Ax) = 1 if {Ax)i = bi

= f [ (Ax)i, bi] if bi - t5i < {Ax)i < bi +Ai {2.41)

= 0 if (Ax)i < bi - t5i or {Ax)i > bi +Ai for i = 1, ... , p {2.42)

The membership function for an element x belonging to a fuzzy set A is denoted by

µA(x). Let A be the intersection of two fuzzy sets B and C. Then µA(x) is defined as

µA(x) = min {µA(x), µ8(x)}. Therefore, if we have p fuzzy goals expressed as

[A ]pxn{X}nx1 ~ {b}px1, then {x:(Ax); ~ b;} may be denoted as the fuzzy set 8;, and the

set D = [ x: [A]{x} ~ {b}] denote the intersection of sets 81 n82 n ··· n 8p .

Therefore, the membership function µ0 (x) can be written as

µ0(x) = Min {µ8 (x), µ 8 (x), ... , µ8 (x)} 1 2 p

{2.43)

By definition of the membership function, higher the membership function value, the

element is closer to the target. Therefore, one would like to maximize µ0 (x), subject

to : x e X so that the resulting decisions will yield objective function values close to

the prespecified targets. It should be noted that such an approach will not differen-

tiate between two solutions in terms of the value of µ0 (x) in which one may yield ob-

jective values close to b/s in every i except for some bi which is binding for µ0 (x) and

the other r•1ay yield poor b; values, but may yield the same bi. Therefore, one might

say that the fuzzy goal programming concentrates on the worst goal and provides

little incentive for the remaining goals. The fuzzy goal programming formulation may

be difficult to solve in general. However if the goals, the constraints and the mem-

bership functions are linear, then the problem can be solved using the readily avail-·

Goal Programming Formulations 30

Page 38: Application of Goal Programming

able linear prcgramming packages. Consider the following symmetric piecewise

linear membership function

if (Ax)i < b' = bi - Ai (2.44a)

(2.44b)

b" - (Ax} µj(X) = A· I

I (2.44c)

if (Ax)i > b" = bi + Ai (2.44d)

where, A;'s are the subjectively chosen constants for deviations from the target b;.

The domain of positive values for the membership function is given in the interval

(b';. b";). Using the membership functions in Eq.(2.44) the fuzzy goal program may be

solved as

Max xeX

Max xeX

b"i - (AX)i Min "

j Uj

for i e 0 1 (2.45)

for i e D2 (2.46).

where : X = Feasible region of linear constraints , D1 = { i: b'; s;; (AX); s;; b;}. and

D2 = { i: b; s;; (AX)1 s;; b";}. Narasimhan (1980) suggested the following formulation for

the solution of expressions (2.45) and (2.46).

Problem P4

Max (2.47)

Goal Progra1:.ming Formulations 31

Page 39: Application of Goal Programming

subject to : (Ax} - b'· A::::;; I I

~i for i e D1 (2.48a)

for i e D1 (2.48b)

b"· - (Ax} A_ ::::;; I I

~i (2.49a) ·

(2.49b)

xeX (2.50)

Because there are two possibilities for each i namely, either i e D1 or i e D2 and for

p goals there are 2P different problems of the type (P4). Each such problem has 3p

goal constraints which are given by Eqs. (2.48) and (2.49).

Let A.*= max {A.;} for i = 1,2, ... , 2P which is the maximum of objective function

values for the 2P problems. Hannan (1981) formulated a single equivalent linear

program with 2p constraints and the same objective function value, A.*. Hannan's

formulation is given as

Problem (P5)

Max (2.51)

(Ax)i _ + bi subject to: -+ d1 -di =-

61 6i for i = 1,2, ... ,p (2.52a)

for i = 1,2, ... ,p (2.52b)

for i=1,2, ... ,p (2.52c)

Goal Programming Formulations 32

Page 40: Application of Goal Programming

xeX (2.53)

Another formulation of the fuzzy linear program is given by Zimmerman (1978).

Zimmerman uses maxima and minima of the various objective functions (as if they

were optimized individually) to choose the 6.; and ~;allowance factors in defining the

membership functions. However, such an approach removes the 'fuzziness' associ-

ated·with the targets. There can be more than one optimal solution to (P5). The fol-

lowing theorem proves the existence of an alternate optimum for the fuzzy goal

programming formulation of Hannan (P5) which is also efficient in (MOP1).

Theorem 4

There exists an efficient corner point solution to (MOP1) which solves the fuzzy goal

program (P5), provided A. in (2.51) is appended the objective function of (MOP1) and

the constraints (2.52a) and (2.52b) are appended to the constraints of (MOP1).

Let xO be an optimal solution to (P5) but not efficient in (MOP1). Therefore, by defi-

nition of an efficient solution there exists x1 such that

y~ ::::;; yp for some i (2.54)

(2.55)

where, Y; = max {df, dj} and at most only one of df _or dj is positive (Hannan,1981).

Therefore, from Eq.(2.52b)

(2.56)

Goal Programming Formulations 33

Page 41: Application of Goal Programming

From the expression (2.56) it follows that either xO has to be an efficient point in

(MOP1) or x1 is an alternate optimum to (PS). Because problem (PS) and (MOP1) are

linear programs, and have the same feasible regions and from theorem 1 such an

efficient point should also be an efficient corner point (MOP1) and the theorem is

proved.

The three major advantages of using the fuzzy subsets concept to formulate a goal

programming problem are : (i) the suggested methodology has the advantage of

dealing in a formal manner with imprecision in defining the targets. (ii) the solution

approach reduces to solving a single linear program for which computer packages

are readily available. (iii) the method doesn't require assignment of preferences for

the various objectives.

However there are some drawbacks associated with the fuzzy goal programming ap-

proach : (i) the form of the membership function is open to question. In fact one can

perceive the membership function as an alternative to weighting and subject it to

similar criticism; (ii) like any other methodology obtaining good information on the

aspiration levels and allowable degradation is vital to the credibility of results; poor

choice of targets may also lead to infeasibility of the problem, that is there may not

be a nonnegative .A. for the Hannan's formulation, namely problem (PS).

With regard to the reservoir operations , the targets are based on the demands of the

system which are fuzzy. Therefore, the decision maker would prefer to have some

leeway in his imprecisely defined targets. This aspect can be easily incorporated into

fuzzy goal programming and interval goal programming techniques.

Goal Programming Formulations 34

Page 42: Application of Goal Programming

2.8 Interval Goal Programming

This technique also addresses the desire to consider some flexibility in target values.

However, unlike the fuzzy goal programming approach where the objective function

value is forced to be as close to the particular values of the targets as possible, in-

terval goal programming attempts to keep the values of the objective functions to be

within prespecified lower and upper bounds of the target and does not focus .an par-

ticular vali.:ns of the target. The interval goal programming problem may be stated as

(lgnizio, 1976):

Problem (P6)

p

Minimize I( -- + +) . W· 1 d· 1 + W· 2d· 2· I, I, I, I,

i=1

subject to : Z·(x) + d:-1 - d:f°1 = L· I I, I, I

Z·(x) + d:-2 - d:f°2 = U· I I, I, I

xeX

where dfi • d[2 = negative deviations

dt1 , d~ = positive deviations

wt • W'/ = weighting factors

Lk = Lower bound for the target

Goal Programming Formulations

(2.57)

for i = 1,2, ... ,p (2.58)

for i = 1,2, ... ,p (2.59)

(2.60)

(2.61)

35

Page 43: Application of Goal Programming

Uk = Upper bound for the target

x - n-dimensional vector of decision variables

X - Feasible region

Z; - i th objective function

Problem (P6) minimizes the weighted sum of under achievements from lower bounds,

Lk and overachievements from the upper bound, Uk of the goal Zk.

A minor modification of the interval goal programming is the goal range programming_

which is formulated as (Gross and Talvage, 1979)

Problem (P7)

p

M lnlmlze l ( c1g1 + w( d( + wj dj) for i=1,2, ... ,p (2.62)

i=1

subject to (AX)i + dj - d~ = gi for i = 1,2, ... ,p (2.63)

(2.64)

xeX (2.65)

(2.66)

p The term L: c;g; is used to express preferences and tradeoffs concerning the goals.

i=1

Goal Programming Formulations 36

Page 44: Application of Goal Programming

2.9 Multiobjective linear programming (MOLP)

The theorems 2 through 4 imply that by generating the efficient corner points of a

multiobjective linear program (MOLP) the solutions to various goal programming

problems can be obtained. In the sequel, a solution procedure to MOLP is presented.

The multiobjective simplex (MS) procedure is an extension of the simplex method

used for single objective optimization. It is a method used for determination of all

nondominated corner points of a feasible region. In MS procedure there are p rows

of pricing operation instead of just one row of the single objective simplex procedure.

That is, there are p rows of zj - cj for j = 1, ... , n where cj represents the cost coeffi-

cient and zj is the inner product ( dot product) of the cost vector corresponding to the

basic variables and the coefficient vector corresponding to the variable xj in the

simplex tableau. The procedure for entering variables is modified as to obtain a

nondominated solution. The algorithm described by Steuer (1986) to obtain all ex-

treme points for problem (MOP2) and used in his computer program ADBASE (Steuer,

1979) is described as follows.

Problem (MOP2)

Maximize Z x

subject to : x e X

where:

Z - p x n matrix representing the objective function

x - n - dimensional vector of decision variables

X- Linear Feasible Region {x e Rn : Ax= b, x ~ 0, be Rm}

This problem has the following three phases.

Goal Programming Formulations

(2.66)

(2.67)

37

Page 45: Application of Goal Programming

Phase 1

This phase is primarily to obtain a basic feasible solution. Either the phase 1 of the

two phase simplex method or the Big M method could be employed to obtain the first

basic feasible solution. If the constraints are inconsistent, the procedure stops here.

Phase 2

This phase determines an initial efficient point foruse in phase 3 which generates

subsequent efficient corner points. There are several options in ADBASE for gener-

ating an initial efficient corner point. For the present discussion it suffices to mention

that ADBASE includes the option of using Problem (P,t) (see theorem 1) to generate

an initial efficient corner point.

Phase 3

This phase determines (i) whether a solution is nondominated or not, and (ii) whether

an entering variable will lead to a nondominated solution. Let Ca(pxm) represent the

basic colums of the matrix Z, CN the nonbasic columns, and N the nonbasic columns

of the constraint matrix A. Then, the matrix W determines the px(n-m) reduced cost

matrix given as W = CN - c8a-1N. Let xi be a nonbasic variable with respect to an

efficient basis 8. Then, all feasible pivots that can be made from xi entering column

are efficient pivots if the following equivalent subproblem has an optimal objective

function value of zero (Steuer, 1986; p.218 and p.233)

(2.68)

- Wy + wio + Iv = o (2.69)

(2.70)

o:::;;oeR (2.71)

Goal Programming Formulations 38

Page 46: Application of Goal Programming

where:

wj is the j-th column of W.

eT is vector of one's. e= {1, 1, ... ,1}

I is the identity matrix of dimension p

y - (n-m) dimensional vector

v - p dimensional vector

{J - a scalar

(2.72)

Therefore, with the aid of computer program ADBASE one can generate all efficient

corner points of (MOP2). The problem (MOP2) overcomes the criticisms related to

setting penalties and ·priorities in goal programs. In fact, it offers a broad solution

space for the decision maker to select his most preferred solution. However, the

number of corner points may be prohibitively large. In such instances one could use

single objective goal programs to provide guidance in selecting a suitable subset of

efficient points from the solution space generated by (MOP2). In the following section

goal programming application to reservoir operations is discussed.

2.10 Application of Goal Programming for Reservoir Operations

This section discusses the goal programming formulations of the reservoir operations

problem described in chapter 1. The first part describes the hydrau lie rules that must

be satisfied. These are called the real constraints . This is followed by the various

representations of objective functions accounting for different goal programming for-

Goal Programming Formulations 39

Page 47: Application of Goal Programming

mulations. A discussion of the present approach as compared to the previous goal

programming formulations (Yazicigil et al., 1983; Can et al., 1982) is also presented.

2.11 System Constraints

A linear feasible region can be represented as

X = { x: Ax= b, x e R", A(mxn) matrix, be Rm} (2.73)

It is shown that the reservoir operating conditions yield a linear feasible region. It is

noted that these constraints are formulated such that the unknown variables are on

the left hand side and the known quantities are on the right hand side. These con-

straints are :

1. Reservoir Continuity: The reservoir continuity equation is given as

dS . -=1-r dt (2.74)

where : I- inflow to the reservoir

r- release from the reservoir

S- storage in the reservoir

A finite difference approximation of the above equation is used, which is

(2.75)

where ii- predicted inflow to the reservoir during day t (cfs).

Goal Programming Formulations 40

Page 48: Application of Goal Programming

rt - release from the reservoir during day t (cfs).

St - storage in the reservoir at the beginning of day t (cfs-day).

~t = time difference (days)

Further for ~t = 1 day Eq.(2.75) becomes

(2.76)

in which : it and r1 are inflow volumes and outflow volumes respectively during the

unit ~t and not discharge values. By setting t= 1 in Eq.(2.77) it is obtained

(2.77)

From the continuity equation it can be seen that if we have an operating horizon of T

days there will be T equations of continuity.

2. Reach Continuity : Any linear reach routing model ( e.g. Muskingum method )

can be used to route the flow from the reservoir release point a downstream

control station. This routed flow is a function of (i) reach inflow which is the same

as reservoir release if the reservoir is located at the beginning of that reach (ii)

precipitation in the reach and (iii) tributary inflow. These tributary inflows and

precipitation should be forecasted over the operating horizon, so that they be-

come !<nown values in the routing equations.

3. Bounds on Releases: Releases from reservoirs cannot exceed the outlet capac-

ity of the reservoirs and cannot be negative. Furthermore minimum release re-

quirements may also exist such as low flow augmentation needs.

Goal Programming Formulations 41

Page 49: Application of Goal Programming

4. Bounds on Storages : Storage of reservoir cannot exceed its capacity and must

. be nonnegative. Also storage cannot be less than a specified minimum to main-

tain water quality standards, protect wildlife in deep waters and maintain suffi-

cient water for recreation.

5. Lower bounds on flows at downstream control points : These are imposed to

maintain fish and wildlife.

6. Non-negativity of variables : Suitable non-negativity restrictions should be im-

posed on decision variables.

Although the solution for the problem comprises optimal release, reservoir storages

and control station flows for all days over the entire operating horizon, only the cur-

rent day's releases should be implemented in actual operation. For the next day, the

problem should be resolved with the updated forecast information based on the ob-

served current day's flow.

2.12 Objective fu.nction

The objective is primarily to achieve targets set by the decision maker. This objec-

tive function can be expressed in more than one way which also depends on the type

of mathematical programming technique used. Yazicigil et al.(1980, 1983) used the

linear programming model to define the objective function. This was based on the

concept of reservoir zoning. Reservoir zoning divides the reservoir storage and

reach routed flow, into several zones. Any deviation from the target flow or storage

is penalized according to the penalty applicable to that zone. This penalty is in the

Goal Programming Formulations 42

Page 50: Application of Goal Programming

form of penalty functions defined over the zones of storage and flow which is a

piecewise linear convex function. The importance attached to a particular deviational

variable is indicated by the penalty associated with it. For example, if the penalty for

exceeding is the target is more than the penalty of falling short of the target, the

surplus variable (over achievement deviational variable, dt) associated with that goal

constraint is given more importance in the minimization. Can et al.(1982) used a

preemptive goal programming formulation, which did not use penalty functions in-

stead the deviations from the targets are minimized as dictated by the respective

priorities. For the case of several reservoirs and downstream control stations

Yazicigil (1983) adopted the equally weighted sum of objective functions of the indi-

vidual reservoirs and control stations as the overall objective function, whereas Can

et al.(1982) assigned priorities for the deviational variables in a preemptive sense.

It is readily observed that both the weighted and preemptive goal programs lead to

only one efficient point and offer no alternatives to the decision maker. The choice

of weights for the objectives is subjective. The preemptive concept may be unac-

ceptable if there are crucial objectives of competing nature say, flood control and

power production. The multiobjective formulation (MOP1) overcomes all these criti-

cisms except that there may be a large number of efficient solutions. As pointed out

earlier one may employ some of the single objective goal programs to get a " feel "

for these efficient points and a suitable selection could be made. The next chapter

provides an app,lication of these techniques.

Goal Programming Formulations 43

Page 51: Application of Goal Programming

Chapter Ill

Applications

In this chapter, goal programming procedures, namely (i) preemptive goal Program-

ming (P1), (ii) weighted goal programming (P2) (iii) minmax goal programming (P3)

(iv) fuzzy Goal Programming (PS) and (v) interval goal programming (P6 and P7) are

applied to an actual system of reservoirs. This system is located in the Green River

Basin in Ct?.ntral Kentucky (Can et al., 1982). For comparing the various formulations

the data provided by Can et al. (1982) have been used except for certain assumed

forecasted inflows. All the formulations have the same data set so that a meaningful

comparison can be made.

3.1 The Green River Basin

The Green River Basin (GRB) is a subbasin of the Ohio River Basin and lies largely

in West Central Kentucky. A system diagram for the modelling purposes is shown in

Figure 3. There are four reservoirs in the GRB, namely Green, Nolin, Barren and

Rough. The primary objective of the reservoir operation is flood control. The sec-

Applications 44

Page 52: Application of Goal Programming

Glen Horse Deen Branch

D Rough

Green Res.

1

3

9 Cal h!:lun

Figure 3. Systems Model for the Green River Basin

Applications 45

Page 53: Application of Goal Programming

ondary objective is low flow augmentation and water quality. The formulation of the

optimization model requires the use of (i) a reach routing model (ii) storage-elevation

curves, and (iii) a penalty function.

3.1.1 Routing Model of the Green River Basin

For modelling purposes, the Green ·River Basin between the four reservoir outlets

and the most downstream control station was divided into sections, each bounded

by existing flow gaging stations. The nine reaches and the contributing watershed for

inflow are a part of a of a larger system. The GRBS.YS1 model described by Yazicigil

(1980), is used as the reach routing model. The general form of the model is

where

K

Ot = L[(ICOEFklt_iJ + (TCOEFkTt-k) + (PCOEFkPt-k)] k=O

Qt - Estimated reach routing outflow during t ( cfs)

It - Measured reach inflow during day t ( cfs )

ICOEF - Coefficient for inflow

Tt - Meas_ured tributary flow during day t ( cfs)

TCOEF - Coefficients for tributary flow

Pt - Total precipitation for day t ( inch I area )

PCOEF - c.1efficients for precipitation ( cfs-area I inch)

K - Time lag used

Applications

(3.1)

46

Page 54: Application of Goal Programming

3.1.2 Storage Elevation Curves.

The storage elevation curve is required for determining the elevation of a reservoir

corresponding to a particular storage value. The general form of the storage ele-

vation curves for the reservoirs in the Green River Basin are expressed in the form

of polynomial equations and are given in Toebes et al.(1976) for each of the GRB

reservoirs. These have the general form

(4.2)

where

S - Reservoir storage ( acre-feet )

E - Reservoir elevation (feet above mean sea level )

am -m-th order polynomial coefficient

M - Maximum order of the polynomial equation

Polynomial coefficients, am, are estimated by a least squares criterion. Additional

details can be obtained from Toebes et al.(1976).

3.1.3 Penalty Function

A set of penalty weights for the reservoir storages and flows at the downstream

control stations has been provided by.the GRB reservoir regulation authority for the

previous optimization study of Yazicigil et al.(1980). The penalties are shown in Ta-

bles 1,2 and 3. It can be obseved that some· low flows are penalized heavily. This

means that it is not desirable to operate the reservoir system in these zones. The

Applications 47

Page 55: Application of Goal Programming

upper limits of these zones correspond to the minimum allowable flows for these

stations and most of them are satisfied due to the minimum release requirements.

3.2 Implementation of the method

In the present study, the real constraints of the system are set such that the reser-

voirs will operate between the spillway crest elevations and the suggested minimum

pool elevations. The same constraints are used in all goal programming procedures

to determine the solutions. The flows at the downstream control stations are targeted

to the upper limit of the first zone above target. As stated in Chapter 2, the~ 's in the

Fuzzy Goal Programming formulation, can be chosen arbitrarily. These values are

listed in Table 4. Operating horizons of 1,2 or 3 days can be chosen. However in a

real situation for an operating horizon of more than one day, the solution for the next

day only will be implemented. This is done so that the forecasts can be improved

by using the current day's observed flow for subsequent operating periods. There-

fore, it is seen that the optimization model should be solved everyday for the next

day's implementation, even though a larger operating horizon might be used.

The following notation is used :

R(i,j) - Release from reservoir i during day j (cfs)

S(i,j) - Storage volume of the reservoir i at the begining of day j (cfs-day)

l(i,j) - Inflow to reservoir i during day j (cfs)

Q(i,j) - Flow at control station k during day j (cfs)

TF(l,j)- Tributary flow at station I during day j (cfs)

P(m,j) - Precipitation for reach m during day j (cfs)

Applications 48

Page 56: Application of Goal Programming

i - ResArvioir i_ndex;

1. Green 2. Nolin 3. Barren 4. Rough

- Time index; t-2, t-1-past; t-current; t+ 1, t + 2 -future

k - Station Index

1. Greensburg 2. Munfordville 3. Brownsville 4. Bowling Green

5. Woodbury 6. Paradise 7. Fall of Rough 8. Dundee 9. Calhoun

- Tributary station index

1. Gresham 2. Alvaton 3. Glen Dean 4. Horse Branch

m - Reach index; m = 1,2, .... ,9

The values for the inflows, I, tributary flows, TF, and precipitation, P, are either known

or forecasted. For the decision variables storage, S, release,R, and routed flow ,Q,

only the past information is known. The storage at the begining of the current day is

known. Table 5 presents these values. Table 6 provides the expected rainfall values.

3.3 Real Constraints

1. Reservoir Continuities

An initial condition is required to start the simulation begining day t . This is

provided in the form of an initial storage level of the four reservoirs S(i,t). The

reservoir continuity equation is stated as

S(i,t+ 1) + R(i,t) = S(i,t) + l(i,t) i = 1,2,3,4

2. Reach Continuities

Applications 49

Page 57: Application of Goal Programming

Reach continuities are expressed using the GRBSYS1 parameters and are given

in Table 7. In these equations all the known quantities are written on the right

hand sides and the left hand side contain the unkown (decision) variables. The

general form of these equations is

K

Qt= I[(ICOEFklt-k) + (TCOEFkTt-k) + (PCo'EFkPt-k)] (4.1) k=O

3. Bounds on Reservoir Re/eases

150.0 s; R(1,j) ~ 6000.0 j = t,t + 1,t + 2

50.0 ~ R(2,j) ~ 1000.0 j = t,t + 1,t + 2

50.0 s; R(3,j) s; 4000.0 j = t,t + 1,t + 2

50.0 s; R(4,j) s; 2000.0 j = t,t + 1,t + 2

4. Bounds on Storages

55798 S S( 1,j) S 365203 j = t + 1,t + 2,t + 3

15934 s 5(2,j) s 307157 j = t + 1,t + 2,t + 3

22789 s 5(3,j) s 411173 j = t + 1,t + 2,t + 3

9723 s 5(4,j) ~ 168134 j = t + 1,t + 2,t + 3

5. Bounds on Control Station Flows

Applications 50

Page 58: Application of Goal Programming

Q(1,j) ~ 10000.0 j = t,t + 1,t + 2

Q(2,j) ~ 17000.0 j = t,t + 1,t + 2

Q(3,j) ~ 23000.0 j = t,t + 1,t + 2

60.0 ~ Q(4,j) ~ 14000.0 j = t,t + 1,t + 2

260.0 ~ Q(5,j) ~ 25000.0 j = t,t + 1,t + 2

280.0 ~ Q(6,j):::::;; 35000.0 j = t,t + 1,t + 2

Q(7 ,j) ~· 2000.0 j = t,t + 1,t + 2

Q(8,j) ~ 4000.0 j = t,t + 1,t + 2

320 ~ Q(9,j) ~ 40000.0 j = t,t + 1,t + 2

3.4 Goal Constraints

The goal constraints for all the formulations are presented in this section. In the fol-

lowing, the preemptive priorities and goal constraints are stated. The corresponding

fuzzy goal programming formulation can be derived from Table 4 which contains the

relevent values of L'.\'s. It should be noted that the order of priorities has been chosen

based on the criterion that the flows and storages which are penalized heavily are the

first to be minimized. By similar reasoning other priorities and goal constraints are

fixed. The goal constraints are (Can et al.1982):

Applications 51

Page 59: Application of Goal Programming

9 Priority 1 Minimize PR1 = 2: dt + dj

i=1

G1.S(4,t + 1) + d1-df=15063 G4.Q(5,t) + d,4 - dt = 17000

G2.S(4,t + 2) + d2 - dt = 15063 G5.Q(5,t + 1) + ds - dt = 17000

G3.S( 4,t + 3) + d3 - dt = 15063 G6.Q(5,t + 2) + de - dt = 17000

G7.Q(9,t) +di - dj = 31000

G8.Q(9,t + 1) + ds - dt = 31000

G9.Q(9,t + 2) + dg - dt = 31000

15 Priority 2 Minimize PR2 = 2: dt + dj

i=10

G10.S(1,t + 1) + d1Q- dfo = 82145

G11.S(1,t+2)+d1,-df1 =82145

G12.S(1,t + 3) + d12 - df2 = 82145

- . + G13.Q(2,t) + d13 - d13 = 12000

G14.Q(2,t + 1) + d14 - df4 = 12000

) - + G15.Q(2, + 2 + d15 - d1s = 12000

Priority 3 Minimize PR3 = d:fs + d19 + df7 + dfT + dts + d18

G16.Q(1,t) + d1s- dfa = 4000

G17.Q(1,t + 1) + d11 - df7 = 4000

G18.Q(1,t + 2) + d1s - dfs = 4000

Applications 52

Page 60: Application of Goal Programming

33 Priority 4 Minimize PR4 = 2: d( + dj

i=19

G19.Q(3,t) + d:j"g - dfs = 13000 G22.Q(4,t) + dn - dt2 = 6800

G20.Q(3,t + 1) + d2o - dto = 13000 G23.Q(4,t + 1) + d2°3 - dt3 = 6800

G21.Q(3,t + 2) + d21 - dt1 = 13000 G24.Q(4,t + 2) + d2°4 + dt4 = 6800

G25.Q(6,t) + d25 - dts = 26000 G28.Q(7 ,t) + d28 - dt8 = 1200

G26.Q(6,t + 1) + d26 - dt6 = 26000 G29.Q(7,t + 1) + d29 - dt9 = 1200

G27.Q(6,t + 2) + d21 - dt1=26000 G30.Q(6,t + 2) + d3o - dj0 = 1200

G31.Q(8,t) + d31 - dj1 = 2000

G32.Q(8,t + 1) + d3°2 - dj2 = 2000

G33.Q(8,t + 2) + d33 - dj3 = 2000

39 Priority 5 Minimize PR5 = I: d( + dj

i=34

G34.S(2,t + 1) + d34 - dt4 = 32180 G37.S(3,t + 1) + d31 - dj7 = 32621

G35.S(2,t + 2) + d35 - dts = 32180 ( - + G38.S 3,t + 2) + d38 - d38 = 32621

G36.S(1,t + 3) + d36 - dj6 = 32180 G39.S(3,t + 3) + d39 - dj9 = 32621

The model described above can accept forecasted data over a 3-day period. The time

horizon can be changed by adding or deleting constraints. The model assumes that

Applications 53

Page 61: Application of Goal Programming

the forecasts are perfect. All comparisons are made for an operating horizon of 1

day. All the goal programming formulations except for the vector goal program

MOP1, are solved using the commercially available linear programming package

LINDO. This computer package does not identify the alternate optima. The optimal

releases and reach routed flows for the current day, denoted as, R(i,t) and Q(i,t) re-

spectively, along with the optimal storage values at the end of the current day, de-

noted as S(i,t+ 1), are shown in Table 8 for the various goal programming

formulations. These are the releases an operator is supposed to release from the

reservoir for that day. The targets used in obtaining the optimal solutions are shown

in Table 9.

Both the weighted goal program(WGP), and the premptive goal program(PAGP) yield

efficient points as optimal solutions. The corresponding deviational variables are

shown in Table 10. The deviational variables corresponding to the interval goal

program(IGP) , and the goal range program(GRP) are also shown in Table 10. The

optimal solution for the minmax goal program(Min-Max) as shown in Table 8 is an

inefficient point. But by examining the efficient points generated by ADBASE for

(MOP1), an alternate optimum for the min-max goal program .which is efficient is

found. This alternate optimum is shown in Table 11 and the corresponding deviational

variables are shown in Table 12. Therefore, it is recommended that one should solve

(MOP1) first, for efficient solutions. The fuzzy goal pprogramming solution shown in

Table 8 is an efficient solution. If there are only a few efficient solutions, one may

stop there and make a subjective final selection. If there are a large number of effi-

cient solutions, then one may use other single objective goal programs for guidance

in the sele,:tion of a subset of efficient points.

Applications 54

Page 62: Application of Goal Programming

Table 1. Storage Penalties for Green and Nol in Reservoirs

GREEN RESERVOIR

ZONE PENALTY

Elevation Storage Pen-pts (ft) (cfs-day) (cfs-day)

724-734 482686-615943 1983.5

713-724 365203-482686 129.0

664-713 82145-365203 6.0

664 82145 Target

655-664 55798-82145 2.0

Datum-655 0-55798 400.0

NOLIN RESERVOIR

ZONE PENALTY

Elevation Storage Pen-pts (ft) (cfs-day) (cfs-day)

570-580 387007-480984 1983.5

560-470 307157-387007 129.0

490-560 32180-307157 4.0

490 32180 Target

476-490 15934-32180 4.0

Datum-476 0-15934 400.0

55

Page 63: Application of Goal Programming

Table 2. Storage Penalties for Barren and Rough Reservoirs

BARREN RESERVOIR

ZONE PENALTY

Elevation Storage Pen-Pts (ft) (cfs-day) (cfs-day)

608-618 625938-775974 1983.5

590-608 411173-625938 129.0

525-590 32621-411173 4.0

590 32621 Target

520-525 22789-32621 4.0

Datum-520 0-22789 400.0

ROUGH RESERVOIR

ZONE PENALTY

Elevation Storage Pen-Pts (ft) (cfs-day) (cfs-day)

544-554 290561-369716 1983.5

524-544 168134-290561 129.0

470-524 15063-168134 8.0

470 15063 Target

465-470 9723-15063 4.0

Datum-465 0-9723 400.0

56

Page 64: Application of Goal Programming

Table 3. Flow Penalties

Flow Zones and Control Stations

Penalty Functions Greensburg Munfordville Brownsville

Third Zone ( cfs ) 10000-.. 17000-... 23000-... Above Target (Pen-pts/cfs) 15 11 9

Second Zone ( cfs ) 4000-10000. 12000-17000 13000-23000 Above Target (Pen-pts/cfs) 5 6 4

First Zone ( cfs) 2000-4000. 6000-12000 7000-13000 Above Target (Pen-pts/cfs) 1 1 1

Target Flow { cfs) 2000 6000 7000

First Zone ( cfs ) 25-2000. 45-6000 95-7000 Below Target (Pen-pts/cfs) 0 0 0

Second Zone ( cfs ) 0-25 0-45 0-95 Below Target (Pen-Pts/cfs) 100 100 100

Flow Zones and Control Stations

Penalty Functions Bowling Green Woodbury Paradise

Third Zone ( cfs ) 14000-.. 25000-... 35000-... Above Target (Pen-Pts/cfs) 19 23 19

Second Zone ( cfs ) 6800-14000. 17000-25000 26000-35000 Above Target (Pen-pts/cfs) 1 8 4

First Zone { cfs ) 3400-6800. 8500-17000 13000-26000 Above Target (Pen-pts/cfs) 1 1 1

Target Flow ( cfs ) 3400 8500 13000

First Zone ( cfs ) 60-3400. 260-8500 280-13000 Below Target (Pen-pts/cfs) 0 0 0

Second Zone { cfs ) 0-60 0-260 0-280 Below Target (Pen-Pts/cfs) 250 250 250

57

Page 65: Application of Goal Programming

Table 3. (continued)

Flow Zones and Control Stations

Penalty Functions Falls of Rough Dundee Calhoun

Third Zone ( cfs ) 2000-... 4000-... 40000-... Above Target (Pen-Pts/cfs) 14 14 24

Second Zone ( cfs) 1200-2000. 2000-4000 31000-40000 Above Target (Pen-Pts/cfs) 4 4 9

First Zone ( cfs ) 600-1200 1000-2000 15000-31000 Above Target (Pen-Pls/cfs) 1 1 1

Target Flow ( cfs) 600 1000 31000

First Zone ( cfs ) 5-600. 10-1000 320-15000 Below Target (Pen-Pts/cfs) 0 0 0

Second Zone ( cfs ) 0-5 0-10 0-320 Below Target (Pen-Pts/cfs) 100 250 250

58

Page 66: Application of Goal Programming

Table 4. Deviation Parameters for Fuzzy Goal Program

i 6.;

1 to 3 8000 cfs-day

4 to 6 8500 cfs

7 to 9 10000 cfs

10 to 12 10000 cfs-day

13 to 15 6000 cfs

16 to 18 2000 cfs

19 to 21 6000 cfs

22 to 24 3400 cfs

25 to 27 13000 cfs-day

28 to 30 600 cfs

31 to 33 400 cfs

34 to 36 10000 cfs-day

37 to 39 6000 cfs-day

59

Page 67: Application of Goal Programming

Table 5. Input Parameters

'Days 1.;3-1981 1-4-1981 1-5 .. 1981 1-6-1981 1-7-1981

(j =t-2) ( i::t-1 ) ( j =t) ( j=t+1) j=t+2) 5(1,j) 83306.7 83306.7 83274.3 5(2,jj 32238.9 32209.6 32209.6 5(3,j) 32776.4 32776.4 32776.4 $(4,j) 16047.5 15344.9 15156.9 R(1,j) 70.0 70.0 R(2,j) 130.0 130.0 R(3,j) 270.0 270.0 R(4,j) 650.0 170.0 1(1,j) 70.0 35.0 70;0 36.0 36.0 1(2,j) 101.0 30.0 86.0 57.0 130.0 1(3,j) 270.0 270.0 . 248.0 230;0 242.0 1(4,j) 0.0 0.0 59.0 25.0 59.0 TF(1,j) 32.0 30.0 29.0 23.0 20.0 TF(2,j) 30.0 35.0 40.0 40.0 20.0 TF(3,j) 1.0 1.0 2;0 2.0 1.0 TF(4,j) 8.0 9.0 10.0 10.0 5.0 Q(1,j) 76.0 76.0 Q(2,j) 263.0 256.0 Q(3,j) 422;0 406.0 Q(4,j) 232.0 222.0 Q(5,j) 817.0 794.0 Q(6,j) 1028.0 1000~0 Q(7,j) 694.0 72.0 Q(8,j) 787.0 . 1820.0 Q(9,j) 0.0 0.0

.60

Page 68: Application of Goal Programming

Table 6. Expected Rain (1-5-81)

Reach Average Rain Area Total Rain ( inches ) (sq miles) ( cfs )

1 0.05 54 77.5

2 0.05 672 924.5

3 0.08 382 844.5

4 0.06 430 693.7

5 0.10 793 2132.3

6 0.10 779 2094.5

7 0.10 29.9 80.4

8 0.10 129 346.9

9 0.15 625 2520.8 .

61

Page 69: Application of Goal Programming

Table 7, Reach Routing Equations (Can et al., 1982)

R Constraint

Q(1,t)- .5182 R(1,t) = .4818R(1,t-1) + .3485 P(1,t) + .2325 P(1,t-1)

1 Q(1,t)- .5182 R(1,t+1)- .4818 R(1,t) = .3485 P(1,t+1) + .2325 P(1,t)

Q(1,t+2) - .5182 R(1,t+2)- .4818R(1,t) = .3485 P(1,t+2) + .2325 P(1,t+1)

Q(2,t)= .9301 Q(1,t-1) + .0699 Q(1,t-2) + .3931 TF(1,t) + .6069 TF(1, t-1) + .2135 P(2, t-1) + .2016 P(2,t-2)

2 Q(2,t+1)- .9301 Q(1,t) - .0699 0(1,t+1) = .3931TF(1,t+1)+0.6069 TF(1,t) + .2135 P(2,t) + .2016 P(2,t-2)

Q(2,t+2)- .9301 0(1,t+1)- .0699 Q(1,t) = .3931 TF(1,t+2) + .6069 P(2,t+1)+.2016 P(2,t)

0(3,t) - .1118 0(2,t)- .7271 R(2,t) = .8882 0(2,t-1) + .2729 R(2,t-1) + .2108 P(3,t) + .2735 P(3,t-1)

3 Q(3,t+1) - .1118 0(2,t+1)- .7271 R(2,t+1) - .8882 Q(2,t)- .2729 R(2,t) = .2108 P(3,t+1) + .2735 P{3,t)

0(3,t+2) - .1118 0(2,t+2)- .7271 R(2,t+2) - .8882 0(2,t+1) - .2729R(2,t+1) = .2108 P(3,t+2) + .2735 P(3,t+1)

Q(4,t) = R(3,t-1) + .3186•TF(2,t) + .6814 TF(2,t-1) + .1309P(4,t-1) + .1237 P(4, t-2)

4 Q(4,t + 1) - R(3,t) = .3186TF(2,t+1) + .6814 TF(2,t) + .1309 P(4,t) + .1237 P(4, t-1)

Q(4,t+2)- R(3,t+1) = .3186 TF(2,t+2) + .6814 TF(2,t+1) + .1309 P(4,t+1)+ .1237 P(4, t-1)

0(5,t) -0.0351 0(3,t) - .0269 0(4,t) = .9649 0(3,t-1) + .9731 0(4,t-1) + .2624 P(5,t) + .3235 P(5, t-1)

Q(5,t + 1) -0.0351 Q(3,t + 1) - .02690(4,t+1) - .9649 0(3,t) + .9731 Q(4,t) = .2624 P(5,t + 1) + .3235 P(5,1)

5 Q(5,t+2)-0.0351 Q(3,t+2)- .0269 Q(4,t+2)- .9649 Q(3,t+1) + .9731 Q(4,t+1) = .2624 P(5,t+2)+ .3235 P(5,t+1)

Page 70: Application of Goal Programming

Table 7. (continued)

R Constraint

Q(6,t) - 0.0787 Q(5,t) = .9213 Q(5,t-1) + .2114 P(6,t-1) + .0921 P(6,t-2)

6 Q(6,t + 1) .. 0.0787Q(5,t+1) - .9213 Q(5,t) = .2114 P(6,t) + .0921 P(6; t-1)

Q(6,t + 2) - 0.0787Q(5,t + 2) • .9213Q(5,t+1) = .2114 P{6,t + 1) + .0921 P(6,t)

Q(7,t) = 0.7632 R(4,t) = .2368 R(4,t-1) + TF(3,t) + .3788P(7,t) + .1097 P(7,t•1)

7 Q(7,t+1) - .7632 R(4,t+1) - .2368 R(4,t) = TF(3,t+1) + .3788P(7,t+1) + .1097 P(7,t)

Q(7,t+2) - .7632 R(4,t+2) - .2368 R(4,t+1) = TF(3,t+2) + .3788P(7,t+2) + .1097 P(7,t+1)

0(8,t) - .2993 Q(7,t) = .5840 Q(7,t-1) + .1166 Q(7,t-1) + .8307TF(4,t-1) + .. 2621 P(8,t) + .2277 P(8,t-1)

+ .1693 TF(4,t)

8 Q(8,t+1) - .2993 Q(7,t+1)- .5840Q(7,t) = .1166 Q(7,t-1) + .8307TF(4,t) + .2621 P(8,t+1) + .2277 P(8,t)

+ .1693 TF(4,t+1)

0(8,t + 2) - .2993 Q(7,t + 2) - .5840Q(7,t+1) - .1166 0(7,t) = .8307TF(4,t) + .2621 P(8.t + 1) + .2277 P(8.t)

+ .1693 TF(4,t+2)

9 Q(9,t) - .2882 Q(6,t) - .6766 Q(8,t) = .7118 Q(6,t-1) + .32340(8,t-1) + .1275 P(9,t) + .1341 P(9,t-1)

Q(9,t+1) - .2882 Q(6,t+1) - .6766 Q(8,t+1) - .7118 Q(6,t) + .32340(8,t) = .1275 P(9,t+1) + .1341 P(9,t)

Q(9,t+2) - .2882 Q(6,t+2) - .6766 Q(8,t+2) - .7118 Q(6,t+1) + .32340(8,t+1) = .1275 P(9.t+2) + .1341 P(9,t+1)

Page 71: Application of Goal Programming

Table 8. Optimal Solutions

PAGP WGP Min-Max FGP IGP GRP

S(1,t+1) 82145 82145 77344.25 77525.31 77344.25 77344.25

S(2,t + 1) 31295 32180 31295.6 32245.6 32245.60 31295.6

S(3,t + 1) 32621 32621 29024.4 29868.48 32974.39 29024.4

S(4,t + 1) 15063 15063 15131.9 15131.89 14342.85 15131.9

R(1,t) 1199.3 1199.3 6000.0 5818.88 50.0 6000.0

R(2,t) 1000.0 115.59 1000.0 3155.90 50.0 1000.0

R(3,t) 403.4 403.39 4000.0 50.0 50.0 4000.0

R(4,t) 118.9 118.89 50.0 50.0 839.30 50.0

Q(1,t) 682.21 682.18 3169.92 3076.08 3169.92 3169.92

Q(2,t) 9209.81 9209.80 9209.80 9209.80 9209.80 9209.80

Q(3,t) 10898.76 10255.70 10898.75 10208.00 10208.00 10898.7

0(4,t) 5231.43 5231.42 5231.42 5231.42 5231.42 5231.43

Q(S,t) 15973.4 16950.82 16973.39 16949.14 16949.14 16973.4

Q(6,t) 19976.43 19974.65 19976.42 19974.52 19974.02 19976.4

Q(7,t) 1250.18 1250.18 1197.59 1197.6 1800.0 1197.6

Q(8,t) 2200 2200.41 2184.68 2184.68 2354.97 2184.58

Q(9,t) 25391.50 25390.98 26380.85 25380.29 25502.14 26380.8

64

Page 72: Application of Goal Programming

Table 9. Targets

Variable Target

s {1,t+ 1) 82145

s (2,t + 1) 32180

s (3,t+1) 32621

S(4,t+1) 15063

Q (1,t) 4000

Q (2,t) 12000

Q (3,t) 13000

Q (4,t) 6800

Q (5,t) 17000

Q (6,t) 26000

Q (7,t) 1200

Q (8,t) 2000

Q (9,t) 31000

65

Page 73: Application of Goal Programming

Table 10. Deviation from Targets

Deviation a I PAGP WGP IGP GRP variable

dt a.a a.o a.a a.a

d; a.a o.a na.15 68.9

dt a.o o.a a.a a.a

d; 26.60 49.18 50.86 5a.86

d{ a.o 0.0 0.0 a.o

d1 4608.5 4609.0 4497.86 4619.2

d:to 0.0 0.0 0.0 0.0

d1rJ o.a 0.0 4800.75 4800.75

dt°3 o.a 0.0 0.0 0.0

d1-J 2790.18 2790.18 2790.19 2790.19

dt& a.o 0.0 0.0 0.0

d:;s 3317.79 3317.82 830.08 830.08

dts 0.0 a.o o.a 0.0

d:;g 2101.24 2101.3a 2792.0 2101.3

dti_ 0.0 0.0 0.0 0.0

diz. 1568.58 1568.58 1568.58 1568.58

dis a.o 0.0 13.72 0.0

dis 6023.57 6025.35 0.0 0.0

d{a 50.18 50.18 600.0 597.6

dn 0.0 0.0 0.0 0.0

dt, 200.42 200.42 364.97 184.68

d31 0.0 0.0 o.a 0.0

dt,. 0.0 0.0 65.60 0.0

d-34 885.0 o.a 0.0 885.0

dt, 0.0 0.0 353.39 0.0

d;:, 0.0 0.0 0.0 0.0

66

Page 74: Application of Goal Programming

Table 11. Alternative Optimal Solutions .for Min-Max Formulation'

LINDO AD BASE S(1,t+ 1) 77344.25 77344.30

S(2,t + 1) 31295.6 31295.6

S(3,t+1) 29024.4 32621

S(4,t+1) 15131.9 15131.9

R(1,t) 6000.0 6000.0

R(2,t) 1000.0 1000.0

R(3,t) 4000.0 403.4

R(4,t) 50.0 50.0

0(1,t) 3169.92 3169.92

0(2,t) 9209.81 9209.80

0(3,t) 10898.75 10898.75

0(4,t) 5231.43 5231.42

0(5,t) 16973.39 16973.4

0(6,t) 19976.42 19976.42

0(7,t) 1197.59 1197.6

0(8,t) 2184.68 2184.68

0(9,t) 26380.85 26380.85

67

Page 75: Application of Goal Programming

Table 12. Deviat1ons for Min-Max -GP using LINDO and ADBASE

Deviation al LINDO AD BASE variable

dt 68.89 68.89

d; 0.0 0.0

dt 0.0 0.0

d; 26.60 26.60

dt 0.0 0.0

d1 4619.15 4619.15

dto 0.0 0.0

dtti -4800.75 4800.70

dtJ 0.0 0.0

du 2790.19 2790.19

dts 0.0 0.0

di"& 830.07 830.07

dis 0.0 0.0

da 2101.24 2101.24

diz 0.0 0.0

d;_ 1568.58 1568.58

dts 0.0 0.0

dis 6023.57 6023.57

dis 2.40 2.40

dia 0.0 0.0

dt, 184.68 184.68

d;, 0.0 0.0

d~ 0.0 0.0

di4 884.40 884.40

dt, 0.0 0.0

d;, 3596.0 0.0

68

Page 76: Application of Goal Programming

Table 13. Efficient Solutions

1 2 3 4 5

S(1,t+ 1) 82145 77344.3 82145.0 82145.0 77344.30

S(2,t + 1) 31295 31295.6 31295.6 32180.0 32180.0

S(3,t+1) 32621 32621 32621.0 32621.0 32621.00

S(4,t + 1) 15063 15063 14080.5 15128.75 15128.75

R(1,t) 1199.3 6000.0 1199.3 1199.3 6000.0

R(2,t) 1000.0 1000.0 1000.0 115.6 115.6

R(3,t) 403.4 403.4 403.4 403.4 403.4

R(4,t) 53.14 118.9 1101.36 53.14 118.9

0(1.t) 682.21 3169.9 682.20 682.20 3169.9

0(2,t) 9209.81 9209.80 9209.80 9209.81 9209.80

0(3,t) 10898.76 10898.75 10898.75 10255.70 10255.70

0(4,t) 5231.43 5231.42 5231.42 5231.42 5231.42

0(5,t) 16973.4 16973.40 16973.39 16950.83 16950.83

0(6,t) 19976.43 19976.44 19976.42 19974.66 19974.66

0(7,t) 1200.18 1250.18 2000.00 1200.0 1250.0

0(8,t) 2185.4 2200.42 2424.84 2185.40 2200.00

0(9,t) 26381.34 26391.50 26543.34 26380.82 26390.99

69

Page 77: Application of Goal Programming

Table 13. (continued)

6 7 8 9 10

S(1,t+ 1) 77344.3 82145.0 77344.3 77344.3 82145.0

S(2,t+1) 31295.6 . 31295.6 31295.6 32180.0 32180.0

S(3,t+1) 32621 32621 32621.0 32621.0 32621.00

S(4,t+1) 15128.75 15131 14080.5 15128.75 15131.9 .

R(1,t) 6000.0 1199.3 6000.0 6000.0 1199.3

R(2,t) 1000.0 1000.0 1000.0 115.6 115.6

R(3,t) 403.4 403.4 403.4 403.4 403.4

R(4,t) 53.14 50.0 1101.36 53.14 50.04

0(1,t) 3169.9 682.20 3169.93 682.20 682.20

0(2,t) 9209.81 9209.80 9209.80 9209.81 9209.80

Q(3,t) 10898.76 10898.75 10898.75 10255.70 10255.70

Q(4,t) 5231.43 5231.42 5231.42 5231.42 5231.42

Q(5,t) 16973.4 16973.40 16973.39 16950.83 16950.83

Q(6,t) 19976.43 19976.44 19976.42 19974.66 19974.66

Q(7,t) 1200.00 1197.6 2000.0 1200.0 1197.6

Q(8,t) 2185.4 2184.68 2424.84 2185.40 2184.68

Q(9,t) 26381.34 26380.85 26543.34 26380.82 26380.34

70

Page 78: Application of Goal Programming

Table 13. (continued)

11 12 13

s {1,t+1) 77344.3 82145 77344.3

S{2,t+1) 32180.0 32180 32180.0

S{3,t+1) 32621.0 . 32621 32621.0

S{4,t+1) 15131.9 14080.5 14080.53

R (1,t) 6000.0 1199.3 6000.0

R (2,t) 115.60 115.6 115.6

R (3,t) 403.40 403.40 403.4

R {4,t) 50.00 1101.36 1101.36

Q {1,t) 3169.93 682:20 3169.93

Q {2,t) 9209.81 9209.8 9209.8

Q (3,t) 10255.70 10255.7 10255.7

Q (4,t) 5231.43 5231.42 5231.42

Q (5,t) 16950.83 16950.8 16950.8

Q {6,t) 29974.66 19974.6 19974.6

Q {7,t) 1197.6 2000.0 2000.0

Q {8,t) 2184.68 2424.844 2424.8

Q (9,t) 26380.34 26542.84 26542.8

71

Page 79: Application of Goal Programming

Chapter IV

Summary

The heart of the reservoir operations problems is the set of linear constraints gener-

ated by the continuity equations. If the routing equations and the objective function

are chosen to be linear, one obtains a valid linear program. It is noted that selecting

a linear routing equation is not restrictive keeping in mind that the traditional

Muskingum method is a linear equation. The selection of objective function poses

no problem at all, if one elects to employ a multiobjective formulation as given by

problem (MOP1 ).

It is established that such a multiobjective formulation has the following advantages

in general for the reservoir operations problem :

(i) no penalty function is required which avoids the subjective estimates from the

operators.

(ii) no priorities are imposed on objectives and therefore meaningful tradeoffs can be

considered

(iii) allowances in targets can be permitted as in other goal programs.

Summary 72

Page 80: Application of Goal Programming

(iv) only efficient points are generated whereas min-max and fuzzy goal programs can

select nonefficient points if the alternate optima are not examined.

(v) provides decision maker with noninferior alternatives for consideration which

other single objective optimization methods lack.

The only disadvantage is that the method can yield a prohibitively large number of

efficient points. Therefore, there is a need for a method which either selects a subset

of efficient points or approximates the efficient frontier in a tractable way.

Summary 73

Page 81: Application of Goal Programming

References

Benson, H.P., Morin, T.L., " The vector maximization problem: proper effictency and stability", SIAM Journal on Applied Mathematics 32, 64-72, 1977.

Can, E.K., Houck, M.H., and Toebes, G.H., " Optimal Real-Time Reservoir System Operation : Innovative Objectives and lmplementational Problems, " Purdue Wa-ter Resources Research Center, Technical Report 150, 1982.

Can, E.K., and Houck, M.H., .. Real-Time· Reservoir Operations by Goal Programming " Journal of Water Resources and Planning and Management, ASCE, 110(3):297-309, 1982.

Datta, B., and Houck, M.H., " A Stochastic Optimization Model for Real Time Opera-tion of Reservoirs Under Uncertain Forecasts ", Water Resources Research , 20(8):1039-1046, 1984.

Geoffrion, A.M. " Proper efficiency and theory of vector maximization ", Journal of Mathematica/ Analysis and Applications, 22,618-630, 1968.

Goodman, A.S., Principles of Water Resources Planning, Prentice-Hall, 1984.

Gross, J., and Talvage, J., " A Multiple-Objective Planning Methodology for Informa-tion Service Managers " Information Processing and Management, 15:155-167, 1979.

Hannan, E.L., " On Fuzzy Goal Programming "Decision Sciences, 12:522-531, 1981.

lgnizio, J.P., Linear Programming in Single & Multiple Objective Systems , Prentice-Hall, 1976. .

James, D.L., and Lee, R.R., Economics of Water Resources Planning , McGraw-Hill, 1976.

Kuiper,E., Water Resources Development: Planning~ Engineering, and Economics , Butterworth and Co., 1965.

References 74

Page 82: Application of Goal Programming

Morris, H.M., and Wiggert, J.M., Applied Hydraul/ics in Engineering , John Wiley & Sons, 1972.

Narasimhan, R.," Goal Programming in a Fuzzy Environment ", Decision Sciences , 11 :325-336, 1980.

Philips, D.T., Ravindran, A., and Solberg, J.J., Operations Research : Principles and Practice , John Wiley & Sons, 1987.

Sherali, H.D., " Equivalent Weights for Lexicographic Multiobjective Programs : Charecterization and Computations ", European Journal of Operational Research ' 11:367-379, 1982.

Steuer, R.E., Multiple Criteria Optimization : Theory, Computation and Application , John Wiley, 1986.

Steuer, R.E., Operating Manual for the ADBASE Multiple Objective Linear Program-ming Computer Package (Version 8180), 1986.

Toebes, G.H., Rukvichai, C., and Lin, Y.S., "Operating Policy Simulation for a Reser-voir System, " Purdue Water Resources Research Center, Technical Report No. 80, 1976.

Yazicigil, H., "Optimal Operation of a Reservoir System Using Forecasts," Ph.D. Dis-sertation, Purdue University, 1980.

Yazicigil, H., Houck, M.H., and Toebes, G.H., "Daily operation of a Multipurpose Res-ervoir System, ", Water Resources Research , 19(1):1-13, 1983.

Yeh, W.W.G., "Reservoir Management and Operations Models : A State-of -the-Art• Review", Water Resources Research, 21(12):1797-1818, 1985.

Zeleny, M., "Multiple Criteria Decision Making", McGraw-Hill, 1982.

Zeleny, M., "A Concept of Compromise Solutions and the method of the displaced ideal ", Computers and Operations Research , 1 (4),479-496, 1974.

Zimmerman, H.J.," Fuzzy programming and linear programming with several objec-tive functions," Fuzzy Sets and Systems, 1:45-56, 1978.

References 75

Page 83: Application of Goal Programming

Appendix A

The program ADBASE

ADBASE is a FORTRAN code developed by Steuer for enumerating all efficient corner

points and unbounded edges by solving the following problem

Problem (MOP3)

Maximize Z x +ex

subject to : x e X

where:

Z - p x n matrix representing the objective function

x - n - dimnnsional vector of decision variables

X- Linear Feasible Region {x e Rn : Ak x::::;; bk, Ae x =be, As x ~ bs, x ~ O}

cx - the constant attached to the objective functions.

(1)

(2)

In the expression all the right hand side vectors must be nonnegative. The dimen-

sions of the matrices defined above are

x: N1 x 1 ; Z : IPORIG x N1 ; cx: IPORIG x 1 ; Ak: IK x N1 ; Ae : IK x N1 ; As: IS x 1 ;

bk: IK x 1 ; be : IK x 1 ; As: IS x 1

The program ADBASE 76

Page 84: Application of Goal Programming

where:

IPORIG - The number of objective functions.

N1 - The number of::;; type constraints.

IK - The number of equality constraints.

IS - The number of~ type constraints.

ADBASE has 15 internal subroutines and an external subroutine XTERNA. On the vm1

system at Virginia Tech the programs ADBASE and XTERNA should be compiled

separately. The data for ADBASE should be typed in the file ADBASE DATA. From

the external subroutine XTERNA a user can specify some on/off switches for execut-

ing particular schemes. There are two kinds of switches namely (i) the external

control parameters, fixing which a user can specify the number of problems to be

solved, the type of scheme to be adopted for Phase 2, and whether all efficient points

and unbounded edges are to be enumerated; (ii) the input and output control param-

eters can be set for obtaining desired modes of output. The parameters not specified

here should not be changed in the source code. Additional details regarding these

codes could be obtained from Steuer (1986). In the sequel these parameters are

listed.

A.1.1.1 Execution control parameters

ADBASE can solve any number of problems in one job submission by stacking prob-

lem data decks by specifying the parameter NUMB.

The phase 2 switch IFASE2 can be set at any number between 1 and 5. When set at

these numbers it adopts the enlisted schemes for determining the initial efficient

solution. T~1e schemes included are

IFASE2 = 1 Lexicographic maximization.

The program ADBASE 77

Page 85: Application of Goal Programming

= 2 Lexicographic maximization with test for extreme point efficiency

after each maximization stage.

= 3 Lexicographic maximization with test for efficiency at each extreme

point encountered.

=4 Weighted sums (equivalent weights)

= 5 Weighted sums with test for efficiency at each extreme point.

The Phase 3 switch IFASE3 performs the following actions.

IFASE3 = 0 Do not perform the phase 3 stage (that is stop after the

first efficient point only).

= 1 Find all efficient points.

= 2 Find all efficient points and unbounded edges.

A.1.1.2 1/0 Control Parameters

The following parameters are set for selecting the desiered modes of ADBASE

input/output. These parameters are also set in the external subrotine XTERNA.

INPUT = 72 Input data is formatted 4(213,012.7)

== 80 Input data is formatted 4(213,014.7)

IFIX = 0 Exponential format output

= 1 Fixed point (F13.6) format output

!PRINT(*) is a 13 dimensional vector of on/off switches for various output options. If

a given element is set to 0, option is ignored. If set to 1, the option is performed as

described below. Only a selected few are described below for output purposes. The

rest could be set to 0, because they only print outputs of intermediate phases.

IPRINT(1) = 1 Prints whether an efficient extreme point exists or not

The program ADBASE 78

Page 86: Application of Goal Programming

IPRINT(2) = 1 Prints all objective function and nonzero basic structural

IPRINT(3) = 1 Variable values for each generated efficient basis and

unbounded edge.

IPRINT(7) = 1 Prints numbers of efficient bases, efficient extreme

points, and unbounded efficient edges.

IPRINT(11) = 1 Prints back out header information, nonzero coefficients, and

criteria weight interval bounds (if employed) for problems inputted

to ADBASE.

IPRINT(12) = 1 Writes to a file the objective function values of each

generated efficient extreme point solution.

IPRINT(13) = 1 Prints out reduced cost matrix at each efficient basis.

Some of the IPRINT(*) parameters have-not been specified as they generate diag-

nostic data of each phase. If the user is interested only in the efficient point gener-

ation, he or she should keep these parameters at 0. Additional details regarding the

working of the intermediate stages of the program can be obtained from Steuer's

operating manual.

A.1.1.3 ADBASE Input Format

These are to be specified from a data file named ADBASE. The problem data decks

consists of 7 types of cards. These cards should be specified in the following order

using the specified format.

Problem Title Card ( 1 card )

The problem title is specified in this card in columns 2-72. This card must be present

in data deck even if empty.

Header Card ( 1 card )

The program ADBASE 79

Page 87: Application of Goal Programming

This is the second card and the format is 818. The quantities specified in each of the

8 fields are :

Right Justified Variable Values

in Column

8

16

24

32

40

48

56

64

NOMB

IPORIG

N1

IK

IS

IE

IFASEO

NGRAYS

Problem number(:::;;; 9999)

Number of objectives

Number of structural variables

Number .of:::;;; type constraints

Number of equality constraints

Number of;;;:: type constraints

Criterion Cone type

Upper limit on the number of allowable

criterion cone generators.

It must be noted that the parameters IFASEO is nonzero only when the internal crite-

rion weighted program is to be solved. When IFASEO is 0 then the value of NGRAYS

is ignored.

Count Cards

These cards specify the number of nonzero

Ak, bk, A9 , b9 , As, bs, Z, and a: constant coefficients preceding the respective sub-

decks of nonzero coefficient and right hand side value cards.

Each count card is formatted 18. All 8 count cards must be included even if, for some

of them, no nonzero coefficient card follows.

Nonzero Coefficient Cards

There are four groups of nonzero coefficient cards, corresponding to matrices

Ak, A9 , As, C •. They are formatted 4(213,012.7) when INPUT = 72 and 4(213,014.7)

when INPUT=80. Each card consists of 4 parts. Each part has 3 subfields. In the first

The program ADBASE 80

Page 88: Application of Goal Programming

subfield the row subscript of the nonzero coefficient in question is specified. In the

second subfield the column subscript is specified. In the third subfield the coefficient

is specified. It is to be noted that the decimal point should be specified. Therefore,

(a) when INPUT= 72, the row and column subscripts are right justified in columns

3 6 21 24 39 42 57 60

and when INPUT= 80, they are right justified in columns

3 6 23 26 43 46 63 66

(b) the nonzero coefficient values are specified in columns 7-18, 25-36, 43-54, and

61-72 when INPUT= 72, and in columns 7-20, 27-40, 47-60, and 67-80 when INPUT=BO.

Nonzero Right-Hand Side Value Cards

These cards are 3 in number pertaining to vectors bk,be,bs. The format is the same

as the one for the nonzero coefficient value, except for the fact that nothing is placed

in the second subfield.

Nonzero a- Constant Cards

These cards are formatted exactly as the nonzero right-hand side value cards.

Interval Weight Cards

These cards are included if and only if IFASEO has been set to 1 or 2 in column 56 in

the header card. The interval weight cards are formatted 110,2020.10. The first field

right justified in column 10, contains the objective function index. The interval crite-

rion weight lower and upper bound are placed in the second and third fields respec-

tively.

The program ADBASE 81

Page 89: Application of Goal Programming

The data deck for each problem submitted to ADBASE is configured as

Problem title card

Header Card

Count Card for Ak

Coefficient cards (if any) for Ak

Count Card for bk

Right-hand side value cards (if any) for bk

Count Card for Ae

Coefficient cards (if any) for Ae

Count Card for be

Right-hand side value cards (if any) for be

Count Card for As

Coefficient cards (if any) for As

Count Card for bs

Right-hand side value cards (if any) for bs

Count Card for C

Coefficient card (if any) for C.

Count Card for IX-constants

Nonzero IX-constants cards (if any)

Interval weight cards (if any).

The program ADBASE 82

Page 90: Application of Goal Programming

A.1.1.4 Versatility of ADBASE

ADBASE has the ability tci solve the following types of problems :

1. Single objective linear programs for all alternative optimum solutions.

(5)

This can be accomplished by setting IPORIG = 1, this problem is solved. Also set

IFASE3 = 2 for determining all optimal corner points and all unbounded optimal

edges. In the data input deck set IFASEO=O.

2. Pre-emptive goal programming problems

This can be handled by setting setting the Phase 2 option number IFASE2= 1.

This option computes the first extreme point by lexicographically maximizing the

objectives. The deviational variable expression for the first priority is specified

in the r:rst row of the objective function matrix Z. The deviational variable ex-

pression for the second priority is expressed in the second row of Z and so on:

3. Vector-maximum problems

This is essentially obtaining all the efficient points and unbounded efficient edges

by using the full criterion cone (defined as the envelope of vectors which repre-

sent the gradient of indivual objective functions, originating from the origin ).

This is accomplished by setting the IFASEO=O, IFASE2= 1,2,3,4 or 5, and

IFASE3=2.

4. MOLP's with interval criterion weights

The program ADBASE 83

Page 91: Application of Goal Programming

This is essentially solving-the family of weighted-sums problems

{[A. T(Cx +ex) Ix e X]:,l. e A}

where:

X = {x e Rn : Ak x ~ bk, AeX = be, AsX ~ b8 , x ~ O}

where ,l. is the p x 1 vector of weighting factors.

. k A = {A. e RP I A.; e rel [I;. µ;] ; L: A.;= 1}

i=1

(6)

In the expression for A," rel" refers to the relative interior of the closed interval

which implies that 1; can assume any value between I; andµ;. The above method

uses the reduced criteria cone to determine the subset of all efficient corner

points and all unbounded efficient edges.

The parameters to be set in the external subroutine XTERNA and in the AOBASE data

deck for the particular cases mentioned above are summarized in Table 14.

The following EXEC file should be used for running the FORTRAN code.

&CONTROL OFF

Fl 05 DISK &1 DATA A

Fl 06 DISK &1 OUTPUT A

GLOBAL LOADLIB VSF2LOAD

GLOBAL TX.TUB PREVIEW TCSLIB VSF2FORT VPIUTIL CMSLIB

LOAD & 1 (CLEAR NOMAP ST ART

The data file should always be ADBASE DATA A1 and enter the following command

from the CMS mode to obtain the output.

GO ADBASE

The output will appear in the form of a file ADBASE OUTPUT A1 on your filelist.

The program ADBASE 84

Page 92: Application of Goal Programming

Table 14(a) Parameters to be set in XTERNA

Problem Single Vector Preemptive MOLP type objective maximum goal with interval Parameter LP problems programs criterion weights

IFASE2 1 to 5 1 to 5 1 1 to 5

IFASE3 2 3 2 2

Table 14(b) Parameters to be set from ADBASE data deck

Problem Single Vector Preemptive MOLP type objective maximum goal with interval Parameter LP problems programs criterion weights

IFASEO 0 0 0 1

IPORIG 1 The number of objectives

85

Page 93: Application of Goal Programming

A.1.1.5 Sample Problem and Output

Consider the following bicriteria (two objective functions) problem.

(7)

subject to x1 + x2 ~ 50 (8)

(9)

The parameters set in the external subroutine XTERNA are

• IFASE2= any number between 1 and 5.

• IFASE3= 2

The data file for the above problem is :

A PRCBLEM HITH THO OBJECTIVE FlN:TlONS 42 2 2 1 0 0 0 40 2 •••••••••l•••••••••2•••••••••3•••••••••4•••••••••S•••••••••6•••••••••7*M l l l.O l 2 l.O l

1 50.0 0 0 0 0 <+

l 1 20.0 1 2 16.0 2 1 -3.0 2 2 -2.0 1

2 1.0

The program ADBASE 86

Page 94: Application of Goal Programming

The sample output the bicriteria problem is :

0*********1*********2*********3*********4*********5*********6*********7*********8

AN MOLP WITH TWO OBJECTIVE FUNCTIONS

AK MATRIX DATA READ IN WITHOUT OBVIOUS ERROR

BK DATA READ IN WITHOUT OBVIOUS ERROR

C MATRIX DATA READ IN WITHOUT OBVIOUS ERROR

ALPHA DATA READ IN WITHOUT OBVIOUS ERROR

0 PROBLEM NO. 42

IPORIG = 2

N1 = 2

IK = 1

IE= o IS= o IFASEO = o NGRAYS = 40

IFASE2 = 2

IFASE3 = 1

IWEFF = o IGPOPT = o

A( 1, 1) = 1.000000

A( 1, 2) = 1.000000

The program ADBASE 87

Page 95: Application of Goal Programming

B( 1) =

C( 1, 1) =

C( 1, 2) =

C( 2, 1) =

C( 2, 2) =

50.000000

20.000000

16.000000

-3.000000

-2.000000

ALPHA( 2) = 1.000000

0 PROBLEM NO. 42

0 AN EFFICIENT EXTREME POINT EXISTS

0 LISTING OF ALL EFFICIENT BASES

BASIS

+ POINT

+

CRITERION VALUES

1 Z( 1) = 1000.000000

Z( 2) = -149.000000

42 1 1 1000.000 -149.000

2 Z( 1) = 800.000000

Z( 2) = -99.000000

42 2 1 800.000 -99.000

3 Z( 1) = 0.000000

The program ADBASE

VALUES OF NONZERO

BASIC VARIABLES

X( 1) = 50.000000

X( 2) = 50.000000

X( 3) = 50.000000

88

Page 96: Application of Goal Programming

Z( 2) = 1.000000

42 3 1 0.000 1.000

OTOTAL NUMBER OF EFFICIENT BASES = 3

TOTAL NUMBER OF EFFICIENT EXTREME POINTS = 3

42 2 3

Q_** ** *** ** 1 *"********2•********3* * ........ 4 *** ****** 5*******-** 6* ** ***** *7* ***** *** 8

AD BASE

(RELEASE: 9/86)

A VECTOR-MAXIMUM ALGORITHM FOR GENERATING

EFFICIENT EXTREME POINTS AND UNBOUNDED EFFICIENT EDGES

RALPH E. STEUER

COLLEGE OF BUSINESS ADMINISTRATION

UNIVERSITY OF GEORGIA

ATHENS, GEORGIA

U.S.A. 30602

The program ADBASE 89

Page 97: Application of Goal Programming

Consider the following single objective linear programming problem

Maximize Z = x1 + x2

subject to 2x1 + 2x2 ~ 10

The parameters set in the external subroutine XTERNA are

• IFASE2= Any number between 1 and 5

• IFASE3= 2

The data file for the above problem is :

.1

A SINSLE 08.JECnVE PRQBLEM HITH ALTERNATE OPTIMA ft3 1 2 1 0 2 0 40

2 1 1 2.0 1 2 2.0

•••••••~•1•••••••••2•••••••••3•••••••••4•••••••••S•••••••••6•••••••••7**

1 10.0 0 0 2

1 l 1.0 0

2 2.0 24

1 1 1.0 0

The program ADBASE

2 2 1.0

2 2.0

l l 1.0

(10)

( 11)

(12)

(13)

90

Page 98: Application of Goal Programming

The sample output for the single objective problem looks like :

A SINGLE OBJECTIVE PROBLEM WITH ALTERNATE OPTIMA

AK MATRIX READ WITHOUT OBVIOUS ERROR

BK DATA READ IN WITHOUT OBVIOUS ERROR

AS MATRIX DATA READ IN WITHOUT OBVIOUS ERROR

BS DATA READ IN WITHOUT OBVIOUS ERROR

C MATRIX DATA READ IN WITHOUT OBVIOUS ERROR

0 PROBLEM NO. 43

IPORIG = 1

N1 = 2

IK = 1

IE= 0

IS= 2

IFASEO = 0

NGRAYS = 40

IFASE2 = 2

IFASE3 = 1

IWEFF = 0

1(3POPT = 0

A( 1, 1) = 2.000000

A( 1, 2) = 2.000000

The program ADBASE 91

Page 99: Application of Goal Programming

A( 2, 1) = A( 3, 2) =

8( 1) =

8( 2) = 8( 3) =

C( 1, 1) =

C( 1, 2} = 0

0

0

BASIS

+ POINT

+

1

1.000000

1.000000

10.000000

2.000000

2.000000

1.000000

1.000000

PROBLEM NO. 43

A MAXIMAL EXTREME POINT EXISTS

LISTING OF ALL MAXIMAL BASES

VALUES OF NONZERO

CRITERION VALUES

BASIC VARIABLES

Z( 1) = 5.000000 X( 1) = 3.000000

X( 2) = 2.000000

X( 3) = 1.000000

43 1 1 5.000

The program ADBASE 92

Page 100: Application of Goal Programming

2 Z( 1) = 5.000000 X( 1) = 2.000000

X( 2) = 3.000000

X( 4) = 1.000000

43 2 1 5.000

OTOTAL NUMBER OF MAXIMAL BASES = 2

TOTAL NUMBER OF MAXIMAL EXTREME POINTS = 2

43 1 2

0*********1*********2*********3*********4*********5*********6*********7*********8

AD BASE

(RELEASE: 9/86)

A VECTOR-MAXIMUM ALGORITHM FOR GENERATING

EFFICIENT EXTREME POINTS AND UNBOUNDED EFFICIENT EDGES

RALPH E. STEUER

COLLEGE OF BUSINESS ADMINISTRATION

UNIVERSITY OF GEORGIA

ATHENS, GEORGIA

U.S.A. 30602

The program ADBASE 93

Page 101: Application of Goal Programming

The vita has been removed from the scanned document