A population-based fast algorithm for a billion-dimensional resource allocation problem with integer variables

Among various complexities affecting the performance of an optimization algorithm, the search space dimension is a major factor. Another key complexity is the discreteness of the search space. When these two complexities are present in a single problem, optimization algorithms have been demonstrated to be inefficient, even in linear programming (LP) problems. In this paper, we consider a specific resource allocation problem constituting to an integer linear programming (ILP) problem which, although comes from a specific industry, is similar to other practical resource allocation and assignment problems. Based on a population based optimization approach, we present a computationally fast method to arrive at a near-optimal solution. Compared to two popular softwares (glpk,Makhorin, 2012 and CPLEX,Gay, 2015), which are not able to handle around 300 and 2000 integer variables while continuing to run for hours, respectively, 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 to propose a customized population based optimization algorithm that scales in almost a linear computational complexity in handling 50,000 to one billion (109) variables. We believe that this is the first time such a large-sized real-world constrained problem is ever handled using any optimization algorithm. We perform sensitivity studies of our method for different problem parameters and these studies clearly demonstrate the reasons for such a fast and scale-up application of the proposed method.

[1]  Zhenghong Gao,et al.  Research on multi-fidelity aerodynamic optimization methods , 2013 .

[2]  Min Kong,et al.  Apply the Particle Swarm Optimization to the Multidimensional Knapsack Problem , 2006, ICAISC.

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

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

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

[6]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[7]  Narendra Karmarkar,et al.  A new polynomial-time algorithm for linear programming , 1984, STOC '84.

[8]  Mustafa Akgül,et al.  The Linear Assignment Problem , 1992 .

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

[10]  Java Binding,et al.  GNU Linear Programming Kit , 2011 .

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

[12]  Xiaodong Li,et al.  Cooperative Co-Evolution With Differential Grouping for Large Scale Optimization , 2014, IEEE Transactions on Evolutionary Computation.

[13]  James R. Evans,et al.  Heuristic “Optimization”: Why, When, and How to Use It , 1981 .

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

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

[16]  Loo Hay Lee,et al.  Efficient multi-fidelity simulation optimization , 2014, Proceedings of the Winter Simulation Conference 2014.

[17]  Jun Zhang,et al.  A Novel Set-Based Particle Swarm Optimization Method for Discrete Optimization Problems , 2010, IEEE Transactions on Evolutionary Computation.

[18]  Hongfeng Xiao,et al.  On Large Scale Evolutionary Optimization Using Simplex-Based Cooperative Coevolution Genetic Algorithm , 2009, 2009 International Conference on Computational Intelligence and Software Engineering.

[19]  Saman Aminbakhsh,et al.  Discrete particle swarm optimization method for the large-scale discrete time-cost trade-off problem , 2016, Expert Syst. Appl..

[20]  Xiaodong Li,et al.  Cooperatively Coevolving Particle Swarms for Large Scale Optimization , 2012, IEEE Transactions on Evolutionary Computation.

[21]  Patrick R. Palmer,et al.  Multi-fidelity simulation modelling in optimization of a submarine propulsion system , 2010, 2010 IEEE Vehicle Power and Propulsion Conference.

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

[23]  Vipin Kumar,et al.  General Branch and Bound, and its Relation to A and AO , 1984, Artif. Intell..

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

[25]  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.

[26]  Chen Lu,et al.  Improved decomposition-coordination and discrete differential dynamic programming for optimization of large-scale hydropower system , 2014 .

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

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

[29]  Xin Yao,et al.  Large scale evolutionary optimization using cooperative coevolution , 2008, Inf. Sci..

[30]  Zbigniew Michalewicz,et al.  Heuristic methods for evolutionary computation techniques , 1996, J. Heuristics.

[31]  A. Ravindran,et al.  Engineering Optimization: Methods and Applications , 2006 .

[32]  A. Land,et al.  An Automatic Method for Solving Discrete Programming Problems , 1960, 50 Years of Integer Programming.

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

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

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