You are currently viewing a new version of our website. To view the old version click .
Computers
  • Article
  • Open Access

13 March 2015

A Hybrid Autonomic Computing-Based Approach to Distributed Constraint Satisfaction Problems

,
and
University School of Information and Communication Technology (USICT), GGS IndraprasthaUniversity, Sector 16C Dwarka, New Delhi 110078, India
*
Author to whom correspondence should be addressed.

Abstract

Distributed constraint satisfaction problems (DisCSPs) are among the widely endeavored problems using agent-based simulation. Fernandez et al. formulated sensor and mobile tracking problem as a DisCSP, known as SensorDCSP In this paper, we adopt a customized ERE (environment, reactive rules and entities) algorithm for the SensorDCSP, which is otherwise proven as a computationally intractable problem. An amalgamation of the autonomy-oriented computing (AOC)-based algorithm (ERE) and genetic algorithm (GA) provides an early solution of the modeled DisCSP. Incorporation of GA into ERE facilitates auto-tuning of the simulation parameters, thereby leading to an early solution of constraint satisfaction. This study further contributes towards a model, built up in the NetLogo simulation environment, to infer the efficacy of the proposed approach.

1. Introduction

Agent-based simulations are widely employed to address computationally hard problems in a distributed context. These problems are either innately distributed in nature [1] or formulated as an instance of distributed constraint satisfaction problems (DisCSPs). In the past, different algorithms have been proposed to model diversified computationally intractable problems in the context of DisCSP. Most notably among them is the pioneering work of Yokoo et al. [2,3,4], further improved upon by Silaghi et al. [5,6,7].
The identification of the set of variables and imposed constraints is imperative to represent the problem as a constraint satisfaction problem (CSP) (Definition 1). Each constraint pertains to some subset of variables and limits the permitted combinations of variable values in the subset. Solving a CSP requires identifying one such assignment of variables that meet all constraints. In some cases, the aim is to obtain all sets of such assignments. However, finding the number of all possible solutions to a given CSP is also equally hard and proven to an NP-complete problem [8].
A distributed CSP is a CSP with the variables and constraints distributed among multiple agents (Definition 3) [9].
The ERE (environment, reactive rules and entities) algorithm is an autonomy-oriented computing (AOC)-based algorithm that manifests several inherent distinctive characteristics of autonomous systems, which make it advantageous to solve problems involving large-scale, greatly dispersed, regionally interacting and occasionally uncertain entities [10]. The ERE algorithm is a practical approach to searching for both accurate and approximate solutions to a CSP in the reduced number of execution steps. Such a reduction enables the ERE algorithm to exhibit promising results when used for solving benchmark problems, like n-queen problems, uniform random-3-SAT (Satisfiability) problems and flat graph coloring problems [10].
Fernandez et al. [11] formulated a wireless sensor tracking system as an instance of DisCSP, known as SensorDCSP and profoundly investigated in this exposition. In this study, we use a combination of genetic algorithm (GA) and the ERE algorithm for the SensorDCSP problem to achieve optimum visibility and compatibility between sensors and mobiles. Consolidation of GA into ERE, auto-tune simulation parameters resulted in the ameliorated model yielding the optimal solution.
AOC by self-discovery is the other closely-related concept of tuning parameters, wherein simple rules are used to adjust the parameters of an autonomous system [12].

3. Material and Methods

In this study, we utilize the combination of the above primitives to simulate the created network of SensorDSCP. It continues as follows:
(1) In the first step, the entity will probabilistically decide a behavior to execute, i.e., either random move or least move.
(2) If a least move behavior is chosen by an entity, it will have specified chances to select a better move before executing a least move. Therefore, the combination of better move and least move has the same probability as a single least move.
The values of the least − p and random − p probabilities play an important role in driving the system towards the goal. The dispatching of the entities is one after the other and does not influence the performance of the system.

3.1. Optimization Using Genetic Algorithm

Evolutionary processes in a variety of ecologically-complex systems, such as ant colonies, African wild dogs and fishes, have been known to shape group organization and logical relations within the members for some desired benefit (optimization) [26]. A large number of bio-inspired optimization algorithms have been proposed to exploit this process of evolution. The genetic algorithm (GA) is a typical example of such algorithms, which is also used within other methods to optimize the control parameters. Such hybrid techniques have reported improved performance in comparison to the technique examined in isolation. In the past, genetic algorithms have been favorably applied in the optimization of the neural networks performance by adjusting the neural weights, their topologies and learning rules. Other notable usage includes the optimization of control parameters of ant colony optimization algorithms and in the automating of the learning of fuzzy control rules by Belew et al. [27].
Pertaining to the study presented here, random move forms an essential part of the defined autonomous system, as it prevents the system from getting stuck in local optima.

