OptHub
jpnsec
jpnsec
Server Evaluation

2021年 進化計算コンペ

社会シミュレーションによる経済支援施策の設計

eccomp2021

2021年 進化計算コンペ

Abstract

進化計算コンペティションは,進化計算の実応用と産学交流を促進するために,2017年に始まった最適化コンペティションです.過去4年のコンペティションでは,製造業・航空宇宙・ゲーム分野における最適化問題を出題してきました.

今回は社会シミュレーションによる経済支援施策の設計を扱います.コロナ禍による経済ショックやそれに対する経済支援施策の影響をシミュレーションし,より良い施策を見つけることを競います.不確実性をもつ組合せ最適化問題です!


お知らせ

  • 2022年05月10日17時30分: 結果を公開しました!今年もたくさんのご参加ありがとうございました.
  • 2021年12月20日10時30分: 開催後アンケートにご協力ください.コンペに参加された方も参加されなかった方もご回答いただけますと幸いです.
  • 2021年12月20日10時30分: 表彰式でのプレゼンテーションをご準備ください.詳しくは参加者へのお願いをご覧ください.
  • 2021年12月17日17時00分: サーバの処理能力を超えた数の解が送信されたため,12月17日12:00頃には評価が始まるまでに長い時間がかかっておりました.現在,サーバを増やしましたので,評価待ちは解消しております.
  • 2021年11月21日15時30分: たくさん試行錯誤できるようにsop-demoとmop-demoのbudgetを10,000回に増やしました.
  • 2021年11月21日15時30分: Q&Aに「Q9. 設計変数paymentの探索範囲に上限は設定されているのでしょうか?」を追加しました.
  • 2021年11月09日01時30分: クライアントv1.5.0を公開しました.以下のコマンドでアップデートしてください:pip install -U opthub-client-cli.変更点:解のinfoフィールドを取得できるようにした.
  • 2021年11月09日01時30分: 本番問題(単目的部門の競技sop-1, sop-2, 多目的部門の競技mop-1, mop-2)を公開しました.参加したい部門の2つの競技に解を送信してください.両方の部門に参加することもできます.
  • 2021年11月08日21時00分: デモ問題 (sop-demo, mop-demo) を公開しました.コンペシステムへの解の送信テストにご活用ください.デモ問題のスコアは本番問題のスコアには影響ありません.
  • 2021年11月08日21時00分: Q&Aに「Q8. シード集合を変えてもシミュレーション結果 (得られる目的関数値) にばらつきはほとんどないようです. コンペティション本番にてこの性質を利用しても良いでしょうか?」を追加しました.
  • 2021年11月08日20時00分: 経済ショックシナリオの表を読みやすく書き直しました.表記のみの修正であり,内容に変更はありません.
  • 2021年10月27日22時00分: 問題プログラムを更新しました.macOSにおいて(マルウェア検知プログラムのスキャンによって)動作が遅くなる問題を修正しました.プログラムの入出力に変更はありません.
  • 2021年10月26日20時30分: 問題プログラムを公開しました.みなさんのPCにダウンロードして解を評価することができます.このプログラムでの評価回数は競技の評価回数にカウントされません.コンペシステムに解に送信する前に色々と試行錯誤してみてください!
  • 2021年10月26日20時00分: 経済指標$F_1,F_2$の定式化を修正しました.それに伴い,単目的部門多目的部門の問題も最大化問題から最小化問題に変わりました.これらの箇所を改めてご確認くださいますようお願いいたします.
  • 2021年10月25日18時00分: 競技開始を10/26 21:00に延期します.
  • 2021年10月22日13時00分: 問題の概要の紹介動画を公開しました!
  • 2021年10月21日12時00分: 問題文を公開しました!

結果発表

結果発表スライド

問題の概要

新型コロナウイルス感染症の感染拡大は,緊急事態宣言や自粛により様々な産業に大きな経済的被害を生じさせています.また,その影響は均一ではなく,いわゆる非正規雇用者など一部の方に集中していることも報じられています.

