Explora Libros electrónicos

Categorías

Explora Audiolibros

Categorías

Explora Revistas

Categorías

Explora Documentos

Categorías

0 calificaciones0% encontró este documento útil (0 votos)

328 vistas65 páginasbbb

Ant Colony Optimization for Image Edge Detection

© Attribution Non-Commercial (BY-NC)

PDF, TXT o lea en línea desde Scribd

bbb

Attribution Non-Commercial (BY-NC)

0 calificaciones0% encontró este documento útil (0 votos)

328 vistas65 páginasAnt Colony Optimization for Image Edge Detection

bbb

Attribution Non-Commercial (BY-NC)

Está en la página 1de 65

BACHELOR OF TECHNOLOGY

In

BBDIT, GHAZIABAD

GAUTAM BUDDH TECHNICAL UNIVERSITY

MAY 2012

1|P ag e

BBDIT, GHAZIABAD

BONAFIDE CERTIFICATE

This is to certify that the dissertation / project report (CSE 752) entitled Ant Colony Optimization For Image Edge detection done by Sulabh Pal(0803510093),Himanshu Srivastava(0803510403) and Suresh Kumar(0803510097), is an authentic work carried out by him at Babu Banarsi Das Institute Of Technology, Ghaziabad under my guidance. The matter embodied in this project work has not been submitted earlier for award of any degree or diploma to the best of my knowledge and belief.

Amit Singhal HEAD OF THE DEPARTMENT Computer Science & Engineering Department

2|P ag e

ACKNOWLEDMENT

I have taken efforts in this project. However, it would not have been possible without the kind support and help of many individuals. I would like to extend my sincere thanks to all of them. I am highly indebted to (Prof. VINEET GARG, Prof. SHWETAV SHARAD ) for their guidance and constant supervision as well as for providing necessary information regarding the project & also for their support in completing the project. I would like to express my gratitude towards my parents & member of (B.B.D.I.T. Faculty Member) for their kind co-operation and encouragement which help me in completion of this project. I would like to express my thanks to SULABH PAL and SURESH KUMAR for giving me such attention and co-operation. My thanks and appreciations also go to my colleague in developing the project and people who have willingly helped me out with their abilities.

3|P ag e

ABSTRACT

Ant colony optimization (ACO) is an optimization algorithm inspired by the natural behavior of ant species that ants deposit pheromone on the ground for foraging. In this project, ACO is introduced to tackle the image edge detection problem. The proposed ACO-based edge detection approach is able to establish a pheromone matrix that represents the edge information presented at each pixel position of the image, according to the movements of a number of ants which are dispatched to move on the image. Furthermore, the movements of these ants are driven by the local variation of the images intensity values. Experimental results are provided to demonstrate the superior performance of this project approach. Ant Colony Optimization is used here as to detect edge in any image for authenticate because here we will further use it to make it for authentication at the time of login or any other case. Ant colony optimization (ACO) is a populationbased metaheuristic that mimics the foraging behavior of ants to find approximate solutions to difficult optimization problems. It can be used to find good solutions to combinatorial optimization problems that can be transformed into the problem of finding good paths through a weighted construction graph. In this project, an edge detection technique that is based on ACO is presented. The proposed method establishes a pheromone matrix that represents the edge information at each pixel based on the routes formed by the ants dispatched on the image. The movement of the ants is guided by the local variation in the images intensity values. The Proposed ACO based edge detection method takes advantage of the improvements introduced in ant colony system, one of the main extensions to the original ant system. Experimental results show the success of the technique in extracting edges from a digital image.

4|P ag e

TABLE OF CONTENTS

Page No.

Cover Page & Title Page Bonafide Certificate Acknowledgement Abstract List of Tables List of Figures List of Symbols, Abbreviations and Nomenclature Chapters

Chapter 1: Introduction 1.1 Methodlogy 1.2 Purpose 1.3 Scope 1.4 Abstract 1.5 Tools and Technologies Used Chapter 2: Overall Description 2.1 Feasibility Analysis 2.2 Requirement Analysis: Software & Hardware 2.3 Constraint 2.4 Architecture Design 2.5 Use Case Model 2.6 Activity Diagram 2.7 Sequence Diagram 2.8 ER Diagram 2.9 DFDs 2.10 Database Design Chapter 3: Testing and Maintain Chapter 4: Results and Screen Slots Chapter 5: Conclusion and Future Aspects

1 2 3 4 5

6 7 9 11 16 18 19 20 27 28 29 30 31 34 35 36 37 38 42 43 50 55

56 60

5|P ag e

LIST OF FIGURES

Figure Name

Figure 1:- Ant Systems Algorithm Figure 2.:Ants will start from A the nest and look for D the food Figure 3: Pseudo Code Figure 4.: An experimental setting that demonstrates the shortest path Figure. 5. A local configuration at the pixel position I(i,j) for computing the variation Figure. 6. Various functions with the parameter Figure. 7. Various neighborhoods (marked as gray regions) of the pixel Ii,j Figure 8. Architecture Diagram For Whole System Figure 9. Pheromone Table Management Figure 10. The Edge Detection Phenomenon will Extract into it. Figure:11. Sequence Diagram on Aco. Fig ure12. Figure on Data Flow Diagram. Fig ure13 Data Flow Diagram on ACO. Figure.14. Test images used in this paper Figure 15. Various extracted edge information of the test image Camera: Figure. 16. Various extracted edge information of the test image House Figure. 17. Various extracted edge information of the test image Lena Figure. 18. Various extracted edge information of the test image Pepper Figure 19. Software Development Life Cycle

Page No.

9 10 12 14 20 22 22 31 32 33 35 40 41 49 50 51 52 53 61

6|P ag e

Name of Nomenclature

1. 2. 3. 4. ACO AS AGENTS CO

Respective Name

Ant Colony Optimization Ant System Artificial Ants Combinatorial Optimization

7|P ag e

Introduction

8|P ag e

CHAPTER 1 INTRODUCTION