3.1.1. Structure of a Chromosome

As is evident from Section 2.3, a similar probability is shared by a single least move compared to the probability of a combination of better move and least move will have. Therefore, the relevant probability is random−p (and least−p = 1-random−p). A greater random−p will, however, increase the probability of searching more areas in the search space. However, at the same time, it may prevent the population from converging to an optimum solution. A small mutation rate may lead to premature convergence, resulting in a local optimum. In light of the above, the setting of the above two parameters is a key factor in the determination of the search performance of the algorithm.
Our implementation of the genetic algorithm strives to optimize the above, the two variables for a given network instance problem. Therefore, the chromosome is comprised of the two variables: the number of better-moves before a least move and the probability of a random move (Figure 5).
Figure 5. Structure of the chromosome.

3.1.2. Parameters Used in the Developed Model

We developed a model in NetLogo [28] to simulate SensorDSCP using the proposed approach. The network generated is a random graph of sensors and mobiles (Figure 6). In the implementation, we use Mersenne twister, a pseudo-random number generator to assign random positions to the sensors and mobiles at the beginning of the execution of the model [29] (Figure 7). Here, we assume that all sensors are compatible with each other to simplify the network model. Table 2 describes the characteristics of the network model generated.
Figure 6. Snapshot of the model running the ERE algorithm.
Figure 7. Mobile sensor network generated: red nodes are mobiles, whereas blue nodes are sensor nodes.
Table 2. Characteristics of the network model generated.
Table 2. Characteristics of the network model generated.
ParameterValue
Number of Mobile Nodes (q)4
Number of Sensor Nodes (n)23
Transmission Range3.096 cm
No. of Communicating Sensors Required (k)3
We apply GA to determine the optimal values of the number of better-moves before a least move and the probability of a random move for a generated network. While using GA, the minimization of the algorithm execution time with no unsatisfied constraints is the objective function. Each iteration of the usage of GA is comprised of the simulation of a given network with the parameters of ERE algorithm as the input. To avoid the non-feasible (either not yielding to the solution or taking indefinite time) values of input parameters, we restrict the implementation of the algorithm to 1000 time steps. In the model developed, this was accomplished by integrating NetLogo with R [30] and then using the GA package in R for tuning the parameters.
Table 3 describes the values of the parameters used in the implementation of GA:
Table 3. Parameters of the genetic algorithm used.
Table 3. Parameters of the genetic algorithm used.
ParameterValue
Population Size20
Mutation Probability0.1
Crossover Probability0.8
Maximum Generations100
Elitism1

4. Results and Discussion

In this section, we confer about the experimental results obtained by applying the proposed approach. For all implementations, we use a personal computer with 2.10 GHZ of CPU and 4 GB of RAM using NetLogo 5.1.0 [28] and R 3.1.2 [31].

4.1. Variation of the Constraints Violated

Figure 8 illustrates the variation of the constraints violated in an implementation of the ERE algorithm for a parameter setting. Here, we randomly assign values to the number of better-moves before a least move and the probability of a random move using a pseudo-random number generator [29]. One may observe that the value of the objective function does not consistently decrease to convergence. The number of constraints violated changes abruptly as the execution of the algorithm proceeds, and we cannot satisfactorily define the behavior of the complex system (SensorDSCP).
Figure 8. Violated constraint values vs. iterations runs.

4.2. Implementation of the Genetic Algorithm for Parameter Optimization

