Website in English

進化計算コンペティション2018
今年は月着陸ミッションの最適着陸地点の選定問題です

2018年12月8(土) 9:00-12:00 福岡県福岡市休暇村志賀島
主催:進化計算学会,宇宙航空研究開発機構

お知らせ
・制約条件の記述に間違いがありましたので修正しました.(2019/12/3)
 (誤)すべての制約条件はg(x)>=0の形で記述され,g(x)が0未満のとき制約条件を満足しないことを意味します.
 (正)すべての制約条件はg(x)>0の形で記述され,g(x)が0より大きいとき制約条件を満足することを意味します.
 制約条件の1つである連続日陰日数が整数であるため,それを正規化した制約条件も離散関数となり,連続日陰日数=0.05となる場合があることがわかったためです
・参加チームのアルゴリズムおよび結果について公開しました(2018/12/17)
・コンペティション2018が無事開催されました.みなさまありがとうございました(2018/12/8)
・単目的最適化部門の評価基準を修正しました.(2018/10/24)
・後処理用のプログラム(Rスクリプト)を公開しました.(2018/10/23)
・単目的最適化用評価モジュールにバグがありましたので評価モジュールを更新しました.ご注意ください(2018/10/12)
・進化計算シンポジウム2018コンペティションのページを開設致しました.(2018/10/1)

コンペティション開催の趣旨
今年も昨年に引き続き,進化計算シンポジウムの初日に最適化コンペティションを実施します.今年は月着陸探査ミッションの最適着陸地点の選定問題を取り上げます.この問題は設計変数の数は2つと少ないですが,非線形性が非常に強く,かつ,制約条件が厳しい問題になります.単目的設計最適化部門および多目的設計最適化部門の2部門です.ふるってご応募ください. [(参考)昨年度のコンペティションのウェブサイト]

会場とアクセス
会場とアクセスについては進化計算シンポジウム2018のページをご覧ください. 進化計算シンポジウム2018の会場にて,初日(12/8)午前中に実施します.

主なスケジュール
コンペティション内容の公表および申込み受付開始:2018年10月2日(月)
申し込み締切: 2018年11月19日(月)(締め切りの延長はありません)
データ提出締切: 2018年11月26日(月)(締め切りの延長はありません)
コンペティション開催日:2018年12月8日(土)

申し込み方法
参加費は無料です.下記をご記入の上,2018年11月19日(月)までにメールでお申し込みをお願いします.
件名:進化計算シンポジウム2018コンペティション申し込み
本文:申込者の氏名,所属,メールアドレスと単目的部門・多目的部門のいずれへの申し込みかをご記入ください.
申込者が学生の場合は指導教員の名前も記載してください.
申込先: ec2018-competition@flab.isas.jaxa.jp

データ提出方法
2018年11月26日(月) までに下記に示すデータをメールでお送りください.
件名:進化計算シンポジウム2018コンペティションデータ送付(単目的部門 or 多目的部門)
申込先: ec2018-competition@flab.isas.jaxa.jp

プログラム
9:00-9:10 開催の趣旨説明 大山聖(宇宙航空研究開発機構)
9:10-11:10 申込者からのプレゼン(1件あたり5~10分程度を予定)
11:10-11:40 結果の総括およびディスカッション
11:40-12:00 表彰

表彰
各部門(単目的最適化および多目的最適化)の優勝者は進化計算学会から表彰があります.



結果発表

単目的最適化部門には9チーム,多目的最適化部門には5チームの参加をいただきました.ありがとうございます.

【単目的最適化部門参加チーム】
余俊,李宇豪,高木英行九州大学
古川雄大,小野景子龍谷大学
開発拓也,渡邉真也室蘭工業大学
串田淳一広島市立大学
原田智広立命館大学
加藤拓也,小野功東京工業大学
Pereira Junior, JAIR,CLAUS Aranha筑波大学
岩瀬拓哉,高玉圭樹電気通信大学

【多目的最適化部門参加チーム】
深瀬貴史,橋本龍一,増山直輝,能島裕介,石渕久生大阪府立大
鎌田一樹,青木勇輔,小野功東京工業大学
宮本将英,中田涼介,渡邉真也室蘭工業大学
磯林知志,大伴周也,原田智広,ターウォンマットラック立命館大学
ユーリラヴィナス,Claus Aranha筑波大学

各参加チームが使ったアルゴリズムについて興味のある方は下記資料をご覧ください.
参加チームの最適化アルゴリズムの紹介資料
※資料の著作権は参加者の皆様が保持しておりますので,あらゆる形での2次利用は禁止といたします.

本コンペティションの優勝者は
【単目的最適化部門】加藤拓也,小野功 (東京工業大学)
通算通信時間 0.98,設計評価回数 5168
【多目的最適化部門】鎌田一樹,青木勇輔,小野功(東京工業大学)
ハイパーボリューム 0.941
でした.
おめでとうございます!