NT colony optimization (ACO) is a nature-inspired optimization algorithm motivated by the natural phenomenon that ants deposit pheromone on the ground in order to mark some favorable path that should be followed by other members of the colony. The ant colony optimization algorithm (ACO) is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs. This algorithm is a member of ant colony algorithms family, and it constitutes some Metaheuristic optimizations. Ant Colony Optimization (ACO) is a populationbased, general search technique for the solution of difficult combinatorial problems which is inspired by the pheromone trail laying behavior of real ant colonies. The behavior of ant is exploited in artificial ant colonies for the search of approximate solutions to discrete optimization problems, to Continuous optimization problems, and to important problems in telecommunications, such as routing and load balancing. Initially proposed by Marco Dorigo in 1992 in his PhD thesis, the first algorithm was aiming to search for an optimal path in a graph, based on the behavior of ants seeking a path between their colony and a source of food. The ant colony optimization (ACO) is a meta-heuristic Property a colony of artificial ants cooperate in finding good solutions to difficult discrete optimization problems. Cooperation is a key design component of ACO algorithms: The choice is to allocate the computational resources to a set of relatively simple agents (artificial ants) that communicate indirectly by stigmergy. Good solutions are an emergent property of the agents cooperative interaction. The original idea has since diversified to solve a wider class of numerical problems, and as a result, several problems have emerged, drawing on various aspects of the behavior of ants. The main underlying idea, loosely inspired by the behavior of real ants, is that of a parallel search over several constructive computational threads based on local problem data and on a dynamic memory structure containing information on the quality of previously obtained result. The collective behavior emerging from the interaction of the different search threads has proved effective in solving combinatorial optimization (CO) problems.

9|P ag e

Ant System was the first (1991) ACO algorithm. Its importance resides mainly in being the prototype of a number of ant algorithms which have found many interesting and successful applications. Three AS algorithms have been defined, which differ by the way pheromone trails are updated. These algorithms are called ant-density, ant-quantity, and ant-cycle. In ant-density and ant-quantity ants deposit pheromone while building a solution, while in ant-cycle ants deposit pheromone after they have built a complete tour.

ACS (Ant Colony System): ACS was the first algorithm inspired by real ants behaviour. The first ACO algorithm, called the ant system, was proposed by Dorigo et al. Since then, a number of ACO algorithms have been developed , such as the Max-Min ant system and the Ant Colony System

10 | P a g e

1.1 Methodology

Ant Colony Optimization is the best way to predict edge from any proposed image because with the help of ant colony optimization we will get the main edge information that how any image is directly or indirectly interact with each other and how they are correlated to each other. ACO algorithm for Edge detection Edges are points where there is a boundary (or an edge) between two image regions. In general, an edge can be of almost arbitrary shape, and may include junctions. In practice, edges are usually defined as sets of points in the image which have a strong gradient magnitude. Furthermore, some common algorithms will then chain high gradient points together to form a more complete description of an edge. These algorithms usually place some constraints on the properties of an edge, such as shape, smoothness, and gradient value. Edge detection is a technique for marking sharp intensity changes, and is important in further analyzing image content. However, traditional edge detection approaches always result in broken pieces, possibly the loss of some important edges.

Figure 2.:Ants will start from A the nest and look for D the food. At every step, they will upgrade the routing tables and as soon as the first one reaches the food, the best path will be known, thus allowing communication from D to A

11 | P a g e

A method of extracting desired features from a cellular image including the steps of: (a) Selecting an initial cell within the image. (b) Selecting an additional cell, near the initial cell, appearing to be associated with a desired feature. (c) Repeating step for further cells, near at least one of the previously selected cells, appearing to be associated with said feature, until selection termination criteria are satisfied. (d) Repeating step through for other initial cells. The method is particularly adept at extracting relatively weakly defined features in relatively noisy images, such as extracting faults or geologic horizons from 2D or 3D seismic data. A method of editing/filtering the features utilizing a stereo net is also disclosed. Related Computer system and computer program products for implementing the method are also described. The method is particularly adept at extracting relatively weakly defined features from relatively noisy images, such as extracting faults or geologic horizons from 2D or 3D seismic data. A related method of editing/filtering the features utilizing a stereo net is also disclosed. The invention further includes a computer system and computer program product for implementing the method. The invention and its benefits will be better understood with reference to the detailed description below and the accompanying drawings. ACO aims to iteratively find the optimal solution of the target problem through a guided search (i.e., the movements of a number of ants) over the solution space, by constructing the pheromone information. To be more specific, suppose totally K ants are applied to find the optimal solution in a space that consists of M1 M2 nodes, the procedure of ACO can be summarized as follows.

12 | P a g e

There are two fundamental issues in the above ACO process; that is, The establishment of the probabilistic transition matrix p(n). The updating of the pheromone matrix (n), each of which is presented in detail as follow, respectively. First, at the n-th construction-step of ACO, the k-th ant moves from the node i to the node j according to a probabilistic action rule, which is determined by:-

I will take it as Equation 1. where i,j is the pheromone information value of the arc linking the node i to the node j; i is the neighborhood nodes for the ant ak given that it is on the node i; the constants and represent the influence of pheromone information and heuristic information, respectively; i, j represents

13 | P a g e

(n1)

the heuristic information for going from node i to node j, which is fixed to be same for each construction-step. Second, the pheromone matrix needs to be updated twice during the ACO procedure. The first update is performed after the movement of each ant within each construction step. To be more specific, after the move of the kth ant within the n-th construction-step, the pheromone matrix is updated as equation [4].

where is the evaporation rate. Furthermore, the determination of best tour is subject to the user-defined criterion, it could be either the best tour found in the current construction-step, or the best solution found since the start of the algorithm, or a combination of both of the above two equation [4]. The second update is performed after the move of all K ants within each construction-step; and the pheromone matrix is updated as in equation[4].

where is the pheromone decay coefficient. Note that the ant colony system equation [6] performs two update operations (i.e, euation (2) and euqtion (3)) for updating the pheromone matrix, while the ant system quation [3] only performs one operation (i.e., euqtion(3)).

14 | P a g e

Pheromone: In ACS once all ants have computed their tour (i.e. at the end of each iteration) AS updates the pheromone trail using all the solutions produced by the ant colony. Each edge belonging to one of the computed solutions is modified by an amount of pheromone proportional to its solution value. At the end of this phase the pheromone of the entire system evaporates and the process of construction and update is iterated. On the contrary, in ACS only the best solution computed since the beginning of the computation is used to globally update the pheromone. As was the case in AS, global updating is intended to increase the attractiveness of promising route but ACS mechanism is more effective since it avoids long convergence time by directly concentrate the search in a neighborhood of the best tour found up to the current iteration of the algorithm.

Figure 4.: An experimental setting that demonstrates the shortest path finding capability of ant colonies. Between the ants nest and the only food source exist two paths of different lengths. In the four graphics, the pheromone trails are shown as dashed lines whose thickness indicates the trails strength.

15 | P a g e

1.2 Purpose

