solving economic load dispatch problem using tabu search method

68
UNIVERSITY OF NAIROBI SCHOOL OF ENGINEERING DEPARMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING SOLVING ECONOMIC LOAD DISPATCH PROBLEM USING TABU SEARCH METHOD PROJECT NUMBER: 75 NAME: ONYANGO ODHIAMBO DICKENS REGISTRATION NUMBER: F17/2390/2009 SUPERVISOR:DR. NICODEMUS ABUNGU EXAMINER:PROF. J.MBUTHIA

Upload: mohandrahim

Post on 21-Dec-2015

37 views

Category:

Documents


9 download

DESCRIPTION

Good thesis for metaheuristic application

TRANSCRIPT

Page 1: Solving Economic Load Dispatch Problem Using Tabu Search Method

UNIVERSITY OF NAIROBI

SCHOOL OF ENGINEERING

DEPARMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING

SOLVING ECONOMIC LOAD DISPATCH PROBLEM USING TABU SEARCH METHOD

PROJECT NUMBER: 75

NAME: ONYANGO ODHIAMBO DICKENS

REGISTRATION NUMBER: F17/2390/2009

SUPERVISOR:DR. NICODEMUS ABUNGU

EXAMINER:PROF. J.MBUTHIA

Page 2: Solving Economic Load Dispatch Problem Using Tabu Search Method

DECLARATION

NAME OF STUDENT: ONYANGO ODHIAMBO DICKENS

REGISTRATION NUMBER: F17/2390/2009

COLLEGE: ARCHITECTURE AND

ENGINEERING

FACULTY: ENGINEERING

DEPARTMENT: ELECTRICAL AND ELECTRONIC

ENGINEERING

COURSE NAME: BACHELOR OF SCIENCE IN

ELECTRICAL AND

ELECTRONICENGINEERING

TITLE OF WORK: SOLVING

ECONOMIC LOAD DISPATCH

USING TABU SEARCH

1.I understand what plagiarism is and I am aware of the university policy in thisregard.2.I declare that this final year project report is my original work and has not been submitted elsewhere for examination, award of a degree or publication. Where other people’s work or my own work has been used, this has properly been acknowledged and referenced in accordance with the University of Nairobi’s requirements.3.I have not sought or used the services of any professional agencies to produce this work.4.I have not allowed, and shall not allow anyone to copy my work with the intention of passing it off as his/her own work.5.I understand that any false claim in respect of this work shall result in disciplinary action, in accordance with University anti-plagiarism policy.

SIGNATURE:

…..................................................................................................................

DATE:….....................................................................................................................

II

Page 3: Solving Economic Load Dispatch Problem Using Tabu Search Method

CERTIFICATION

This report has been submitted to the Department of Electrical and Information

Engineering, University of Nairobi with my approval as supervisor:

….....................................................

DR.NICODEMUS ABUNGU

DATE:

…............................................................

III

Page 4: Solving Economic Load Dispatch Problem Using Tabu Search Method

DEDICATION

To MOM and DAD

IV

Page 5: Solving Economic Load Dispatch Problem Using Tabu Search Method

ACKNOWLEDGEMENTI would like to express my gratitude to my advisor and supervisor Dr.Abungu and

Mr.Musau, whose expert knowledge, subject understanding and patience, aided

considerably towards my graduate studies experience. I appreciate their continuous

support and motivation during my final year project. I would like to thank the other

members of my student fellow final year students for the assistance they provided

towards this project.

V

Page 6: Solving Economic Load Dispatch Problem Using Tabu Search Method

TABLE OF CONTENTTITLE PAGE I

DECLARATION II

CERTIFICATION III

DEDICATION IV

ACKNOWLEDGEMENT V

LIST OF FIGURES VII

LIST OF TABLES VII

LIST OF ABBREVIATIONS IX

ABSTRACT X

CHAPTER1 1

1.1INTRODUCTION........................................................................................................................ 1

1.2SURVEY OF EARLIER WORKS............................................................................................... 1

1.2.1GENETIC ALGORITHM.......................................................................................................... 2

1.2.2SIMULATED ANNEALING................................................................................................... 3

1.2.3ANT COLONY ALGORITHM............................................................................................... 4

1.2.4PARTICLE SWARM.................................................................................................................. 4

1.2.5TABU SEARCH........................................................................................................................ 5

1.3OBJECTIVES............................................................................................................................ 5

1.4PROJECT QUESTIONS 6

1.5PROJECT ORGANIZATION................................................................................................... 6

CHAPTER 2 7

2.1LITERATURE REVIEW...................................................................................................... 7

2.1.1PROBLEM FORMULATION................................................................................................. 7

2.1.2INEQUALITY CONSTRAINTS............................................................................................ 8

2.1.3ECONOMIC DISPATCH WITHOUT LOSSES........................................................... 10

2.1.4ECONOMIC DISPATCH WITH LOSSES............................................................................. 10

2.1.5TABU SEARCH …................................................................................................................. 15

2.I.5.1TABU SEARCH TENETS 15

2.1.5.2TABU SEARCH ALGORITHM............................................................................................ 16

2.1.5.3DIRECTED TABU SEARCH................................................................................................ 18

2.1.5.4DIRECTED TABU SEARCH ALGORITHM........................................................................ 18

VI

Page 7: Solving Economic Load Dispatch Problem Using Tabu Search Method

CHAPTER 3 38

3.1MDTS ALGORITHM................................................................................................................... 31

3.2FLOW CHART MDTS................................................................................................................. 32

3.3PARAMETER SETTINGS.......................................................................................................... 33

CHAPTER 4 35

4.1RESULTS..................................................................................................................................... 35

CHAPTER 5 38

5.1DISCUSSION............................................................................................................................ 38

5.2CONCLUSION............................................................................................................................. 39

5.3RECOMMENDATION................................................................................................................. 39

APPENDIX A:DATA ON IEEE 30 TEST BUS 41

REFERENCE 42

MATLAB CODE 44

VII

Page 8: Solving Economic Load Dispatch Problem Using Tabu Search Method

VIII

Page 9: Solving Economic Load Dispatch Problem Using Tabu Search Method

LIST OF FIGURES

Figure 1 Neighborhood search from a point in semi - TR

Figure 2 Generating neighborhood points about x

Figure 3 Simplex of 3 vertices

Figure 4 Nelder Mead operation

Figure 5 Flow chart of mDTS

Figure 6 One line diagram IEEE test bus diagram

Figure 7 Graph comparing generator outputs

Figure 8 Graph comparing Convergence rate

Figure 9 Swarm of jelly fish

Figure 10 Jelly fish

IX

Page 10: Solving Economic Load Dispatch Problem Using Tabu Search Method

LIST OF TABLES

Table 1 simulation results

Table A.1 Data on IEEE 30 Test Bus

X

Page 11: Solving Economic Load Dispatch Problem Using Tabu Search Method

LIST OF ABBREVIATION

TS Tabu Search.

ELD Economic Load Dispatch

UC Unit Commitment

NLP Non Linear Programming

LP Linear Programming

IP Interior Point

TL Tabu List

ATS Adaptive Tabu Search

PSO Particle Swamp Optimization

mDTS modified Directed Tabu Search

AC Aspiration Criterion

TC Termination Criterion

NMS Neder-Meader Search

APS Adaptive Pattern Search.

VRL Visited region List

TR Tabu Region

STR Semi Tabu regions

JFA Jelly Fish Algorithm

XI

Page 12: Solving Economic Load Dispatch Problem Using Tabu Search Method

ABSTRACT

Economic Load Dispatch(ELD) is the scheduling of generators' output levels such as

to suffice the system load at the minimum total fuel cost subject to generation and

operation constraints. As power grids have become more integrated and grand, Power

Utility companies have sought out to achieve a delicate balance between reliable

power supply to consumers and minimal operational cost. Planning for tomorrow's

dispatch involves scheduling generating units for each hour of the next day's dispatch

based on forecast load for the next day and unit committing. Dispatching power today

involves monitoring load, generation, transmission and interchange(exports/imports)

to ensure balance in supply and load and losses. From a computational perspective,

Economic Load dispatch is a multi – objective combinatorial optimization problem

that can be solved by both conventional computation methods and artificially

intelligent methods. Conventional computational methods include Linear

programming,Non-Linear programming, Integer Programming, Mixed Integer

Programming, calculus Method and Dynamic Programming while artificially

intelligent methods include TS, GA, PSO, Ant Colony algorithm. Artificially

intelligent methods are preferred due to their flexibility, adaptability,less development

time and faster convergence. This project solves ELD problem using on a hybrid of

Tabu search and direct search strategies(Neder-Mead search and Adaptive Search

Pattern).The simulation was done on IEEE test bus and run on Matlab 8.2.The results

were then compared with those of GA and PSO.It was observed that modified

Directed Tabu search gave the lowest total cost(596.20214$/hr) compared to

GA's(616.4811$/hr) and PSO's(615.20715$/hr).MDTS also had the fastest

computation time of (13.2333s) and the lowest power loss value(5.91MW).The

robustness and efficiency of modified directed tabu search is attributed to to the fact

that it is a memory based meta-heuristic compared to GA and PSO which are

memoryless. Tabu List and Visited Regions List ensures that modified Directed Tabu

escapes from entrapment of local minima. Modified Directed tabu search has also the

advantage of generating neighborhood points through a directed search strategies.

Finally, MDTSsearch goes through Exploration,Diversification and Intensification

phases which ensure an aggressive ploughing of the search terrain.

XII

Page 13: Solving Economic Load Dispatch Problem Using Tabu Search Method

XIII

Page 14: Solving Economic Load Dispatch Problem Using Tabu Search Method

CHAPTER 1

1.1 INTRODUCTION

In a Power System Operation and Planning, there are many optimization problems that require

real-time solutions such as to determine the optimal resources required at minimum cost within a

given set of constraints.The various operation problems in power system which require optimization

include Load Frequency Control (LFC), Optimal Power Flow(OPF), Economic Load

Dispatch and Unit Commitment (UC), Hydrothermal Dual Problem, Hydrothermal Interchange

Coordination, Maintenance Scheduling, Interchange Coordination, maintenance Scheduling and

Generation Planning. This project endeavors to tackle the Economic Load Dispatch problem, whose

scheduling is done over a time period of hours with the sole purpose of minimizing the expected

cost of operation of power plants while providing reliable and robust power to consumer within

given set of system and operational constraints.[1]

1.2 SURVEY OF EARLIER WORK

Economic Load Dispatch is a constrained multi-objective combinatorial problem that can be solved

by both mathematical optimization and heuristic methods[1]. Mathematical optimization

techniques include:

• Linear Programming(LP)

• Non-Linear Programming(NLP)

• Integer Programming

• Separable Programming(SP)

