5th GRACM International Congress on Computational Mechanics Limassol, 29 June – 1 July, 2005

OPTIMAL TRUSS DESIGN USING ANT COLONY OPTIMIZATION Symeon Christodoulou Department of Civil and Environmental Engineers University of Cyprus P.O.BOX 20537, 1678 Nicosia, Cyprus e-mail: [email protected]

Keywords: Ant colony optimization, truss design optimization. Abstract. The paper presents a methodology to arrive at optimal truss designs using Ant Colony Optimization (ACO) algorithms. Ant Colony Optimization is a population-based, artificial multi-agent, general-search technique for the solution of difficult combinatorial problems with its theoretical roots based on the behavior of real ant colonies and the collective trail-laying and trail-following of its members in searching for optimal solutions in traversing multiple paths. In essence, ACO is inspired by the foraging behavior of natural ant colonies which optimize their path from an origin (ant nest) to a destination (food source) by taking advantage of knowledge acquired by ants that previously traversed the possible paths and the pheromone trail these ants leave behind as the traverse the paths to optimal solution. In computer implementations of the ACO algorithms, artificial ants are agents and solution-construction procedures that stochastically build solutions by considering (1) artificial pheromone trails which change dynamically at run time to reflect the agents’ acquired search experience, and (2) heuristic information on the problem/network being solved. The paper outlines the fundamental mathematical background of the ACO method and a suggested possible implementation strategy for solving for optimal truss designs (geometrical configuration and member characteristics).

1 INTRODUCTION Truss design optimization is of paramount importance to both designers and owners, since it provides for more efficient (structurally and financially) structures. The goal of truss optimization is to maximally utilize the geometry and material of the proposed design elements to result in the lightest structure while satisfying all the design, manufacturing and other physical constraints. Traditionally, truss optimization is performed using mathematical, or numerical, optimization techniques for a truss with a fixed configuration which, in essence, optimize the members’ cross sectional areas given the geometry and topology of the proposed structure. Truss design is usually originated with a given distance that the desired structure needs to span and the assumed extreme loading conditions. Designers then determine the depth and overall profile of the truss (geometry), the number and arrangement of truss members (topology), and the shape and cross sectional areas of each member (component properties) such that proposed truss design can satisfy both loading/resistance requirements service requirements. The goal of truss optimization is the arrival at optimal truss topology configurations that result in the lightest possible structure while satisfying all design and other constraints. Traditionally, optimization is performed using mathematical optimization techniques assuming a truss with a fixed configuration (where, given the geometry and topology, the member cross sectional areas are optimized). In the past decade, genetic algorithms (GAs) were employed to solve for optimized designs (selection of members, angles of inclination) given fixed topologies[6],[7] and more recently GAs were employed to optimize the topology as well[2]. The latter is based on an assumed starting topology based on a triangularized shape that then is adjusted to satisfy problem constraints (locations of supports and loads), followed by shape optimization based on stress. More recently, further adaptations of genetic algorithms were utilized to arrive at complete topology optimizations either by mutations[11], floating-point genetic algorithms[12] or random-cost methods[1]. The random-cost method is of particular interest because of the similarities in the approach, of minimizing an objective function through “random-walks” in the topology. The following sections present preliminary work on the application of agent-based methods for the optimization of truss topologies. The method of interest is called “Ant Colony Optimization” and originates from the field of agent-based artificial intelligence.

Symeon Christodoulou, Ph.D.

1 ANT COLONY OPTIMIZATION 2.1 Introduction Ant Colony Optimization (ACO) is a population-based general search technique, proposed by Dorigo (1992, 1996), for the solution of difficult combinatorial problems. The method is inspired by the foraging behavior exhibited by real ant colonies and the essential characteristic of ACO algorithms is “the combination of a priori information about the structure of a promising solution with a posteriori information about the structure of a previously obtained good solution”[10]. Real ant colonies exhibit interesting behaviors, suitable to network traversing and thus optimization. In particular, an ant can find shortest paths between food sources and a nest and in doing so deposit a chemical substance, called “pheromone”, forming “pheromone trails” which can then be followed by other ants in the colony. When choosing their way through the possible path routes, ants can smell the deposited pheromone and tend to follow those paths marked by stronger pheromone concentrations. In essence, while an isolated ant moves essentially at random, an ant encountering a previously traversed path and pheromone-laid trail can detect that the path was previously traversed and then decide with high probability to follow this path and subsequently reinforce the trail with its own pheromone. The collective behavior is therefore characterized by a positive (reinforcing) feedback loop where the probability with which each ant chooses the path to follow increases with the number of ants having chosen the same path in the preceding steps. The final result is the relative quick convergence of the path-traversing to the shortest path.