ACO has been widely applied in various problems. In this project, ACO is introduced to tackle the image edge detection problem, where the aim is to extract the edge information presented in the image, since it is crucial to understand the images content. A number of ants, which move on the image driven by the local variation of the images intensity values, to establish a pheromone matrix, which represents the edge information at each pixel location of the image. To the best of our knowledge, there has been very little research work on the problem addressed in this project except . However, there are fundamental differences between our proposed approach and theirs. First, our proposed approach exploits the Ant Colony System; on the contrary, Nezamabadi-Pour e t al.s method exploits the ant system. It has been shown that the above fundamental difference is crucial to the respective designed ACO-based algorithms. Second, ACO is exploited to directly extract the edge information in our proposed method, in contrast to that ACO serves as a post-processing in to enhance the edge information that has already been extracted by conventional edge detection algorithms. The project is organized as follows. In a brief introduction is provided to present the fundamental concepts of ACO For Image Edge Detection. The Main purpose to do this project is that it is mainly used for to detect the edge from any image which is either 2D or 3D image is illustrated any meaningful image pixels combinations then its means that all the tempered edge like nee edge, elbow edge at the side of neck all these major part of any human being are not fully get covered or impose to itself, then the ACO technique is used; or either if we will take any animal or any fruit image to demonstrate then it would be demonstrate the sharpe edge to its peak or its down side so here all the modules are being in major form where its phenomenal value is made governed to its key architectural feature.

16 | P a g e

Relation to Extreme Line and Surface ExtractionIn this application, it will be cleared how these lines and surfaces can be found by the behavior and interaction of intelligent agents. Earlier in this application, it was concluded that in order to overcome the challenges the relatively noisy data presents, prior knowledge of the desired feature needs to be taken into consideration. This knowledge is coded as the behavior of an intelligent agent. The agent will act very similar to an ant in the foraging situation described above, by making decisions based on its precoded behavior and emitting pheromone along its trail. The idea is to distribute a number of agents in the 2D or 3D image and let each agent move along an extreme ridge while emitting pheromone as long as the ridge fulfils the criteria encoded in the agent. Agents which are deployed at a point where there is no extreme ridge, or where the ridge is poorly defined, will be terminated shortly or immediately after their deployment, whereas agents deployed at points on a well-defined ridge will be able to follow this ridge for a while before being terminated. It is assumed that a line or surface having the properties of the desired structures, which are captured in the prior knowledge, will be clearly marked by pheromone whereas non-extreme ridges, or extreme ridges not fulfilling the requirements will be unmarked or only weakly marked. z (pixel)= 1 chk grey(pixel)+ 2 chk width(pixel)+ 3 chk maxwidth(pixel)+ 4 pheromone(pixel) where pixel is the pixel that is currently being considered; the chkgrey, chkwidth and chkmaxwidth functions evaluate the properties listed above; and i the weight of each function. The outputs of these sub-functions depend on the grey-value and width at the point where the agent is deployed. The last term in the function, pheromone(pixel), provides communication between the agents in terms of the pheromone trace each agent emits along its trace.

17 | P a g e

1.3 Scope

The Main Scope of Ant Colony Optimization for image edge detection what am I thinking is that it has wide scope to work on any field such that its future scope to make any authenticated security major to avoid any unauthenticated access for any highly Classified database or to access any login privilege because while in face recognition the using Principle Component Analysis (PCA) it can be reach to make it avoidable format but using Ant Colony Optimization the main key feature is that make any image quite visible to Computer or any accessing medium which authenticate the user because without understandable format of any image the System will not give privilege to access the functionality of the system. Suppose a user want to get access the functionality of any system then at that stage there is only one mode to get login that is the face authentication so if user wants to get into and want to get access the functionality of the system then at that Stage he/she show his/her face to get login but due to some other factor like Light Intensity or illumination is not quit good at which level it will authenticate to make it accessible so make this phenomenon at low state or low level Ant Colony Optimization for Image Edge Detection will extract and will be in form of working mode as like each edge of face will get measure and make a matrix to store all the data regarding to it, then its main matrix which stores all the data regarding to it will extract and if any updation is happen the it should be in form to store it into Updated Matrix where its all functional domain will extract its all domain functionality and it will get login or access the data functionality which they wants to work on this working procedure is under construction and I am also working under this to make it usable this technique to get access all data module.

18 | P a g e

1.4 ABSTRACT

Ant colony optimization (ACO) is an optimization algorithm inspired by the natural behavior of ant species that ants deposit pheromone on the ground for foraging. In this project, ACO is introduced to tackle the image edge detection problem. The proposed ACO-based edge detection approach is able to establish a pheromone matrix that represents the edge information presented at each pixel position of the image, according to the movements of a number of ants which are dispatched to move on the image. Furthermore, the movements of these ants are driven by the local variation of the images intensity values. Experimental results are provided to demonstrate the superior performance of this project approach. Ant Colony Optimization is used here as to detect edge in any image for authenticate because here we will further use it to make it for authentication at the time of login or any other case. Ant colony optimization (ACO) is a populationbased Metaheuristic that mimics the foraging behavior of ants to find approximate solutions to difficult optimization problems. It can be used to find good solutions to combinatorial optimization problems that can be transformed into the problem of finding good paths through a weighted construction graph. In this project, an edge detection technique that is based on ACO is presented. The proposed method establishes a pheromone matrix that represents the edge information at each pixel based on the routes formed by the ants dispatched on the image. The movement of the ants is guided by the local variation in the images intensity values. The Proposed ACO based edge detection method takes advantage of the improvements introduced in ant colony system, one of the main extensions to the original ant system. Experimental results show the success of the technique in extracting edges from a digital image.

19 | P a g e

1.5 TOOLS AND TECHNIQUES USED To make this project in working mode I will choose MTLAB (Matrix Lab ) This project ACO-based edge detection approach is implemented using the Matlab programming language and run on a PC with a Intel CoreTM DUO 2.13 GHz CPU and a 1 GB RAM. The computational times of the project are 64.90 seconds, 64.15 seconds, 64.46 seconds and 64.57 seconds, for the test image Camera. Matlab Programming Language is the basic and main programming language which incorporates with its .p(DOT P) Extension. In Matlab its all Well known functions are used like I work this project and I used ASB(For absolute value), Temp(To Store temporary Value) etc. To Make this project in working mode I personally use lots of Method Combinations and its Sub-Combinations and techniques which I am going to show in this documentation format. The proposed ACO-based image edge detection approach aims to utilize a number of ants to move on a 2-D image for constructing a pheromone matrix, each entry of which represents the edge information at each pixel location of the image. Furthermore, the movements of the ants are steered by the local variation of the images intensity values. The proposed approach starts from the initialization process, and then runs for N iterations to construct the pheromone matrix by iteratively performing both the construction process and the update process. Finally, the decision process is performed to determine the edge. Each of these process is presented in detail as follows, respectively. A. Initialization Process Totally K ants are randomly assigned on an image I with a size of M1 M2, each pixel of which can be viewed as a node. The initial value of each component of the pheromone matrix (0) is set to be a constant init. B. Construction Process At the n-th construction-step, one ant is randomly selected from the abovementioned total K ants, and this ant will consecutively move on the image for L movement-steps. This ant moves from the node (l,m) to its neighboring node (i, j) According to a transition probability that is defined as