コンペティションの結果についての詳細については下記資料にまとめてありますのでご興味のある方はご覧ください.
最適化結果の紹介資料
※資料の著作権は資料制作者(大山聖(JAXA))が保持しておりますので,2次利用についてはお問い合わせください.





コンペティションの条件

(1) ベンチマーク問題:ベンチマークには「月着陸最適候補地の選定問題」を利用します.
【参考文献】月周回衛星「かぐや」のデータを用いた多目的最適化による月着陸最適候補地の選定
ただし,今回は氷の存在確率については考慮しません.
制約条件は,連続日陰日数<0.05,着陸地点傾斜角<0.3 です.
設計変数は経度と緯度で,探査範囲はそれぞれ[0,1]になります.
単目的の場合は通算通信時間の最大化問題(マイナスをかけますので最小化問題)になります.
多目的の場合は連続日陰日数の最小化,通算通信時間の最大化(マイナスをかけますので最小化),傾斜角の最小化,の3目的になります.
(2) 候補地点の評価回数の上限は30,000回とします.
(3) 初期集団は設計空間全体に乱数で発生させる,実験計画法で計画的に配置する等一般的な手法を用いてください.
(4) 基準
 ・単目的最適化部門では通算通信日数が最も大きくなったアルゴリズムを最も優れているとします.
  最終世代集団に含まれる解の最小値ではなく,最適化の過程で評価したすべての解の中で最も通算通信日数が大きな解の値とします.
  通算通信日数が同じアルゴリズムが複数ある場合は,その通算通信日数を得るために要した設計評価回数が少ない解を最も優れているとします(2018.10.24追記)
 ・多目的最適化部門ではハイパーボリューム(以下,HV)値が最も大きくなったアルゴリズムを最も優れているとします.
  HV値は最終世代集団の非劣解のHV値ではなく,最適化の過程で評価したすべての解から作る集合の非劣解のHV値とします.HV値を算出する際は参照点を(1,0,1)(←連続日陰日数,通算通信時間,傾斜角の順)として計算してください.
(5) 初期集団または最適化アルゴリズムの乱数を変えた21試行を実施し,その中央値となる通算通信日数(単目的)またはHV値(多目的)で評価をします.




評価モジュールの実行方法

※単目的最適化/多目的最適化,共に同じ実行方法となります.

1. 下記のファイルのダウンロードと解凍をお願いします.
 [moon_sop.zip] 単目的最適化用評価モジュール
 [moon_mop.tgz] 多目的最適化用評価モジュール
 [sample.zip] 計算結果例
 [DB.zip] 着陸地点データベース (約10GB)
着陸地点データベースは約10GBのサイズがあります.ダウンロードがうまくいかない場合は,下記のリンクもご利用ください.
sharepoint.com
dropbox.com
それでも難しい場合は,DB.zipの中身を3分割したものが下記からダウンロードいただけます.
DBというフォルダをつくって,その中にこれらのファイルを解凍しておいていただけば,DB.zipと同じ環境になります.
 continue_night_nml_full.zip
 slope_nml_full.zip
 total_comm_nml_full.zip

2. 配布されている評価モジュールはソースコードのみですので,実行ファイルを作成してください.
Windowsの方はVS2017でコンパイル,Linuxの方はmakeコマンドでコンパイルをお願いします.
Macは未確認ですが動くのではないかと思います.

3. DBフォルダと実行ファイルを同じフォルダに配置し,
./moon_sop (pop_vars_eval.txtのあるパス)
または
./moon_mop (pop_vars_eval.txtのあるパス)
で実行することができます.

4. 正常終了すると,pop_objs_eval.txtとpop_cons_eval.txtが生成されます.

pop_vars_eval.txt
評価モジュールが読み込む探索点データセット.1行1個体であり,タブで区切られた各列がそれぞれ設計変数を示します.
1列目がd1=経度,2列目がd2=緯度です.いずれも[0,1]で正規化しています.

pop_objs_eval.txt
評価モジュールが生成する目的関数のデータセット.1行1個体を示し,タブで区切られた各列がそれぞれ目的関数を示します.
 各列は左から
 【単目的最適化】f1 = -通算通信日数
 【多目的最適化】f1 = 連続日陰日数,f2 = -通算通信日数,f3 = 傾斜角
 です.行(個体)の順番はpop_vars_eval.txtと一致しています.

pop_cons_eval.txt評価モジュールが生成する制約条件のデータセット.1行1個体を示し,タブで区切られた各列がそれぞれ目的関数を示します.
 各列は左から
 c1 = 連続日陰日数,c2 = 傾斜角
 です.行(個体)の順番はpop_vars_eval.txtと一致しています.
