跳到主要內容

簡易檢索 / 詳目顯示

研究生: 李俊賢
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.

    中文摘要 i Abstract ii 誌謝 iii 目錄 iv 圖目錄 vii 表目錄 viii 第1章 緒論 1 1.1 研究背景與動機 1 1.2 研究目的與方法 2 1.3 論文章節安排 2 第2章 背景知識和相關研究 4 2.1 量子退火與 QUBO 問題 4 2.1.1 量子退火 4 2.1.2 QUBO問題架構與數學定義 4 2.1.3 量子退火基本原理 5 2.1.4 量子退火與 QUBO 的關係 5 2.2 量子啟發退火演算法 6 2.2.1 量子啟發演算法 6 2.2.2 模擬退火(Simulated Annealing, SA) 6 2.2.3 數位退火(Digital Annealing, DA) 6 2.2.4 GPU退火器(GPU Annealer, GPUA) 7 2.3 DABS 7 2.3.1 DABS 概述與理論背景 8 2.3.2 多樣化解池 9 2.3.3 Local Search Algorithm (LSA) 10 2.3.4 Genetic Algorithm Operation (GAO) 14 2.3.5 批次搜尋機制及平行化策略 16 2.4 GPU 架構與 CUDA 介紹 19 2.4.1 GPU 與 CPU 架構差異概述 19 2.4.2 GPU 硬體架構 20 2.4.3 CUDA 編程模型概論 20 2.4.4 CUDA 執行模型 21 2.4.5 CUDA 記憶體類型 22 2.4.6 核心函數與執行流程 24 2.4.7 執行緒同步、原子操作與限制 25 2.4.8 CUDA 效能優化技巧 26 2.4.9 CUDA 在組合優化中的應用案例 27 2.4.10 GPU VS CPU Memory 27 2.5 Gurobi 最佳化求解器介紹 28 2.5.1 架構與運作機制 28 2.5.2 功能與用途 28 2.5.3 特點與優勢 29 2.5.4 歷史背景 29 2.5.5 應用領域 29 第3章 系統設計與實作 31 3.1 DABS模型的實作架構 31 3.1.1 資料前處理 31 3.1.2 整體架構與模組分工 32 3.1.3 記憶體設計 33 3.1.4 參數實作細節 34 3.1.5 調適挑戰與解法 34 3.1.6 輸入輸出格式 35 3.2 CPU & GPU版本實作 35 3.2.1 GAO實作 35 3.2.2 CUDA 平行策略 37 3.3 多區塊平行化 37 第4章 實驗設計與評估方法 39 4.1 實驗平台與硬體規格 39 4.2 實驗測試資料集 39 4.3 實驗評估指標 41 第5章 實驗結果與分析 43 5.1 GUROBI 效能分析 43 5.2 GPU模型TTS分析及平行化效能分析 43 5.3 CPU與GPU模型效能比較 44 第6章 結論與未來展望 49 6.1研究結果總結 49 6.2可改進方向 49 6.3可延伸之應用 50 參考文獻 51

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

    QR CODE
    :::