20 | P a g e

Where (i,j) is the pheromone value of the node (i, j), (l,m) is the neighborhood nodes of the node (l,m), i,j represents the heuristic information at the node (i, j). The constants and represent the influence of the pheromone Matrix and the heuristic matrix, respectively.

(n1)

Fig. 5. A local configuration at the pixel position I(i,j) for computing the variation Vc(Ii,j ) defined in (6). The pixel Ii,j is marked as gray square.

There are two crucial issues in the construction process. The first issue is the determination of the heuristic information i,j in equation(4). In this project, it is proposed to be determined by the local statistics at the pixel position (i, j) as

21 | P a g e

which is a normalization factor, Ii,j is the intensity value of the pixel at the position (i, j) of the image I, the function Vc(Ii,j) is a function of a local group of pixels c (called the clique), and its value depends on the variation of images intensity values on the clique c (as shown in Figure 1). More specifically, for the pixel Ii,j under consideration, the function Vc(Ii,j) is

To determine the function f() in equation (6), the following four functions are considered in this paper; they are mathematically expressed as follows and illustrated in Figure 6, respectively.

The parameter in each of above functions (7)-(10) adjusts the functions respective shapes. The second issue is to determine the permissible range of the ants movement (i.e., (l,m) in (4)) at the position (l,m). In this project, it is proposed to be either the 4-connectivity neighborhood or the 8-connectivity neighborhood, both of which are demonstrated in Figure 7.

22 | P a g e

Fig. 6. Various functions with the parameter = 10: (a) the function defined in (7); (b) the function defined in (8); (c) the function defined in (9); and (d) the function defined in (10).

Fig. 7. Various neighborhoods (marked as gray regions) of the pixel Ii,j : (a) 4-connectivity neighborhood; and (b) 8-connectivity neighborhood.

23 | P a g e

C. Update Process The proposed approach performs two updates operations for updating the pheromone matrix. The first update is performed after the movement of each ant within each construction-step. Each component of the pheromone matrix is updated according to

Where is defined in equation (2), (k) matrix; that is, (k) i,j = i,j .

i,j

The second update is carried out after the movement of all ants within each construction-step according to

Where is defined in equation(3). D. Decision Process In this step, a binary decision is made at each pixel location to determine whether it is edge or not, by applying a threshold T on the final pheromone matrix (N). In this project, the above-mentioned T is proposed to be adaptively computed based on the method developed in equation [20]. The initial threshold T(0) is selected as the mean value of the pheromone matrix. Next, the entries of the pheromone matrix is classified into two categories according to the criterion that its value is lower than T(0) or larger than T(0). Then the new threshold is computed as the average of two mean values of each of above two categories. The above process is repeated until

24 | P a g e

the threshold value does not change any more (in terms of a user-defined tolerance ). The above iterative procedure can be summarized as follows.

and set the iteration index as l = 0. Step 2: Separate the pheromone matrix (N) into two class using T(l), where the first class consists entries of that have smaller values than T(l), while the second class consists the rest entries of . Next, calculate the mean of each of the above two categories via

Where

25 | P a g e

Step 4: If |T(l)T(n1)| > , then go to Step 2; otherwise, the iteration process is terminated and a binary decision is made on each pixel position (i, j) to determine whether it is edge (i.e., Ei,j = 1) or not (i.e., Ei,j = 0), based on the criterion.

26 | P a g e

OVERALL DESCRIPTION

27 | P a g e

2.1Feasibility Analysis: All projects are feasible-given unlimited resources and infinite time. Unfortunately, the development of a computer-based system is more likely plagued by a scarcity of resources and difficult delivery dates. It is both necessary and prudent to evaluate the feasibility of the project at the earliest possible time. Feasibility and risk analysis are related in many ways. If the project risk is great, the feasibility of producing quality software is reduced. During product engineering however we concentrate our attention on four primary areas of interest: Economic feasibility: An evaluation of development cost weighed against the ultimate income or benefit derived from the developed system or product. Technical feasibility: A study of function, performance, and constraints that may affect the ability to achieve an acceptable system. Legal feasibility: A determination of any infringement, violation or the liability that could result from the development of the system. Alternatives: An evaluation of alternative approaches to the development of the system or product. Ant Colony optimization is Beneficial for the Real life problem such as TSP(Travelling Salesman Problem) Which will have use to find the closet path in transposition for Grid Computing ( The new way for Computing and Compatible with Grid Phenomenon) and Colony Optimization for Image edge detection is well used for authentication like while in authentication or login or sign-in into any framework or any network fields or any kind of environment and many other filed.

28 | P a g e

Feasibility Check-point: Here I would like to add some property into it feasibility checkpoint where all the projects or all the key factor of any kind of working experience will count and will work future more in the phenomenon value. It is very important for the industry to reduce their cost of product. So that make some check sum to all component to its main property. 2.2 Requirement Analysis: Requirement Analysis is the process of determining user expectation for a new or modifies product. These features, called requirements, must be quantified, relevant and detailed in. Here such requirements are also called Functional Specifications. Requirement Analysis is Divided into two important and specified manner those are as follows: Hardware Requirement Analysis. Software Requirement Analysis. Hardware Requirement Analysis The determination of above parameters are critical to the performance of the project; this issue will be reported elsewhere. Experimental results are provided to compare the proposed approach with Nezamabadi-Pour et al.s edge detection method. To provide a fair comparison, the morphological thinning operation of is neglected, since it is performed as a post-processing to further refine the edge information that is extracted by ACO. Furthermore, to present how the determination of the heuristic matrix is crucial to the proposed method, various functions defined are individually incorporated of the project approach, and their resulted performances are presented. Figures will present the results of test images Camera, House, Lena and Pepper.The project approach always outperforms Nezamabadi-Pour et al.s method, in terms of visual quality of the extracted edge information. The proposed ACO-based edge detection approach is implemented using the Matlab programming language and run on a PC with a Intel CoreTM DUO 2.20 GHz CPU and a 3 GB RAM. The computational times of the project are 64.90 seconds, 64.15 seconds, 64.46 seconds and 64.57 seconds, for the test image Camera.

