MPIを用いた並列処理 ~GAによるTSPの解法~

Slides:



Advertisements
Similar presentations
多目的GAに対する パレート最適個体の分布制御 九州大学大学院工学府知能機械システム専攻徳井 宏司.
Advertisements

情報基盤アルゴリズムとして のメタヒューリスティクスの 研究 茨木俊秀、巳波弘佳、藤原洋志、 千葉英史、関口良行(関西学院大 学)、 藤重悟(京都大学)、 柳浦睦憲(名古屋大学)、 野々部宏司(法政大学)、 梅谷俊治(電気通信大学)
ACM/ICPC と アルゴリズム 「実践的プログラミング」 稲葉 一浩. 自己紹介 ﻪ 理Ⅰ → 理学部情報科学科 → 情報理工学系研究科コンピュータ科学専攻 ﻩ 博士課程1年 ﻩXML を扱う専用言語の研究など ﻪ 個人的には ﻩ ﻯD.
シミュレーション論Ⅰ 第 12 回 様々なシミュレーション手法. 第11回のレポート回答例 (例) 講義に出席するかどうかのシミュレーション ・セルオートマトン法を用いて、ある講義の出席人数をシ ミュレーションする ・各セルを受講者とし、隣接するセルを各自の友人と考え、 「自分の友人のうち半数がサボったら自分も講義を休む」
並列分散遺伝的アルゴリズムの有効 性 学績番号 畠中 一幸 知的システムデザイン研究室 Intelligent Systems Design Laboratory.
三木 光範 (同志社大学工学部) 廣安 知之 (同志社大学工学部) 花田 良子 (同志社大学工学部学部 生) 水田 伯典 (同志社大学大学院) ジョブショップスケジューリング問 題への 分散遺伝的アルゴリズムの適用 Distributed Genetic Algorithm for Job-shop.
 C 川船 美帆.  強い人工知能の作成 o 「遺伝的アルゴリズム」  「どうぶつしょうぎ」のアプリケーショ ン作成 o スマートフォン向けアプリケーション.
福岡工業大学 情報工学部 情報工学科 種田研究室 情報工学科 種田研究室 樽美 澄香 [C8] 対話型遺伝的アルゴリズム( IGA )による 色弱者向けの Web ページ配色最適化システム 2009 年 2 月 20 日.
世帯マイクロデータの適合度評価における 重みの決定手法
遺伝的アルゴリズムにおける ランドスケープによる問題のクラス分類
リフレッシュ型分散遺伝的アルゴリズムの 組み合わせ最適化問題への適用
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
最適化アルゴリズムの動向 ーメタヒューリスティックスを中心としてー (基礎編)
工学部 知能情報工学科 准教授 高 尚策 (コウ ショウサク)
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
シミュレーション論Ⅰ 第13回 意思決定とシミュレーション.
遺伝的アルゴリズム  新川 大貴.
対話型遺伝的アルゴリズムを用いた室内レイアウトシステムの開発
On the Enumeration of Colored Trees
遺伝的アルゴリズム概説 An Outline of Parallel Distributed Genetic Algorithms
PCクラスタにおける2個体分散遺伝的アルゴリズムの高速化
第2回 内容 ハノイの塔―無向グラフと有向グラフ 教科書の 1.3 節 pp.7-12 参照
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
分散遺伝的アルゴリズムによる各種クラスタのベンチマーク
情報工学科 05A2301 樽美 澄香 (Tarumi Sumika)
マイクロシミュレーションにおける 可変属性セル問題と解法
情報工学科 05A2301 樽美 澄香 (Tarumi Sumika)
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
集団的意思決定支援法の実験環境に関する研究
早わかりアントコロニー最適化 (ACO: Ant Colony Optimization)
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
大阪市立大学 学術情報総合センター 大西克実
遺伝的アルゴリズムへの 統計力学的アプローチ 大阪大学 大学院理学研究科 鈴木譲 CISJ2005 於早稲田大学理工学部
決定木とランダムフォレスト 和田 俊和.
蛋白質立体構造の進化的解析のための Ninf版並列MGGとその性能評価
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
巡回セールスマン問題への招待 東京商船大学 久保 幹雄.
モデルの逆解析 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
第3回 アルゴリズムと計算量 2019/2/24.
シミュレーション学講義 第**回 スケジューリング問題とJSSP.
遺伝的アルゴリズムを用いた 構造物の最適形状探索の プログラムの作成
Introduction to Soft Computing (第11回目)
進化的計算手法の並列計算機への実装 三木 光範
早わかりアントコロニー最適化 (Ant Colony Optimization)
25. Randomized Algorithms
遺伝的交叉を用いた 並列シミュレーテッドアニーリング 同志社大学工学部/大学院 廣安知之,三木光範,○小掠真貴
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
所属集団の変更できる社会的ジレンマ実験について2
移動図書館問題 移動施設のサービス停留点を最適配置する問題
Genetic Algorithm-based Partial Least Squares GAPLS Genetic Algorithm-based Support Vector Regression GASVR 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
量子コンピュータ 株式会社アプライド・マーケティング 大越 章司
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
コスト最小となる最適流通経路に関する研究 ~コンビニ業界を対象として~
Data Clustering: A Review
配送計画最適化システム WebMETROのご紹介
Data Clustering: A Review
遺伝アルゴリズムによる NQueen解法 ~問題特性に着目した突然変異方法の改善~
遺伝的アルゴリズム (GA) を活用した スペクトルの波長選択および時系列 データにおけるプロセス変数かつその時間 遅れ (ダイナミクス) の選択 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
環境分散遺伝的アルゴリズムの 多目的最適化問題への適用
表紙 分散遺伝的アルゴリズムのための 新しい交叉法.
シミュレーテッドアニーリングにおける 重要温度領域に関する考察
情報工学科 05A2301 樽美 澄香 (Tarumi Sumika)
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
分散遺伝的アルゴリズムにおけるパラメータの検討
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
各種荷重を受ける 中空押出形成材の構造最適化
遺伝的交叉を用いた 並列シミュレーテッドアニーリングの検討 小掠 真貴 廣安 知之 三木 光範 角 美智子 岡本 祐幸 同志社大学大学院
Presentation transcript:

MPIを用いた並列処理 ~GAによるTSPの解法~ 平成18年6月22日(木) B5 小池和洋

巡回セールスマン問題(TSP)とは Traveling Salesman Problem 多くの都市と各都市間の移動コストが与えられたとき、全ての都市を一度だけ回って戻ってくるルートのうち、コスト最小のものを求める問題。 都市が増えるほど、コスト最小のものを求めるのが困難になる。

遺伝的アルゴリズム(GA)とは Genetic Algorithm 近似解を探索するアルゴリズムの一つ。 データ(解の候補)を遺伝子で表現し、    選択(淘汰)・交叉・突然変異などの操作を繰り返しながら解を探索する。

GAによるTSPの解法 大まかな流れ マップの読み込み 初期集団の生成 交叉 (突然変異) 選択(淘汰)

選択(淘汰) 選択の方法 ルーレット選択 ランキング選択 トーナメント選択 etc. 今回はトーナメント選択を使用

トーナメント選択 結果のいい遺伝子を残す

交叉 交叉の方法 循環交叉 部分的交叉 順序交叉 etc. 今回は部分的交叉を使用

部分的交叉 2 3 4 1 4 3 6 5 4 3 2 5 3 4 1 6 切れ目を右に1つずらし、同様の作業を行う 親1 4 3 2 5 3 4 1 6 親2 切れ目を右に1つずらし、同様の作業を行う 交叉するペアをランダムに選び出す 切れ目の右側の数字を確認 ランダムに切れ目を選択 対応する数字を入れ換える (一度入れ換えた数字にはフラグを立て、それ以降動かないようにする)

突然変異 突然変異の種類 逆位 スクランブル 位置移動 etc. 今回は位置移動を使用

位置移動 2 4 13 6 5 二番目の値を一番目の値の前に移動 二つの値をランダムに選択

MPIへの実装 大まかな流れ (移住) rank=0 マップの読み込み マップの読み込み rank!=0 初期集団の生成 ・配布 MPI_Send() 初期集団の生成 ・配布 初期集団の受け取り MPI_Recv() 交叉 交叉 (移住) (突然変異) (移住) (突然変異) MPI_Send() MPI_Recv() 選択(淘汰) 選択(淘汰)

移住 ランダムに選んだ遺伝子を他の端末へ送信する。 bi-Directional Ring

計算に用いたパラメータ マップ :30x30 都市数 :50都市 遺伝子数:200 世代数 :100,000世代 都市数 :50都市 遺伝子数:200 世代数 :100,000世代 移住間隔:1,000世代ごと 移住数 :10遺伝子(5%) 端末数 :1台、2台、4台、8台、16台

マップ コスト1

台数効果の検証方法 より最適解に近い経路を見つけ出すことができるか 収束の早さ プログラムの実行時間はどれぐらい長くなるのか

より最適に近い経路を探せたか 各並列数で20回ずつ実行させ、最も良かった結果をグラフで比較 並列台数が多いほど 良い結果を得られた!

経路 1台(236) 2台(227) クロスしている箇所が少ないほど 最適解に近づいている 4台(219) 8台(206)

台数効果の検証方法 より最適解に近い経路を見つけ出すことができるか 収束の早さ プログラムの実行時間はどれぐらい長くなるのか

収束の早さ 収束する位置を見極めるため、世代数を200,000にして実行 並列台数が多いほど 収束が早まる!

台数効果の検証方法 より最適解に近い経路を見つけ出すことができるか 収束の早さ プログラムの実行時間はどれぐらい長くなるのか

プログラムの実行時間 並列する台数とプログラム実行時間の間には 依存関係がないように見える 台数 timeコマンドにより計測した時間 1 00:53.0 00:55.4 00:55.0 00:50.7 2 00:42.1 00:41.1 00:41.7 00:42.2 4 00:40.6 00:42.9 00:39.8 00:43.1 8 00:58.4 00:43.4 00:40.8 16 00:46.7 00:39.9 00:39.7 00:45.0 並列する台数とプログラム実行時間の間には 依存関係がないように見える なぜか1台の時が最も時間がかかった

おまけ 世代ごとの平均をとったグラフ

まとめ 並列計算をする端末数を増やすと、より最適解に近い経路を出す可能性が高まる 経路のクロスが少ないほうが最適解に近づく 増やせば確実にいい経路が出るとは限らない 少ない端末数でいい経路が出ることもある 経路のクロスが少ないほうが最適解に近づく 今回はクロスがない経路を求めることができなかった 経路がクロスしているかどうかは、プログラムのほうで判断できない