• Mixed Integer Programming(MIP)

• Calculus Method(Lagrange Multiplier)

• Dynamic Programming

Most mathematical based algorithms can guarantee reaching an optimal solution; while do not

necessarily guarantee reaching a global optimum. Global optimality may be only reached, checked

or guaranteed for simple cases. On the other hand, many practical optimization problems do not fall

in strict forms and assumptions of mathematical based algorithms.

1

Page 15: Solving Economic Load Dispatch Problem Using Tabu Search Method

Moreover, if the problem is highly complex, we may not readily be able to solve them, at all,

through mathematical algorithms.Besides, finding global optimum is of interest, as finding a local

one would be a major drawback. These drawbacks are tackled by employing heuristic techniques[1]

[13]. Heuristic techniques that have been adopted in solving ELD include:

• Genetic Algorithm (GA)

• Simulated Annealing (SA)

• Particle Swarm (PS)

• Ant Colony (AC)

• Tabu Search (TS)

Heuristic search methods are robust and have a faster development time while tend to be insensitive

to noise and missing data.

1.2.1 GENETIC ALGORITHM(GA)

Genetic Algorithm (GA) is based on conjunction of natural selection (survival for the fittest) and

genetics. GA was developed by John Holland in 1960's. The decision variables to be found are in

the form of string of genes. This string is called the problem chromosome, selected from a set of

population. The objective function calculated for this chromosome is called problem fitness

function. Next population (off-springs) are generated from initial chromosomes (parents).This

regeneration results in chromosomes with a better fitness value.

GA depends on selection, crossover and mutation. Population of chromosomes is initially

generated. Then two chromosomes are considered as parents based on the fitness value.Crossover is

used to generate off- springs from the two parents by interchanging the value of genes at specific

positions. Mutation curds the drawback of the value of a given gene not changing during crossover.

Mutation operator tries to alter the value of a gene randomly. A summary of GA approach is made

below.

2

Page 16: Solving Economic Load Dispatch Problem Using Tabu Search Method

1. Randomly generate an initial solution population

2. Evaluate these solutions for fitness

3. If iteration/time constraints are not yet satisfied

4. Select parents (best solution so far)

5. Recombine parents using portions of initial solutions(crossover)

6. Add possible random solutions (mutation)

7. Evaluate new solution for fitness then return to step 3

In recent times, GA has become the most popular algorithm for solving Economic Load Dispatch

problem. GA has the following advantages: ease of coding, inherent parallelism, the use of

genotype instead of phenotype moves the search from local minima. However, GA requires

intensive computational time making the optimization process slow. GA is suited for optimization

of multi-modal functions in highly complex and nonlinear landscape, especially when the function

does not have an analytic description and is noisy and discontinuous and such is the nature of ELD

problem. [13]

1.2.2 SIMULATED ANNEALING (SA)

In statistical mechanics, annealing is often performed in order to relax the system to a state with

minimal free energy. The free energy of matter corresponds to objective function while the state of

statistical physics corresponds to solution in optimization problem. The basis of SA is Metropolis

Algorithm. Metropolis Algorithm works on the principle of generating a new state, for given initial

state with a given energy level. The new state is obtained by a small permutation of the original

state using Monte Carlo method to choose the particle to move. Thus SA consists of two methods

vis generation of alternatives (states) and acceptance rule . SA is effective in network configuration

problems for large scale distribution systems and its search capability becomes more significant as

system size increases. Advantages of simulated annealing include ability to optimize functions with

arbitrary degrees of non linearity, stochasticity, boundary conditions and constraints and that its is

statistically guaranteed to find an optimal solution Disadvantages of SA include the fact that

efficiency depends on the nature of surface one is trying to optimize and that the algorithm is slow.

However these cons have been mitigate by supercomputing resources[13].

3

Page 17: Solving Economic Load Dispatch Problem Using Tabu Search Method

1.2.3 ANT COLONY OPTIMIZATION

Ant colony is a combinatorial optimization technique developed in the 1990s from the study of ants

food hunting behavior of finding the shortest route from food to their nest. Ants use pheromones to

communicate with one another, and therefore leave a trail of the chemical as they crawl. The ant

that finds food first (shortest route) returns to the nest sooner and redeposits pheromone as it returns

to the nest. The path will be richer with pheromone, other ants recognize it as a promising path and

therefore follow it. Ant Colony algorithm is given below.

1. Initialization in which the problem variables, are encoded and initial population generated;

randomly within a feasible space. They will crawl to different directions at a radius not

exceeding

2. Evaluation in which the objective function is calculated for all ants.

3. Trail adding in which a trail quantity is added for each ant; in proportion to its calculated

objective function(fitness function)

4. Ant sending in which ants are sent to their next nodes, according to density and visibility.

5. Trail density is based pheromone deposition and node visibility since the ants are not

completely blind.

6. Evaporation in which trail deposited by an ant is eventually evaporated and start point is

updated with the best combination found.

7. Repeat the steps above until stopping criterion is satisfied.

1.2.4 PARTICLE SWAMP OPTIMIZATION (PSO)

Particle Swamp Optimization was developed by Russell C. Eberhart and James Kennedy in 1995

who where inspired by the social behavior of birds flocking or fish flocking. Each particle (bird or

fish) is moving looking for an optimum and thus has a velocity. Particles in a swamp share

information about what they have found in places they have been. Each particle also remembers its

personal best. Particles have information about its neighborhood and therefore uses the neighbor's

fittest particle to adjust its position. PSO has the advantage of having a faster convergence, less

4

Page 18: Solving Economic Load Dispatch Problem Using Tabu Search Method

parameters to fiddle and ease to search in a large search space.

PSO algorthm starts with Initialization of particles position and velocity. In each time-step a

particle has to move to a new position and this is done by adjusting its position.

New Position = current velocity + (weighted random portion in the direction of its personal best) +

(weighted random portion in the direction of neighborhood best)[10][13].

Particles adjust their position on a “psychosocial compromise” between what an individual is

comfortable with and what society reckons. PSO algorithm is given below

1. For each particle, initialize particle

2. For each particle, calculate fitness value. If the fitness value is better than the best personal

fitness value in history set current value as new personal fitness value

3. Choose the particle with the best fitness value and if value is better than current global

best set it as the global best

4. For each particle, calculate velocity according to velocity change equation the update

particle position according to position change equation

1.2.5 TABU SEARCH

Tabu Search is based on memory response techniques. Tabu is a word meaning forbidden. Tabu

search is the heuristic deployed in tackling ELD in this project. Tabu search is discussed

comprehensively in chapter 2.

1.3 OBJECTIVES

• To come up with a modified version of Tabu search that effectively and efficiently solves

the Economic Load Dispatch problem.

• The total fuel cost obtained from the modified version of Tabu search should the lower than

that obtained by other meta-heuristics Genetic Algorithm(GA) and Particle Swarm

Optimization method(PSO)

5

Page 19: Solving Economic Load Dispatch Problem Using Tabu Search Method

1.4 PROJECT QUESTIONS

• Is the modified Direct Tabu Search (mDTS) efficient and effective in solving Economic

Load Dispatch?

• Is the total fuel cost obtained by modified Direct Tabu Search (mDTS) cheaper than that

obtained by Genetic Algorithm(GA) and Particle Swamp Optimization(PSO)?

1.5 PROJECT ORGANIZATION

Chapter(1) of this project makes a brief introduction on the concept of Economic Dispatch and

also states the objectives and project questions. It also has survey of earlier works.

Chapter(2) deals with review of Economic Load Dispatch and modified Directed Tabu Search in

detail.

Chapter(3) gives the flow chart and algorithm of the modified Directed Tabu search. It also

introduces the IEEE 30 test bus.

Chapter(4) is on results and analysis .

Chapter(5) is on conclusion and recommendations.

6

Page 20: Solving Economic Load Dispatch Problem Using Tabu Search Method

CHAPTER 2

2.1 LITERATURE REVIEW

This project endeavors to tackle the economic load dispatch problem, whose scheduling is done

over a time period of hours with the sole purpose of minimizing the expected cost of operation of

power plants while providing reliable and robust power to consumer within a given set of

constraints.

The definition of Economic Load Dispatch provided in EPAct section 1234 is: “The operation of

generation facilities to provide energy at the lowest cost to reliably serve consumers,

recognizing any operational limits of generation and transmission facilities”[2].

Economic Load Dispatch Problem is a sub problem of Unit Commitment (UC) .UC is defined as

handling of unit generation schedule in a power system for minimizing operation cost and

sustaining load demand and system reserve constraints.

2.1.1 PROBLEM FORMULATION

Economic Dispatch deals with the minimization of fuel cost function.

(Active power)

Minimize FT=∑i=1

F i ( Pi ) where (2.1)

FT=total fuel cost

n=no.of generating

Fi ( Pi )=fuel cost of generatingunit i

The fuel cost of thermal generating unit is a polynomial

Fi ( Pi )=ai+bi pi+c i pi2 where (2.2)

ai , bi , c i are coefficients of unit i

The ELD problem is subject to power balance constraint and generation limit constraints.

Power balance constraint/Equality constraint

∑i=1

n

pi=pd+ pl where (2.3)

pd is total load demand

7

Page 21: Solving Economic Load Dispatch Problem Using Tabu Search Method

pl is total transmission loss

Total Power loss is given by Kron Loss formula

PL=∑i=1

n

∑j=1

n

pi pij p j+∑i=1

n

boi pi+boo (2.4)

Generation limit constraint is given by minimum and maximum generation limit of unit i

Pi min ≤ P i≤ Pi max (2.5)

2.1.2 INEQUALITY CONSTRAINTS

The inequality constraints are discussed below.

a) GENERATOR CONSTRAINTS

The kVA loading on a generator is given by √ (P2+Q2

) and this should not exceed a pre-

decided value C because of the temperature rise condition that is :

(P2+Q2

) ≤ C2 (2.6)

If the power output of a generating unit for optimum performance of the system is less than a pre -

assigned value Pi min , the unit is not connected to the bus bar because it is not possible to generate

such low value of power from that unit. Hence the generated power P cannot be taken outside the

range given by the inequality . Similarly, the maximum and minimum reactive power that can be

generated by a source is limited. Hence the generator reactive power Q cannot be taken outside the

range as stated by the inequality.

Qmin ≤ Q≤ Qmax . (2.7)

b) VOLTAGE CONSTRAINTS

It is needed that the voltage magnitudes and phase angles at each node should vary within a certain

range. The voltage magnitude should vary within a certain range otherwise most of the equipment

connected to the system would not operate as needed or additional use of voltage regulating device

would make the system non-economical. Thus

∣V∣min≤∣V∣p≤∣V∣max (2.8)

8

Page 22: Solving Economic Load Dispatch Problem Using Tabu Search Method