29 | P a g e

Software Requirement Analysis Software Requirement Analysis document enlists all necessary requirement for project development. To derive the requirement we need to have clear and thorough understanding of the product to be developed. Here in this particular project Ant Colony Optimization for Image edge detection our team member and our project guide suggest us to work under following things those are as follows: I. II. A Programming Platform where the program will work fluently so we choose :-MATLAB A kind of image in which we can perform our work or the entity where we can work so we choose:- Image CAMERA

2.3 Constraint The Challenge of This Project is to make it work and be Successful within the triple Constraint. The triple Constraint being quality (Scope), Cost (Resources) and Schedule( Time). The Three Elements of a Project are known to work in tandem with one another. Where one of these elements is restricted or extended. I. Scope: The main Scope of This Project is that To Detect the edge While using Ant Colony Optimization. Here the main Moto is to achieve the best result in a very less time so here we all conclude that all the relative field scope will achieve by following the right path in a right manner. Cost: The main Cost of all the functionality to make this project in working mode are so cheap because we would purchase MATLAB for Matrix Programming and its all Constituent field will come simultaneously so that the cost of product is much less and much easy to achieve. Schedule: The Scheduling that is including in this project is that it will conclude all the measurable phenomenon which will help the main project to run in real life factor. There is no such hard kind of scheduling process into it because here all the modules are quite easier and quite simpler into it. The main are whenever the project

II.

III.

30 | P a g e

comes into a feasible manner then from starting to its ending its all around the main sensational things which are come into it. 2.4 Architecture Diagram The words and therefore the term itself is fairly simple: a diagram is a chart or visual depiction of a system, while architecture typically refers to a structure. Therefore, asking An architecture diagram, in its most basic form, yields the answer: a visual depiction of a particular structure. But often, this term refers to computer systems and networks. since the word architecture is being used, a architecture diagram must be related to the building of houses. The common assumption is that this type of diagram is similar to a blueprint in that it shows a diagram of a physical building. Technically, based on word definition alone, this is a viable answer and is not untrue. But in practical usage, the term is almost never used to describe a physical building. It is, much more commonly, used to describe the architecture of computer systems, software, networks, and other technology-related structures. Below are just a few samples of how this term can be used in the field of technology. Software Architecture A set of artifacts (that is: principles, guidelines, policies, models, standards, and processes) and the relationships between these artifacts, that guide the selection, creation, and implementation of solutions aligned with business goals Software architecture is the structure of structures of an information system consisting of entities and their externally visible properties, and the relationships among them A software architecture is a description of the subsystems and components of a software system and the relationships between them Sub-systems and components are typically specified in different views to show the relevant functional and non-functional properties of a software system. The software system is an artifact. It is the result of the software design activity.

31 | P a g e

In This Architecture Design We will Check all the phenomenon which is going to work under this proposed structure where all the step is occur after by after the main domino effect which will construct and represent it is that it has all the varying feature in it.

32 | P a g e

Fig 9. Pheromone Table Management for ant Colony Optimization For Image to detect the edge Inaformation

33 | P a g e

Fig 10. The Edge Detection Phenomenon will Extract into it.

2.5 USE CASE Diagram: Use Case Diagram is a list of steps, typically defining interactions between a role (known in UML as an "actor") and a system, to achieve a goal. The actor can be a human or an external system. Casual use case structure Casual Use Case recognizes that projects may not always need detailed "fully-dressed" use cases. He describes a Casual use case with the fields:

34 | P a g e

1. 2. 3. 4.

(Story): the body of the use case is simply a paragraph or two of text, informally describing what happens. Limitations Limitations of Use cases include:

Use cases are not well suited to capturing non-interaction based requirements of a system (such as algorithm or mathematical requirements) or non-functional requirements (such as platform, performance, timing, or safety-critical aspects). These are better specified declaratively elsewhere. Use case templates do not automatically ensure clarity. Clarity depends on the skill of the writer(s). Use cases are complex to write and to understand, for both end users and developers. As there are no fully standard definitions of use cases, each project must form its own interpretation. Some use case relationships, such as extends, are ambiguous in interpretation and can be difficult for stakeholders to understand. In Agile, simpler user stories are preferred to use cases. Use case developers often find it difficult to determine the level of user interface (UI) dependency to incorporate in a use case. While use case theory suggests that UI not be reflected in use cases, it can be awkward to abstract out this aspect of design, as it makes the use cases difficult to visualize. In software engineering, this difficulty is resolved by applying requirements traceability, for example with a traceability matrix. Use cases can be over-emphasized. Bertrand Meyer discusses issues such as driving system design too literally from use cases, and using use cases to the exclusion of other potentially valuable requirements analysis techniques. Use cases are a starting point for test design, but since each test needs its own success criteria, use cases may need to be modified to provide separate post conditions for each path.

35 | P a g e

2.7 Sequence Diagram A sequence diagram in a Unified Modeling Language (UML) is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart. A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario. Sequence diagrams typically are associated with use case realizations in the Logical View of the system under development.

36 | P a g e

2.8 ER Diagram: Data models are tools used in analysis to describe the data requirements and assumptions in the system from a top-down perspective. It is a major data modeling tool & will help organizing the data in our project into entities & define the relationship between the entities. They also set the stage for the design of databases later on in the SDLC. The Entity-Relationship model is a data model for high-level descriptions of conceptual data models, and it provides a graphical notation for representing such data models in the form of entity-relationship diagrams. Such data models are typically used in the first stage of information-system design; they are used, for example, to describe information needs and/or the type of information that is to be stored in the database during the requirements analysis. Basic elements in ER models: Entities: A data entity is anything real or abstract about which we want to store the data. Entity type falls into five classes: roles, events, location, tangible things or concepts. Attributes: A data attribute is a characteristic common to all or most instances of a particular entity. An attribute or combination of attributes that uniquely identifies one & only one instance of an entity is called primary key or identifier. Relationships: Relationship provides the structure needed to draw information from multiple entities. It is a natural association that exists between one or more entities. Cardinality: Cardinality defines the number of occurrences of one entity for a single occurrence of related entity.

37 | P a g e

Symbols used for ER Diagram: Rectangles are used for showing the Entities in the database design. Ovals are used to represent the Attributes of a relation or entity. Rhombus is used for representing the

