Title: | CPU平行粒子群最佳化應用於平面桁架結構最佳化設計 Application of Particle Swarm Optimization using CPU Parallel Processing in Optimization Design of 2D Truss Structures |
Authors: | 洪銘澤 Hung, Ming-Tse 洪士林 Hung, Shih-Lin 土木工程系所 |
Keywords: | OpenMP;平行運算;粒子群最佳化;平面桁架結構最佳化設計;OpenMP;parallel computing;Particle swarm optimization;2D truss optimization |
Issue Date: | 2012 |
Abstract: | 電腦硬體不斷進步,電腦從以前單核心到現在多核心處理器。核心時脈上升幅度逐漸趨緩,因此使用平行運算才能妥善利用多核心處理器。粒子群最佳化(Particle Swarm Optimization, PSO)是一個在最佳化中最常被使用的方法之一。它是模擬群體智慧(Swarm Intelligent)的仿生演算法,先以全域搜尋方式在搜尋範圍中蒐集資訊,搜尋結果較好的粒子趨使其他的粒子靠近轉為局部搜尋,最後收斂到粒子群經驗中最佳解。由於平行程式適合資料分別獨立運算,盡可能避免執行緒同步才能有更好的效能。本研究先利用『OpenMP』平行運算矩陣乘法(Matrix Multiplication)。測試矩陣大小與平行化效能的關係。利用粒子群最佳化演算法,粒子分別獨立搜尋個體的特性平行運算,再分別用【30個變數平方和】、【Beale’s Function】、和【桁架最佳化設計】測試平行運算粒子群最佳化的效能和粒子總數的關係和效能和迭代次數的關係,最後附上最佳化結果。本研究結果指出,粒子群最佳化當迭代次數和總粒子數量夠多時。兩種演算法效能都可以達到加速比3以上的效果。此平行運算粒子群最佳化演算法可應用於其他最佳化案例只需更改目標函數。 Advances in computer hardware, computers has been progressed from single-core to multi-core processors. This progress in computers provides a possibility of development in parallel computing. OpenMP, currently, is a popular API for implement parallel programs on PCs with C, C++, or FORTRAN. Among bionic optimization algorithms, particle swarm optimization (PSO) is a most employed approach for solving optimization problem due to the characteristics of less working parameters and quick convergence rate. The algorithm has been proved capable of reach near global optimization in search space using particle itself and swarm experience in search. Since computing for each single particle is independent in searching iteration, the PSO algorithm can be paralleled in a multi-core computing platform. The objective of this study is to develop a parallel PSO algorithm in optimization design of 2D truss structures. First, the problem of synchronization in shared memory platform for the algorithm is studied and solved. Following, a parallel matrix multiplication program with different size is developed and the computing performance related to matrix size is then assessed. Second, a parallel PSO program with OpenMP is implemented. A Sphere function with 30 dimensions and a Beale's function are utilized to verify and evaluate the correctness and the corresponding performance. Finally, three 2D truss optimization design problems are solved using the proposed parallel PSO program. Computing results reveal that the parallel program achieves a speedup factor greater than 3.42 under a four-core computing platform with OpenMP. |
URI: | http://140.113.39.130/cdrfb3/record/nctu/#GT070051286 http://hdl.handle.net/11536/72500 |
Appears in Collections: | Thesis |
Files in This Item:
If it is a zip file, please download the file and unzip it, then open index.html in a browser to view the full text content.