Table 4 shows the seven different instances of the networks generated. We determine the optimal value of each of the parameters using GA. Different values of execution time (in seconds) of the algorithm leading to a solution with all constraints satisfied are also shown in the table. Here, we clearly observe that the probability of a random move gradually ceases with increasing the number of better-moves. There is an innate randomness associated with a better move that yields the system with an exploration ability, to some extent. In addition, the number of better-moves depends on the generated network and cannot be generalized for all problem instances [10]. The probability of a random move consistently reveals a value lower than 0.7 for the studied SensorDCSP instances. This not only prevents the system from getting caught in local optima, but also reduces the disruptive effects of large probability in such a parameter setting. Furthermore, a low probability of a random move also ensures the shielding of optimal solutions generated in the process.
Table 4. Optimal values for different instances of generated networks.
Table 4. Optimal values for different instances of generated networks.
Serial No.Number of Better-MovesProbability of Random MoveTime (s)
120.012111321.067
240.011949150.148
330.012278360.206
410.038129590.294
530.015820200.235
620.061999950.372
750.044196000.277

4.3. Comparison of the Performance of the ERE System with Genetically-Determined Parameters

Figure 9 illustrates the variation of the unsatisfied constraints for the seven different instances compared to a randomly-generated parameter setting for the ERE system. This comparison is carried out in the instances using a pseudo-random generator [29] to set the system parameters with those that are determined using GA. During experimentation, we limit the number of the iterations to 200 for the sake of a lucid visual comparison. It is clearly evident (Figure 9) that across all of the instances considered, a genetically-optimized ERE system tends to achieve an early optimal solution compared to a randomly-parametrized ERE system. In addition, in a randomly-parametrized ERE system, not even all of the constraints are satisfied with the defined limit of generations. Additionally, in the genetically-optimized ERE system, a generation adapts from the variation in the overall unsatisfied constraints of previous generations in each successive iteration, so that it does not get trapped in local optima. A progressive improvement in the solutions for various SensorDCSP network instances with consecutive iterations can be observed appreciably.
Figure 9. Comparison of unsatisfied constraints between randomly-parametrized ERE and genetically-optimized ERE.
In Table 5, we compare the percentage of satisfied constraints between a genetically-optimized ERE system with the one whose parameters are assigned values randomly. A genetically-optimized system always tends to achieve a complete solution, where all of the constraints in the SensorDCSP network instance are satisfied and all the entities are at zero positions.
Table 5. Parameters and the efficiency of optimal solutions obtained from the randomly-parametrized ERE system and genetically-optimized ERE system.
Table 5. Parameters and the efficiency of optimal solutions obtained from the randomly-parametrized ERE system and genetically-optimized ERE system.
Randomly-Parametrized ERE SystemGenetically-Optimized ERE System
Serial No.Probability of random- movesNumber of better- movesMaximum percentage of satisfied constraintsProbability of random- movesNumber of better- movesMaximum percentage of satisfied constraints
10.15496815495.230.012111322100
20.42432100186.360.011949151100
30.10984850291.490.012278362100
40.16187531495.650.038129591100
50.17335061389.470.015820203100
60.18202485490.900.061999952100
70.0441960590.000.044196005100

4.4. Average Fitness of the ERE System from each Successive Generation of the Genetic Algorithm

Figure 10 demonstrates the variationin the mean and best fitness values of the objective function, i.e., the execution time of the ERE algorithmas the execution of GA proceeds. These values clearly show a steep decrease in the value of the mean of the objective function. Thereafter, a stumbling change occurs in the number of generations. However, the change is considerably less and is confined well within the range. Moreover, pertaining to the best fitness value of the objective function, we observed a quick vanishing after the initial variations, thereby indicating a trivial amount of improvement for longer generations. Further, It is evident that beyond 100 generations, the objective function attains a sufficiently stagnant fitness value and stabilizes.
Figure 10. Fitness value (time to run ERE) vs. generations for the genetic algorithm.

4.5. Variation in Execution Time Corresponding to the Probability of Random-Moves

We examine the execution time of the ERE system to compute a solution with iterative increment over the probability of a random move for a specified number of better-moves before a least move (Figure 11). It can be clearly observed that for the random move with a probabilityless than 0.7, the time for execution is comparably low. This observation further endorses the results derived in Section 4.2 by applying GA. In addition, a steep rise in execution time is noticed when the probability of a random move reaches 12 percent of the value corresponding to each value of the better move before a least move. The results derived here affirm the belief that a high probability of randomness disrupts any solutionstate, and it is of utmost necessity to control the amount of exploration in such systems. Additionally, it is not possible to infer the number of better-moves required before a least move that result in a time-efficientERE solver for the SensorDSCP problem at hand.
Figure 11. Variation in execution time vs. probability of a random move for a distinct number of better-moves before a least move.

5. Conclusions