2.9 Data Flow Diagram When solving a small problem , the entire problem can be tacked at once for solving larger problem, the basic principles the time-tested principle of divide and conquer dearly , dividing in such a manner that are the division have to be conquered together is not the intent of this wisdom. This principle if elaborator, would means divide into smaller pieces can be conquered separately. Problem partitioning , which is essential for solving a complex problem leads to hierarchies in the design produces by using problem partitioning can be represented as a hierarchy of components . The relationship between the elements in this hierarchy can vatu depending. On the method used for example, the most common is the whole-part of relationship. In this the system consists of some parts, each part consists of subparts, and so on. This relationship can be naturally. Represented as a hierarchy structure between various system parts. In general hierarchical structure makes it much easier to comprehend a

38 | P a g e

complex system. Due to this all design, mythologies aim to produce a design that has nice hierarchical structure. The DFD was first designed by Larry Constantine was a way of expressing system requirements in a graphical form. This led a modular design. A DFD, also known as bubble chart has the purpose of clarifying system requirement and identifying major transformations that will become program in the system design. So it is the starting point of the design phase that functionally decomposes the requirement specification down to the lowest level of detail. A DFD consists of series of bubble joined by lines represent data.

Data flow Diagram Symbol:In the DFD, there are four symbols. A circle or a bubble (some people use an oval bubble) defines a source (originator) or designation of system data. An arrow identifies data flow-data in monition. It is a pipeline through which information flows. A square represents a process that transforms incoming data flows into outgoing data flow. An open rectangle is a data store-data as rest, or a temporary repository of data.

TERMINATION (START/STOP)

PROCESS

39 | P a g e

DATA FLOW

DATA STORE

The figure is shown how data is processing, how data will be store and how data will be flow in the System:DATAFLOW DIAGRAMS A Data Flow Diagram (DFD) is a graphical technique that depicts information flow and the transforms that are applied as data move from input to output. Data flow diagram is a logical model of a system. The model does not depend on hardware, software, and data structure or file organization. It only shows the data flow between modules to module of the entire system. Data flow diagrams can be completed using only four notations as follows:

Data Flow: Data move in a specific direction from an origin to destination. The data flow is a packet of data.

Process: People, procedures or devices that produce data. The physical component is not identified.

40 | P a g e

Source or Destination of Data : External sources or destinations of data, which may be people or organizations or other entities.

2.10 Database Design There is no need any such kind of Database to make it and more helpful and make it into visible domain. Database design Comes when there is a need to design a data where all the entry and explicating will work but here not any kind of single collection to make it happen. Here we use simple form just give the path of the image and the ANT will work upon that and produce the edge and make it into detected form.

42 | P a g e

43 | P a g e

All software intended for public consumption should receive some level of testing. Without testing, you have no assurance that software will behave as expected. The results in public environment can be truly embarrassing. Testing is a critical element of software quality assurance and represents the ultimate review of specification, designing, and coding. Testing is done throughout the system development at various stages. If this is not done, then the poorly tested system can fail after installation. Testing is a very important part of SDLC and takes approximately 50%of the time. The first step in testing is developing a test plan based on the product requirements. The test plan is usually a formal document that ensures that the product meets the following standards: Is thoroughly Tested- Untested code adds an unknown element to the product and increases the risk of product failure

44 | P a g e

Meets product requirements- To meet customer needs, the product must provide the features and behavior described in the product specification. Does not contain defects- Features must work within established quality standards Does not contain defects- Features must work within established quality standards and those standards should be clearly stated within the test plan.

Testing Done in our System The best testing is to test each subsystem separately as we have done in our project. It is best to test a system during the implementation stage in form of small sub steps rather then large chunks. We have tested each module separately i.e. have completed unit testing first and system testing was done after combining /linking all different Modules with different menus and thorough testing was done. Once each lowest level unit has been tested, units are combined with related units and retested in combination. This proceeds hierarchically bottom-up until the entire system is tested as a whole. Hence we have used the Top Up approach for testing our system.

Typical levels of testing in our system: Unit -procedure, function, methods. Acceptance Testing - whole system with real data(involve user etc)

Testing are conducted to evaluate the performance of the project using four test images

45 | P a g e

Camera House Lena Pepper Furthermore, various parameters of the proposed approach are set as follows. K = M1 M2 the total number of ants, where the function x represents the highest integer value that is smaller than or equals to x. init = 0.0001: the initial value of each component of the pheromone matrix. = 1: the weighting factor of the pheromone information . = 0.1: the weighting factor of the heuristic information. = 8-connectivity neighborhood: the permissible ants movement range . = 1: the adjusting factor of the functions. = 0.1: the evaporation rate. L = 40: total number of ants movement-steps within each construction-step. = 0.05: the pheromone decay coefficient. = 0.1: the user-defined tolerance value used in the decision process of the proposed method.

46 | P a g e

N = 4: total number of construction-steps. The main Testing factor for this project is shown above but here some more option thru user may test this project feasibility as follows: 1. Give the Path to that image which user wants to get detect the edge information as follows. 2. The Image which has certain quality factor will work upon all the measurable phenomenon. 3. By calculation time the Kernel function which we use to develop this project function will get the main advantage that is it may use all the kernel features of this factor. Maintenance:

The maintenance starts after the final software product is delivered to the client. The maintenance phase identifies and implements the change associated with the correction of errors that may arise after the customer has started using the

47 | P a g e

developed software. This also maintains the change associated with changes in the software environment and customer requirements. Once the system is a live one, Maintenance phase is important. Service after sale is a must and users/ clients must be helped after the system is implemented. If he/she faces any problem in using the system, one or two trained persons from developers side can be deputed at the clients site, so as to avoid any problem and if any problem occurs immediate solution may be provided. The maintenance provided with our system after installation is as follows: First of all there was a Classification of Maintenance Plan which meant that the people involved in providing the after support were divided. The main responsibility was on the shoulders of the Project Manager who would be informed in case any bug appeared in the system or any other kind of problem rose causing a disturbance in functioning. The Project leader in turn would approach us to solve the various problems at technical level. (E.g. The form isnt accepting data in a proper format or it is not saving data in the database.)the Maintenance for this function is not so hard to do,but also it has not any kind of maintenance feature to use into it.

48 | P a g e

49 | P a g e

While working upon all the domains and all the preliminaries the user will observe that what kind of activity will going on and how much it is accurate so here we will show the results and screen slots.

(a)

(b)

(c)

(d)