Figure 1: Basic ACO concepts (pheromone laying and shortest path searching) Figure 1 depicts this behavior for a hypothesized “ant colony” of eight, traversing a path from the nest to the food source (1a) and its behavior when encountering a path obstacle (1b). In this case the population randomly follows possible paths (1b) laying pheromone on the way to the food source and then back to the nest (1b, 1c). The pheromone trail is reinforced with each successive pass until the ant population and path traversing converge to the shortest path between source and destination (1d). 2.2 Theoretical Framework of the ACO Metaheuristic A number of ACO algorithms, starting from the original work by Dorigo[3],[4], have been developed and proposed over the years, the most known of which are the Ant Colony System (ACS), the Elitist Ant System, the MAX-MIN Ant System, a Rank-based version of Ant System, and the Best-Worst Ant System. The common framework for ACO applications was proposed posteriori to be the ACO metaheuristic[4], with artificial ants seen as stochastic solution procedures and acting as agents. The solution construction is biased by the pheromone trails which change at run-time, the heuristic information on the problem instance and the ants’ private memory. The generic problem topology is as follows[11]: • •

A finite set of components is given, C = {c1 , c 2 , c3 , " , c N } .

= {ci , c j , " , c k , "}, are defined in terms of sequences (relationships) over the elements of C and the set of all possible sequences is denoted by X . A The states of the problem, x

Symeon Christodoulou, Ph.D.

finite set of constraints in the system, Ω , defines the feasible states, X • •

*

A set of feasible solutions, S , is given with

⊆X.

S ⊆X. *

A cost function f (s, t ) is associated with each candidate solution s∈ S , and in some cases a separate cost function is defined and associated to states other than solutions.

The generic behavior of the artificial ants can also be outlined as follows (Stützle et al. 2002): • Ants build solutions by moving on the construction graph G = (C, R ) , where C is the set of components in the network, and R is the set of relationships (connections) fully connecting the components. Even though both feasible and infeasible solutions can be built, artificial ants, in

•

general, try to build feasible solutions. The problem constraints, Ω , are implemented during the network traversing and policy followed by the artificial ants. The components, ci ⊆ C, and connections, rij ⊆ R , can have a pheromone trail, τ , associated

with them which allows for the implementation of a long-term memory policy about the ant search process. Similarly, the components, ci ⊆ C , and connections, rij ⊆ R , can have a heuristic value,

η , which allows incorporation of problem-specific information.

k

•

The path that each artificial ant, k , follows can be stored in the ant’s memory M .

•

Each artificial ant, k , can be assigned a start state, xs , and one or more termination conditions, e .

•

The construction procedure of ant k stops when at least one of the termination conditions e is satisfied. When in state x r = (x r −1 , i ) an ant attempts to move to any node j in the feasible solutions subset

k

k

k

•

• •

(immediate successors) N ik . If this is not possible, it might be allowed to move to any other node that it is not part of the immediate-successors subset. The move to a successor node is determined by a stochastic decision rule and it is subject to a function of the locally pheromone and the connection’s heuristic, the ant’s memory, and the problem constraints. Each addition of a component c j to the current solution updates the pheromone trail associated with it. Once a solution is built the ant retraces the same path backwards and updates the pheromone trails of the used components or connections.

2.1 Ant Colony Optimization Algorithm The above described topology and ACO metaheuristic form the basis for most ant colony optimization algorithms found in literature. A pseudocode adaptation of such algorithm is shown below. procedure AntColonyOptimization Initialize topology_parameters ConstructNetwork Initialize pheromone_trails for each Ant while (termination condition not met) do ConstructSolutions ForwardTraversePath ApplyLocalPheromoneUpdate BackwardTraversePath ApplyLocalPheromoneUpdate end next ant end AntColonyOptimization

Symeon Christodoulou, Ph.D.

2 ANT COLONY OPTIMIZATION AND TRUSS DESIGN OPTIMIZATION 2.1 Introduction The concepts and methodology employed by the Ant Colony Optimization metaheuristic can find applications in truss design optimization since the underlying topology and optimal path searching exhibit several similarities. The idea is to treat a proposed truss topology as a maze to be traversed by artificial ants looking for the best way to reach an end (truss supports) from a starting point (nodes where the loads are applied). This “best way” can be a combination of optimization parameters such as the traveling distance (thus the length of truss members traversed), the resistance to movement (stress within such members, thus the interior member forces and corresponding cross sectional areas), the cost of the truss members, etc. If one makes the simplistic assumption that the optimal design takes advantage of longer distances between truss nodes (to “tone down” internal forces in them as a result of longer spanning distances and increased resistance), and if one substitutes the search for shortest path (ACO) to the search for longest path (truss optimization) and treats ACO ants, states, connections and a cost function to truss optimization’s external loads, truss members, connectivity and internal forces respectively then the ACO metaheuristic can be employed in solving for the longest path in connected, acyclic graphs (such as truss topology problems). The optimization starts with a fully connected graph of truss nodes/members that is successively analyzed for the longest path from the nodes where the loads are applied to the nodes where the truss supports are. The shortest path for each such combination is pruned (corresponding elements are removed) and the resulting topology is analyzed structurally for obtaining the internal forces in each element. The method is iterative and it stops when the necessary conditions are met or when successive optimization designs converge to a proposed topology. 2.1 ACO-Based Algorithm For a given truss topology defined by a graph G = (N, A) , with N being the set of nodes (truss nodes) and A being the set of arcs (truss elements) connecting the subject nodes, the proposed ACO-based procedure for finding the longest path(s) between chosen nodes N 1 and N 2 can be summarized by the following steps: 1. Initialize all arcs with small amount of pheromone, τ 0 . This value can be an inverse line-distance between the nodes N1 and N 2 , or the inverse line-distance of the subject arc. 2. An artificial ant is launched from node N1 (the start node) pseudo-randomly walking from a node to a successor node via the connecting arcs until it reaches either the end-node ( N 2 ) or a dead end. When at a given node, the artificial ant’s selection of an arc to follow is probabilistic, based on a stochastic assignment of each i

th

arc’s likelihood of selection, as defined by pi =

τ iη iβ

(1)

∑τ η β i i

i

In the above equation, τ i is the pheromone concentration on the i arc, η i is an a priori available th

heuristic value for the i arc and β i is a parameter determining the relative influence of the heuristic information. The value of η i can be defined either as the inverse of the length of the arc, or the inverse of the length of the plus the line-distance between the subject node and N 2 . It should be noted that previously visited arcs are excluded from the selection (to enable complete “tree spanning” and avoid “memorization”). a. The selection is further assisted by the consideration of a randomly generated number, 0 ≤ q ≤ 1 , which is compared to a predefined value, q 0 , specific to the network topology. If q ≤ q0 then the arc with the highest value pi is selected. Otherwise, a random th

selection of an arc is used based on the distribution defined by the equation for p i . 3.

th

Upon crossing each i arc during the aforementioned solution-constructing phase a local pheromone update rule is applied to update the level of pheromone concentration at the given arc. The updated pheromone level is defined by

τ i = (1 − ρ )τ i + ρτ 0

(2)

Symeon Christodoulou, Ph.D.

4.

where ρ is another network topology parameter ( 0 ≤ ρ ≤ 1 ). As already noted, the goal of the local updating is to enable exploration of more path/route variations by making already traversed arcs less likely to be chosen again during the randomization of the arc selection process. Steps (2) and (3) are repeated for all ants in the ant colony and the most successful ant (i.e. the one whose path defines the solution) is used to globally update the network’s pheromone trails. The global update rule is defined by

τ i = (1 − α )τ i + ατ L

5.

(3)

where α is yet another network topology parameter ( 0 ≤ α ≤ 1 ) whose value determines the level of evaporation of pheromone concentrations. The factor τ L is a value inversely proportional to the path length of the best solution in case of an arc visited by the best ant or zero for all other ants. a. The global update rule can be applied by either the “global-best” or the “iteration-best” ant. In the first case, the ant to perform the update is the one that obtained the best solution (found the longest path in the network) during the entire optimization process. In the second case the update is performed by the ant reaching the best solution during each iteration of the algorithm. Steps (2) - (4) are repeated for either a fixed number of iterations or until a predefined condition is met, and upon termination of the algorithm the pheromone trail in the graph G = (N, A) is used to determine the solution (the arcs with highest pheromone concentration form the longest path of the network).

2.1 Sample Application The ACO algorithms were implemented by means of custom software developed with truss topology optimization in mind, so as to enable integration with structural analysis software. The developed software application can be executed in either “test mode” (randomized network topologies) or “project mode” (actual truss topologies to be solved) and integrated with external database management systems to account for additional common design features such as standard truss members (steel members, cross sectional areas, etc.), material costs, etc. The sample truss design optimization considered consists of a two-layer truss system (2x5 nodes), simply supported at the bottom edges and loaded with equal loads at the top layer (P = 100 units) as shown in Figure 2. A non-symmetric geometry was chosen on purpose, to serve as a stepping stone for a second-phase research work that will consider allowance of wider spatial modifications (such as adding/pruning nodes, modification of x,y coordinates of existing nodes, resizing of elements/spans, etc.) P

P

P 26

29

P

P 15

15

h = 30

L = 85

Figure 2: Initial topology of sample truss optimization problem The optimization process starts with the automatic generation of a fully-connected network of truss nodes and elements as shown in Figure 3a. The ACO algorithm then performs a first-cut path-traversing optimization sequence, based on a population of 50 artificial agents which, after traversing the interconnected nodes, report on the longest paths from a node to any other node. At the end of this first-cut simulation process all elements on each node-to-node shortest path are pruned (deleted from the connection graph) resulting in the topology shown in Figure 3b, based on an imposed constraint that no peripheral elements are deleted during the process.

Symeon Christodoulou, Ph.D.

P

P

P 26

29

P

P 15

15

h = 30

L = 85

(a) P

P

P 26

29

P

P 15

15

h = 30

L = 85

(b) Figure 3: Topology of sample truss optimization problem, (a) at the start of the process (iteration 0) and (b) at the end of the ACO search for shortest node-to-node paths (iteration 50). The next step in the optimization process involves the integration of the external truss-analysis software and the external database of truss members and their properties. The system calculates the internal element forces at the end of every specified simulation iteration (e.g. every 50 cycles of path traversing by an artificial agent) and upon ranking these forces in descending order it then prunes the element with the smaller internal force, less than a given threshold value (considering such element to be unnecessary). Appropriate members are selected automatically from an electronic database of truss members and the total weight of the structure is calculated. The process continues until the structure becomes indeterminate, or until there is convergence of the resulting total weight of it. Sample resulting truss topologies are shown in Figure 4, with resulting total truss weights tabulated in Table 1. The topologies were optimized with assumed identical truss members (A=1, E, ρ) of variable lengths, as dictated by the generated geometry. The goal at this early stage of the research is the optimization of geometry and not necessarily section types. The selection of section types for the truss elements can be achieved by linking the ACO metaheuristic and software code with a database of readily available truss elements and the corresponding sectional and material properties, from which the program can select the sections with minimum weight satisfying the stress and displacement constraints and tolerances dictated by the user.

Symeon Christodoulou, Ph.D.

P

P

P 26

29

P

P 15

15

h = 30

L = 85

(a) P’

P’ 26

29

P’

P 15

15

h = 30

L = 85

(b)

P’’

P’’ 26

29

P’’ 15

15

h = 30

L = 85

(c) P’’

P’’ 26

29 1

4

P’’

2

5

15

15

6

3

7

h = 30 8

L = 85

(d) Figure 4: Topology of sample truss optimization problem at the end of various stages of the optimization process. The results of the ACO topology optimization algorithm for six sample network topologies are shown in Table 1. The ACO topology parameters were kept constant ( q 0 = 0.5 , β = 1.0 , ρ = 0.5 , α = 0.5 , C = 100 ) but the other network characteristics varied (the number of nodes and arcs in the network topology, and the number of “ant nests” (i.e. the number of possible start nodes in the network) as a result of adding and pruning elements

Symeon Christodoulou, Ph.D.

during optimization. Iteration No.

Figure

Nodes

50 100 150 200 250 300

3(a) 3(b) 4(a) 4(b) 4(c) 4(d)

10 10 10 9 8 8

Truss Topology Elements Total Length 45 2066 29 1144 17 464 18 462 15 436 14 375

Total Weight 2066 1144 464 462 436 375

Table 1 : Best-ant solutions for sample topologies

3 CONCLUSIONS The ACO seems to be functioning well in searching for optimal truss topology solutions. As Table 1 shows, the ACO metaheuristic was able to improve on the initial topology, in terms of total truss weight and resulted in a modified topology of reduced weight prior to reaching an indeterminate structure. The algorithm stopped at the topology shown in Figure 4(d), while attempting to prune the element ‘3-7’ (its internal force was zero) and causing singularity (indeterminate structure). Attempts to prune elements ‘5-6’ or ‘1-2’ (elements with the smaller internal forces in the network) were also the cause of indeterminacy and their pruning was abandoned. At this early stage of the research the results are encouraging. Future work will focus on linking the ACO algorithm to external databases of typical truss sections of known sectional and material properties and automating the selection of such elements to optimize truss weights subject to given topologies, and also modifying the algorithm to allow for reconfiguration of the truss topology in terms of locations of truss nodes and therefore element lengths (not just adding and pruning of elements). REFERENCES [1] Baumann, B. and Kost, B. (1997). Topology Optimization of Trusses – Random Cost Method Versus Evolutionary Algorithms. Computational Optimization and Applications, 14, pp. 203-218, Netherlands. [2] Cagan, J. and Mitchell, W. J. (1993). A grammatical approach to network flow synthesis. In Gero, J., editor, Preprints of the IFIP WG 5.2 Workshop on Formal Design Methods for Computer-Aided Design, pp. 153166, Tallinn, Estonia. [3] Dorigo, M. (1991). “Ant Colony Optimization, New Optimization Techniques in Engineering”, by Onwubolu, G. C., and B. V. Babu, Springer-Verlag Berlin Heidelberg, pp. 101-117. [4] 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, vol.26(2), pp. 29-41. [5] Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. AddisonWesley, Reading, MA. [6] Goldberg, D.E. and Samtani, M.P. (1999). “Engineering Optimization Via Genetic Algorithms ”. In Proceedings of the Ninth Conference on Electronic Computation, ASCE, New York, NY, pp. 53–60. [7] Jenkins, W. (1991). Towards structural optimization via the genetic algorithm. Computers and Structures, 40(5):1321-1327. [8] Louis, S. J. (1993). Genetic Algorithms as a Computational Tool for Design. PhD thesis, Indiana University, Bloomington. Department of Computer Sciences. [9] Louis, S. J. and Rawlins, G. (1991). Designer genetic algorithms: Genetic algorithms in structure design. In Proceedings of the Fourth International Conference on Genetic Algorithms, pages 53–60. Morgan Kauffman, San Mateo, CA. [10] Maniezzo V, Gambardella L.M., De Luigi F. (2004). “Ant Colony Optimization, New Optimization Techniques in Engineering”, by Onwubolu, G. C., and B. V. Babu, Springer-Verlag Berlin Heidelberg, 101117. [11] Stützle, T. and Dorigo, M. (2002). “The Ant Colony Optimization Metaheuristic: Algorithms, Applications, and Advances”. In F. Glover and G. Kochenberger (editors), Handbook of Metaheuristics, Kluwer Academic Publishers, Norwell, MA. [12] Turkkan, N. (2003). Discrete Optimization of Structures Using a Floating-Point Genetic Algorithm. Annual Conference of the Canadian Society for Civil Engineering, Moncton, N.B., Canada, June 4-7.

OPTIMAL TRUSS DESIGN USING ANT COLONY OPTIMIZATION Symeon Christodoulou Department of Civil and Environmental Engineers University of Cyprus P.O.BOX 20537, 1678 Nicosia, Cyprus e-mail: [email protected]

Keywords: Ant colony optimization, truss design optimization. Abstract. The paper presents a methodology to arrive at optimal truss designs using Ant Colony Optimization (ACO) algorithms. Ant Colony Optimization is a population-based, artificial multi-agent, general-search technique for the solution of difficult combinatorial problems with its theoretical roots based on the behavior of real ant colonies and the collective trail-laying and trail-following of its members in searching for optimal solutions in traversing multiple paths. In essence, ACO is inspired by the foraging behavior of natural ant colonies which optimize their path from an origin (ant nest) to a destination (food source) by taking advantage of knowledge acquired by ants that previously traversed the possible paths and the pheromone trail these ants leave behind as the traverse the paths to optimal solution. In computer implementations of the ACO algorithms, artificial ants are agents and solution-construction procedures that stochastically build solutions by considering (1) artificial pheromone trails which change dynamically at run time to reflect the agents’ acquired search experience, and (2) heuristic information on the problem/network being solved. The paper outlines the fundamental mathematical background of the ACO method and a suggested possible implementation strategy for solving for optimal truss designs (geometrical configuration and member characteristics).

1 INTRODUCTION Truss design optimization is of paramount importance to both designers and owners, since it provides for more efficient (structurally and financially) structures. The goal of truss optimization is to maximally utilize the geometry and material of the proposed design elements to result in the lightest structure while satisfying all the design, manufacturing and other physical constraints. Traditionally, truss optimization is performed using mathematical, or numerical, optimization techniques for a truss with a fixed configuration which, in essence, optimize the members’ cross sectional areas given the geometry and topology of the proposed structure. Truss design is usually originated with a given distance that the desired structure needs to span and the assumed extreme loading conditions. Designers then determine the depth and overall profile of the truss (geometry), the number and arrangement of truss members (topology), and the shape and cross sectional areas of each member (component properties) such that proposed truss design can satisfy both loading/resistance requirements service requirements. The goal of truss optimization is the arrival at optimal truss topology configurations that result in the lightest possible structure while satisfying all design and other constraints. Traditionally, optimization is performed using mathematical optimization techniques assuming a truss with a fixed configuration (where, given the geometry and topology, the member cross sectional areas are optimized). In the past decade, genetic algorithms (GAs) were employed to solve for optimized designs (selection of members, angles of inclination) given fixed topologies[6],[7] and more recently GAs were employed to optimize the topology as well[2]. The latter is based on an assumed starting topology based on a triangularized shape that then is adjusted to satisfy problem constraints (locations of supports and loads), followed by shape optimization based on stress. More recently, further adaptations of genetic algorithms were utilized to arrive at complete topology optimizations either by mutations[11], floating-point genetic algorithms[12] or random-cost methods[1]. The random-cost method is of particular interest because of the similarities in the approach, of minimizing an objective function through “random-walks” in the topology. The following sections present preliminary work on the application of agent-based methods for the optimization of truss topologies. The method of interest is called “Ant Colony Optimization” and originates from the field of agent-based artificial intelligence.

Symeon Christodoulou, Ph.D.

1 ANT COLONY OPTIMIZATION 2.1 Introduction Ant Colony Optimization (ACO) is a population-based general search technique, proposed by Dorigo (1992, 1996), for the solution of difficult combinatorial problems. The method is inspired by the foraging behavior exhibited by real ant colonies and the essential characteristic of ACO algorithms is “the combination of a priori information about the structure of a promising solution with a posteriori information about the structure of a previously obtained good solution”[10]. Real ant colonies exhibit interesting behaviors, suitable to network traversing and thus optimization. In particular, an ant can find shortest paths between food sources and a nest and in doing so deposit a chemical substance, called “pheromone”, forming “pheromone trails” which can then be followed by other ants in the colony. When choosing their way through the possible path routes, ants can smell the deposited pheromone and tend to follow those paths marked by stronger pheromone concentrations. In essence, while an isolated ant moves essentially at random, an ant encountering a previously traversed path and pheromone-laid trail can detect that the path was previously traversed and then decide with high probability to follow this path and subsequently reinforce the trail with its own pheromone. The collective behavior is therefore characterized by a positive (reinforcing) feedback loop where the probability with which each ant chooses the path to follow increases with the number of ants having chosen the same path in the preceding steps. The final result is the relative quick convergence of the path-traversing to the shortest path.

Figure 1: Basic ACO concepts (pheromone laying and shortest path searching) Figure 1 depicts this behavior for a hypothesized “ant colony” of eight, traversing a path from the nest to the food source (1a) and its behavior when encountering a path obstacle (1b). In this case the population randomly follows possible paths (1b) laying pheromone on the way to the food source and then back to the nest (1b, 1c). The pheromone trail is reinforced with each successive pass until the ant population and path traversing converge to the shortest path between source and destination (1d). 2.2 Theoretical Framework of the ACO Metaheuristic A number of ACO algorithms, starting from the original work by Dorigo[3],[4], have been developed and proposed over the years, the most known of which are the Ant Colony System (ACS), the Elitist Ant System, the MAX-MIN Ant System, a Rank-based version of Ant System, and the Best-Worst Ant System. The common framework for ACO applications was proposed posteriori to be the ACO metaheuristic[4], with artificial ants seen as stochastic solution procedures and acting as agents. The solution construction is biased by the pheromone trails which change at run-time, the heuristic information on the problem instance and the ants’ private memory. The generic problem topology is as follows[11]: • •

A finite set of components is given, C = {c1 , c 2 , c3 , " , c N } .

= {ci , c j , " , c k , "}, are defined in terms of sequences (relationships) over the elements of C and the set of all possible sequences is denoted by X . A The states of the problem, x

Symeon Christodoulou, Ph.D.

finite set of constraints in the system, Ω , defines the feasible states, X • •

*

A set of feasible solutions, S , is given with

⊆X.

S ⊆X. *

A cost function f (s, t ) is associated with each candidate solution s∈ S , and in some cases a separate cost function is defined and associated to states other than solutions.

The generic behavior of the artificial ants can also be outlined as follows (Stützle et al. 2002): • Ants build solutions by moving on the construction graph G = (C, R ) , where C is the set of components in the network, and R is the set of relationships (connections) fully connecting the components. Even though both feasible and infeasible solutions can be built, artificial ants, in

•

general, try to build feasible solutions. The problem constraints, Ω , are implemented during the network traversing and policy followed by the artificial ants. The components, ci ⊆ C, and connections, rij ⊆ R , can have a pheromone trail, τ , associated

with them which allows for the implementation of a long-term memory policy about the ant search process. Similarly, the components, ci ⊆ C , and connections, rij ⊆ R , can have a heuristic value,

η , which allows incorporation of problem-specific information.

k

•

The path that each artificial ant, k , follows can be stored in the ant’s memory M .

•

Each artificial ant, k , can be assigned a start state, xs , and one or more termination conditions, e .

•

The construction procedure of ant k stops when at least one of the termination conditions e is satisfied. When in state x r = (x r −1 , i ) an ant attempts to move to any node j in the feasible solutions subset

k

k

k

•

• •

(immediate successors) N ik . If this is not possible, it might be allowed to move to any other node that it is not part of the immediate-successors subset. The move to a successor node is determined by a stochastic decision rule and it is subject to a function of the locally pheromone and the connection’s heuristic, the ant’s memory, and the problem constraints. Each addition of a component c j to the current solution updates the pheromone trail associated with it. Once a solution is built the ant retraces the same path backwards and updates the pheromone trails of the used components or connections.

2.1 Ant Colony Optimization Algorithm The above described topology and ACO metaheuristic form the basis for most ant colony optimization algorithms found in literature. A pseudocode adaptation of such algorithm is shown below. procedure AntColonyOptimization Initialize topology_parameters ConstructNetwork Initialize pheromone_trails for each Ant while (termination condition not met) do ConstructSolutions ForwardTraversePath ApplyLocalPheromoneUpdate BackwardTraversePath ApplyLocalPheromoneUpdate end next ant end AntColonyOptimization

Symeon Christodoulou, Ph.D.

2 ANT COLONY OPTIMIZATION AND TRUSS DESIGN OPTIMIZATION 2.1 Introduction The concepts and methodology employed by the Ant Colony Optimization metaheuristic can find applications in truss design optimization since the underlying topology and optimal path searching exhibit several similarities. The idea is to treat a proposed truss topology as a maze to be traversed by artificial ants looking for the best way to reach an end (truss supports) from a starting point (nodes where the loads are applied). This “best way” can be a combination of optimization parameters such as the traveling distance (thus the length of truss members traversed), the resistance to movement (stress within such members, thus the interior member forces and corresponding cross sectional areas), the cost of the truss members, etc. If one makes the simplistic assumption that the optimal design takes advantage of longer distances between truss nodes (to “tone down” internal forces in them as a result of longer spanning distances and increased resistance), and if one substitutes the search for shortest path (ACO) to the search for longest path (truss optimization) and treats ACO ants, states, connections and a cost function to truss optimization’s external loads, truss members, connectivity and internal forces respectively then the ACO metaheuristic can be employed in solving for the longest path in connected, acyclic graphs (such as truss topology problems). The optimization starts with a fully connected graph of truss nodes/members that is successively analyzed for the longest path from the nodes where the loads are applied to the nodes where the truss supports are. The shortest path for each such combination is pruned (corresponding elements are removed) and the resulting topology is analyzed structurally for obtaining the internal forces in each element. The method is iterative and it stops when the necessary conditions are met or when successive optimization designs converge to a proposed topology. 2.1 ACO-Based Algorithm For a given truss topology defined by a graph G = (N, A) , with N being the set of nodes (truss nodes) and A being the set of arcs (truss elements) connecting the subject nodes, the proposed ACO-based procedure for finding the longest path(s) between chosen nodes N 1 and N 2 can be summarized by the following steps: 1. Initialize all arcs with small amount of pheromone, τ 0 . This value can be an inverse line-distance between the nodes N1 and N 2 , or the inverse line-distance of the subject arc. 2. An artificial ant is launched from node N1 (the start node) pseudo-randomly walking from a node to a successor node via the connecting arcs until it reaches either the end-node ( N 2 ) or a dead end. When at a given node, the artificial ant’s selection of an arc to follow is probabilistic, based on a stochastic assignment of each i

th

arc’s likelihood of selection, as defined by pi =

τ iη iβ

(1)

∑τ η β i i

i

In the above equation, τ i is the pheromone concentration on the i arc, η i is an a priori available th

heuristic value for the i arc and β i is a parameter determining the relative influence of the heuristic information. The value of η i can be defined either as the inverse of the length of the arc, or the inverse of the length of the plus the line-distance between the subject node and N 2 . It should be noted that previously visited arcs are excluded from the selection (to enable complete “tree spanning” and avoid “memorization”). a. The selection is further assisted by the consideration of a randomly generated number, 0 ≤ q ≤ 1 , which is compared to a predefined value, q 0 , specific to the network topology. If q ≤ q0 then the arc with the highest value pi is selected. Otherwise, a random th

selection of an arc is used based on the distribution defined by the equation for p i . 3.

th

Upon crossing each i arc during the aforementioned solution-constructing phase a local pheromone update rule is applied to update the level of pheromone concentration at the given arc. The updated pheromone level is defined by

τ i = (1 − ρ )τ i + ρτ 0

(2)

Symeon Christodoulou, Ph.D.

4.

where ρ is another network topology parameter ( 0 ≤ ρ ≤ 1 ). As already noted, the goal of the local updating is to enable exploration of more path/route variations by making already traversed arcs less likely to be chosen again during the randomization of the arc selection process. Steps (2) and (3) are repeated for all ants in the ant colony and the most successful ant (i.e. the one whose path defines the solution) is used to globally update the network’s pheromone trails. The global update rule is defined by

τ i = (1 − α )τ i + ατ L

5.

(3)

where α is yet another network topology parameter ( 0 ≤ α ≤ 1 ) whose value determines the level of evaporation of pheromone concentrations. The factor τ L is a value inversely proportional to the path length of the best solution in case of an arc visited by the best ant or zero for all other ants. a. The global update rule can be applied by either the “global-best” or the “iteration-best” ant. In the first case, the ant to perform the update is the one that obtained the best solution (found the longest path in the network) during the entire optimization process. In the second case the update is performed by the ant reaching the best solution during each iteration of the algorithm. Steps (2) - (4) are repeated for either a fixed number of iterations or until a predefined condition is met, and upon termination of the algorithm the pheromone trail in the graph G = (N, A) is used to determine the solution (the arcs with highest pheromone concentration form the longest path of the network).

2.1 Sample Application The ACO algorithms were implemented by means of custom software developed with truss topology optimization in mind, so as to enable integration with structural analysis software. The developed software application can be executed in either “test mode” (randomized network topologies) or “project mode” (actual truss topologies to be solved) and integrated with external database management systems to account for additional common design features such as standard truss members (steel members, cross sectional areas, etc.), material costs, etc. The sample truss design optimization considered consists of a two-layer truss system (2x5 nodes), simply supported at the bottom edges and loaded with equal loads at the top layer (P = 100 units) as shown in Figure 2. A non-symmetric geometry was chosen on purpose, to serve as a stepping stone for a second-phase research work that will consider allowance of wider spatial modifications (such as adding/pruning nodes, modification of x,y coordinates of existing nodes, resizing of elements/spans, etc.) P

P

P 26

29

P

P 15

15

h = 30

L = 85

Figure 2: Initial topology of sample truss optimization problem The optimization process starts with the automatic generation of a fully-connected network of truss nodes and elements as shown in Figure 3a. The ACO algorithm then performs a first-cut path-traversing optimization sequence, based on a population of 50 artificial agents which, after traversing the interconnected nodes, report on the longest paths from a node to any other node. At the end of this first-cut simulation process all elements on each node-to-node shortest path are pruned (deleted from the connection graph) resulting in the topology shown in Figure 3b, based on an imposed constraint that no peripheral elements are deleted during the process.

Symeon Christodoulou, Ph.D.

P

P

P 26

29

P

P 15

15

h = 30

L = 85

(a) P

P

P 26

29

P

P 15

15

h = 30

L = 85

(b) Figure 3: Topology of sample truss optimization problem, (a) at the start of the process (iteration 0) and (b) at the end of the ACO search for shortest node-to-node paths (iteration 50). The next step in the optimization process involves the integration of the external truss-analysis software and the external database of truss members and their properties. The system calculates the internal element forces at the end of every specified simulation iteration (e.g. every 50 cycles of path traversing by an artificial agent) and upon ranking these forces in descending order it then prunes the element with the smaller internal force, less than a given threshold value (considering such element to be unnecessary). Appropriate members are selected automatically from an electronic database of truss members and the total weight of the structure is calculated. The process continues until the structure becomes indeterminate, or until there is convergence of the resulting total weight of it. Sample resulting truss topologies are shown in Figure 4, with resulting total truss weights tabulated in Table 1. The topologies were optimized with assumed identical truss members (A=1, E, ρ) of variable lengths, as dictated by the generated geometry. The goal at this early stage of the research is the optimization of geometry and not necessarily section types. The selection of section types for the truss elements can be achieved by linking the ACO metaheuristic and software code with a database of readily available truss elements and the corresponding sectional and material properties, from which the program can select the sections with minimum weight satisfying the stress and displacement constraints and tolerances dictated by the user.

Symeon Christodoulou, Ph.D.

P

P

P 26

29

P

P 15

15

h = 30

L = 85

(a) P’

P’ 26

29

P’

P 15

15

h = 30

L = 85

(b)

P’’

P’’ 26

29

P’’ 15

15

h = 30

L = 85

(c) P’’

P’’ 26

29 1

4

P’’

2

5

15

15

6

3

7

h = 30 8

L = 85

(d) Figure 4: Topology of sample truss optimization problem at the end of various stages of the optimization process. The results of the ACO topology optimization algorithm for six sample network topologies are shown in Table 1. The ACO topology parameters were kept constant ( q 0 = 0.5 , β = 1.0 , ρ = 0.5 , α = 0.5 , C = 100 ) but the other network characteristics varied (the number of nodes and arcs in the network topology, and the number of “ant nests” (i.e. the number of possible start nodes in the network) as a result of adding and pruning elements

Symeon Christodoulou, Ph.D.

during optimization. Iteration No.

Figure

Nodes

50 100 150 200 250 300

3(a) 3(b) 4(a) 4(b) 4(c) 4(d)

10 10 10 9 8 8

Truss Topology Elements Total Length 45 2066 29 1144 17 464 18 462 15 436 14 375

Total Weight 2066 1144 464 462 436 375

Table 1 : Best-ant solutions for sample topologies

3 CONCLUSIONS The ACO seems to be functioning well in searching for optimal truss topology solutions. As Table 1 shows, the ACO metaheuristic was able to improve on the initial topology, in terms of total truss weight and resulted in a modified topology of reduced weight prior to reaching an indeterminate structure. The algorithm stopped at the topology shown in Figure 4(d), while attempting to prune the element ‘3-7’ (its internal force was zero) and causing singularity (indeterminate structure). Attempts to prune elements ‘5-6’ or ‘1-2’ (elements with the smaller internal forces in the network) were also the cause of indeterminacy and their pruning was abandoned. At this early stage of the research the results are encouraging. Future work will focus on linking the ACO algorithm to external databases of typical truss sections of known sectional and material properties and automating the selection of such elements to optimize truss weights subject to given topologies, and also modifying the algorithm to allow for reconfiguration of the truss topology in terms of locations of truss nodes and therefore element lengths (not just adding and pruning of elements). REFERENCES [1] Baumann, B. and Kost, B. (1997). Topology Optimization of Trusses – Random Cost Method Versus Evolutionary Algorithms. Computational Optimization and Applications, 14, pp. 203-218, Netherlands. [2] Cagan, J. and Mitchell, W. J. (1993). A grammatical approach to network flow synthesis. In Gero, J., editor, Preprints of the IFIP WG 5.2 Workshop on Formal Design Methods for Computer-Aided Design, pp. 153166, Tallinn, Estonia. [3] Dorigo, M. (1991). “Ant Colony Optimization, New Optimization Techniques in Engineering”, by Onwubolu, G. C., and B. V. Babu, Springer-Verlag Berlin Heidelberg, pp. 101-117. [4] 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, vol.26(2), pp. 29-41. [5] Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. AddisonWesley, Reading, MA. [6] Goldberg, D.E. and Samtani, M.P. (1999). “Engineering Optimization Via Genetic Algorithms ”. In Proceedings of the Ninth Conference on Electronic Computation, ASCE, New York, NY, pp. 53–60. [7] Jenkins, W. (1991). Towards structural optimization via the genetic algorithm. Computers and Structures, 40(5):1321-1327. [8] Louis, S. J. (1993). Genetic Algorithms as a Computational Tool for Design. PhD thesis, Indiana University, Bloomington. Department of Computer Sciences. [9] Louis, S. J. and Rawlins, G. (1991). Designer genetic algorithms: Genetic algorithms in structure design. In Proceedings of the Fourth International Conference on Genetic Algorithms, pages 53–60. Morgan Kauffman, San Mateo, CA. [10] Maniezzo V, Gambardella L.M., De Luigi F. (2004). “Ant Colony Optimization, New Optimization Techniques in Engineering”, by Onwubolu, G. C., and B. V. Babu, Springer-Verlag Berlin Heidelberg, 101117. [11] Stützle, T. and Dorigo, M. (2002). “The Ant Colony Optimization Metaheuristic: Algorithms, Applications, and Advances”. In F. Glover and G. Kochenberger (editors), Handbook of Metaheuristics, Kluwer Academic Publishers, Norwell, MA. [12] Turkkan, N. (2003). Discrete Optimization of Structures Using a Floating-Point Genetic Algorithm. Annual Conference of the Canadian Society for Civil Engineering, Moncton, N.B., Canada, June 4-7.