ARTICLE IN PRESS
Neurocomputing 71 (2008) 1061–1068 www.elsevier.com/locate/neucom
Letters
Using a bank of binary Hopfield networks as constraints solver in hybrid algorithms Sancho Salcedo-Sanz, Emilio G. Ortiz-Garcı´ a, Angel M. Pe´rez-Bellido, Jose A. Portilla-Figueras Department of Signal Theory and Communications, Universidad de Alcala´, Escuela Politecnica Superior, 28871 Alcala de Henares, Madrid, Spain Received 13 December 2006; received in revised form 3 September 2007; accepted 25 October 2007 Communicated by K. Li Available online 23 November 2007
Abstract This paper proposes the use of a bank of Hopfield networks to solve a class of constraints which appear in combinatorial optimization problems. Specifically, we deal with problems which constraints’ structure can be represented by a binary matrix C, and can be separated in independent substructures. We show that a bank of Hopfield networks can solve these constraints, and also can be easily hybridized with a global search algorithm, such as simulated annealing, to obtain a final solution to the problem. We apply our approach to the solution of a famous logic-type puzzle, the light-up puzzle, where we report improvements over a branch and bound algorithm, and to an important problem which arises in electronic control: the so-called Crossbar Switch Problem. r 2007 Elsevier B.V. All rights reserved. Keywords: Bank of Hopfield networks; Hybrid algorithms; Combinatorial optimization problems; Light-up puzzle; Crossbar switch problem
1. Introduction Hybridization of metaheuristics with local search (LS) procedures has attracted the attention of researchers in the last few years [16]. This combination has received several names, but hybrid algorithms and memetic algorithms are the most commonly used for these mixed approaches. This nomenclature has been used indistinctively for every algorithm involving a metaheuristic and an LS procedure; however, there is a subtle difference between them: a memetic algorithm involves an LS procedure, in such a way that the LS is used to improve the quality of the fitness function associated to the metaheuristic’s individuals. On the other hand, in a hybrid algorithm the LS procedure is used as constraint handling method, i.e., it can be considered as a kind of solver which reduces the search space by only considering feasible individuals. Hopfield networks (HNNs) have been used as LS procedures to solve the constraints in several combinatorial Corresponding author. Tel.: +34 91 885 6731; fax: +34 91 885 6699.
E-mail address:
[email protected] (S. Salcedo-Sanz). 0925-2312/$ - see front matter r 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.neucom.2007.10.010
optimization problems (COPs). In fact, general HNNs are often used on its own to tackle this kind of problems [2,17]. Also banks of HNNs have been applied to solve COPs [1]. The main drawback of HNNs to be used as repairing heuristics is that they take time to converge to a feasible solution. On the other hand, binary (HNNs with two-state threshold neurons) and quantized (HNNs with a finite number of state neurons) HNNs have been applied to a large amount of difficult COPs [4,15,10] both on its own [17], or hybridized with metaheuristics such as genetic algorithms or simulated annealing [11,12]. Binary HNNs do not provide, in general, high quality solutions working on its own, but they have very good properties of convergence. Thus, they are appropriate to be mixed with metaheuristic algorithms to form hybrid approaches. In this paper we explore the possibility of using a bank of binary HNNs to solve a class of constraints which appear in different COPs. Specifically, we deal with COPs in which their constraints’ structure can be represented as several independent one-dimensional graphs. Each graph represents the constraints of a part of the problem. These constraints represented by a given graph can be solved
ARTICLE IN PRESS 1062
S. Salcedo-Sanz et al. / Neurocomputing 71 (2008) 1061–1068
independently from the constraints represented by the other graphs. In this situation, the bank of HNNs acts as a kind of constraints solver, in order to provide feasible solutions. A second step is to hybridize the HNN bank with a metaheuristic, to obtain a solution for the entire problem. The applicability of our approach is tested by solving a well-known logic-puzzle game, the light-up puzzle [6]. Puzzles and computer games in general have been studied for many years in Computer Science, Mathematics and Artificial Intelligence fields [9,7]. They not only provide challenging problems, but also provide good test-beds for comparing algorithms, and novel ideas to be applied in real world problems. The light-up puzzle used in this paper is an excellent example of COP, which can be separated into independent problems, and a hybrid algorithm is applicable, since there are several different class of constraints in it. The structure of the rest of the paper is as follows: next section presents the problem solved in this paper. Section 2.2 describes the bank of HNNs for solving the constraints in the considered class of COP. Section 3 presents the light-up puzzle, which is a COP where we will test the performance of our approach. In this section the hybridization of the bank of HNNs with a simulated annealing algorithm is presented. In Section 4 we show several light-up puzzles solved using our hybrid approach. In this section we extend the experimental part of the paper to several instances of the Crossbar Switch Problem (CSP). Section 5 gives some final remarks. 2. Problem definition Let } be a given constrained COP which can be described using a binary encoding. Let us consider that we encode the problem using a binary vector X, representing a possible solution to the problem. In addition, we consider that } has a constraints’ structure which can be expressed using K independent graphs Gk ðV ; EÞ, k ¼ 1; . . . ; K, where V is the set of nodes (problem encoding) and E is the set of links. There is a link E ij between two nodes i and j, when these two nodes are incompatible, i.e., if an element xi 2 X is set to 1, there is another element xj which cannot be 1 at the same time.1 Each graph Gk has associated a constraint matrix C, in such a way that each matrix element cij can be either 1 or 0. An element cij ¼ 1 means that nodes i and j cannot have a 1 at the same time, whereas a cij ¼ 0 means that nodes i and j are allowed to have a 1 at the same time. The problem consists of, given an initial vector X 0 , obtaining a final vector X which fulfils the conditions in matrix C, i.e., obtain a vector X which is a feasible solution for }. This vector X must also be optimal in the sense that a given objective function gðX Þ is minimized or maximized, 1
A different way (equivalent) to visualize this class of constraints has been presented before in [12], by means of a binary matrix of constraints C.
depending on the problem. Since we consider problems which can be separated into independent subproblems, we apply a Hopfield binary neural network to each subproblem, forming a bank of HNNs. 2.1. The binary Hopfield neural scheme Binary HNNs [4] are a special class of neural networks frequently used for solving COPs. Binary HNNs can be classified into sequential and parallel architectures [14]. In the sequential binary HNN, only one element (neuron) is updated at a time t, while the rest of the neurons remains unchanged. It is known that sequential HNNs converge to a stationary state (solution) in a bounded number of steps [14]. In general parallel binary HNNs do not have this property. In a sequential binary HNN, the total input to a given neuron i can be defined as X wij xj ðtÞ I j , (1) ui ðt þ 1Þ ¼ j
where uðtÞ is the total input of neuron i at time t and xðtÞ is the output of the neuron at time t. The element wij is the symmetric interconnection weights from neuron j to neuron i, and I i is the offset bias of neuron i. Each neuron computes its output at the following time from its input, taking into account that xi at any time is a two-state threshold neuron: ( 1 if ui ðt þ 1Þp0; (2) xi ðt þ 1Þ ¼ 0 if ui ðt þ 1Þ40: In [14] it was proven that the sequential algorithm always converges to a stationary point if the matrix of weights W is symmetric and has non-negative diagonal elements. The number of steps to convergence depends on the problem being solved [14]. This result is valid for one-dimensional HNNs, and can be extended to two or even higher dimensional HNNs [14,17]. 2.2. The bank of binary HNNs The one-dimensional neural scheme described above can be applied to solve the structure of constraints given by a constraints matrix C in a straight-forward way. The definition of the neural weights wij can be done just as wij ¼ cij : ujðiÞ ðt þ 1Þ ¼
Lk X
cjðiÞj xj ðtÞ,
(3)
j¼1
where Lk is the size of each subproblem given by graph G k , and jðiÞ represents a given order of updating for the neurons (permutation of length i): ( 1 if ujðiÞ ðt þ 1Þp0; xjðiÞ ðt þ 1Þ ¼ (4) 0 if ujðiÞ ðt þ 1Þ40:
ARTICLE IN PRESS S. Salcedo-Sanz et al. / Neurocomputing 71 (2008) 1061–1068
Hopfield Network #1 Subproblem 1 (infeasible)
1
1
2
Hopfield Network #2
Initial Problem
1 1
3
2
1
3
1 0
1
1
0
Subproblem 2 (feasible)
1
Hopfield Network #3 Subproblem 3 (infeasible)
2
3
4
5
6
7
8
9
10
11 12
1
2
3
4
5
3
6
2 10
7
8
9
11
1
12
Subproblem 3 (feasible)
. . .
. . . Hopfield Network #K
Subproblem K (infeasible)
Subproblems
1
1
Subproblem 1 (feasible)
Subproblem 2 (infeasible)
1063
Subproblem K (feasible)
Hopfield Network Bank
Subproblems solutions
Fig. 1. Example of how the bank of Hopfield networks is applied to a constraints-separable problem.
Since a given problem } is formed by K independent subproblems, the application of the Hopfield neural network can be seen as it is a bank of binary onedimensional networks (Fig. 1). Fig. 5 shows the structure of the bank of binary HNNs a given light-up puzzle is separated into K independent subproblems. Each subproblem is then randomly initialized and then passed to a binary HNN, which repairs the incompatibilities of the initial solution using a random updating order j. 3. An example of the application of the proposed method: the light-up puzzle The light-up is a logical-type puzzle which consists of an N M grid, with black and white squares in it. The objective is to place light bulbs on the grid, in such a way that every white square is lit. Squares are illuminated (lit) by a light bulb if they are in the same row or column, and if there is not a black square between them. Also, no light bulb is allowed to illuminate another light bulb. In addition, some of the black squares have numbers in them. The number in a black square indicates how many light bulbs share an edge with that square. Fig. 2(a) shows an example of the light-up grid, and Fig. 2(b) a solution for the puzzle.
Fig. 2. Example of a light-up puzzle and its encoding: (a) puzzle and grid; (b) light-up solution; (c) light-up encoding: puzzle grid and vector X. The white squares have been numbered in order to facilitate the correspondence between the grid and the encoded vector X.
This puzzle can be encoded in a binary vector X, in which each bit X i represents the state of a white square in the puzzle grid: a bit set to 1 in the binary string means that there is a light bulb in corresponding white square in the puzzle, see Fig. 2(c). Bits with a 0 stand for white squares of the puzzle in which there is not a light bulb. Given a binary vector X, representing a possible solution to the puzzle, the first step is to check that there are not incompatibilities with light bulbs. Second, a procedure must be included to control the number of light bulbs attached to black squares. 3.1. Constraints’ structure of the light-up puzzle We can separate the light-up puzzle constraints into two different sets: first, the constraints imposed by the conditions in black squares, and one of the rules of the puzzle (all the white squares of the grid must be lit). Second, the puzzle rule that two light bulbs cannot be placed in the same row or column. Note that this last constraint has the form we are interested in: it can be expressed as a set of K independent light-up subproblems, represented by graphs Gk ðV ; EÞ, k ¼ 1; . . . ; K, i.e, they can be expressed as a binary matrix C of constrains for each graph k. As example, Figs. 3(a) and (b) show different light-up puzzles formed by K ¼ 2 and 3 subproblems, respectively. Squares with the same letter on it belong to the same constraint graph. For each graph k, the set of nodes V includes the white squares in the grid where a light up can be installed. When two of these nodes cannot have a light bulb at the same time, there is a link between them. As was mentioned before, this can be better visualized as an Lk Lk binary matrix C, where Lk is the number of white squares in light-up subproblem k. Each element cij ¼ 1 means that square i and j cannot have a light bulb simultaneously, whereas cij ¼ 0 means that squares i and j can have a light but at the same time. Fig. 4 shows an
ARTICLE IN PRESS S. Salcedo-Sanz et al. / Neurocomputing 71 (2008) 1061–1068
1064
A
A
A
A
A
A
A 1
A
2
A
A
B
2
A
A
2
A
A
A
A
A
A
B
B
3
A
A
A
A
B
2B
B
A
A
A
A
1
B
B
B
2
A
A
B
B
B
B
B
A
A
C
C
C
B
1
A
B
B
B
0 2
C
C
1
2
2 B
2B
B
B
B
B 1
B
1
B
B
B
2
B
C
2
B
C
B
0B
Fig. 3. Example of light-up puzzles with K ¼ 2 (a) and K ¼ 3 (b). White squares corresponding to the same graph are marked with A, B or C letters.
Hopfield Network #1
3
1
Hopfield Network #2 3
3
1
1
2
3
Light up puzzle
0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0
Hopfield Network #3
2
2
3
4
5
3
6
2
7
8
9
10
11
1
12
1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 C
0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0
Fig. 4. Example of constraints matrix C and the corresponding light-up puzzle.
example for a 4 4 subproblem, with L ¼ 12. We have marked each white square with its respective number for a better explanation. 3.2. A bank of binary HNNs for the light-up puzzle Since a given light-up puzzle can be formed by K light-up independent subproblems, the application of the Hopfield neural network can be done in the form of a bank of binary one-dimensional networks, described in Section 2.2. Fig. 5 shows the structure of the bank of binary HNNs in this puzzle: a given light-up puzzle is separated into K independent subproblems. Each subproblem is encoded as shown in Fig. 2(c), randomly initialized and then passed to a binary HNN, which repairs the incompatibilities of the initial solution (rule-forced constraints). Note, however, that the obtained solution does not fulfil the black-squares constraints. 3.3. A hybrid algorithm with simulated annealing to obtain the final solution The first set of constraints in the light-up puzzle (black squares constraints and white squares lit) cannot be managed with the bank of HNNs. Instead, the bank of networks must be hybridized with a global search
3
3 3
. . .
1 1 0 1 0 1 0 0 1 0 0 1
1
1
3
1
2
1
B B
1
2
3
. . . 2
Hopfield Network #K
4
Subproblems
3
2 4
Hopfield Network Bank
Subproblems solutions
Fig. 5. Example of application of the bank of Hopfield networks to the light-up puzzle.
algorithm, in order to obtain a final solution to the puzzle. In this paper we consider a hybrid algorithm formed by the bank of binary Hopfield neural networks and a simulated annealing algorithm to solve the light-up. Simulated annealing has been widely applied to solve COPs [8]. It is inspired by the physical process of heating a substance and then cooling it slowly, until a strong crystalline structure is obtained. This process is simulated by lowering an initial temperature by slow stages until the system reaches to an equilibrium point, and no more changes occur. Each stage of the process consists of changing the configuration several times, until a thermal equilibrium is reached, and a new stage starts, with a lower temperature. The solution of the problem is the configuration obtained in the last stage. In the standard SA, the changes in the configuration are performed in the following way: a new configuration is built by a random displacement of the current one. If the new configuration is better, then it replaces the current one, and if not, it may replace the current one probabilistically. This probability of replacement is high in the beginning of the algorithm, and decreases in every stage. This procedure allows the system to move toward the best configuration. Although SA is not guaranteed to find the global optima, it is still better than other algorithms in escaping from local optima [3].
ARTICLE IN PRESS S. Salcedo-Sanz et al. / Neurocomputing 71 (2008) 1061–1068
The application of the simulated annealing to the lightup puzzle is as follows: after the application of the bank of HNNs, a procedure is needed which discards the worse solutions in terms of black-squares and ‘‘no lit’’ squares constraints. This can be achieved by defining an objective function gðX Þ where X is a given solution for the light-up puzzle. Function gðX Þ takes into account the remaining problem’s constraints not solved by the Hopfield neural network, i.e., the constraints given by black squares, and the constraint that all white squares must be lit. Thus, gðX Þ is defined as gðX Þ ¼ bsðX Þ ltðX Þ,
1065
0
0
(5)
where bsðX Þ is defined as the difference between the number of lights bulbs beside the black squares in the solution X, and the right number which should be for the puzzle to be feasible. On the other hand, ltðX Þ sums the number of white squares which are not lit in the current solution X. The simulated annealing algorithm must minimize function gðX Þ in order to obtain a feasible solution for the puzzle. Note that the minimum of the function is known to be 0. Specific parameters of the SA are the number of times that temperature is decreased in the algorithm (N T ¼ 50 in this paper) and number of mutations in a given temperature number (N m ¼ 50 in this paper). The SA implemented in this paper follows the structure of the SA approach given in [3]. 4. Computer experiments and results In order to show that the hybrid approach formed by the bank of HNNs and the simulated solves the light-up puzzle, first, we solve several light-up puzzles in which K ¼ 1. We have solved 15 instances, including small ð7 7Þ, medium ð10 10Þ and large instances ð14 14Þ, which can be downloaded from the Internet in [5,6]. Our approach is able to correctly solve all the instances tested. As an example, Figs. 6(a) and (b) show one of the hardest light-up instances tackled ð14 14Þ, and the solution found by our algorithm. In order to compare our proposed approach with an existing algorithm, we have implemented a Branch and Bound (B&B) approach for the light-up. The B&B approach starts by sorting the squares in the grid, in such a way that the squares beside a given black condition are managed before than the other squares. Then the algorithm recursively tries combinations of solutions, taking into account that squares fixed to 1s forces other squares to be 0. Backtracking to the last fixed 1 is applied in order to try all the possible combinations. The B&B algorithm is able to solve any instance of the lights-up puzzle; however, its computational cost may be high in large size instances. In the experiments performed, we have obtained that the B&B algorithm is able to solve all the 7 7 instances in less than 2 min (the hybrid SA solved the instances in about 1 min). However, in the 10 10 instances, the algorithm took more than 15 h to solve the
1 2
1
2
1
3
2
2 1
2
2
2 2
2
1 2
1
0 2
1
0
Fig. 6. (a) and (b) Light-up grid and solution found by our algorithm in instance # 15; (c) and (d) solutions found by our algorithm in puzzles displayed in Fig. 3.
instances, whereas the hybrid SA algorithm found feasible solution in about 2 min. In the 14 14 instances the B&B algorithm was not able to find a feasible solution within one day, whereas the hybrid SA approach obtains the optimal solution in about 5 min. In order to show the behavior of the algorithm for instances in which K41, we have applied the hybrid approach to the instances displayed in Figs. 3(a) and (b), with K ¼ 2 and 3, respectively. Figs. 6(c) and (d) show the solutions found by our hybrid algorithm. As can be seen, it is able to find the solution to both problems. 4.1. Experiments in the CSP: bank of HNNs in parallel We extend the experimental part of the paper by tackling the CSP [17,18,13]. The real-time control of a crossbar switch (CSP), used for switching high-speed packets at maximum throughput, has been treated before in the literature as a challenging COP. This problem can be better explained considering Fig. 7, which shows how requests to switch packets can be represented through an N N binary request matrix [17]. The crossbar system described in the figure works in a cyclical fashion: packets arrive to each inlet queue manager which examines the packet’s destination address and determines its switch outlet. It then updates the row request vector for that inlet by setting to 1 the bit corresponding to the switch outlet, and places the packet on the inlet queue. Each queue manager passes its row vector to the HNN, which controls the crossbar switch (the HNN has one neuron in correspondence to each switch crosspoint). The HNN calculates the configuration
ARTICLE IN PRESS S. Salcedo-Sanz et al. / Neurocomputing 71 (2008) 1061–1068
1066
2
3
r=
4 Crossbarpoint Control
Crossbar
4
[
[
r=
c1=
[
2
[
1
3
4
c2=
[
[
1
Fig. 7. Example of a 4 4 crossbar switch system, input request matrix and optimal configuration matrices.
vectors associated to the request vectors received, passes them back to the queue managers, and closes the crossbar switch crosspoints corresponding to the configuration vectors. Each queue manager returned by the neural network presents to its inlet a single packet destined to the outlet selected by the row vector by clearing the selected column bit, which is thus routed through the closed crosspoint to its proper outlet. The problem definition can be easily stated as, given an input request matrix, obtaining a final configuration matrix with at most one per row and column, in the same position of a 1 in the input request matrix, in such a way that the number of 1s in the final configuration is maximum. Note that if the input request matrix can be divided into K different subgraphs, a bank of HNNs can be used instead of a large size Hopfield network.2 Fig. 8 shows and example where the input request matrix allows the 2
It is easy to see that, given a general input request matrix, finding the number of graphs in which it can be divided requires an algorithm with a computational cost of Oðn2 Þ.
11 0 1 0 0 0 0 0 0 11 0 0 0 0 0 0 010100000 100100000 000010101 0 0 0 0 0 1111 000010100 000000101 0 0 0 0 111 0 1
Fig. 8. Example of an input request matrix for the CSP which can be solved using a bank of two Hopfield networks, of size 4 4 and 5 5.
application of a bank of HNNs formed by two neural networks, the first one of size 4 4 and the second one of size 5 5. It is easy to see that, if the initial input request matrix can be divided into K subgraphs (as the example of Fig. 8), we can apply the hybrid SA algorithm proposed in this paper. In this case, each subgraph can be independently managed from other subgraphs using a bank of HNNs, and the final solution can be computed by merging the solutions for each subgraph. Initial experiments carried out have shown that, in this case, very small computation time reduction is gained by applying the bank of HNNs instead of a single HNN in a serial manner. This is due to the complexity of this problem is lower than the light-up, and much larger instances are needed to notate differences in computation results. However, we can use relatively small size instances of the CSP to show that if the bank of HNN is run in parallel, the computation time of the algorithm is improved. We have tested our algorithm in different, randomly generated, CSP instances, of size 20 20, 30 30 and 40 40. We have generated a number of input request matrices, in such a way that they can be divided in 2, 3 and 4 subgraphs of size 10 10. The rows of each input request matrix were randomly swapped, in such a way that locating the subgraphs in the network was not a straightforward task. Then, a hybrid SA algorithm using a single HNN network and the hybrid SA with the Hopfield bank running in parallel (one HNN in a different microprocessor) have been applied to solve the problem. Both algorithms were able to optimally solve all the instances tackled, but improvements in computational time have been found using the Hopfield bank implementation of the algorithm. The amount of time saved depends on the size of the instances, as can be seen in Table 1, where the real computation time of the proposed algorithms is displayed: for 20 20 with K ¼ 2, the SA with the bank of HNNs solved the problem about 5 s faster than the SA with one HNN. In the cases of 30 30 and 40 40 the SA with the bank of HNNs obtained the optimal solution about 15 and 30 s faster than the SA with one HNN. These results show that the proposed algorithm has better performance with regard to
ARTICLE IN PRESS S. Salcedo-Sanz et al. / Neurocomputing 71 (2008) 1061–1068 Table 1 Real computation time (in seconds) of the Hopfield-simulated annealing algorithm using a single and a bank of Hopfield networks Instance size
Computation time HNN (single)þSA
Computation time HNN (bank)þSA
20 20 30 30 40 40
18.34 41.26 73.05
12.78 24.94 39.46
(6)
where N T is the number of temperature reductions in the SA, N m is the number of mutations in a given temperature and n is the number of neurons in the HNN. If we apply the SA algorithm with a bank of K HNNs in parallel, the number of operations in neurons can be estimated as follows: NT Nm
n 2
(7)
K
or if we consider the computational cost due to the estimation of the number of subgraphs in the network (general case): n2 þ N T N m
n 2 K
Acknowledgments This work has been partially supported by Comunidad de Madrid and Universidad de Alcala´ through projects numbers CAM-UAH 2005/019 and UAH-PI2005/078. References
the computational efficiency than the hybrid approach with a single HNN. On the other hand, this result is somehow expected: note that using the SA algorithm with a single HNN, the number of operations in neurons of the HNN during the execution of the SA algorithm can be estimated as N T N m n2 ,
1067
(8)
also smaller than the number of operations for the SA with a single HNN for the cases of interest. Thus, the implementation of the algorithm using a bank of HNNs in parallel improves the computation time of the hybrid SA-Hopfield approach for the CSP.
5. Conclusions In this paper a novel approach to solve a class of constraints in combinatorial optimization problems has been presented. A bank of binary Hopfield networks have been used to solve different independent subproblems in which the problem can be separated. The bank of Hopfiel networks must be hybridized with a global search heuristic in order to obtain a final solution for the problem. An example using the light-up puzzle have been presented, where we have shown that our approach is able to solve difficult instances of the puzzle. Also, experiments in the Crossbar Switch Problems have demonstrated the good performance of the approach.
[1] C. Bouson˜o-Calzo´n, A.R. Figueiras-Vidal, A bank of Hopfield networks for the shortest path problem, Signal Process. 61 (2) (1997) 157–170. [2] C. Bouson˜o-Calzo´n, S. Salcedo-Sanz, A discrete-time quantized-state Hopfield neural network, Ann. Math. Artif. Intell. 42 (4) (2004) 345–367. [3] J. Gonza´lez, I. Rojas, H. Pomares, M. Salmero´n, J.J. Merelo, Web newspaper layout optimization using simulated annealing, IEEE Trans. Syst. Man Cybern. B 32 (5) (2002) 686–691. [4] J.J. Hopfield, Neurons and physical systems with emergent collective computational abilities, Proc. Natl. Acad. Sci. USA 79 (1982) 2554–2558. [5] hhttp://www.minijuegos.com/juegos/jugar.php?id=3502i. [6] hhttp://www.puzzle-light-up.com/i. [7] A. Khoo, R. Zubek, Applying inexpensive AI techniques to computer games, IEEE Intell. Syst. 17 (4) (2002) 48–53. [8] S. Kirpatrick, C.D. Gerlatt, M.P. Vecchi, Optimization by simulated annealing, Science 220 (1983) 671–680. [9] J.E. Laird, Using a computer game to develop advanced AI, IEEE Comput. 34 (7) (2001) 70–75. [10] M. Nourelfath, N. Nahas, Quantized hopfield networks for reliability optimization, Reliab. Eng. Syst. Saf. 81 (2) (2003) 191–196. [11] S. Salcedo-Sanz, C. Bouson˜o-Calzo´n, A mixed neural-genetic algorithm for the broadcast scheduling problem, IEEE Trans. Wireless Commun. 2 (2) (2003) 277–283. [12] S. Salcedo-Sanz, C. Bouson˜o-Calzo´n, A portable and scalable algorithm for a class of constrained combinatorial optimization problems, Comput. Oper. Res. 32 (2005) 2671–2687. [13] S. Salcedo-Sanz, J. Portilla-Figueras, Optimal solution to crossbar packet-switch problems using a sequential Hopfield neural network, Neurocomputing 70 (2007) 2603–2607. [14] Y. Shrivastava, S. Dasgupta, S.M. Reddy, Guaranteed convergence in a class of Hopfield networks, IEEE Trans. Neural Networks 3 (1992) 951–961. [15] K. Smith, M. Palaniswami, M. Krishnamoorthy, Neural techniques for combinatorial optimization with applications, IEEE Trans. Neural Networks 9 (6) (1998) 1301–1318. [16] E. Talbi, A taxonomy of hybrid metaheuristics, J. Heuristics 8 (2002) 541–564. [17] G. Xia, Z. Tang, Y. Li, J. Wang, A binary Hopfield neural network with hysteresis for large crossbar packet-switches, Neurocomputing 67 (2005) 417–425. [18] W. Zhang, Z. Tang, Y. Li, R. Wang, A new Algorithm for crossbar switch problem using Hopfield neural network with continuous hysteresis neurons, Neural Inf. Process. Lett. Rev. 10 (12) (2006) 267–276.
Sancho Salcedo-Sanz was born in Madrid, Spain, in 1974. He received the B.S degree in Physics from the Universidad Complutense de Madrid, Spain, in 1998, and the Ph.D. degree in Telecommunications Engineering from the Universidad Carlos III de Madrid, Spain, in 2002. He spent one year in the School of Computer Science, The University of Birmingham, U.K, as postdoctoral Research Fellow. Currently, he is an associate professor at the Department of Signal Theory and Communications, Universidad de Alcala´, Spain.
ARTICLE IN PRESS 1068
S. Salcedo-Sanz et al. / Neurocomputing 71 (2008) 1061–1068
He has co-authored more than 50 international journals and conference papers in the field of genetic algorithms and hybrid algorithms. His current interests deal with optimization problems in telecommunications, genetic algorithms, hybrid algorithms and neural networks. Emilio G. Ortı´ z-Garcı´ a was born in Madrid in 1984. He received the B.S. degree in Telecommunication Engineering from Universidad de Alcala´, in 2007. He is currently a Research Fellow at the Department of Signal Theory and Communications, Universidad de Alcala´, Madrid, Spain, where he is pursuing his Ph.D. degree.
A´ngel M. Pe´rez-Bellido was born in Madrid, in 1984. He received the B.S. degree in Telecommunication Engineering from Universidad de Alcala´, in 2007. He is currently a Research Fellow at the Department of Signal Theory and Communications, Universidad de Alcala´, Madrid, Spain, where he is pursuing his Ph.D. degree.
Jose A. Portilla-Figueras was born in Santander, Spain, in 1976. He received the B.S. degree (1999), and the Ph.D. degree (2004) in Telecommunications Engineering from Universidad de Cantabria, Spain. He is currently an associate professor at the Department of Signal Theory and Communications, Universidad de Alcala´, Spain.