Fig. 8. Test images used in this paper: (a) Camera (128 128); (b) House (128128); (c) Lena (128128); and (d) Pepper (128128).

50 | P a g e

For Camera

(a)

(b)

(c )

(d)

(e)

(f)

Fig 9. Various extracted edge information of the test image Camera: (a) the original image; (b) Nezamabadi-Pour et al.s method ; (c) the proposed ACO-based image edge detection algorithm with the incorporation of the function; (d) the proposed ACO-based image edge detection algorithm with the incorporation of the function ; (e) the proposed ACO-based image edge detection algorithm with the incorporation of the function ; and (f) the proposed ACObased image edge detection algorithm with the incorporation of the function.

51 | P a g e

For House

(a)

(b)

(c )

(d)

(e)

(f)

Fig. 10. Various extracted edge information of the test image House: (a) the original image; (b) Nezamabadi-Pour et al.s method ; (c) the proposed ACO-based image edge detection algorithm with the incorporation of the function ; (d) the proposed ACO-based image edge detection algorithm with the incorporation of the function ; (e) the proposed ACO-based image edge detection algorithm with the incorporation of the function; and (f) the proposed ACO-based image edge detection algorithm with the incorporation of the function .

52 | P a g e

For Lena

(a)

(b)

(c )

(d)

(e)

(f)

Fig. 11. Various extracted edge information of the test image Lena: (a) the original image; (b) Nezamabadi-Pour et al.s method; (c) the proposed ACO-based image edge detection algorithm with the incorporation of the function; (d) the proposed ACO-based image edge detection algorithm with the incorporation of the function; (e) the proposed ACO-based image edge detection algorithm with the incorporation of the function ; and (f) the proposed ACO-based image edge detection algorithm with the incorporation of the function .

53 | P a g e

For Pepper

(a)

(b)

(c )

(d)

(e)

(f)

Fig. 12. Various extracted edge information of the test image Pepper: (a) the original image; (b) Nezamabadi-Pour et al.s method ; (c) the proposed ACO-based image edge detection algorithm with the incorporation of the function; (d) the proposed ACO-based image edge detection algorithm with the incorporation of the function ; (e) the proposed ACO-based image edge detection algorithm with the incorporation of the function; and (f) the proposed ACO-based image edge detection algorithm with the incorporation of the function .

54 | P a g e

An ACO-based image edge detection algorithm that takes advantage of the improvements introduced in ACS has been successfully developed and tested. Experimental results show the feasibility of the approach in identifying edges in an image. With suitable parameter values, the algorithm was able to successfully identify edges in the canonical test images. It must be noted that the appropriate parameter values depend on the nature of the image, and thus, may vary per application. As a continuation of this Project, it is recommended to further examine how the quality of the extracted edges is affected by the parameter values and the functions for obtaining the heuristic information, for quantifying the quality of a solution, and for computing how much pheromone to deposit. In a study on a simplified ACO algorithm, it was shown that the basic properties of ACO are critical to the success of the algorithm, specially when solving more complex problems. In recent studies, techniques that could enhance the performance of ACS have been explored. In, ants are assigned different pheromone sensitivity levels, which makes some ants more sensitive to pheromone than the others. In, multiple ant colonies with new communication strategies were employed. The proposed ACS method for edge detection could be extended and possibly be improved by making use of such techniques.

55 | P a g e

Appendices

56 | P a g e

Ant Colony Optimization The Ant Colony Optimization algorithm (ACO) is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs. In the natural world, ants (initially) wander randomly, and upon finding food return to their colony while laying down pheromone trails. If other ants find such a path, they are likely not to keep travelling at random, but to instead follow the trail, returning and reinforcing it if they eventually find food (see Ant communication). Over time, however, the pheromone trail starts to evaporate, thus reducing its attractive strength. The more time it takes for an ant to travel down the path and back again, the more time the pheromones have to evaporate. A short path, by comparison, gets marched over more frequently, and thus the pheromone density becomes higher on shorter paths than longer ones. Pheromone evaporation also has the advantage of avoiding the convergence to a locally optimal solution. If there were no evaporation at all, the paths chosen by the first ants would tend to be excessively attractive to the following ones. In that case, the exploration of the solution space would be constrained.

AGENTS (Artificial Ants) Artificial Ants stand for multi-agent methods inspired by the behavior of real ants. The pheromone-based communication of biological ants is often the predominant paradigm used.[2] Combinations of Artificial Ants and local search algorithms have become a method of choice for numerous optimization tasks involving some sort of graph, e. g., vehicle routing and internet routing. The burgeoning activity in this field has led to conferences dedicated solely to Artificial Ants, and to numerous commercial applications by specialized companies such as AntOptima. As an example, Ant colony optimization[3] is a class of optimization algorithms modeled on the actions of an ant colony. Artificial 'ants' (e.g. simulation agents) locate optimal solutions by moving through a parameter space representing all possible

57 | P a g e

solutions. Real ants lay down pheromones directing each other to resources while exploring their environment. The simulated 'ants' similarly record their positions and the quality of their solutions, so that in later simulation iterations more ants locate better solutions. [4] One variation on this approach is the bees algorithm, which is more analogous to the foraging patterns of the honey bee, another social insect. CO- COMBINATIONTORIAL OPTIMIZATION Combinatorial optimization is a subset of mathematical optimization that is related to operations research, algorithm theory, and computational complexity theory. It has important applications in several fields, including artificial intelligence, machine learning, mathematics, auction theory, and software engineering. combinatorial optimization is a topic that consists of finding an optimal object from a finite set of objects.[1] In many such problems, exhaustive search is not feasible. It operates on the domain of those optimization problems, in which the set of feasible solutions is discrete or can be reduced to discrete, and in which the goal is to find the best solution. Some common problems involving combinatorial optimization are the traveling salesman problem ("TSP") and the minimum spanning tree problem.

ACS-ANT COLONY SYSTEM In the natural world, ants (initially) wander randomly, and upon finding food return to their colony while laying down pheromone trails. If other ants find such a path, they are likely not to keep travelling at random, but to instead follow the trail, returning and reinforcing it if they eventually find food. Thus, when one ant finds a good (i.e., short) path from the colony to a food source, other ants are more likely to follow that path, and positive feedback eventually leads all the ants following a single path. The idea of the ant colony algorithm is to mimic this behavior with "simulated ants" walking around the graph representing the problem to solve

58 | P a g e

