数理最適化勉強会: Optimization Night #1 を開催しました

2019年10月15日(火)に当社のCDTOが主催した、数理最適化に興味のある人が集まる有志イベント「Optimization Night #1」が開催されました。 本ブログでは、運営者目線でのイベントの取り組み内容について紹介します!

f:id:brainpad-inc:20191024120810j:plain

こんにちは。CDTOの太田です。先日Optimization Night #1という数理最適化に関するイベントを開催したので、運営者側の目線で、会の内容や開催の経緯を紹介したいと思います。なお、当日の様子はYoutubeでご覧いただけます。

開催の経緯

私はTFUG (TensorFlow User Group)の運営もやっているのですが、全国8箇所あるTFUGのオーガナイザーが集まって議論していたときに、「(TensorFlow関係ないけど)数理最適化のイベントをやりたい」という発言をしたのがきっかけです。

なぜ数理最適化のイベントをやりたいと思ったかというと、ちょうど最適化ソルバーの調査や深層強化学習を利用して最適化問題を解く方法(例えばこちらの論文は面白かったので、別の機会に紹介したいと思います)を調査していた、というのもありますが、ブレインパッド内で、今後数理最適化に力を入れていこうという雰囲気になっているという点も大きかったと思います。

ブレインパッドといえば機械学習というイメージが強いと思いますが、これまでもトラックの配送計画や広告出稿の最適化など、数理最適化技術を用いた課題解決にも取り組んできました。当社のミッションは「データ活用の促進を通じて持続可能な未来をつくる」なので、データの活用に直結する数理最適化技術は当社にとって必須の技術の1つです。

世間一般に機械学習への理解が進み、社会実装への流れができつつある今、機械学習による予測結果をアクションにつなげる数理最適化技術の重要性は今度どんどん増してくるものと思います。

なんにせよ、TFUGのオーガナイザーミーティングで最適化について話をしたところ、もともと大学で数理最適化をやっていた sfujiwara さんがとても興味を示してくれ、技術書典の裏側について話してくれることになったのと、オーガナイザーの中にも、思っていた以上に興味を示してくれる人がいたので、勉強会を開催してみることにしました1

Optimization Night #1 の内容

技術書典のサークル配置最適化

メインのセッションは、上述の通りTFUGを一緒に運営している sfujiwara さんの「技術書典のサークル配置最適化」です。彼の熱い思いがこの会を実現させたといっても過言ではありません。

エンジニアの方はご存知だと思いますが、技術書典とは技術系同人誌の即売会のことです。年に2回ほど開催され、前回は来場者数が1万人を超えるような規模になっています。

参加サークルの席順の決定は、以前は人手で2日かけて実施する非常に骨の折れる作業だったので、数理最適化技術を使ってそれを自動化しました、というのが本セッションの主旨です。

上記のスライドがとてもよくまとまっているので、ここでは詳細に触れませんが、教科書にあるような問題ではなく、色々複雑な事象のおこる現実問題において、直面している課題をどのように整理して数理的な問題に落とし、どのような工夫をしながら解いていったのか紹介していただきました。勉強になった点を挙げるときりがないのですが、例えば以下の様な点が面白いなと思いました。

  1. サークル配置の最適化を一括で解くのではなく、グループの割付とグループ内での配置最適化の2つの問題として定式化した。これによって、レイアウトの変更に柔軟に対応することができた。
  2. グループに木構造を導入した。これによって、グループ間の類似度を表現することができ、より適切な配置を実現できるようになった。
  3. 数式に落とし込むことの難しい、人間の事前知識が必要な制約もあるので、完全に自動化するのではなく、最終調整は人手でおこなう。

ちなみに、sfujiwaraさんには発表後に1時間以上、発表内容に関する議論・質疑応答に対応していただきました。まさに彼の熱い思いがこの会を実現させたといっても過言ではありません。

LT

企画時に「最適化に関することについて、発表できる場がない」という声も上がったので、LTを受け付けることにしました。

1つめは mas_yamamoto さんの「カルチョビットで選手のトレーニングメニューを最適化してみた」です。

カルチョビットとは、Nintendo 3DS のサッカークラブ育成ゲームのことだそうです。試合で入手した「特訓メニューカード」をどのように組み合わせて使うと、チームの能力値をもっとも効率よく上昇できるのかを求めるソフトを作って利用しているとのこと。実際に使ってみると不良在庫の問題や、入手できるカードの予測ができないなど、実案件でもありそうな課題を挙げられているのが面白かったです。

2つめは 龍一郎 さんの「Google OR Tools で数理最適化に入門する」です。 sfujiwara さんのスライドでも紹介されていた Google OR Tools に入門した、という話で、線形計画法(LP)や混合整数計画法(MIP)での使い方を、デモを交えて解説してくれました。Google OR Tools は、解きたい問題によって使い方が異なるのですが、今回紹介してくれたLPやMIPについては、別のソルバのラッパーとして動作します。 当社でLPやMIPを解くときは pulp や gurobipy を使うことが多いのですが、それらと同じような感覚で問題を記述することができます。

運営としての視点

参加人数について

今回は、議論をできるだけ盛り上げたかったので、3-40名の比較的小規模なイベントとしました。これは、TFUGで開催している「NN論文を肴に酒を飲む会」に合わせた形です。人数が多いイベントだと、あまり質問が出ないことが多く、質問が出たとしてもあまり深い議論にならないことが多いのですが、「NN論文を肴に酒を飲む会」では結構深い議論ができるので、それを目指しました。

リモート参加について

前述の通り、本会のきっかけはTFUGのオーガナイザーミーティングです。TFUGが全国に8拠点あるので、今回東京に来られない方にはリモート参加していただきました。

配信

リモート会場の方への配信は、当初お手軽な Google Hangouts Meet を考えていたのですが、TFUGで利用している機材を利用できることになったので、YoutubeチャンネルもTFUGで利用しているものを利用させてもらいました。

議論・質疑応答

もともと議論・質疑応答に一時間程度割く予定だったので、リモートの方にも均等に質問の機会を提供できるようにsli.doを利用しました。sli.doは何回か使ってみたことがあるのですが、今回は質問がとても多く、これまでで一番うまくワークしたと思います。これまでsli.doは使えそうなのにイマイチ使いこなせないなと思っていたのですが、今回の様に会場リモート参加の方がいる場合や、今回のようにまとめて議論したい場合にはとても使いやすいサービスだと思いました。

軽食・飲み物について

こちらについても前述の通り、「NN論文を肴に酒を飲む会」を参考にしましたが、あくまで飲み会ではないので、少し控えめに注文しました。ちなみに、当社は社内にノウハウが還元できそうな勉強会やイベントをサポートしてくれるので、今回もそのサポートをしてもらいました。

  • オードブル + ピザ 45000円
  • お酒・ソフトドリンク 15000円

お酒は1人につき1本のビールと、個人的に飲みたかった日本酒とワインを用意したのですが、結局半分近く余りました。当然ですが、飲み会として募集している「NN論文を肴に酒を飲む会」を参考にしたのがまずかったようです。

Optimization Night を続けるために

第一回がとても楽しかったので、ぜひとも第二回を開催したいと考えています。が、発表者がいないことには始まりません。われこそは!という方は、ohtamans@gmail.com までご連絡ください!

最後に

当社では、データサイエンティストや開発エンジニアを積極的に募集しています。数理最適化や機械学習、データ分析で社会を変えたい方、新卒採用・キャリア採用ともにご応募をお待ちしています! www.brainpad.co.jp


  1. sfujiwara さんはブレインパッドの有志が開催している勉強会白金鉱業でも技術書典の話をしてくれています。