国や地方自治体はこれらへの対応として,様々な経済支援施策を実施しています.これらの施策は,(a)給付の対象と(b)支給金額により特徴づけられます.例えば,2020年の「特別定額給付金」では,(a)を住民基本台帳に記録されている者全員,(b)を対象者1人につき10万円の給付として実施されました.この他,「低所得の子育て世帯に対する子育て世帯生活支援特別給付金」では,(a)を一定所得以下のひとり親世帯の児童,(b)を対象者1人につき5万円の給付として実施されました.

これらの施策は広い意味では家計の支援を目的としたものですが,税金を原資として配分することから,i)困窮状態の解消とii)適当な支給水準の両立が社会的な合意・受容のために必要であると言えます(多目的最適化).また,有効な施策を設計するためには,経済ショックの影響を事前に正確に予測することが必要になりますが,この正確な予測は不可能です(不確実性).このため,施策は様々なショックシナリオに対してその効果が頑健なものが望まれます(ロバスト性).

また,施策の設計に際しては内容の十分な検討が必要です.施策が結果的に有効であったとしても,非就業者の人をさしおいて一般労働者のみが支給対象となることは,社会的に受け入れられることは難しいと考えられます(支給対象の優先関係の存在).そして,このような検討のためには目的間のトレードオフ関係を正確に把握できることが要求の一つになります(パレートフロント近似の必要性).

以上から,本コンペティションでは,ある自治体における新型コロナウイルス感染症による経済ショックに対する給付金施策設計の最適化問題(不確実性下でのロバスト最適化問題)を扱います.

単目的部門

単目的部門では,sop-1とsop-2の2問の最適化に取り組んでいただきます.単目的部門での順位付けは,目的関数の最小値を用いて,sop-1とsop-2のそれぞれでスコアを計算し順位付けを行った上で,両者の順位をかけ合わせたスコアにより優劣を競います.例えば,sop-1で4位,sop-2で2位の参加者AとSOP-1で5位,sop-2で1位の参加者BではBのほうが上位になります( 4×2>5×14 \times 2 \gt 5 \times 1 ).

多目的部門

多目的部門では,mop-1とmop-2の2問の最適化に取り組んでいただきます.多目的部門での順位付けは,目的関数値のHypervolumeの最大値を用いて,mop-1とmop-2のそれぞれでスコアを計算し順位付けを行った上で,両者の順位をかけ合わせたスコアにより優劣を競います.例えば,mop-1で4位,mop-2で2位の参加者Aとmop-1で5位,mop-2で1位の参加者BではBのほうが上位になります( 4×2>5×14 \times 2 \gt 5 \times 1 ).

スケジュール

イベント 日時 アナウンス
Webサイト公開 2021年10月21日(木)12:00 本ページ
チュートリアル問題公開 2021年10月26日(火)21:00 こちら
競技開始 2021年10月26日(火)21:00 本ページ,進化計算学会ML
競技終了 2021年12月18日(土)23:59 本ページ
結果発表 2021年12月25日(土)午前 進化計算シンポジウム2021(oVice開催)

結果発表に参加するためには,進化計算シンポジウム2021へのお申込みが必要です.詳しくは進化計算シンポジウム2021のページをご覧ください.

参加方法

どなたでも無料で参加できます.

こちらのチュートリアルにしたがって,所属組織のメールアドレスでアカウントを作成してください.

昨年のコンペに参加された方へ
昨年に作成したアカウントは引き続きお使いいただけます.クライアントツールを最新版に更新してプレイしていただきますようお願いいたします.

コンペティションは単目的部門と多目的部門に別れており,各アカウントはいずれか一方または両方の部門に参加することができます.それぞれの部門には,問題を解くことで参加したとみなされます.1つの部門は複数の問題からなり,参加した部門のすべての問題を解く必要があります.

