皆さんは、Jリーグの試合日程の作成にNSSOLの最適化技術が使われているのをご存知ですか? 最適化技術は、制約条件があるなかで膨大な選択肢の中から最適解を導き出し、意思決定のスピードと質の向上を支援するものです。Jリーグのようなスポーツの試合日程作成をはじめ、製造業の生産計画や物流計画、サービス業の人員配置計画、エネルギー効率化などさまざまな分野で注目が高まっています。
今回は最適化技術について 山本政さん(システム研究開発センター)にお話を伺います。(本シリーズは3回連載です)。
Jリーグのドラマを演出する最適化技術「日程くん」
©J.LEAGUE
―― NSSOLの最適化技術を用いてJリーグの試合日程作成システムを手掛けたとお聞きしました。どのようなシステムなのか教えて下さい。
はい。2014年の試合日程作成からNSSOLが開発したシステムをご利用いただいています。
システムの説明をする前に、まずJリーグでは年間の試合日程をどう組んでいるのかという点についてお話しします。
―― Jリーグでは、毎年のように終盤に注目カードが現れるので、「神がかり的」な日程とも言われていますね! どうやって決めているのでしょうか。とても興味深いです。
なぜ毎年リーグが終盤までもつれて、注目カードが現れるのかは、私にはわかりません(笑)。当たり前の話ですが、日程を組むうえで最も重要視されるのは"公平性"です。一口に公平性と言っても、その指標はいくつもあり、できるだけそれらのバランスを取るように調整していきます。
―― 公平性とは具体的にはどのようなことでしょうか。
大きく分けて2つポイントがあります。1つは競技面での公平性。J1、J2、J3の各リーグにおいて各クラブが公平に総当たりの試合を行うように、多数の条件設定を基に対戦カードを決めています。ホームの試合のほうが有利なので、ホーム・アウェイが一時期に片寄らないようにします。できるだけ各クラブのホームとアウェイが交互になるように調整しますが、全部はそうできないので、基本的に3連続にならないようにしています。
もう1つはクラブ運営面。試合の収益は運営するホームクラブのものですから、集客の少ない平日のホーム試合に偏りがあると運営上の不公平になってしまうため、平日と休日のホーム試合日数に差がないようにします。
―― なるほど。とても重要な点ですが、そのバランスを完璧にするのは難しそうですね。公平性の他にも考慮すべきポイントはあるのですか?
はい、様々な条件を考慮しなければなりません。まず大前提として、リーグ戦は2回総当たりで、各カードはホーム・アウェイ1試合ずつですから、これらを守りながら全試合をカレンダーに置かなければいけません。さらに、個々の試合やスタジアムに関する条件も考慮する必要があります。例えばスタジアムは他競技やコンサートなどサッカー以外の用途でも使われますから、ほかのスケジュールと重なるとJリーグの試合ができません。また、ホームスタジアムが同じクラブのホーム試合がバッティングしないようにします。
それからダービーマッチなど非常に盛り上がる試合は、大型連休などの集客が見込める日程とは別の日に設定したいといった考慮も入れることがあります。
ほかにもたくさんの条件があり、その数は数百にもなります。これらの条件を守りながら、全ての対戦カードを過不足なく配置するのは、パズルのような難しさがあります。順番にピースをはめていくと、最後の方で条件を守れるピースがなくなってしまったり...イメージ湧くでしょうか?加えて、公平性のバランスを崩さないように組まなければいけません。サイズも結構大きくて、例えばJ1では18クラブ×34節のマス目を埋めないといけないわけです。J2だとさらに大きくて、22クラブ×42節になります。
<試合日程作成の難しさ>
<作成する試合日程>
(2016年現在)
―― 試合数がたくさんあって、満たすべき条件もたくさんあって、試合日程を作成するのが大変なことはよくわかりました。
これだけ大変な試合日程の作成を、J1、J2、J3、カップ予選と4つ分やらないといけないのです。しかも、日程作成期間はおよそ5日間しかないのです。
―― 本当に? なぜそんなに短いのですか?
試合日程を組む条件が全て揃うのが、元日の天皇杯決勝で※ACLの出場クラブが決定した後になります。ただ、例年1月下旬ごろには翌年の試合日程を発表しますから、日程作成の担当者は正月休み明けには案を決めていなければならないのです。
※ACL:アジアクラブ王者を決める国際大会
―― 担当の方は、お正月も働いているのですね。それにしても、たった5日でできるのですか?
はい。2014年にNSSOLが開発した試合日程自動作成システム、通称「日程くん」なら、J1は約3~5分、J2は約2時間、J3は約3~5分で年間の試合日程案を作成することができます。
実は、NSSOLの日程くんは2代目なのですが、初代の日程くんでは、計算結果が出るのにJ1で約2時間、J2で約24時間かかっていたそうです。
―― そんなに速く作れるのですか!初代と2代目では、かなり違いますね。
はい、24倍ほど高速化したことになります。
―― しかし、初代の日程くんでも、J1で約1時間、J2でも約1日で試合日程が作れるなら、5日間あれば十分間に合いますよね。余裕があるようにも思えますが。
ところが、そう簡単にはいかないのです。一度、試合日程案をシステムで作成すれば終わりになるのではなく、人が確認しながら何度も繰り返しシステムを実行して、より良い試合日程案に仕上げていく作業が必要なのです。
―― なぜ、繰り返しが必要なのですか?
2つの理由があります。
1つめは、個別の条件の間の調整が必要なためです。考慮すべき条件がたくさんあるという話をしましたが、たくさんある条件を全て満たすことは多くの場合不可能で、優先順位をつけながら対応していく必要があります。
2つめは、公平性のバランスを追求するために、様々な設定での立案を繰り返し行い、試合日程案を比較検討するためです。
―― それで、どのくらい繰り返しを行うのですか?
初代日程くんでは繰り返しのサイクルを数回行うのが精いっぱいでしたが、今の日程くんでは、高速で計算結果がでるようになったので改善サイクルを数十回に増やすことができ、より納得感のある試合日程を組めるようになったとご担当の方におっしゃっていただいています。
―― なるほど、そういう作業が必要なのですね。
ちなみに、条件を全ては満たせない状態で最適化問題を解くと、どうなると思いますか?
―― 分かりません。どうなるのですか?
「解なし」になります。数学の方程式の問題で、解なしというのがありましたよね。あれと同じで、答えが出てこないのです。解なしになったら、困りますよね。日程くんに全部の条件を入れたら、日程くんが「解なしです」とだけ答えを返すわけですから。そうなったら、解なしの原因を人手で探すしかないのですが、これは非常に面倒で、手間がかかります。
そこで、NSSOLの日程くんでは、解なしの原因となっている条件群を探し出して、画面に表示する機能を新たに付けました。
<改善のてがかりを人に提示>
こうすると、担当者は相反する条件群を即座に知ることができ、いずれかの条件を緩めることで解なしの原因を解消できます。また、日程くんが試合日程案を導出するまでの時間が短いので、解なしの原因となる条件間の衝突を効率よく取り除くことができるわけです。
また、条件を満たせない時にはその理由が分かるので、関係者への説明と調整がスムーズになったと伺っています。
さらに、公平性のバランスを追求する時にも、短時間での試合日程案の導出と、条件間の衝突箇所の検出機能によって、高速な改善サイクルを実現しています。NSSOLの日程くんは、5日間をフルに使って、できる限り良い試合日程を作成して頂くことができる仕組みとしているわけです。
<よりよい試合日程作成のための改善サイクル>
―― 見事なアシストですね!そんな日程くんに使われている最適化技術についてもっとお話をお聞きしたいのですが。
それはまた次回にお話ししましょう。
―― そうですね。みなさんも、次回をお楽しみに!
©J.LEAGUE
※「日程くん」は日本プロサッカーリーグ社内システムの通称です。
リンク
- 【ソリューション・サービス】
最適化技術を用いた意思決定支援システム
- 【漫画「奮闘の軌跡」】
高度な数学的能力とシステム実装力の融合 最適化ソリューションの歩み