Abstract
Branch-and-bound (B&B) is a popular approach to accelerate the solution of the optimization problems, but its parallelization on graphics processing units (GPUs) is challenging because of B&B’s irregular data structures and poor computation/communication ratio. The contributions of this paper are as follows: (1) we develop two CUDA-based implementations (iterative and recursive) of B&B on systems with GPUs for a practical application scenario—optimal design of multi-product batch plants, with a particular example of a chemical-engineering system (CES); (2) we propose and implement several optimizations of our CUDA code by reducing branch divergence and by exploiting the properties of the GPU memory hierarchy; and(3) we evaluate our implementations and their optimizations on a modern GPU-based system and we report our experimental results.
Similar content being viewed by others
References
Borisenko A, Karpushkin S (2014) Hierarchy of processing equipment configuration design problems for multiproduct chemical plants. J Comput Syst Sci Int 53(3):410–419. doi:10.1134/S1064230714030046
Borisenko A, Kegel P, Gorlatch S (2011) Optimal design of multi-product batch plants using a parallel branch-and-bound method. In: Parallel computing technologies. Lecture notes in computer science, vol 6873. Springer, Berlin, pp 417–430. doi:10.1007/978-3-642-23178-0_36
Boukedjar A, Lalami ME, El Baz D (2012) Parallel branch and bound on a CPU-GPU system. In: PDP, pp 392–398. Citeseer. doi:10.1109/PDP.2012.23
Boyer V, El Baz D, Elkihel M (2012) Solving knapsack problems on GPU. Comput Oper Res 39(1):42–47. doi:10.1016/j.cor.2011.03.014
Chakroun I, Mezmaz M, Melab N, Bendjoudi A (2013) Reducing thread divergence in a gpu-accelerated branch-and-bound algorithm. Concurr Comput Pract Exper 25(8):1121–1136. doi:10.1002/cpe.2931
Fumero Y, Corsano G, Montagna JM (2013) A mixed integer linear programming model for simultaneous design and scheduling of flowshop plants. Appl Math Model 37(4):1652–1664. doi:10.1016/j.apm.2012.04.043
Han TD, Abdelrahman TS (2011) Reducing branch divergence in GPU programs. In: Proceedings of the fourth workshop on general purpose processing on graphics processing units. ACM, New York, p 3. doi:10.1145/1964179.1964184
Hoffman K, Padberg M (2001) Combinatorial and integer optimization. In: Encyclopedia of operations research and management science. Springer, US, pp 94–102. doi:10.1007/1-4020-0611-X_129
Melab N, Chakroun I, Mezmaz M, Tuyttens D (2012) A GPU-accelerated branch-and-bound algorithm for the flow-shop scheduling problem. In: 2012 IEEE international conference on cluster computing (CLUSTER), pp 10–17. IEEE, New York. doi:10.1109/CLUSTER.2012.18
Meyer X, Chopard B, Albuquerque P (2013) A branch-and-bound algorithm using multiple GPU-based LP solvers. In: 2013 20th international conference on high performance computing (HiPC). IEEE, New York, pp 129–138. doi:10.1109/HiPC.2013.6799105
Mokeddem D, Khellaf A (2009) Optimal solutions of multiproduct batch chemical process using multiobjective genetic algorithm with expert decision system. J Anal Meth Chem (2009). doi:10.1155/2009/927426
NVIDIA Corporation (2012) NVIDIA’s next generation CUDA compute architecture: Kepler GK110. http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf
NVIDIA Corporation (2014) CUDA C programming guide 6.5. http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf
Terrazas-Moreno S, Grossmann IE, Wassick JM (2012) A mixed-integer linear programming model for optimizing the scheduling and assignment of tank farm operations. Ind Eng Chem Res 51(18):6441–6454. doi:10.1021/ie202217v
Vu TT, Derbel B (2014) Parallel branch-and-bound in multi-core multi-cpu multi-gpu heterogeneous environments. https://hal.inria.fr/hal-01067662
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was partially supported by the Deutsche Forschungsgemeinschaft (DFG), Cells-in-Motion Cluster of Excellence (EXC 1003-CiM), University of Muenster, Germany. Andrey Borisenko was supported by the DAAD (German Academic Exchange Service) and by the Ministry of Education and Science of the Russian Federation under the ”Mikhail Lomonosov II”-Programme.
Rights and permissions
About this article
Cite this article
Borisenko, A., Haidl, M. & Gorlatch, S. A GPU parallelization of branch-and-bound for multiproduct batch plants optimization. J Supercomput 73, 639–651 (2017). https://doi.org/10.1007/s11227-016-1784-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-016-1784-x