We choose SensorDSCPas a representative of distributed constraint satisfaction problems, and our work primarily focuses on the effective transition of an autonomous system from the current emergent behavior to the desired emergent behavior. We accomplish this by applying GA, though other techniques can also be employed to tweak the parameters of the autonomous entities. The genetic algorithm (GA) is utilized to adjust the simulation parameters in the implementation of the ERE algorithm. Additionally, we studied how the emergent behavior in a non-linear self-organized system is an essential property of local interactions between entities, which have a strong correlation with the system’s parameters. Future work includes the exploration of the impact of previous moves to shape and reason about future outcomes. Adhering to the rule of thumb of autonomous system design, that system parameters are self-adapted to the performance feedback of the system, a more sophisticated algorithm may be explored to auto-adjust the simulation parameters for the specified application domain.

Acknowledgments

The corresponding author would like to take this opportunity to acknowledge Xiaolong Jin, Associate, ICT, Chinese Academy of Sciences, for providing deeper insights from his book “Autonomy Oriented Computing”, which is extensively referred to in this study. The author would also like to acknowledge D.M. Gordon, Department of Biology, Stanford University, for her valued support in providing an understanding of evolutionary processes in complex systems.

Author Contributions

All authors contributed equally to the paper. All authors have read the final manuscript and approved it.

A. Appendix

A.1. Model Functioning Guidelines

Entities and State Variables

The description of the entities and variables of the model developed in this study is provided in Table 6.
Table 6. Entities and variables in the model developed.
Table 6. Entities and variables in the model developed.
EntitiesVariables/CharacteristicsDescription
Mobile Nodesp-xx coordinate of the mobile node.
p-yy coordinate of the mobile node.
sensors-in-rangeAll sensors within its specified range.
tracking-nodes-countCurrent node numbers of the sensor nodes tracking it.
Sensor Nodesp-xx coordinate of the sensor node.
p-yy coordinate of the sensor node.
mobiles-in-rangeAll mobiles within its specified range.
Networknum-sensorsNumber of sensor nodes in the simulated wireless network.
num-mobilesNumber of mobile nodes in the simulated wireless network.
transmission-rangeThe transmission for the communication of nodes in the network.
k-communicating-sensorsNumber of sensor nodes required to track a mobile node within its range.
ERE Algorithmprobability-randomThe probability of a random move.
number-of-better-movesThe number of better-moves before a least move.
overall-constraintsThe number unsatisfied at the present state of the algorithm running.

Initialization

The user determines the number of mobile and sensor nodes of the network to be created along with the transmission range of the network. The locations of the sensors and the mobile node are randomly initialized at the start using a pseudo-random generator. The ERE algorithm is initialized using the procedure “initialize”, which simulates the autonomous system in accordance with its redefined parameters. Then, the ERE algorithm is executed by the procedure “step” to solve the DSCP. The algorithm parameters either may be determined by the user or through the use of the genetic algorithm using R.

Sub-Models

The sub-model “network” is used to generate a view of the initialized wireless sensor tracking system depicting the sensor and mobile nodes with their locations in the coordinate system.
The sub-model “random-move”, ”least-move” and “better-move” simulate the primitive behaviors random move, least move and better move, respectively, followed by the ERE algorithm entities. The sub-model “f2bl” calls the procedure “better-move” and “least-move” in accordance with the value of the variable number-of-better-moves.
The sub-model “calculate-overall” computes the overall unsatisfied constraints at the present state of the ERE run. The sub-models “evaluate-k-constraints” and “evaluate-range-constraints” evaluate the presently unassigned mobile nodes with exactly k sensors and the number of assignments between sensor nodes to mobile nodes that do not satisfy the range constraint, respectively. The sub-model “environment-evaluation” computes the violation value of an entity with respect to its current position.

Process Overview and Scheduling

When the model starts, the wireless sensor tracking system is created with the characteristics mentioned in the section on entities and state variables. The autonomous system using ERE algorithm is initialized with its inherent parameters using the sub-model “initialize”. Hereby, the sensor and mobiles are placed in the environment along rows and columns. The following steps are executed, in this order, once per time step:
With the execution of the “step” sub-model, at each time step, all sensors decide their respective movements, that is which mobile node they wish to track. This is accomplished in accordance with the three primitive behaviors, namely least move, better move and random move, mentioned before. The chance of each being followed by a sensor depends on the variables, probability-random and number-of-better-moves.
  • As the sub-model executes, the sensor nodes consequently determine the mobile node to track with the system, checking whether or not all sensors are at zero positions after all sensors are allowed to move.
  • The execution will terminate when a solution with no unsatisfied constraints is obtained. Otherwise, the sub-model will continue to dispatch sensors to move, updating the intermediate solution thus found.
  • The plot for the variation of unsatisfied constraints presently is updated after each time step, while the execution of “step” is underway.

