Breaking the Billion-Variable Barrier in Real-World Optimization Using a Customized Evolutionary Algorithm

Despite three decades of intense studies of evolutionary computation (EC), researchers outside the EC community still have a general impression that EC methods are expensive and are not efficient in solving large-scale problems. In this paper, we consider a specific integer linear programming (ILP) problem which, although comes from a specific industry, is similar to many other practical resource allocation and assignment problems. Based on a population based evolutionary optimization framework, we develop a computationally fast method to arrive at a near-optimal solution repeatedly. Two popular softwares (glpk and CPLEX) are not able to handle around 300 and 2,000 integer variable version of the problem, respectively, even after running for several hours. Our proposed method is able to find a near-optimal solution in less than second on the same computer. Moreover, the main highlight of this study is that our method scales in a sub-quadratic computational complexity in handling 50,000 to one billion variables. We believe that this is the first time such a large-sized real-world constrained problem has ever been handled using any optimization algorithm. The study clearly demonstrates the reasons for such a fast and scale-up application of the proposed method. The work should remain as a successful case study of EC methods for years to come.

[1]  K. Deb,et al.  Optimal Scheduling of Casting Sequence Using Genetic Algorithms , 2003 .

[2]  K. Deb An Efficient Constraint Handling Method for Genetic Algorithms , 2000 .

[3]  Sanjay V. Rajopadhye,et al.  Unbounded knapsack problem: Dynamic programming revisited , 2000, Eur. J. Oper. Res..

[4]  Paolo Toth,et al.  Knapsack Problems: Algorithms and Computer Implementations , 1990 .

[5]  J. Mitchell Branch-and-Cut Algorithms for Combinatorial Optimization Problems , 1988 .

[6]  Kok Lay Teo,et al.  Optimization methods and applications , 2001 .

[7]  Kalyanmoy Deb,et al.  Understanding Interactions among Genetic Algorithm Parameters , 1998, FOGA.

[8]  Nando de Freitas,et al.  Bayesian optimization in high dimensions via random embeddings , 2013, IJCAI 2013.

[9]  Bart Selman,et al.  Taming the Curse of Dimensionality: Discrete Integration by Hashing and Optimization , 2013, ICML.

[10]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[11]  C. M. Reeves,et al.  Function minimization by conjugate gradients , 1964, Comput. J..

[12]  Kalyanmoy Deb,et al.  Optimization for Engineering Design: Algorithms and Examples , 2004 .

[13]  R Bellman,et al.  On the Theory of Dynamic Programming. , 1952, Proceedings of the National Academy of Sciences of the United States of America.

[14]  Xavier Llorà,et al.  Toward routine billion-variable optimization using genetic algorithms , 2007, Complex..

[15]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .

[16]  Hans Kellerer,et al.  Knapsack problems , 2004 .

[17]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[18]  Sergio Nesmachnow,et al.  Solving Very Large Optimization Problems (Up to One Billion Variables) with a Parallel Evolutionary Algorithm in CPU and GPU , 2012, 2012 Seventh International Conference on P2P, Parallel, Grid, Cloud and Internet Computing.