PCA (Principal Component Analysis) Principal component analysis (PCA) is a mathematical procedure that uses an orthogonal transformation to convert a set of observations of possibly correlated variables into a set of values of linearly uncorrelated variables called principal components. The number of principal components is less than or equal to the number of original variables. This transformation is defined in such a way that the first principal component has the largest possible variance (that is, accounts for as much of the variability in the data as possible), and each succeeding component in turn has the highest variance possible under the constraint that it be orthogonal to (i.e., uncorrelated with) the preceding components. PCA is closely related to factor analysis. Factor analysis typically incorporates more domain specific assumptions about the underlying structure and solves eigenvectors of a slightly different matrix.

59 | P a g e

1. System Study The objective of this study is to identify what is needed from the system and not how the system will achieve its goal. It consists of problem recognition and requirement specification .the various input and output to and from the system and standards have to be documented. The important data identities and the various processes have to be identified. At the end of the study a document containing all the functional specifications with version control has to be prepared. 2. System Design and Analysis This involves modeling information flow (data and control floe both). The whole system has to be divided into hierarchy involving modules and sub modules .

3. Coding This involves designing of interface and coding of algorithm. The code designing and layout has to be approved by the project leader by giving the walk through and the changes incorporated 4. Testing Testing is used to ensure the correctness of the software. A test plan is generated with all possible test cases and used for testing

60 | P a g e

61 | P a g e

References

62 | P a g e

REFERENCES

[1] M. Dorigo and S. Thomas, Ant Colony Optimization. Cambridge: MIT Press, 2004. [2] H.-B. Duan, Ant Colony Algorithms: Theory and Applications. Beijing: Science Press, 2005. [3] M. Dorigo, V. Maniezzo, and A. Colorni, Ant system: Optimization by a colony of cooperating agents, IEEE Trans. on Systems, Man and Cybernetics, Part B, vol. 26, pp. 2941, Feb. 1996. [4] M. Dorigo, M. Birattari, and T. Stutzle, Ant colony optimization, IEEE Computational Intelligence Magazine, vol. 1, pp. 2839, Nov. 2006. [5] T. Stutzle and H. Holger H, Max-Min ant system, Future Generation Computer Systems, vol. 16, pp. 889914, Jun. 2000. [6] M. Dorigo and L. M. Gambardella, Ant colony system: A cooperative learning approach to the traveling salesman problem, IEEE Trans. on Evolutionary Computation, vol. 1, pp. 5366, Apr. 1997. [7] M. Dorigo, G. D. Caro, and T. Stutzle, Special Issue on Ant Algorithms, Future Generation Computer Systems, vol. 16, Jun. 2000. [8] O. Cordon, F. Herrera, and T. Stutzle, Special Issue on Ant Colony Optimization: Models and Applications, Mathware and Soft Computing, vol. 9, Dec. 2002. [9] M. Dorigo, L. M. Gambardella, M. Middendorf, and T. Stutzle, Special Issue on Ant Colony Optimization, IEEE Transactions on Evolutionary Computation, vol. 6, Jul. 2002. [10] H. Zheng, A. Wong, and S. Nahavandi, Hybrid ant colony algorithm for texture classification, in Proc. IEEE Congress on Evolutionary. [11]Dorigo M, Blum C. Ant colony optimization theory: A survey. Theoret comput Sci 2005;344(23):24378. [12] Dorigo, Di Caro, Gambardella 1999. [13] M. Dorigo, Ant colony optimization web page,http://iridia.ulb.ac.be/mdorigo/ACO/ACO.html. [14] M. Dorigo and G. Di Caro, The Ant Colony Optimization meta -heuristic, in New Ideas in Optimization, D. Corne et al., Eds., McGraw Hill,London, UK, pp. 11-32, 1999. [15] Maniezzo V, Colorni A. The Ant System applied to the quadratic assignment problem. IEEE Trans Data Knowledge Engrg 1999;11(5):76978.

63 | P a g e

[16] Rudra Pratap Matlab [17]Wikipedia. [18]M.Dorigo et al.(Eds.): ANTS 2002, LNCS 2463, pp.53-64,2002 Springer-Verlag Berlin Heidelberg 2002 [19]. M.Solomon, Algorithms for the Vehicle Routing and Scheduling Problem with Time Window Constraints, Operations Research 35,1987,254-265 [20] J.Y.Povin, S.Bengio, The Vehicle Routing Problem with Time Windows . Part II: Genetic Search, INFORMS Journal of Computing 8, 1996,165-172 [21] Ant Colony for the traveling salesman problem TR/IRIDIA/1996-3 Universite libre de Bruxelles, Belgium [22] Dorigo, M., Maniezzo, V. and Colorni, A., 1996, The Ant System: Optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics.Part B, 26, 29.41. [23] MACS-VRPTW: A Multiple Ant Colony System for Vehicle Routing Problems with Time Windows. Technical Report IDSIA -06-99, Lugano, Switzerland, 1999 [24] P. Kilby, P. Prosser, P. Shaw, Guided Local Search for the Vehicle Routing Problems With Time Windows, in Meta-heuristics: Advances and Trends in Local Search for Optimization, S.Voss, S. Martello, I.H. Osman and C.Roucairol (eds.), Kluwer Academic Publishers, Boston, 1999, 473-486. [25] B. Bullnheimer, R. F. Hartl, C. Strauss, An Improved Ant System Algorithm for the Vehicle Routing Problem, Technical Report POM-10/97, Institute of Management Science, University of Vienna, Austria, 1997. Accepted for publication in Annals of Operations Research. [26] R. Cordone, R. Wolfler-Calvo, A Heuristic for the Vehicle Routing Problem with Time Windows. To appear in Journal of Heuristics. [27] M. Dorigo, V. Maniezzo, A. Colorni, The Ant System: Optimization by a Colony of Cooperating Agents, IEEE Transactions on Systems, Man, and Cybernetics.Part B 26, 1996, 29-41. [28] M. Dorigo, G. Di Caro, L. M. Gambardella, Ant Algorithms for Discrete Optimization, Technical ReportIRIDIA/98-10, Universit Libre de Bruxelles, Belgium, 1998. Accepted for publication in Artificial Life.

64 | P a g e

[29] . D. Taillard, FANT: Fast Ant System, Technical Report IDSIA-46-98, IDSIA, Lugano, Switzerland, 1998. [30] Bullnheimer, B.,Hartl,R.and Strauss, C: Applying the Ant System to the Vehicle Routing Problem. Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization Kluwer:Boston(1997) [31] An Experimental Study of a Simple Ant Colony System for the Vehicle Routing Problem with Time Windows. Ismail Ellabib, Otman A.Basir, Paul Calamai.

65 | P a g e