How to Use This Model

  • Press “setup” to create the wireless sensor tracking system, thereby assigning each sensor and mobile node a randomly-generated position in accordance with the given network parameters.
  • Press “initialize” to simulate the ERE environment, with sensor and mobile nodes placed along the rows, while mobiles are along the columns in the autonomous system.
  • Press “step” to the start the ERE algorithm to solve the given distributed CSP for the wireless network.
  • Press “network” to view the wireless tracking system with the sensor and mobile nodes at their specified positions.
  • The num-sensors slider specifies the number of sensor nodes in the wireless sensor tracking system.
  • The num-mobiles slider decides how many mobiles nodes will be present in the simulated network.
  • The transmission-range slider is used to specify the transmission range for the communication of nodes in the network.
  • The k-communicating-sensors slider represents exactly the number of sensor nodes each mobile must be tracked by within its range.
  • The probability-random specifies the probability of random move in the ERE algorithm. It may be determined by the user or by using the genetic algorithm with the help of R.
  • The number-of-better-moves denotes the number of better moves performed by an entity before a least move. This can be also computed optimally for the given network by using the genetic algorithm.

Conflicts of Interest

The authors declare no conflict of interests.

References

  1. Ferber, J. Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence; Addison-Wesley Reading: Boston, MA, USA, 1999; Volume 1. [Google Scholar]
  2. Yokoo, M. Asynchronous weak-commitment search for solving distributed constraint satisfaction problems. In Principles and Practice of Constraint Programming: CP’95; Springer: Berlin, Germany, 1995; pp. 88–102. [Google Scholar]
  3. Yokoo, M.; Durfee, E.H.; Ishida, T.; Kuwabara, K. The distributed constraint satisfaction problem: Formalization and algorithms. IEEE Trans. Knowl. Data Eng. 1998, 10, 673–685. [Google Scholar] [CrossRef]
  4. Yokoo, M.; Hirayama, K. Algorithms for distributed constraint satisfaction: A review. Auton. Agents Multi-Agent Syst. 2000, 3, 185–207. [Google Scholar] [CrossRef]
  5. Silaghi, M.C.; Sam-Haroud, D.; Faltings, B. ABT with asynchronous reordering. In Proc. Of Intelligent Agent Technology (IAT); World Scientific Publishing: Singapore, 2001; pp. 54–63. [Google Scholar]
  6. Silaghi, M.C.; Sam-Haroud, D.; FALTINGS, B. Asynchronous consistency maintenance. In Proceedings of the International Conference on Intelligent Agent Technology, Maebashi TERRSA, Maebashi City, Japan, 23–26 October 2001; pp. 98–102.
  7. Silaghi, M.C.; Sam-haroud, D.; Faltings, B. Secure asynchronous search. In Proceedings of the International Conference on Intelligent Agent Technology (IAT’01), Maebashi TERRSA, Maebashi City, Japan, 23–26 October 2001; pp. 400–404.
  8. Ruttkay, Z. Constraint satisfaction-a survey. CWI Q. 1998, 11, 163–214. [Google Scholar]
  9. Yokoo, M.; Ishida, T.; Durfee, E.H.; Kuwabara, K. Distributed constraint satisfaction for formalizing distributed problem solving. In Proceedings of the IEEE 12th International Conference on Distributed Computing Systems, Yokohama, Japan, 9–12 June 1992; pp. 614–621.
  10. Liu, J.; Jin, X.; Tsui, K.C. Autonomy Oriented Computing: From Problem Solving to Complex Systems Modeling; Springer: New York, NY, USA, 2005. [Google Scholar]
  11. Fernàndez, C.; Béjar, R.; Krishnamachari, B.; Gomes, C. Communication and computation in distributed CSP algorithms. In Principles and Practice of Constraint Programming-CP 2002; Springer: Berlin, Germany, 2002; pp. 664–679. [Google Scholar]
  12. Zhao, C.; Zhong, N.; Hao, Y. AOC-by-Self-discovery Modeling and Simulation for HIV. In Life System Modeling and Simulation; Springer: Berlin, Germany, 2007; pp. 462–469. [Google Scholar]
  13. Sycara, K.; Roth, S.F.; Sadeh, N.; Fox, M.S. Distributed constrained heuristic search. IEEE Trans. Syst. Man Cybern. 1991, 21, 1446–1461. [Google Scholar] [CrossRef]
  14. Mason, C.L.; Johnson, R.R. DATMS: A framework for distributed assumption based reasoning. In Distributed Artificial Intelligence; Morgan Kaufmann Publishers Inc.: Burlington, MA, USA, 1989; Volume 2, pp. 293–317. [Google Scholar]
  15. Doyle, J. A truth maintenance system. Artif. Intell. 1979, 12, 231–272. [Google Scholar] [CrossRef]
  16. Huhns, M.N.; Bridgeland, D.M. Multiagent truth maintenance. IEEE Trans. Syst. Man Cybern. 1991, 21, 1437–1445. [Google Scholar] [CrossRef]
  17. Conry, S.E.; Kuwabara, K.; Lesser, V.R.; Meyer, R.A. Multistage negotiation for distributed constraint satisfaction. IEEE Trans. Syst. Man Cybern. 1991, 21, 1462–1477. [Google Scholar] [CrossRef]
  18. Bond, A.H.; Gasser, L. An analysis of problems and research in DAI. In Readings in DAI; Morgan Kaufmann Publishers: San Francisco, CA, USA, 1988. [Google Scholar]
  19. Russell, S.; Norvig, P.; Intelligence, A. A modern approach. In Artificial Intelligence; Prentice-Hall: Egnlewood Cliffs, NJ, USA, 1995; Volume 25. [Google Scholar]
  20. Mackworth, A.K.; Freuder, E.C. The complexity of some polynomial network consistency algorithms for constraint satisfaction problems. Artif. Intell. 1985, 25, 65–74. [Google Scholar] [CrossRef]
  21. Kirkpatrick, D.G.; Hell, P. On the complexity of general graph factor problems. SIAM J. Comput. 1983, 12, 601–609. [Google Scholar] [CrossRef]
  22. Bejar, R.; Krishnamachari, B.; Gomes, C.; Selman, B. Distributed constraint satisfaction in a wireless sensor tracking system. In Proceedings of the Workshop on Distributed Constraint Reasoning, International Joint Conference on Artificial Intelligence, Seattle, WA, USA, 4 August 2001.
  23. Gutowitz, H. Cellular Automata: Theory and Experiment; MIT Press: Cambridge, MA, USA, 1991; Volume 45. [Google Scholar]
  24. Liu, J.; Tang, Y.Y.; Cao, Y. An evolutionary autonomous agents approach to image feature extraction. IEEE Trans. Evolut. Comput. 1997, 1, 141–158. [Google Scholar] [CrossRef]
  25. Gu, J. Efficient local search for very large-scale satisfiability problems. ACM SIGART Bull. 1992, 3, 8–12. [Google Scholar] [CrossRef]
  26. Gordon, D.M. 10 What We Don’t Know about the Evolution of Cooperation. In Cooperation and Its Evolution; MIT Press: Cambridge, MA, USA, 2013; p. 195. [Google Scholar]
  27. Belew, R.K.; McInerney, J.; Schraudolph, N.N. Evolving networks: Using the genetic algorithm with connectionist learning. In Citeseer; Addison-Wesley: Boston, MA, USA, 1990; pp. 511–547. [Google Scholar]
  28. Tisue, S.; Wilensky, U. Netlogo: A simple environment for modeling complexity. In Proceedings of the International Conference on Complex Systems, Boston, MA, USA, 16–21 May 2004; pp. 16–21.
  29. Matsumoto, M.; Nishimura, T. Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. (TOMACS) 1998, 8, 3–30. [Google Scholar] [CrossRef]
  30. Scrucca, L. GA: A package for genetic algorithms in R. J. Stat. Softw. 2012, 53, 1–37. [Google Scholar]
  31. Statistical Package, R. R: A language and environment for statistical computing. R Foundation for Statistical Computing: Vienna, Austria, 2009. [Google Scholar]

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.