すべての制約条件はg(x)>0の形で記述され,g(x)が0より大きいとき制約条件を満足することを意味します.




提出いただくデータ(単目的最適化部門)

(s1) 最適解の値 (21試行の中央値)(下記のフォーマットs1に従う)
(s2) 最適化の履歴(21試行の中央値)(下記のフォーマットs2に従う)
(s3) 最適解の値 (21試行の最良値)(下記のフォーマットs3に従う)
(s4) 最適化の履歴(21試行の最良値)(下記のフォーマットs4に従う)

【フォーマットs1】
- ファイルフォーマットはcsvファイル
- ファイル名は s_opt_***.csv  (***は半角アルファベットで記載したグループ名)
- 各列は左から,f1(=-通算通信日数),c1(=連続日陰日数),c2(=傾斜角),d1(=経度),d2(=緯度),の5つとしてください.

【フォーマットs2】
- ファイルフォーマットはcsvファイル
- ファイル名は s_his_***.csv  (***は半角アルファベットで記載したグループ名)
- 各列は左から,世代数,評価回数,その世代の最適解のf1(=-通算通信日数),その世代の最適解のc1(=連続日陰日数),その世代の最適解のc2(=傾斜角),その世代で制約条件を満たした解の数,としてください.
 記載できない項目については-1を入れてください

【フォーマットs3】
- ファイルフォーマットはcsvファイル
- ファイル名は s_bst_***.csv  (***は半角アルファベットで記載したグループ名)
- 各列は左から,f1(=-通算通信日数),c1(=連続日陰日数),c2(=傾斜角),d1(=経度),d2(=緯度),の5つとしてください.

【フォーマットs4】
- ファイルフォーマットはcsvファイル
- ファイル名は s_bst_his_***.csv  (***は半角アルファベットで記載したグループ名)
- 各列は左から,世代数,評価回数,その世代の最適解のf1(=-通算通信日数),その世代の最適解のc1(=連続日陰日数),その世代の最適解のc2(=傾斜角),その世代で制約条件を満たした解の数,としてください.
 記載できない項目については-1を入れてください




提出いただくデータ(多目的最適化部門)

(m1) HV値(21試行の中央値)
(m2)
HV値(21試行の中央値)を算出する際に利用したすべての非劣解(劣解は除いてください)の設計変数,制約条件,目的関数など(フォーマットm2に従う)
(m3) 最適化(21試行の中央値)の履歴(フォーマットm3に従う)
(m4) HV値(21試行の最良値)
(m5) 最適化(21試行の最良値)の履歴(フォーマットm5に従う)

【フォーマットm2】
- ファイルフォーマットはcsvファイル
- ファイル名は m_prt_***.csv  (***は半角アルファベットで記載したグループ名)
- 各列は左から,f1(=連続日陰日数),f2(=-通算通信日数),f3(=傾斜角),c1(=連続日陰日数),c2(=傾斜角),d1(=経度),d2(=緯度),その解が得られた世代数,その解が得られた評価回数,としてください.
 記載できない項目については-1を入れてください

【フォーマットm3】
- ファイルフォーマットはcsvファイル
- ファイル名は m_his_***.csv  (***は半角アルファベットで記載したグループ名)
- 各列は左から,世代数,評価回数,その世代集団のHV値,その世代までに評価したすべて解の集合のHV値,各世代ですべての制約条件を満たした実行可能解の数,としてください.
 記載できない項目については-1を入れてください

【フォーマットm5】
- ファイルフォーマットはcsvファイル
- ファイル名は m_bst_***.csv  (***は半角アルファベットで記載したグループ名)
- 各列は左から,世代数,評価回数,その世代集団のHV値,その世代までに評価したすべて解の集合のHV値,各世代ですべての制約条件を満たした実行可能解の数,としてください.
 記載できない項目については-1を入れてください




後処理ツール

(1) ベンチマーク問題が出力するファイルからの非劣解・HV値の算出のためのプログラム(Rスクリプト)は下記からダウンロードしてください.
後処理プログラム(Rスクリプト)
ご自分で開発されたプログラムを使っていただいてもかまいません.
[Rの公式サイト] https://www.r-project.org/




その他

(1) コンペティション参加者には,コンペティション会場にて5分程度のプレゼンテーションをお願いします.
・利用したアルゴリズムの説明(工夫した点を含む)
・結果
について説明してください.
(2) 「結果の総括」において,みなさまから提出していただいたデータの比較を行いますのでご了承ください.
(3) 後日,解説記事等の執筆において,みなさまから提出していただいたデータを使わせていただく場合があります.もし問題がありましたらコンペティション前にお知らせください.



お問合せ先

ec2018-competition@flab.isas.jaxa.jp