1人で参加することも,複数人が1チームとして参加することもできます.1チームの人数に制限はありません.チームで参加する場合は,代表者を1人決めて代表者がアカウントを作成してください.1人の参加者が複数のチームに所属することはできません.ただし指導教員は禁止事項に違反しない範囲で複数のチームにアドバイスできます.Q&Aもご覧ください

禁止事項

以下に違反した場合は失格となります.

  • 1人で複数のアカウントを作成してはいけません.
  • アカウントおよびアクセストークンを他人に譲渡してはいけません.
  • 競技期間中は,サーバに送受信したデータおよびその派生物(データを使って構築した応答曲面やソルバプログラム等)をチームメンバー以外の人に教えてはいけません.また,SNS等の不特定多数が閲覧できる場所に公開してはいけません.
  • コンペティションに関するソフトウェアをリバースエンジニアリングしてはいけません.
  • 悪意をもってコンペティションサーバを停止または不安定化する行為をしてはいけません.

結果発表について

12月25日のプログラム(暫定)
時間 内容 発表者
09:00--09:05 開催趣旨の説明 濱田 直希(KLab株式会社)
09:05--09:20 コンペ問題の説明 後藤 裕介(芝浦工業大学)
09:20--11:30 参加者からのプレゼン(1件5分) 各参加者
11:30--12:00 結果の総括およびディスカッション 濱田 直希(KLab株式会社)
表彰

単目的部門・多目的部門のそれぞれに複数の賞を用意します.受賞者には進化計算学会から表彰がございます.詳しくは後日発表いたします.

参加者へのお願い
  • 参加者には,結果発表においてプレゼンテーション(発表5分,質疑なし)をお願いします.以下の点について説明してください.スライドは12月23日までにお問合せ先にご提出ください.
    • 利用したアルゴリズムの説明
    • 工夫した点
    • 結果
  • 「結果の総括」において,皆さまから提出していただいたデータの比較を行いますのでご了承ください.
  • 実問題の研究を促進するために,皆さまから提出していただいたデータは後日コンペサーバ上で公開させていただきます.特にご希望がなければ,データの所有権はデータを送信したアカウントの所有者に帰属するものとし,ライセンスはクリエイティブコモンズ 表示 - 継承 3.0とさせていただきます.これは,誰もが皆さまのデータを利用して研究を行ったり,論文を執筆したりできることを意味します(データを利用した論文には皆さまの名前が記載されます).データの非公開や異なるライセンスをご希望でしたらお知らせください.
総合順位の決定方法

単目的部門・多目的部門それぞれの部門ごとに総合順位を決定し,総合順位の上位者を表彰します.

謝辞

本コンペの出題は,JST未来社会創造事業JPMJMI20B3「社会政策立案に向けたマルチスケールABSS手法」(研究開発代表者:神戸大学 貝原俊也)において,主たる共同研究者の芝浦工業大学 後藤裕介が実施する研究開発課題「経済支援政策分析のためのエージェントベース社会シミュレーション分析基盤」の一部として提供させていただいているものです.

シミュレーション・プログラムの実行方法

本コンペでは,コンペシステムに解を提出する前に,ローカル環境にて実験することができます.以下からシミュレーション・プログラムを入手し,仮想合成人口個票データ利用申請フォームから申込後に案内されるデータをダウンロードすることで,ローカル環境で実験できるようになります.ただし,コンペシステムでは乱数シードの1つが未公開であるため,実験時の結果が必ず再現するわけではない点に注意してください.

本コンペでは,設計変数(給付の対象,給付金額)のコーディングや実行時の引数指定や戻り値の形式が複雑であることから,実装時の参考のため,単目的部門・多目的部門のそれぞれについて,上記のサイトにてサンプルコードも公開しています.シミュレーションプログラムに渡す引数の設定,戻り値の受取り方など,とりあえず動く実装として参考になさってください.

Q&A

Q1. 進化計算を使って解かなければいけませんか?