δpmin ≤δp ≤δmax (2.9)

where V and δ stand for the voltage magnitude and phase angle at the p th bus or node. Normally

operating angle of transmission line lies between 300 and 450 for transient stability considerations.

Therefore a higher limit is set on angle d. A lower limit of d assures proper usage of transmission

facility.

c) RUNNING SPARE CAPACITY CONSTRAINTS

These constraints are required to meet:

• The forced outages or cut off of one or more alternators on the system

• The unexpected extra load on the system

The load generation should be such that in addition to load demand and system losses a

minimum spare capacity must be available:

G≥PD+PL or (2.10)

G=PD+PL+PSO (2.11)

where G is the total the generation capacity and PSO is some pre-assigned power. A well

planned system is the one in which spare capacity PSO is minimum.

d) TRANSFORMER TAP SETTINGS

If an auto transformer is used, the minimum tap setting could be 0 and the maximum could be 1

that is 0≥ t≥1 . Similarly for a two winding transformer if tapings are provided on the

secondary side , 0≥t≥n where n is the transformer ratio. Phase shift limits of the phase shifting

transformer is given by:

θpmin≤θp≤θpmax (2.12)

e) TRANSMISSION LINE CONSTRAINTS

The flow of real and reactive power through the transmission line is limited by the

thermal stability of the line and is expressed as :

9

Page 23: Solving Economic Load Dispatch Problem Using Tabu Search Method

CP≤CPmax (2.13)

where Cpmax is the maximum loading capacity of Pth line.[3]

2.1.3 ECONOMIC DISPATCH NEGLECTING LOSSES

When loads and generators are in small geographical region, transmission looses may be neglected

and the optimal dispatch of generation is achieved with all plants operating at equal incremental

production cost.

Generator limits

Pi min ≤ Pi ≤ P imax where (2.14)

i = 1,2………n

Equality constraint (active power balance equation)

∑i=1

n

Pi=PD (2.15)

Kuhn – tucker conditions compliment the lagrangian conditions to include inequality constraints as

additional terms.

Conditions for optimal dispatch in a lossless system but including generator limit include

dci

d pi

=λ for Pi (min ) ≤ Pi ≤ Pi ( max ) (2.16)

dci

d pi

≤ λ for Pi=Pi (max ) (2.17)

dci

d pi

≥ λ for Pi=Pi (min ) (2.18)

For an estimated value of lambda the powers are found for each participating generator. If the

power is beyond the limits of a generator, the generator is no longer a participating generator in the

optimization of dispatched power

2.1.4 ECONOMIC DISPATCH INCLUDING LOSSES

For large distance transmission we have to consider Kron’s loss formula.

PL=∑i=1

ng

∑j=1

ng

pi pij p j+∑i=1

ng

Boi pi+Boo (2.19)

10

Page 24: Solving Economic Load Dispatch Problem Using Tabu Search Method

B – coefficients

n – no. of generators

It is assumed that these coefficients are constant

If all generator participate in the minimization then ng = n, then one cam use either of the formulas

below

Ct=∑i=1

ng

C i (2.20)

Ct=∑i=1

n

(∝i+βP i+γPi2 )… …… (ii ) (2.21)

For ng<n

The first equation (i) is used

The active power constraint

∑i=1

ng

Pi=PD+PL (2.22)

Inequality constraint

Pi (min )≤ Pi ≤ Pi ( max ) i=1,2…… ..ng (2.23)

Using the lagrange multiplier and adding additional terms to include inequality, we have a

Kuhn-tucker function

M i (max ) (P i− Pi ( max ) )+∑i=1

ng

M i (min ) ( Pi− P i (min ) )

L=Ct+⋋[PD+PL −∑i=1

ng

Pi ]+∑i=1

ng

p i

(2.24)

The constraints mean that M i (max )=0 when Pi<Pi (max ) and M i (min )=0 when Pi>Pi (min )

When the upper and the lower limits are not exceeded then M i (min )=M i (max )=0 , then L will only

contain the equality constraint that is Lagrangian formula .

L=C t+⋋[PD+PL−∑i=1

ng

Pi] (2.25)

If a generator’s power exceed either of the limits that generators is pegged at the exceeded limit and

the remaining generators participate in the load dispatch process.

Thus the following conditions are necessary for a minimum to be achieved

11

Page 25: Solving Economic Load Dispatch Problem Using Tabu Search Method

∂ L∂ Pi

=0 (2.25)

∂ L∂⋋

=0 (2.26)

∂ L∂ M i (max )

=P1− Pi (max )=0 (2.27)

∂ L∂ M i (min )

=Pi − Pi (min )=0 (2.28)

The last equations imply that power should not go beyond its limit, and when the limit

M i (min )=M i (max ) the Kuhn-tucker function becomes the same as Lagrangian.

First equation ∂ L∂ Pi

=0 results in

∂ Ct

∂ P1

+⋋[O+∂ PL

∂ P1

−1]=0 (2.29)

Pd is constant

CT=C 1+C2+… ..+Cng then the equation above becomes (2.30)

∂C i

∂ P i

+⋋∂ PL

∂ Pi

=⋋ i=1,2…….ng (2.31)

The term

∂ PL

∂ Pi

=incremental transmissionloss (2.32)

The second equation

∂ L∂⋋

=0

Results in

Pd+PL −∑i=1

ng

Pi=0 (2.33)

Which is precisely the equality constraint imposed by the losses and load demand

12

Page 26: Solving Economic Load Dispatch Problem Using Tabu Search Method

From

∂C i

∂ P i

+⋋∂ PL

∂ Pi

=⋋ We have (2.34)

∂C i

∂ P i

=⋋[1−∂ PL

∂ P i]

⋋=

∂ C i

∂ Pi

(1 −∂ PL

∂ Pi)

,⋋=Li∂ C∂ P i

i=1,2 ……ng (2.35)

Li is know as penalty factor of plant i

Li=1

1−∂ PL

∂ P i

(2.36)

Thus the effect of transmission losses is to introduce a penalty factor with a value that depend on

location of plant with respect to load.

It is clear that the most economical cost dispatch is obtained when incremental cost multiplied by

corresponding penalty factor are equal for all participating plants.

Incremental transmission loss can be found from loss equation and is given by

∂ PL

∂ Pi

=2∑j=1

ng

Bij P j+Boi (2.37)

The incremental production cost

∂ PL

∂ Pi

=2γ i Pi+Bi (2.38)

The costs of electrical energy generation arise mainly from three sources: facility construction,

ownership costs, and operating costs. The last is the most significant portion of power system

operation, and in this section we focus on this aspect. Despite the high price of natural gas as a fuel

relative to coal, the past 10 years have seen new gas-fired plants far outpace new coal-fired plants,

with gas or lower capital costs, higher fuel efficiency, shorter construction lead times, and lower

emissions. In addition, projections are that natural gas prices will decline in the next few years, but

13

Page 27: Solving Economic Load Dispatch Problem Using Tabu Search Method

so far they haven’t, largely as a result of the increased power plant use. Petroleum-gas fired plants

accounting for over 99% of new capacity in this time period.The reason for this has been that

natural-gas-fired plants have These values reflect only the cost of fuel input to a generation plant;

they do not reflect the actual costs of producing electrical energy as output from the plant because

substantial losses occur during production. Some power plants have overall efficiencies as low as

35%; in addition, the plant efficiency varies as a function of the generation level Pg. We illustrate

this point in what follows.[13]

We represent plant efficiency by η. Then η=energy output/energy input. We obtain η as a function of

Pg by measuring the energy output of the plant in MWhrs and the energy input to the plant in

MBTU. We could get the energy output by using a wattmeter to obtain Pg over a given period of

time, say an hour, and we could get the energy input by measuring the coal tonnage used during the

hour and then multiply by the coal energy content in MBTU/ton.

14

Page 28: Solving Economic Load Dispatch Problem Using Tabu Search Method

2.1.5TABU SEARCH

Tabu is derived from the word taboo meaning prohibited, not allowed. Tabu search was developed

by Glover in 1987 who was motivated by the randomness of human behavior given similar

situations. Glover argued that such deviance from consistence might be to some advantage. Thus,

Tabu search operates this way except that the new courses are not chosen randomly. Tabu search

proceeds to elude that there's no point in accepting a new solution unless its to avoid a path already

chartered. This ensures that the whole problem space will be investigated as we move away from

local minima to alternatively find the desired solution.

• Tabu search has the following advantages:

• Ability to avoid the entrapment of local minima

• Employs a flexible memory system in contrast to SA or GA which are memoryless and

Branch and Bound which are rigid memory.

• TS has better performance than GA or SA in terms of computational time and solution

quality.

Tabu begins by moving to local minima. A list(s) is used to record the moves in order to avoid

retracing such path or reverse of the path. This list is referred to as Tabu search memory. The

purpose of the search memory is not rigid; during algorithm initialization, the purpose is

diversification (rough examination of the solution space) but as candidate locations are spotted the

search is more focused to produce local optimal solution a process called intensification. TS has

traditionally been used on combinatorial optimization problems.[15]

2.1.5.1 TABU SEARCH TENETS

Tabu search is a local search strategy with a flexible memory. Tabu search has two prominent

features:

• Adaptive memory and responsive exploration strategy.

• Always move to a new position even if its worse than the current solution.

• Maintain a list of solution points that must be avoided / or list of move attributes

• Aspiration criterion allow for exception from Tabu list if such moves lead to promising

solution

15

Page 29: Solving Economic Load Dispatch Problem Using Tabu Search Method

TABU LIST RESTRICTION

Generally, TS seeks to avoid local optimality by a strategy of forbidding certain moves contained in

Tabu List (TL).Elements on TL are determined by a function that utilizes historical information

from the search process extending up to Z iterations in the past where (Z = TL size which can be

fixed or variable depending on application or search stage).TL restrictions can be state directly as a

given change of variables (moves) or indirectly as a set of logical relationships. Each time a new

element is added to the 'bottom' the oldest element on the list is dropped from the 'top'. Empirically,

the best way to select a good TL size and Tabu restrictions is simply by watching for occurrence of

cycling when the TL size is too large and deterioration of the solution quality when the when the TL

size is too large[15].

ASPIRATION LEVEL (AL)

Associated with every entry in a Tabu list (TL) is a certain value for the evaluation function called

aspiration level. Aspiration level (AL) is designed to override Tabu status if a move is good enough

with the compatibility of the goal of preventing the solution process from cycling. Overriding Tabu

status occurs if the Tabu move yields a solution that has a better evaluation function than the one

obtained earlier from the same move.

STOPPING CRITERIA

Stopping Criteria are conditions for stopping the Tabu search include: when maximum allowable

number of iterations is reached and when number of iterations performed since the best solution last

