| 研究生: |
李俊賢 JYUN-SIAN LI |
|---|---|
| 論文名稱: |
基於GPU的量子啟發式QUBO問題求解器之實作與效能評估 GPU-Based Implementation and Performance Evaluation of a Quantum-Inspired Solver for QUBO Problems |
| 指導教授: | 江振瑞 |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 資訊工程學系 Department of Computer Science & Information Engineering |
| 論文出版年: | 2025 |
| 畢業學年度: | 113 |
| 語文別: | 中文 |
| 論文頁數: | 66 |
| 中文關鍵詞: | 多樣自適大規模搜尋 、統一計算設備架構 、二次無約束二元最佳化 、組合最佳化 、圖形加速器 、量子啟發演算法 |
| 外文關鍵詞: | Diverse Adaptive Bulk Search, Compute Unified Device Architecture, Quadratic Unconstrained Binary Optimization, Combinatorial Optimization, Graphics Processing Unit, Quantum-Inspired Algorithm |
| 相關次數: | 點閱:67 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本研究目的在針對一個稱為「多樣自適大規模搜尋(Diverse Adaptive Bulk Search, DABS)」的「二次無約束二元最佳化(Quadratic Unconstrained Binary Optimization, QUBO)」問題求解器進行以GPU之「統一計算設備架構(Compute Unified Device Architecture, CUDA)」為基礎的實作及效能評估,也就是比較DBAS在 CPU 與 GPU 上實作並執行的效能差異。DABS 為一種受量子退火(quantum annealing)概念影響的量子啟發(quantum-inspired)演算法框架,結合多樣化解池、多策略探索與批次更新機制,具備強大的全域搜尋能力與平行化潛力,適合用於解決困難的組合最佳化(combinatorial optimization)問題。為發揮 DABS 在平行運算上的優勢,本研究採用 CUDA 技術實現多區塊(block)的並行結構,並依據DABS所設計之 LSA(Local Search Algorithm)與 GAO(Genetic Algorithm Operation)兩種探索策略進行解空間的多樣化導引。實驗部份以數組標準 QUBO 測試資料進行驗證,分析解題時間(Time to Solution, TTS)、加速比與解品質等指標。雖然本研究實作之 GPU 版本求解器實作在某些案例中未能完全達成 DABS原始論文中所報導之最佳解品質與執行時間,但相較於 CPU版本實作與著名的CPU版本Gurobi求解器,本研究所實作的求解器能在大多數測試案例中產生更佳的解,並顯著縮短求解時間,展現 GPU 在量子啟發式搜尋上的潛力與實用性,未來可應用於更大規模之組合最佳化問題求解。
This study aims to implement and evaluate the performance of a quantum-inspired solver known as Diverse Adaptive Bulk Search (DABS) for Quadratic Unconstrained Binary Optimization (QUBO) problems using GPU’s Compute Unified Device Architecture (CUDA). The main objective is to compare the performance differences of DABS when executed on CPU and GPU platforms. DABS is a quantum-inspired algorithm framework influenced by the concept of quantum annealing, which integrates a diverse solution pool, multi-strategy exploration, and batch updating mechanisms. These characteristics endow DABS with strong global search capabilities and high parallelization potential, making DABS suitable for solving intractable combinatorial optimization problems. To leverage the advantages of parallel computing, we utilized a multi-block CUDA architecture and implemented two DABS search strategies, namely the Local Search Algorithm (LSA) and the Genetic Algorithm Operation (GAO), to guide the exploration and exploitation of the solution space. A set of standard QUBO benchmark instances was used for experimental validation, focusing on metrics such as the Time to Solution (TTS), speedup ratio, and solution quality. Although the GPU implementation of DABS in this study did not fully achieve the best performance reported in the original DABS paper for certain cases, it outperformed both the CPU implementation of DABS and the well-known CPU-based Gurobi solver in most benchmark instances. It significantly reduced the TTS, demonstrating the potential and practicality of GPUs in quantum-inspired search, showing promise for solving large-scale combinatorial optimization problems in the future.
[1] Glover, F., Kochenberger, G., & Du, Y. (2018). A tutorial on formulating and using QUBO models. arXiv preprint arXiv:1811.11538.
[2] Commander, C. W. (2008). Maximum cut problem, max-cut. In Encyclopedia of Optimization (pp. 1991-1999). Springer, Boston, MA.
[3] Finke, G., Burkard, R. E., & Rendl, F. (1987). Quadratic assignment problems. In North-Holland Mathematics Studies (Vol. 132, pp. 61-82). North-Holland.
[4] Nau, C., Sankaran, P., & McConky, K. (2022). Comparison of parameter tuning strategies for team orienteering problem (TOP) solved with gurobi. In IIE annual conference. proceedings (pp. 1-6). Institute of Industrial and Systems Engineers (IISE).
[5] Kirkpatrick, S., Gelatt Jr, C. D., & Vecchi, M. P. (1983). Optimization by simulated annealing. science, 220(4598), 671-680.
[6] Rajak, A., Suzuki, S., Dutta, A., & Chakrabarti, B. K. (2023). Quantum annealing: An overview. Philosophical Transactions of the Royal Society A, 381(2241), 20210417.
[7] Aramon, M., Rosenberg, G., Valiante, E., Miyazawa, T., Tamura, H., & Katzgraber, H. G. (2019). Physics-inspired optimization for quadratic unconstrained problems using a digital annealer. Frontiers in Physics, 7, 48.
[8] Nakano, K., Takafuji, D., Ito, Y., Yazane, T., Yano, J., Ozaki, S., ... & Mori, R. (2023, May). Diverse adaptive bulk search: a framework for solving QUBO problems on multiple GPUs. In 2023 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) (pp. 314-325). IEEE.
[9] Guide, D. (2013). Cuda c programming guide. NVIDIA, July, 29(31), 6.
[10] Lucas, A. (2014). Ising formulations of many NP problems. Frontiers in physics, 2, 5.
[11] Das, A., & Chakrabarti, B. K. (Eds.). (2005). Quantum annealing and related optimization methods (Vol. 679). Springer Science & Business Media.
[12] Johnson, M. W., Amin, M. H., Gildert, S., Lanting, T., Hamze, F., Dickson, N., ... & Rose, G. (2011). Quantum annealing with manufactured spins. Nature, 473(7346), 194-198.
[13] Das, A., & Chakrabarti, B. K. (2008). Colloquium: Quantum annealing and analog quantum computation. Reviews of Modern Physics, 80(3), 1061-1081.
[14] Hauke, P., Katzgraber, H. G., Lechner, W., Nishimori, H., & Oliver, W. D. (2020). Perspectives of quantum annealing: Methods and implementations. Reports on Progress in Physics, 83(5), 054401.
[15] Morita, S., & Nishimori, H. (2008). Mathematical foundation of quantum annealing. Journal of Mathematical Physics, 49(12).
[16] D-Wave Systems Inc. (2021). Ocean SDK Documentation. https://docs.ocean.dwavesys.com
[17] OpenJij Project. (2020). Open-source framework for Ising model and QUBO. https://openjij.github.io
[18] Waidyasooriya, H. M., & Hariyama, M. (2020). A GPU-based quantum annealing simulator for fully-connected Ising models utilizing spatial and temporal parallelism. IEEE Access, 8, 67929-67939.
[19] Kalinin, K. P., & Berloff, N. G. (2018). Global optimization of spin Hamiltonians with gain-dissipative systems. Scientific reports, 8(1), 17791.
[20] Adachi, S. H., & Henderson, M. P. (2015). Application of quantum annealing to training of deep neural networks. arXiv preprint arXiv:1510.06356.
[21] Talbi, E. G. (2009). Metaheuristics: from design to implementation. John Wiley & Sons.
[22] Boros, E., & Hammer, P. L. (2002). Pseudo-boolean optimization. Discrete applied mathematics, 123(1-3), 155-225.
[23] Hoos, H. H., & Stϋtzle, T. (2018). Stochastic local search. In Handbook of approximation algorithms and metaheuristics (pp. 297-307). Chapman and Hall/CRC.
[24] Rooker, T. (1991). Review of genetic algorithms in search, optimization, and machine learning. AI Magazine, 12(1), 102-102.
[25] Rønnow, T. F., Wang, Z., Job, J., Boixo, S., Isakov, S. V., Wecker, D., ... & Troyer, M. (2014). Defining and detecting quantum speedup. science, 345(6195), 420-424.
[26] Owens, J. D., Houston, M., Luebke, D., Green, S., Stone, J. E., & Phillips, J. C. (2008). GPU computing. Proceedings of the IEEE, 96(5), 879-899.
[27] Mittal, S., & Vetter, J. S. (2014). A survey of methods for analyzing and improving GPU energy efficiency. ACM Computing Surveys (CSUR), 47(2), 1-23.
[28] Kirk, D. B., & Wen-Mei, W. H. (2016). Programming massively parallel processors: a hands-on approach. Morgan kaufmann.
[29] Brodtkorb, A. R., Hagen, T. R., & Sætra, M. L. (2013). Graphics processing unit (GPU) programming strategies and trends in GPU computing. Journal of Parallel and Distributed Computing, 73(1), 4-13.
[30] Hennessy, J. L., & Patterson, D. A. (2011). Computer architecture: a quantitative approach. Elsevier.
[31] Nickolls, J., Buck, I., Garland, M., & Skadron, K. (2008). Scalable parallel programming with cuda: Is cuda the parallel programming model that application developers have been waiting for?. Queue, 6(2), 40-53.
[32] Cheng, J. R., & Gen, M. (2019). Accelerating genetic algorithms with GPU computing: A selective overview. Computers & Industrial Engineering, 128, 514-525.
[33] Choquette, J., Gandhi, W., Giroux, O., Stam, N., & Krashinsky, R. (2021). Nvidia a100 tensor core gpu: Performance and innovation. IEEE Micro, 41(2), 29-35.
[34] Sanders, J., & Kandrot, E. (2010). CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley Professional.
[35] Cook, S. (2012). CUDA programming: a developer's guide to parallel computing with GPUs. Newnes.
[36] Mittal, S. (2016). A survey of techniques for architecting and managing GPU register file. IEEE Transactions on Parallel and Distributed Systems, 28(1), 16-28.
[37] Farber, R. (2011). CUDA application design and development. Elsevier.
[38] Lubin, M., & Dunning, I. (2015). Computing in operations research using Julia. INFORMS Journal on Computing, 27(2), 238-248.
[39] Wolsey, L. A. (2020). Integer programming. John Wiley & Sons.
[40] Bertsimas, D., & Stellato, B. (2022). Online mixed-integer optimization in milliseconds. INFORMS Journal on Computing, 34(4), 2229-2248.
[41] LeFlohic, J. (n.d.). Genetic algorithms tutorial. Retrieved July 14, 2025, from http://www-cs-students.stanford.edu/~jl/Essays/ga.html
[42] Glover, F., & Laguna, M. (2013). Tabu search∗. In Handbook of combinatorial optimization (pp. 3261-3362). Springer, New York, NY.