A. どんな方法で解いても構いません.人力でいくつか解を送って様子をみたり,応答曲面を構築したり,途中でソルバーを打ち切って再スタートすることもできます.ホワイトボックスな関数については,ローカルでプログラムを組んで好きなだけ評価しても構いません.要するに,禁止事項に抵触しない限りは何でもアリです.もし判断に迷うことがあれば,お問合せ先までご質問ください.

Q2. 間違って解データを送信してしまいました.やり直せますか?

A. 今年のコンペは一定の評価回数で競うため,一度送信したデータを取り消すことはできません.デモ問題で十分にテストしてから本番の問題を解くようにしてください.

Q3. 問題を解いている最中にソルバープログラム(またはコンペサーバ)が落ちました.途中から再開できますか?

A. 一度送信したデータはサーバに記録されており,opt list solutionsコマンドで取得できます.しかし,ソルバーを同じ状態から再開するためには,ソルバーの状態変数や乱数種なども復元する必要があるはずです.これらはご自身で定期的にファイルに保存するなどして,突然のトラブルに備えてください.

Q4. コンペ運営に関わっている教員とその学生はコンペに参加できますか?

A. 参加できます.代表幹事以外の委員は,問題を解くうえで有利になるようなインサイダー情報は知ることができません.そのため,運営に関わる教員やその学生であっても,一般参加者と同じ公平な条件で参加できます.

Q5. うちの研究室からは複数のチームが参加します.教員はすべてのチームに参加したいのですが?

A. 教員は指導目的で複数のチームにアドバイスできるものとします.ただし,お互いのチームのデータを教えないようにしてください.アドバイスの内容も,個々のチームのデータだけから分かることに限定してください.

Q6. アカウントを削除できますか?

A. 競技期間終了後に削除できます.お問合せ先までご連絡ください.なお,アカウントを削除すると,そのアカウントで送信したデータも削除されます.

Q7. 解は並列に送信できますか?

A. 複数の問題に同時に解を送信することもできますし,同じ問題に複数の解を同時に送信することもできます.並列数に上限はありません.解はサーバに登録された順番に評価されます.解を並列に送信するには,以下のような方法があります.

  • 複数の端末を起動してそれぞれでopt submitコマンドを実行する.
  • 1つの端末で複数のopt submitコマンドをバックグラウンド実行する.
  • opt submitコマンドに--no-waitオプションを指定する.この場合,サーバでの評価・採点を待たずにコマンドが終了します.評価・採点の結果を取得するには,しばらく待ってから以下のコマンドを実行します.
opt list solutions --query "_and: [{match_id: {_eq: MATCH}}, {owner: {name: {_eq: USER}}}]"

ここでMATCHには競技IDを,USERにはあなたのユーザ名を入力します.

Q8. シード集合を変えてもシミュレーション結果 (得られる目的関数値) にばらつきはほとんどないようです.コンペティション本番にてこの性質を利用しても良いでしょうか?

A. 利用しても問題ありません.例えば,ローカル環境で得られた良い解集合を進化アルゴリズムの初期集団とするwarm start戦略を採用されても,問題ありません.

Q9. 設計変数paymentの探索範囲に上限は設定されているのでしょうか?

A. 探索範囲の上限は設定していません.どんな値でも与えることができますが,あまり大きな値を与えると施策予算オーバーで実行不可能解になります.この場合,実行不可能でも評価回数は消費されますのでご注意ください.評価回数を消費するかしないかの基準は以下のようになっています.

  • シミュレーションが走らない限り,評価回数は消費しない(解のフォーマットエラー,サーバタイムアウトなど)
  • シミュレータが走ったら,その結果によらず評価回数を消費する(実行不可能解や過去と同じ解でも消費する)

お問合せ先

進化計算学会 実世界ベンチマーク問題分科会
sig-rbp@googlegroups.com

進化計算学会 実世界ベンチマーク問題分科会
sig-rbp@googlegroups.com


参考文献

Competition Host

jpnsec

jpnsec

ID

eccomp2021