changed is greater than a pre- specified maximum number of iterations[15].

2.1.5.2 GENERAL TS ALGORITHM

Choose suitable solution at random then get to the neighborhood of the solution. Move to the

neighborhood is performed if it does not have a Tabu status or it passes the Aspiration criteria in

case its in Tabu list. During these searches the best solution is always updated and stored aside until

the stop criteria is satisfied.

The generalized TS algorithm for combinatorial optimization problem is drafted below:

Variables include:_

X set of feasible solutions for a given problem

16

Page 30: Solving Economic Load Dispatch Problem Using Tabu Search Method

x current solution x Є XX'' best solution createdx' best solution among a sample of trial solutionsE(x) evaluation function of solution xN(x) set of neighborhood of x Є X (trial solution)S(x) sample of neighborhood of x, S(x) Є N(x)SS(x) sorted sample ascending order according to their evaluation function E(x)

Step 1 Set Tabu list (TL) as empty and aspiration criteria (AC) to be zero

Step 2 Set iteration counter K = 0. Select an initial solution x Є X and set x'' = x

Step 3 Randomly generate a set of trial solutions s(x) Є N(s) and sort them in an ascending

order to obtain SS(x).Let x' be the best trial solution in sorted set SS (x), the first element

in sorted set.Step 4 If E(X') > E(x''), go to step 5; else set best solution x'' = X' and go to step 5

Step 5 Perform Tabu search. If X' is NOT in the TL then accept it as the current solution. Set x

= X' and update TL (Taboo list) and AC (aspiration criteria) and go to step 7; else go to

step step 6.Step 6 If end of SS(x) is reached, go to step 8;otherwise let X' be the next solution in SS(x) and

go to step 4.Step 7 Perform the AC test. If satisfied override Tabu status. Set x = X' update AC and go to

step 8; else go to step 7Step 8 Perform termination test, if stopping criteria is satisfied then stop; else k = k+1 and go to

step 3

TS ADVANCES

In the recent past, other strains have been developed to improve the efficiency and effectiveness of

Tabu search. Such improvement among other include ATs (adaptive Tabu), MATs (Modified

Adaptive Tabu) and MTs (multiple Tabu search).The Tabu search algorithm used for these projects

17

Page 31: Solving Economic Load Dispatch Problem Using Tabu Search Method

brings together the best attributes of both MTs and MATs. In 2004, Adaptive Tabu search (ATs)

introduced two key mechanisms: backtracking mechanism (BT) to unlock the deadlock of moving

back to a visited solution and adaptive search radius mechanism (AR) which accelerates the search

speed by reducing search radius when the current evaluation function is threshold TABU. In 2001,

MATs introduced Adaptive neighborhood mechanism (AN) where number of neighbors for

solutions vary .AN is invoked at the same time as AR. MATs is branched into MATs -a (increasing

neighbors) and MATs -b (decreasing neighbors). Multiple Tabu Search (MTs) uses several initial

solutions which increase probability of reaching optimum solution. MTs consists of several

conventional TS algorithm. Additional mechanism namely initialization, adaptive searches,

replacing and restarting process are included. There has also been a proliferation of hybridization of

TS with both heuristics and neighborhood search method[15].

2.1.5.3 DIRECTED TABU SEARCH

Meta-heuristics may suffer from costly computation due to their slow convergence. Therefore

combining meta-heuristics with local search strategies is a practical solution to overcome the slow

convergence . Directed Tabu search is a hybrid of TS and a direct search method.

The direct search method stabilizes the search especially in the vicinity of local minimum. More

specifically, instead of random search in generating neighborhood trial moves, appropriate direct

search strategies are responsible for generating neighborhoods.[6]

In DTS method, three search procedures are employed; exploration,diversification and

intensification. In the exploration search, a new local search procedure is introduced to generate

trial moves based on well known Nelder-Mead method [6] and pattern search method [7].

Novel concepts of Tabu search (TS) memory elements called Tabu regions (TRS), semi – TRS and

multi-ranked Tabu list (TL) are introduced to provide anti-cycling rules. VRL (visited regions list)

is also introduced as a tool for diversification search to unvisited area of solution space. Assuming

that solutions obtained by exploration and diversification searches is close to a global minimum,

intensification search is used to refine the solutions found. DTS can be classified as a multi-start

method [6][7].

Using an effective memory conception in intensification and diversification schemes makes TS

behave as an intelligent search technique [8].Optimization search method can be categorized as

point to point method and population based method. TS belongs to point to point method hence

keeping diversity is a problem compared to population based method. Multi ranked Tabu list (TL)

18

Page 32: Solving Economic Load Dispatch Problem Using Tabu Search Method

be a set of some visited solution. Points in the TL one ranked and saved according to their recency

and objective function values .Therefore, two types of regions are specified in search space the first

one is Tabu region (TR) is which no new trial point is allowed to be generated. The other is semi

Tabu region (semi TR) generates neighboring trial point is a way so that returning to a visited TR is

avoided when the trial solution lies inside a semi TR. Another memory element is VRL (visited

region list). The centers of visited regions and frequency of visiting these regions are saved in the

VRL in order to direct a diversification scheme to explore the space outside these visited region.

MULTI-RANKED TABU LIST

Some of the previously visited solutions are stored in the TL

Let TL={t i }i=1

L(2.40)

Element in TL are ranked in ascending order according to their recency using rank indices

Iir ,i=1,…. L, (2.41)

if most ancient element is tk’ then I k'r=L

and if most recent elements is tk then I kr=1

Elements in TL are also ranked in ascending order according to their objective function using

another set of rank indices

Iifv , i=1,... , L (2.42)

That is if best element in TL is tj , then I jfv=1

and if the worst element is tj’ then I j 'fr=L

TL is considered a fuzzy set

and associate its elements {t i }i=1

L, the membership values:

mi=max {mir ,mi

fr } where (2.43)

i=1, …., L

Where mir ,mi

fv∈[0,1] are recency and function value ranked values for element ti.

Computed as follows

RECENCY RANKED VALUE mr

Using linear ranking procedure that gives the most recent the maximum ranked value ηmax and most ancient element the minimum ranked value, ηmin , where 0 ≤ ηmin<ηmax ≤1

19

Page 33: Solving Economic Load Dispatch Problem Using Tabu Search Method

Specifically, the recency ranked value for each element of TL is given by

mir=ηmin+(L−Ii

r

L−1 )i=1,….. L (2.44)

FUNCTION VALUE RANKED VALUE mfv

To avoid reserving excessively many positions in TL for the best elements and to give the recency

some priority, function value ranking ranks only best element so that the best element is given the

ranked value ηmax and the worst L−L̄+1 element are given the value ηmin

Where

1≤ L̄ ≤ L while 0≤μmin ≤μmax ≤ 1 (2.45)

The function value of each element in TL is ranked as follows

mifv={μmin+(μmax−μmin)( L'

−I ifv

L'−1 )} if Ii

fv=1,…, L̄

if I ifv=L̄+1,…,L

(2.46)

TABU REGIONS(TRS)Defined to be spheres with radius rTR and centers being point of TL where rTR>0

For each TR, we define semi –TR to be surrounding regions around TR with outer radius rSTR

from its center, where rSTR>rTR .

If a trail solution lies in semi-TRs, a special procedure is applied to create special neighborhood

trail points to avoid return to vicinity of previously visited solution. The following procedures is

used for that purpose

• Let trial point x lie in V Semi TRS with centers t1 ,…, t v compute centroid t’ of

the semi – TRS’ centers and maximum distance dmax between x and these centers

t'=1V∑i=1

V

ti , (2.47)

ηmax=max∣x−ti∣ where (2.48)

i=1,…. v

• Construct neighborhood search directions parallel to co-ordinate axes but point

towards direction of x−t ' neighborhood search directions are determined as sign

(( x)i−(t ' )i )e i; i=1,…,n where (2.49)

20

Page 34: Solving Economic Load Dispatch Problem Using Tabu Search Method

e i∈Rn is the ith unit vector in Rn

Neighborhood trial points are generated along these search direction with a suitable

step size β > 0. In the case of V>1, the step size β should be chosen to be greater

than dmax+rTR in order to avoid generating trial points outside a TR.

Note that step size use to generate a trial point along search direction d1 and d2 is chosen to be

greater than rTR+R+max ∣(x−t 1)∣,∣x−t 2∣ this ensures that TRs strategies with center t1 and t2 are

not hit.[5]

VISITED REGION LIST (VRL)Center ⋉i of visited region which is a sphere of radius ρ and frequency φ of visiting this

region comprise information stored in VRL VRL={⋉i ,ρi , φi}i=1

m (2.50)

where m is no.of all visited regions

Information of VRL is used to direct search towards new religion whenever the current TS

procedure fails to get improvement or as a diversification scheme in order to generate new trial

points outside the visited points.

Generating trial points near to more frequently visited religions is discouraged thus a function

Φ(φ) is introduced to distinguish between more and less frequently visited regions.

Φ (φ )=γ (1−e−γ ( φ−1) ) where γ ϵ (0,1 ) is given constant (2.51)

The procedure allows the acceptance of a trial point outside the visited regions, especially the more

frequently visited ones.

a) Generate a trial point x randomly in the search domain of fb) Compute the qualities

d i=∣x−α∣/(1+Φ (φ )), i=1,. . ,M .If min1≤i ≤ mdi / pi≥ 1 then accept x else return to

step a)

21

Page 35: Solving Economic Load Dispatch Problem Using Tabu Search Method

NEIGHBORHOOD LOCAL SEARCH STRATEGIES

To explore region around a solution to generate the next move we use the neighborhood and local

search strategies in which directed search methods are employed. Two strategies are used

Nelder-Mead search (NMS) and adaptive pattern search (APS)[5]. Those neighborhood-local search

strategies are invoked to generate trial exploration search stage of DTS method.

Two types of points are generated by the neighborhood local search strategy; neighborhood trial

points and local trial points which are needed in neighborhood search and local search steps

respectively[5][6].

P trial points { y i }i=1

pare generated in neighborhood of current solution x. (neighborhood search)

Then we try to improve the neighborhood trial points { y i }i=1

pby executing a local search to

generate q trial points { y p+ i }i=1

q which are called local trial points.

Details on neighborhood local search strategies, NMS and APS are given below.

NELDER-MEAD SEARCH (NMS) STRATEGY

In NMS, we generate (p = n) neighborhood trial points { y i }i=1

n

And q=1or0 local trial point.

Neighborhood trial points are generated along search direction parallel to the co-ordinates axes

starting from the current solution x with suitable step-size. If current solution x lies in a semi TR or

in semi-TRs, use procedure (2.47) - (2.49) to construct search direction and step-sizes. Otherwise,

search directions are constructed parallel to a positive or a negative co-ordinate direction. To

generate a local trial point, we construct a simplex S consisting of solution x and the current

neighborhood trial points { y i }i=1

nthat is {x , y ,…. , yn}

N/B: some iterations of NM method are applied starting from S.

If an improvement point is obtained from those NM iterations then we set the local trial yn+1

equal to improvement point i q=1 otherwise, there’s no trial point q=0

Consider example below shown in two dimensions in figure 2

Given current solution x, two

22

Page 36: Solving Economic Load Dispatch Problem Using Tabu Search Method

• Generate neighborhood trial points y1 and y2 in figure 2

• To find a local trial point we construct a simplex whose vertices are S={x , y1 , y2 } as

• shown figure 3.

• Assuming that the worst point in S is y2 ,we apply Nelder-Mead method operations to

find a better movement. If there exists a better movement, we call it local trial point.

23

Page 37: Solving Economic Load Dispatch Problem Using Tabu Search Method

ADAPTIVE PATTERN SEARCH

FIGURE 1. Neighborhood search from a point in Semi-TRs

24

Semi - TR

Semi - TR

TR

T2

TR

T1

x

t'

d 2

d 1

b(x-t)

Page 38: Solving Economic Load Dispatch Problem Using Tabu Search Method

GENERATION OF NEIGBOURHOOD AND TRIAL POINTS

25

y2

y1x

FIGURE 2

FIGURE 3y1

x

Page 39: Solving Economic Load Dispatch Problem Using Tabu Search Method

NEMER – MEAD STRATEGIES

FIGURE

26

SHRINKAGE

REFECTION

EXPANSION

INSIDE CONTRACTION

OUTSIDE CONTRACTION

Page 40: Solving Economic Load Dispatch Problem Using Tabu Search Method

ADAPTIVE PATTERN SEARCH (APS) STRATEGY

We construct n pattern directions parallel to the co-ordinates axes emanating from point x and

generate n trial point { y i }i=1

n along these dimensions with suitable step-size.[5]The adaptive

direction, V along which we may expect to decrease the function value, is computed using these

trial points as follows:

V=∑i=1

n

wi v i (2.52)

Where

w i=Δ f i

∑j=1

n

∣Δ f j∣

, 1,2,... , n , (2.53)

v i=−( y i−x)

∣y i−x i∣, i=12,…,n (2.54)

Δ f j=f ( y i )−f ( x ) ,i=1,2, …,n (2.55)

In the APS strategy, we generate (P=n) neighborhood trial points { y i }i=1

n using the standard

pattern direction and (q=2) local trial points .Using an adaptive pattern direction ,we construct

n pattern direction parallel to co-ordinate axes emanating from the current solution x and

generate n neighborhood trial points { y i }i=1

nalong these directions with some step-size.

Adaptive pattern direction V at x is computed using V=∑i=1

n

wi v i two trial points yn+1 and

yn+2 are generated along vector V using two different step sizes.[5]

27

Page 41: Solving Economic Load Dispatch Problem Using Tabu Search Method

2.1.5.4 DIRECTED TABU SEARCH ALGORITHM

Three search procedures are used namely:

• Exploration

• Diversification

• Intensification

In the exploration stage, neighborhood local search strategies NMS or APS are employed.

Moreover, multi-ranked TL,TR and semi-TR restriction rules are applied to avoid revisiting recently

visited solutions or being entrapped in local minima. Diversification is used in diversify the search

to areas of the solution space overlooked by the Exploration search. Diversification search is

managed using VRL information. Finally, intensification search is used to explore the region around

the best solution thus far. In the mDTS, the Exploration and Diversification stages are combined to

form the main loop, which need termination conditions to be met in order to stop[5][6].

EXPLORATION SEARCH

Starts with an initial solution for every iteration of the main loop. For each iteration a neighborhood

local search strategy (NMS or APS) is used to generate n neighborhood trial points. If a better

solution is found among these trial points, we update the current iterate and move to next

exploration/inner loop iteration. Otherwise, NMS or APS continue to generate q local trial points.

Then the current iterate/ solution is updated to be the best of the neighborhood. TL is update by

letting current best solution replace the element with least membership value. If a new region is

reached then VRL is update with information of the new region[5][7][11].

This Exploration loop is repeated for a fixed predetermined number of times.

28

Page 42: Solving Economic Load Dispatch Problem Using Tabu Search Method

DIVERSIFICATION

Diversification is carried out when the exploration/inner loop has reached a predetermined positive

integer or consecutive inner iterations fail to obtain an improvement of the current solution. With

the current VRL information, is used to generate search towards new regions outside visited

regions, especially more frequently visited ones. Thus a new trail point is generated and Exploration

search is repeated from this point[6][7].

INTENSIFICATION

With the multi-ranked TL, we have the best points visited thus far. In order to fine tune our solution,

we used the modified NM starting with some of the solutions in TL[5][6].

29

Page 43: Solving Economic Load Dispatch Problem Using Tabu Search Method

CHAPTER 3

3.1ALGORITHM FOR mDTSNMS There are two versions of mDTS method: mDTSNMS and mDTSAPS.[5]

Step 1 Initialization. Choose positive integers lmain , l′main , linner and l′inner . Choose an initial

solution x, and set TL and VRL to be empty.

Step 2 Exploration-Diversification Search (Main Loop). Let j = 0 and repeat this main

loop until l′main consecutive main iterations fail to obtain improvement or the main

loop iteration counter j exceeds lmain

Step 3 Exploration Search(NMS) (Inner Loop). Let k = 0 and repeat this inner loop until l

′inner consecutive inner iterations fail to obtain improvement or the inner loop iteration

counter k exceeds linner .

Step 4 Search Directions. If the current iterate xk lies in Semi-TRs, use VRL information

to construct search directions {di}i=1 and to choose step sizes{Δi}i=1 . Otherwise,

construct search directions di = sign(vi) ei ,i= 1,...,n, where ei R∈ n is the ith unit

vector of in Rn and Vi is the ith component of vi and choose suitable step size

{Δi}i=1 .

Step 5 Neighborhood Search. Generate n neighborhood trial points. Whenever a better

movement is found during this process, stop generating points, set current solution

equal to this better movement, and go to step 7.

Step 6 Local Search. Compute the direction v at xk using {yi}i=1.Choose two suitable step

sizes α1 and α2 to generate local trial points. yn+i = xk + αi v/ |v| , i = 1, 2.

Set xk+1 = arg mini=1,...,n+2 {f (yi)} .

Step 7 Parameter Update. Let xk replace the element with the smallest membership value

in TL and re-rank the TL elements using (1). Update the VRT and set k = k + 1.

Step 9 Intensification Search. NM method starting from some elite solutions in the TL

30

Page 44: Solving Economic Load Dispatch Problem Using Tabu Search Method

EXPLORATION SEARCH

This is the first phase and starts with an initial solution .For each iteration, a neighborhood local

search strategy (NMS or APS) is employed to generate n neighborhood trial points. If a better

solution is found among these trial points, we update the current iterate and move to next

exploration/inner loop iteration.

DIVERSIFICATION

Diversification is carried out when the exploration has reached a predetermined maximum limit or

consecutive inner iterations fail to obtain an improvement of the current solution. With the current

VRL information, is used to generate search towards new regions outside visited regions, especially

more frequently visited ones.

INTENSIFICATION

With the TL, we have the best points visited thus far. To fine tune our solution, we used the NM

starting with some of the solutions in TL[5].

31

Page 45: Solving Economic Load Dispatch Problem Using Tabu Search Method

3.2 FLOW CHART

32

INITIALIZATIONSet intial solution,iteration counters,TL,VRL,maximum

exploration loop, set main loop counter J = 0

CONSTRUCT SEARCH DIRECTIONS and STEP SIZE using APS Set inner counter K=0 Intialize vector v

NEIGHBORHOOD SEARCHGenerate n trial points and Locate the best

solution

Is any of the generated points better

thancurrent solution.

LOCAL SEARCH using vector v and choosing two suitable steps to generate trial points .set a new x point.

PARAMETER UPDATE Update TL,VRT, counter K +1

Is K> inner loop max or After Linner consecutive iterations there's No improvement

Is J> main loop max or After Lmain consecutive iterations there's No improvement .EXPLORATION

_DIVERSIFICATION

INTENSIFICATION Search using NM

YES

NO

NO

YES

YES

NO

DIVERSIFICATION SEARCH Generate a trial point from current VRTUpdate TL, and VRT.set k=0. Update main

counter J+1

STOP

START

Page 46: Solving Economic Load Dispatch Problem Using Tabu Search Method

3.3 PARAMETER SET UP

Parameter set up determines the sensitivity and accuracy of our algorithm. The distance parameter

are based on δ which is diameter of range {L U}. We set δ = max1 ≤ i ≤ n (ui − li ) .Where u and l are

the upper and lower limit of i th generator output.

• Initial solution, X0 is chosen such that it is within range of minimum and maximum limit of

generator outputs.

• TR and semi TR parameters .The r TR radius of each TR and r STR outer radius of semi – TR.

2r TR = r STR.

r TR = 0.01δ .

• TL parameters. Number L of elements in the TL, the maximum and minimum recency

ranked values Ƞ max and Ƞ min. The number L̄ of the function – value ranked elements.

The maximum and minimum function value ranked values μ max and μ min respectively. We

set ηmax = μmax = 1

ηmin = μmin = 1/L

L = 5n and L = 2n.

• VRL parameters. Radius ρ j =1,...M , frequency and center of visited M regions.

We set ρ = 0.15δ .

• Step Size used to generate neighborhood points. Δ i=1,..,n used in generating neighborhood

trial points for both DTSNMS and DTSAPS. α1 and α2 used to generate local trial points for

DTSAPS.

• We set ∆ i = (0.1 + 0.025ωi )δ, i = 1, . . . , n,. Set

α1 = (0.1 − 0.05θ1 )δ,

α2 = (0.1 + 0.05θ2 )δ.

Where ω i = 1, . . . , n, are random numbers from the interval (−1, 1)

θ1 and θ2 are random numbers from the interval (0, 1).

• Diversification trials. Parameters γ = 0.25 and Itmax = 100n.

• Intensification trials. The number of Nbest of best points used in the intensification search.

Set Nbest equal to 1.

• Termination conditions. Loop termination values.

Lmain= Linner = 5n AND L'inner. = L'main,=2n

33

Page 47: Solving Economic Load Dispatch Problem Using Tabu Search Method

3.4 IEEE 30 TEST BUS

FIGURE 6. The data on IEEE 30 test bus is shown in appendix A.

34

Page 48: Solving Economic Load Dispatch Problem Using Tabu Search Method

CHAPTER 4

RESULTS

The modified direct Tabu Search(mDTS) Algorithm is used to solve the Economic Load Dispatch

problem for IEEE 30 bus test system. The simulation was carried out using MatLab 7.0 software.

The total fuel cost and power loss of the system are minimized.

TABLE 1

METAHEURISTICS mDTS PSO[16] GA[16]

Pg1 176.8710 176.727 180.367

Pg2 45.2423 49.6812 50.24

Pg3 20.6910 22.4282 25.61

Pg4 20.7210 23.8313 19.9

Pg5 11.9324 12.0667 11.71

Pg6 13.1423 13 14.09

TOTAL POWER(MW)

288.5923 297.7344 301.917

POWER LOSS(MW) 5.91 14.3344 18.517

FUEL COST($/hr) 596.2021 615.6207 616.4811

CPU TIME(s) 13.2331 27.1314 30.2421

35

Page 49: Solving Economic Load Dispatch Problem Using Tabu Search Method

FIGURE 7

36

Gen 1 Gen 2 Gen 3 Gen 4 Gen 5 Gen 60

20

40

60

80

100

120

140

160

180

200

GRAPH 1: COMPARISON OF GENERATOR OUTPUTS

mDTS

PSO

GA

GENERATOR

PO

WE

R O

UT

PU

T(M

W)

Page 50: Solving Economic Load Dispatch Problem Using Tabu Search Method

FIGURE 8

37

0 100 200 300 400 500 600 700 800 900 10000

200

400

600

800

1000

1200

GRAPH 2: COMPARISON OF CONVERGENCE

mDTS

PSO

GA

NO.CF ITERATION

TO

TA

L F

UE

L C

OS

T($

/hr)

Page 51: Solving Economic Load Dispatch Problem Using Tabu Search Method

CHAPTER 5

5.1 DISCUSSION The sole purpose of this project was to minimize the fuel cost for the generating units in addition to

minimizing losses. As seen from Table 1, mDTS did outperform PSO and GA in solving the

Economic Load Dispatch problem since mDTS provided the optimal total power output, least fuel

cost least power losses and the least computational time. The bar Graph 1 gives a visual

representation of the result posted on Table 1.

It can be seen that mDTS has the least fuel cost value for each generator output. Graph 2 is a plot of

number of iteration against objective function value(total fuel cost).It can be generally noted that

total fuel cost drops with increasing iteration values. This is the concept of convergence to a global

minima. More iterations translate into exploring a wider solution space which increases the

probability of reaching global minima. From Graph 2, mDTS has a faster convergence than either

PSO or GA. The faster convergence of mDTS can be attributed to a number of factors.

Firstly, mDTS is a hybrid of conventional Tabu search and directed search methods. Directed search

methods as Neder- Mead search and Adaptive Pattern search stabilizes the search especially in the

vicinity of local optima. Adaptive Pattern search was implemented in the Exploration phase to

generate neighborhood points based on the search space terrain using Tabu List and Visited

Regions List unlike in conventional TS, GA and PSO where the neighborhood points are generated

randomly without considering the dynamics of the search space. Its is also vital to point out that

unlike GA or PSO, Tabu search is based on memory response. The information contained in TL and

VRL ensure that the search evade local optima entrapment.

MDTS is also guaranteed to reach global optima due to its thoroughness in exploration of the search

space. mDTS consist of a main and inner loop. The inner loop makes up the exploration phase

which starts with an initial solution then using neighborhood search strategies, it generates

neighbors and selects an improvement from the batch. Neighborhood solutions are then used to

generate other points. This procedure is repeated until the maximum iteration is reached or a

specified number of of consecutive iterations does not generate an improvement. At this instance,

we step into the Diversification Phase(main loop), which generates a trial point based on

information in Visited Region List which is used to generate a point from a feasible unexplored or

rarely explored region. This new point is then passed to the Exploration search which uses

38

Page 52: Solving Economic Load Dispatch Problem Using Tabu Search Method

neighborhood search strategies to generate neighborhood points .

An additional phase,Intensification is the used to fine tune the current best solution. Intensification

is based on TL which consists of best solution thus far. Starting from one of the solutions in TL,

Neder-Mead is used to apply another local search. The flow chart gives a visual representation of

the aggressiveness of mDTS.

The performance of mDTS is based on the parameters setting like any other metaheuristic .The

advantage of the mDTS used for this project is that its parameters are set such that they are

independent of the problem at hand. This has the advantage of solving related problems under

similar environment. One popular application of this novice programming technique is when

solving the Unit commitment problem and its subproblem – Economic Load Dispatch Problem.

5.2 CONCLUSION

The goal of this project was to come up with an effective and reliable version of Tabu search

algorithm for the scheduling of the generators power outputs so as to meet the system load at the

least total fuel cost under various operating constraints. This project presents an application of the

modified Directed Tabu search algorithm (mDTS) to Economic Load Dispatch problem (ELD). The

proposed mDTS algorithm with Neder-Mead Search(NMS) and Adaptive Pattern Search(APS)

easily handled different system constraints and greedily ploughed through the search terrain.

Simulations were performed on MATLAB 7 for IEEE- 30 test bus system. Simulation results were

compared with those of Genetic Algorithms (GA) and Particle Swarm Optimization (PSO). The

results confirmed the robustness and proficiency of the proposed modified Directed Tabu search

over GA and PSO.

5.3 RECOMMENDATIONS

1.To make the solution of Economic Load Dispatch more practical othser constraints should be

catered for in the mDTS. The other constraints include transformer tap setting, voltage

constraints,ramp rate effects and transmission line constraints.

2.Propose Jelly Fish Algorithm (JFA) for solving combinatorial optimization problems .Consider

the feeding habits of a bloom of Jelly fish shown in figure 3 below. Individual jelly fish are made of

39

Page 53: Solving Economic Load Dispatch Problem Using Tabu Search Method

tentacles that are used for filter feeding since they lack brains and eyes .Jelly can assume any

position since they are moved by drifts currents, waves and winds though some have the ability of

moving vertically by contraction. Jelly fish mainly feed on planktons. Since planktons cannot swim

against current, at any given time a large percentage of Jelly fish will be in regions where there are

large amount of planktons. Jelly fish hunt and feed by spreading and closing their tentacles. Their

umbrella like structure also contact and expand during hunting and feeding. See figure 4 below.

From a nature-inspired heuristic perspective, the changing of shape and size of jelly fish during

feeding will represent an adaptive search radius strategy. The ability of the jelly fish to assume any

posture in water as shown in figure 3 also points to JFA having an adaptive search radii. The fact

that planktons(solutions) and jelly fish are drifted by currents means that the global optima is

always in the proximity of each fish.

The ability of some jelly fish to move vertically unlike planktons means that the search space can be

explored much aggressively than the planktons are eluding capture. This alludes to a faster

convergence rate. Since the planktons(solution) are always in motion, Jelly Fish Algorithm(JFA)

would be suitable for problems whose parameters,variables and other dynamics are constantly

changing. The ability of jelly fish to communicate through chemicals in water can be modeled to

accommodate problem constraints.

40

Figure 9.Swarm of jelly fish

Figure 10.Jelly fish moving vertically

Page 54: Solving Economic Load Dispatch Problem Using Tabu Search Method

APPENDIX A

DATA FOR IEEE – 30 BUS TEST SYSTEM

TABLE A.1

GEN. No. Pmin (MW) Pmax(MW) Qmin(MVar) Qmax(MVar) ai bi ci

1 50 200 - - 0.00375 2.00 0

2 20 80 -20 100 0.01750 1.75 0

3 15 50 -15 80 0.06250 1.00 0

4 10 35 -15 60 0.00834 3.25 0

5 10 30 -10 50 0.02500 3.00 0

6 12 40 -15 60 0.02500 3.00 0

Table A.1 consists of data on generators minimum and maximum active and reactive powers

outputs and fuel cost co-efficient values for an IEEE – 30 Test Bus System.

TABLE A.2

2 1 3 -1.1 1.2 1.3

1.09 1 1 -1.9 5 8

3 1 3.14 -1.55 -5 -2

-0.1 -1 -1.5 2.98 5.5 1.1

1.2 5 -5 5.5 1.3 5

1.3 8 -2 1.14 5 1.2

Table A.2 :Table of loss coefficients for IEEE 30 bus system. Each element is to be multiplied by

(10^ -4)

41

Page 55: Solving Economic Load Dispatch Problem Using Tabu Search Method

REFERENCES[1] Hossein Seifi & Mohammed Sadegh Sepasian Electric Power Systems Planning:Issues,

Algorithms and Solutions 2011 Pg. 4 -7

[2] FERC Staff “Economic Dispatch:concept, Practices and Issues”, Novermber 13, 2005, Pg 2

[3] Soumja Ranjan Panda, “Distributed Slack Bus Model for Qualitative Economic Load

Dispatch”, Department of Electrical Engineering, National Institute of Technology, Rourkela

May (2013)

[4] Hawary & G.S:Christen Optimal Operation of Electric Power Systems, vol.142 ,pg 32-42

2003

[5] Abdel-Rahman Hedar, Masao Fukushima , “Tabu Search directed by direct search methods

for nonlinear global optimization”Department of Applied Mathematics and Physics,

Graduate School of Informatics, Kyoto University, Kyoto 606-8501, Japan

[6] A. Nelder, R. Mead, “A simplex method for function minimization'', The Computer Journal

7 (1965) pg.308-313.

[7] A. Hedar, M. Fukushima: Heuristic pattern search and its hybridization with simulated

annealing for nonlinear global optimization, Optimization Methods and Software 19 (2004)

pg.291–308.

[8] N. Hu, Tabu search method with random moves for globally optimal design, International

Journal for Numerical Engineering 35 (1992) pg.1055-1070.

[9] H. H. Happ, "Optimal power dispatch - A comprehensive survey," Power Apparatus and

Systems, IEEE Transactions on, vol. 96, pp. 841-854, 1977

[10] R. K. Pancholi and K. S. Swarup, "Particle swarm optimization for security constrained

42

Page 56: Solving Economic Load Dispatch Problem Using Tabu Search Method

economic dispatch," in International Conference on Intelligent Sensing and Information

Processing. (IEEE Cat. No.04EX783), Chennai, India, 2004, pp. 7-12.

[11] J. S. Al-Sumait, J. K. Sykulski, and A. K. Al-Othman, "Solution of different types of

economic load dispatch problems using a pattern search method," Electric Power

Components and Systems, vol. 36, pp. 250-265, 2008.

[12] S.Hemamalini and S.P.Simon,’’Maclaurin series based lagrangian method of economic

dispatch with valve point effects’’IET generation, transmission, distribution, vol.3, no9,

pg.859-871, sept2009

[13] Cesar rego, Bahram Alidaee: Metaheuristic Optimization Via Memory and Evolution,

Kulwer Academic Publishers, vol 2,pg.345 – 455,2005

[14] Daniel Kirschen,Goran Strbac: Fundamentals of Power System Economics,University of

Manchester institute of Science and Technology(UMIST),John Wiley & Sons,Ltd.

pg.102 – 201,2004

[15] Soliman Abdel – hady Soliman, Abdel – Aal Hassan Mantawy:Modern Optimization

Techniques with Application in Electric Power Systems,Springer,pg185-230,2010

[16] Basir.A and Noor Abdi,''Solving Economic Load Dispatch using Evolutionary Algorithms”

Islamic Institute of Technology, Quatar.2010.

43

Page 57: Solving Economic Load Dispatch Problem Using Tabu Search Method

MATLAB CODE:DTSp.m%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [XMin,FMin,FCount] = DTSp (f,U,L,demand) % Inputs: % f = Objective function % U = n-Dimension Vector of upper limits of the generators output% L = n-Dimension Vector of lower limits of the generators output% demand = total power demand% Outputs:% XMin = Best point obtained by DTSps% FMin = Best function value obtained by DTSps% FCount = Number of function evaluations %%%%%%%%%%%%%%%%%%% Intial Parameters %%%%%%%%%%%%%%%%%%%%%n=length(U);Edg=0.1*min(U-L); % Simplex edge lengthFCount=0; % Number of function evaluationstol =1.0D-6; % Termanation acurcyMaxItrs=10*n; itrc=0;NoImprv=2*n;inNoImprv=0;H=1; % Ratio of accepting Diversification pointdVR=2*Edg; % Region redius in VRL%%%%%%%%%%% Generation of the initial Solution %%%%%%%%Pmin=[50 20 15 10 10 12]; Pmax=[200 80 50 35 30 40];r=rand(1,n);x=L+(U-L).*r;fx=feval(f,x);FCount=FCount+1;fbetter=fx;S=zeros(n+2,n);fv=zeros(n+2,1);id=eye(n);%% **************** 1st iteration ******************% Constructing the Neighborhood Searchticin=1;while(fbetter >= fx & in <= n) EdgL=Edg+rand*Edg; sn=(-1)^(round(rand)); S(in,:)=x+sn*EdgL*id(in,:); fv(in)=feval(f,S(in,:)); FCount=FCount+1; if fv(in)<fbetter

44

Page 58: Solving Economic Load Dispatch Problem Using Tabu Search Method

x1=S(in,:); f1=fv(in); Bflag=1; fbetter=fv(in); else Bflag=0; end in=in+1;endif (Bflag == 0) df=zeros(n,1); u=zeros(n,n); v=zeros(1,n); for j=1:n; df(j)=fv(j)-fx; end for i=1:n; w(i)=df(i)/sum(abs(df)); u(i,:)=-(S(i,:)-x); u(i,:)=u(i,:)/norm(u(i,:)); end for j=1:n; v=v+w(j)*u(j,:); end v=v/norm(v); S(n+1,:)=x+(0.5*rand)*Edg*v; S(n+2,:)=x+(0.5+0.5*rand)*Edg*v; for j=1:2 jn=n+j; fv(jn)=feval(f,S(jn,:)); end FCount=FCount+2; [fvs,is]=sort(fv); Stmp=S(is,:); S=Stmp; fv=fvs; xnew=S(1,:); fnew=fv(1);else xnew=x1; fnew=f1; end% TL and VRL SettinginTL=1; TL(inTL,:)=x; fTL(inTL)=fx; rec(inTL)=1;inVRL=1; VRL(inVRL,:)=x; frVRL(inVRL)=1;x=xnew; fx=fnew;Xold=x; Fold=fx;

% %%%%%%%%%%%%Transmission loss coefficients%%%%%%%%%%%%%B00=[0.000014]; B01=[-0.000003 0.000021 -0.000056 0.000034 0.000015 0.000078]; B=[ 0.000218 0.000103 0.000009 -0.000010 0.000002 0.000027;

0.000103 0.000181 0.000004 -0.000015 0.000002 0.000030; 0.000009 0.000004 0.000417 -0.000131 -0.000153 -0.000107; 0.000010 -0.000015 -0.000131 0.000221 0.000094 0.000050; 0.000002 0.000002 -0.000153 0.000094 0.000243 -0.000000; 0.000027 0.000030 -0.000107 0.000050 -0.000000 0.000358];

%%%%%%%%%%%%%%%%%%%%%% Main Loop %%%%%%%%%%%%%%%%%%%%%%%%%%while(inNoImprv < NoImprv & itrc < MaxItrs)

45

Page 59: Solving Economic Load Dispatch Problem Using Tabu Search Method

[FM1,XM1,FCount1,TL1,fTL1,rec1,VRL1,frVRL1]=APS(f,n,x,fx,Edg,TL,fTL,rec,VRL,frVRL); TL=TL1; fTL=fTL1; rec=rec1; VRL=VRL1; frVRL=frVRL1; FCount=FCount+FCount1; % Diversification Solution accpt=0; while accpt==0 r=rand(1,n); xnw=L+(U-L).*r; for j=1:inVRL dxV(j)=norm(xnw-VRL(j,:))*(1+0.25*(1-exp(-0.25*(frVRL(j)-1)))); end if min(dxV)>= H*dVR accpt=1; end end x=xnw; fx=feval(f,x); FCount=FCount+1; % Update TL % [sortrec,iTLr]=sort(rec); TLrtmp=TL(iTLr,:); TL=TLrtmp; fTLtmp=fTL(iTLr); fTL=fTLtmp; rec=sortrec; inTL=length(fTL); for j=1:inTL rec(j)=j; end % [sortfTL,iTL]=sort(fTL); TLtmp=TL(iTL,:); TL=TLtmp; rectmp=rec(iTL); rec=rectmp; fTL=sortfTL; fTL(inTL)=fx; TL(inTL,:)=x; rec(inTL)=inTL+1; % inVRL=length(frVRL); VRL(inVRL+1,:)=x; frVRL(inVRL+1)=1; % if FM1 <= Fold inNoImprv = 0; else inNoImprv = inNoImprv+1; end Xold=XM1; Fold=FM1; itrc=itrc+1; end

%%%%%%%%%%%%%% Intensification Search %%%%%%%%%%%%%%%%

46

Page 60: Solving Economic Load Dispatch Problem Using Tabu Search Method

%[fTLs,ifTL]=sort(fTL); TLtmp=TL(ifTL,:);TL=TLtmp; fTL=fTLs;XMin=TL(1,:); XM=TL;FMin=fTL(1);% Applying N-M method starting from Best Pointif n<5 maxitt=100*n; budget=200*n;else maxitt=5000*n; budget=10000*n;endfor j=1:1 [x1,FCoun1,f1]=NeMe(n,f,XM(j,:),maxitt,budget); if f1 < FMin XMin1=x1(:,1); FMin=f1; end FCount=FCount+FCoun1;end%%%%%%%%%%%%%%%%%%%%%%%%%% END %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

MATLAB CODE:NeMe.mfunction [z,fcount,f1,lhist,histout,simpdata]=NeMe(n,f,x0,maxit,budget)%% function [x,lhist,histout,simpdata] = nelder(x0,f,tol,maxit,budget)%% inputs:% vertices of initial simplex = x0 (n x n+1 matrix)% The code will order the vertices for you and no benefit is% accrued if you do it yourself.%% objective function = f%% termination tolerance = tol% maximum number of iterations = maxit (default = 100)% As of today, dist = | best value - worst value | < tol% or when maxit iterations have been taken% budget = max f evals (default=50*number of variables)% The iteration will terminate after the iteration that% exhausts the budget%%% outputs:% final simplex = x (n x n+1) matrix%% number of iterations before termination = itout (optional)% iteration histor = histout itout x 5

47

Page 61: Solving Economic Load Dispatch Problem Using Tabu Search Method

% histout = iteration history, updated after each nonlinear iteration% = lhist x 5 array, the rows are% [fcount, fval, norm(grad), dist, diam]% fcount = cumulative function evals% fval = current best function value% norm(grad) = current simplex grad norm% dist = difference between worst and best values% diam = max oriented length% simpdata = data for simplex gradient restart % = [norm(grad), cond(v), bar f]%% initialize counters%lhist=0; fcount=0;%% set debug=1 to print out iteration stats%debug=0;%% Set the N-M parameters%rho=1; chi=2; gamma=.5; sigma=.5;tol=1.0D-8;% Generation of the initial pointfor i=1:n; z(i,1)=x0(i); endfv(1)=feval(f,z(:,1));fcount=1;edgel=1;edge=edgel*ones(n,1);id=eye(n);for j=2:n+1; z(:,j)=z(:,1)+edge(j-1)*id(:,j-1); endfor j=2:n+1; fv(j)=feval(f,z(:,j)); end;fcount=fcount+n;if nargin < 4 maxit=100*n; endif nargin < 5 budget=200*n; endif n >= 10; maxit = 10*maxit; budget=10*budget; end%% set the parameters for stagnation detection/fixup% setting oshrink=0 gives Nelder-Mead%oshrink=1; restartmax=3; restarts=0;%%% Order the vertices for the first time%%x=x0; histout=zeros(maxit*3,5); simpdata=zeros(maxit,3);itout=0; orth=0;ztmp=zeros(n,n+1); delf=zeros(n,1);[fs,is]=sort(fv); ztmp=z(:,is); z=ztmp; fv=fs;f1=fv(1);itc=0; dist=fv(n+1)-fv(1);diam=zeros(n,1);for j=2:n+1 v(:,j-1)=-z(:,1)+z(:,j); delf(j-1)=fv(j)-fv(1); diam(j-1)=norm(v(:,j-1));

48

Page 62: Solving Economic Load Dispatch Problem Using Tabu Search Method

endsgrad=v'\delf; alpha=1.d-4*max(diam)/norm(sgrad);lhist=lhist+1;histout(lhist,:)=[fcount, fv(1), norm(sgrad,inf), 0, max(diam)];%% main N-M loop%while(itc < maxit & dist > tol & restarts < restartmax & fcount <= budget) fbc=sum(fv)/(n+1); xbc=sum(z')'/(n+1); sgrad=v'\delf; simpdata(itc+1,1)=norm(sgrad); simpdata(itc+1,2)=cond(v); simpdata(itc+1,3)=fbc; if(det(v) == 0) disp('simplex collapse') break end happy=0; itc=itc+1; itout=itc;%% reflect% y=z(:,1:n); zbart = sum(y')/n; % centriod of better vertices zbar=zbart'; zr=(1 + rho)*zbar - rho*z(:,n+1); fr=feval(f,zr); fcount=fcount+1; if(fr >= fv(1) & fr < fv(n)) happy = 1; zn=zr; fn=fr; end;% if(happy==1) disp(' reflect '); end%% expand% if(happy == 0 & fr < fv(1)) ze = (1 + rho*chi)*zbar - rho*chi*z(:,n+1); fe=feval(f,ze); fcount=fcount+1; if(fe < fr) zn=ze; fn=fe; happy=1; end if(fe >=fr) zn=zr; fn=fr; happy=1; end% if(happy==1) disp(' expand '); end end%% contract% if(happy == 0 & fr >= fv(n) & fr < fv(n+1))%% outside contraction% zc=(1 + rho*gamma)*zbar - rho*gamma*z(:,n+1); fc=feval(f,zc); fcount=fcount+1; if(fc <= fr) zn=zc; fn=fc; happy=1; end;% if(happy==1) disp(' outside '); end; end%% inside contraction% if(happy == 0 & fr >= fv(n+1)) zc=(1 - gamma)*zbar+gamma*z(:,n+1); fc=feval(f,zc); fcount=fcount+1;

49

Page 63: Solving Economic Load Dispatch Problem Using Tabu Search Method

if(fc < fv(n+1)) happy=1; zn=zc; fn=fc; end;% if(happy==1) disp(' inside '); end; end%% test for sufficient decrease, % do an oriented shrink if necessary% if(happy==1 & oshrink==1) zt=z; zt(:,n+1)=zn; ft=fv; ft(n+1)=fn;% xt=x; xt(:,n+1)=xn; ft=fv; ft(n+1)=feval(f,xn); fcount=fcount+1; fbt=sum(ft)/(n+1); delfb=fbt-fbc; armtst=alpha*norm(sgrad)^2; if(delfb > -armtst/n) restarts=restarts+1; orth=1; diams=min(diam); sx=.5+sign(sgrad); sx=sign(sx); if debug==1 [itc, delfb, armtst] end happy=0; for j=2:n+1; z(:,j)=z(:,1); z(j-1,j)=z(j-1,j)-diams*sx(j-1); end; end end%% if you have accepted a new point, nuke the old point and% resort% if(happy==1) z(:,n+1)=zn; fv(n+1)=fn;% x(:,n+1)=xn; fv(n+1)=feval(f,xn); fcount=fcount+1; [fs,is]=sort(fv); ztmp=z(:,is); z=ztmp; fv=fs; end%% You're in trouble now! Shrink or restart.%% if(restarts >= restartmax) disp(' stagnation in Nelder-Mead'); end; if(happy == 0 & restarts < restartmax)% if(orth ~=1) disp(' shrink '); end; if(orth ==1) if debug == 1 disp(' restart '); end orth=0; end; for j=2:n+1; z(:,j)=z(:,1)+sigma*(z(:,j)-z(:,1)); fv(j)=feval(f,z(:,j)); end fcount=fcount+n; [fs,is]=sort(fv); ztmp=z(:,is); z=ztmp; fv=fs; end%% compute the diameter of the new simplex and the iteration data% for j=2:n+1 v(:,j-1)=-z(:,1)+z(:,j); delf(j-1)=fv(j)-fv(1); diam(j-1)=norm(v(:,j-1)); end dist=fv(n+1)-fv(1);

50

Page 64: Solving Economic Load Dispatch Problem Using Tabu Search Method

lhist=lhist+1; sgrad=v'\delf; histout(lhist,:)=[fcount, fv(1), norm(sgrad,inf), dist, max(diam)]; f1=fv(1);

end

MATLAB OBJFUNCT1.Mfunction y = objfunct1(x)y(1) =0.00375+2*x(1)+0.0175+1.75*x(2)+44.1+0.0625+...x(3)+0.00834+3.25*x(4)+0.02500+3*x(5)+0.02500+3*x(6);

MATLAB CODE:APS.mfunction [FMin1,XMin1,FCount1,TLm,fTLm,recm,VRLm,frVRLm]=APS(f,n,x,fx,Edg,TL,fTL,rec,VRL,frVRL)%%%%%%%%%%%%%%%%%% TS Memory Parameters %%%%%%%%%%%%%%%%%dTR=0.01*Edg; % TR radiusdSTR=2*dTR; % Semi-TR outer radiusnTL=5*n; % No. of tabus in TLinTL=length(fTL); % Index for No. of tabus in TLdVR=2*Edg; % Region redius in VRLinVRL=length(frVRL); % Index for No. of regions in VRL etamax=1; etamin=1/nTL; % Max & Min Recency Ranked ValuesnBP=nTL/2.5; % No. of Best Points saved in TLmiumax=1; miumin=1/nTL; % Max & Min f-value Ranked ValuesMaxIts=3*n; NoImprov=n;inNoImprov=0;% ParametersFCount1=0; fbetter=fx;fv=zeros(n+2,1);id=eye(n);vflag=0;% **************** Main iteration ******************% Constructing the Neighborhood Searchitc=0;while(itc < MaxIts & inNoImprov < NoImprov); % Check Hitting the STR itc=itc+1; S=zeros(n+2,n); fbetter=fx; STRHitTest=0; indd=0; for j=1:inTL; if norm(x-TL(j,:))<dSTR indd=indd+1; end end

51

Page 65: Solving Economic Load Dispatch Problem Using Tabu Search Method

if indd>0; STRHit=zeros(indd,n); end indd=0; for j=1:inTL; if norm(x-TL(j,:))<dSTR indd=indd+1; dxSTR(indd)=norm(x-TL(j,:)); STRHit(indd,:)=TL(j,:); STRHitTest=1; end end if STRHitTest == 1 % Constructing the Neighborhood Search under Hitting STR ddmax=max(dxSTR); if indd == 1 Tbar=STRHit; else Tbar=sum(STRHit)/indd; end in=1; sgn=sign(x-Tbar); while(fbetter >= fx & in <= n) if sgn(in)==0; sgn(in)=(-1)^round(rand); end S(in,:)=x+ddmax*sgn(in)*id(in,:); for k=1:inTL if norm(S(in,:)-TL(k,:))<dTR vd=TL(k,:)-x; newedg=abs(vd(in))+sqrt(dTR^2+(norm(vd))^2-(vd(in))^2); S(in,:)=x+newedg*(1+0.1*rand)*sgn(in)*id(in,:); end end fv(in)=feval(f,S(in,:)); FCount1=FCount1+1; if fv(in)<fbetter x1=S(in,:); f1=fv(in); Bflag=1; fbetter=fv(in); else Bflag=0; end in=in+1; end else % Constructing the normal Neighborhood Search in=1; if vflag==1 sn=sign(v); else rn=rand(n,1);sn=(-1).^round(rn); end while(fbetter >= fx & in <= n) EdgL=Edg+rand*Edg; if sn(in)==0; sn(in)=(-1)^round(rand); end S(in,:)=x+sn(in)*EdgL*id(in,:); Sflag=3; for k=1:inTL if norm(S(in,:)-TL(k,:))<dTR

52

Page 66: Solving Economic Load Dispatch Problem Using Tabu Search Method

vd=TL(k,:)-x; newedg=abs(vd(in))+sqrt(dTR^2+(norm(vd))^2-(vd(in))^2); S(in,:)=x+newedg*(1+0.1*rand)*sn(in)*id(in,:); end end for j=1:inTL; dx1=norm(S(in,:)-TL(j,:)); if(dx1 < dSTR) EdgL= dx1+(1+0.5*rand)*dSTR; S(in,:)=x+EdgL*id(in,:); end end fv(in)=feval(f,S(in,:)); FCount1=FCount1+1; if fv(in)<fbetter x1=S(in,:); f1=fv(in); Bflag=1; fbetter=fv(in); else Bflag=0; end in=in+1; end end if (Bflag == 0) df=zeros(n,1); u=zeros(n,n); v=zeros(1,n); for j=1:n; df(j)=fv(j)-fx; end for i=1:n; w(i)=df(i)/sum(abs(df)); u(i,:)=-(S(i,:)-x); u(i,:)=u(i,:)/norm(u(i,:)); end for j=1:n; v=v+w(j)*u(j,:); end v=v/norm(v); S(n+1,:)=x+(0.5*rand)*Edg*v; S(n+2,:)=x+(0.5+rand)*Edg*v; for j=1:2 jn=n+j; fv(jn)=feval(f,S(jn,:)); end [fvs,is]=sort(fv); Stmp=S(is,:); S=Stmp; fv=fvs; xnew=S(1,:); fnew=fv(1); vflag=1; else xnew=x1; fnew=f1; vflag=0; end

53

Page 67: Solving Economic Load Dispatch Problem Using Tabu Search Method

%%%%%%%%%Calculation of Transmission loss%%%%%%%%%PL1=B00; PL2=zeros(1,n); for i=1:n

PL2(i)=(B01(i)*P(i)); end PL2=sum(PL2(:,:)); PL3=zeros(n,n); for i=1:n

for j=1:n PL3(i,j)=P(i)*B(i,j)*P(j);

end end PL3=sum(PL3(:,:)); PL3=sum(PL3(:,:)); PL=PL1+PL2+PL3;

% TL and VRL Update if(inTL < nTL) inTL=inTL+1; TL(inTL,:)=x; fTL(inTL)=fx; rec(inTL)=itc+1; else [sort1,is1]=sort(rec); [sort2,is2]=sort(fTL); for j=1:nTL; MR(is1(j))=etamin+(etamax-etamin)*(j-1)/(nTL-1); end MFv=miumin*ones(1,nTL); for j=1:nBP; MFv(is2(j))=miumin+(miumax-miumin)*(nBP-j)/(nBP-1); end for j=1:nTL; Memb(j)=max(MR(j),MFv(j)); end [sortMemb,iMembs]=sort(Memb); TLtmp=TL(iMembs,:); TL=TLtmp; rectmp=rec(iMembs); rec=rectmp; fTLtmp=fTL(iMembs); fTL=fTLtmp; TL(1,:)=x; fTL(1)=fx; rec(1)=itc+1; end dxVR=zeros(1,inVRL); for j=1:inVRL dxVR(j)=norm(x-VRL(j,:)); if dxVR(j) < dVR frVRL(j)=frVRL(j)+1; end end if(min(dxVR) > dVR) inVRL=inVRL+1; VRL(inVRL,:)=x; frVRL(inVRL)=1; end if fnew<fx inNoImprov=0; else inNoImprov=inNoImprov+1; end x=xnew; fx=fnew; end

54

Page 68: Solving Economic Load Dispatch Problem Using Tabu Search Method

[fTLs,ifTL]=sort(fTL); TLtmp=TL(ifTL,:);TL=TLtmp; fTL=fTLs;rectmp=rec(ifTL); rec=rectmp;FMin1=fTL(1); XMin1=TL(1,:); XM1=TL;TLm=TL; fTLm= fTL; recm=rec; VRLm=VRL; frVRLm=frVRL;

55