スポーツスケジューリング問題

スポーツスケジューリング問題
~1993年Jリーグの再スケジューリング~
文教大学 情報学部 経営情報学科
「シミュレーション」
2000年11月24日
東京大学 宮代 隆平
発表の概要
1993年Jリーグのスケジュールを
数理的手法を用いて改善
スポーツスケジューリング問題とは?
1993年Jリーグのスケジュールと,その問題点
数理的手法によるスケジュールの改善過程&結果
2
スポーツスケジューリング問題とは?
スポーツ競技(サッカー,バスケ,相撲,…)の
“質の良い” スケジュールを作成する問題
→ “良い(悪い)” スケジュールとは?
・ 大相撲で,12日目に優勝力士が決まってしまう
→ 残りは消化取組になり,観客動員数減少
・ ダイエー対巨人の日本シリーズ(7回戦)
ただし,1~3戦が福岡,4~7戦が東京 → 不公平
3
スケジュール改善の例Ⅰ
5チームの総当りリーグ戦
チームA,Bが優勝候補とすると…(*は休み)
1
A:B
B:A
C:E
D:*
E:C
2
*
C
B
E
D
3
C
D
A
B
*
4
D
E
*
A
B
5
E
*
D
C
A
⇒
1
A:E
B:D
C:*
D:B
E:A
2
D
*
E
A
C
3
*
C
B
E
D
4
C
E
A
*
B
5
B
A
D
C
*
4
スケジュールに求められる要素
スケジュールを決定する時考慮すべき条件
試合の日時,競技場が使用可能か,
移動距離,本拠地 or 遠征,天気,
TV放映,観客の満足度,チーム間の公平性,
各チームの強さ,…
最終目的は?
費用削減,人気向上,興行収入増加,視聴率up,…
5
スポーツスケジューリングの現状
現在,スポーツスケジューリングは
ほとんど手作業で行われているのが現状
10チームの総当りリーグ戦の場合,
最低限の見積もりとして
9!(≒36万)通り以上のスケジュールが存在する
→ スケジューリングは適当でも良い?
6
スポーツスケジューリングの重要性
・ 移動距離減少をはかった問題では
手作業によるスケジュールと比較して5~30%減少
・ ある種のスポーツではスケジュールが試合結果に
大きな影響を与える
→ 悪いスケジュールでは競技自体の人気も下落
・ 現在はTV中継の時代(放映料,視聴率)
7
スケジュール改善の例Ⅱ
5チームによる総当りリーグ戦
ただし,コートが一つしかない
→ 特定のチームが連続して試合することを避ける
12345678910
12345678910
AAECEEBEDD ⇒ CBABABDACA
BCDDACCBBA
DECDECEBED
連戦が消失! → 実は簡単??
8
スポーツスケジューリングの難しさ
123456789
A:J F G C H B E
B:I G D F E A C 10チームのリーグ戦
C:H D E A F G B
6日目まで作成済み
D:G C B J I E
7日目にA - E,B - Cの
E:F J C H B D A
対戦を組みたい
F:E A I B C H
G:D B A I J C
H:C I J E A F
I:B H F G D J
J:A E H D G I
9
スポーツスケジューリングの難しさ
123456789
A:J F G C H B E
B:I G D F E A C 10チームのリーグ戦
C:H D E A F G B
6日目まで作成済み
D:G C B J I E F
7日目にA - E,B - Cの
E:F J C H B D A
対戦を組みたい
F:E A I B C H D
G:D B A I J C
H:C I J E A F
I:B H F G D J
J:A E H D G I
10
スポーツスケジューリングの難しさ
123456789
A:J F G C H B E
B:I G D F E A C 10チームのリーグ戦
C:H D E A F G B
6日目まで作成済み
D:G C B J I E F
7日目にA - E,B - Cの
E:F J C H B D A
対戦を組みたい
F:E A I B C H D
G:D B A I J C H
H:C I J E A F G
I:B H F G D J
J:A E H D G I
11
スポーツスケジューリングの難しさ
123456789
A:J F G C H B E
B:I G D F E A C 10チームのリーグ戦
C:H D E A F G B
6日目まで作成済み
D:G C B J I E F
7日目にA - E,B - Cの
E:F J C H B D A
対戦を組みたい
F:E A I B C H D
G:D B A I J C H
H:C I J E A F G
I:B H F G D J J ← 既に対戦済!
J:A E H D G I I
12
スポーツスケジューリングの難しさ
123456789
A:J F G C H B E
B:I G D F E A ↓ 7日目にA - Eの対戦
C:H D E A F G I
↓
D:G C B J I E
Cの相手は I のみ
E:F J C H B D
(B ー Cは不可能)
F:E A I B C H
G:D B A I J C
人間の目で判断するのは
H:C I J E A F
非常に難しい!
I:B H F G D J
J:A E H D G I
13
手作業での問題点
手作業では…
・ 全てのスケジュールを考慮するのは無理!
・ 本当に最適?公平?
・ この条件下でスケジュールが作成可能?
・ 作成時間,各方面との調整,…(Jリーグは半年程
度)
・ 予定していた日に競技場が使えなくなった!
→ 数理的手法の必要性
14
数理的手法の必要性
数理的手法を用いれば…
・ 制約を満たすスケジュールが短時間で作成可能
・ 公平性,最適性が明らか
・ 最適化問題としてモデル化することにより,
条件の変化にも容易に対応可能
→ 1993年Jリーグのスケジュールへ
15
1993年Jリーグの概略
Jリーグ開幕の年,サッカーブーム
10チームによる二重総当りリーグ戦 (後述)
第1節は土曜日,以降水曜日,土曜日,…(全18節)
5月15日(土)~7月14日(水)
チーム略号 K:鹿島アントラーズ,V:ヴェルディ川崎,
M:横浜マリノス,E:清水エスパルス,J:ジェフ市原,
S:サンフレッチェ広島,F:横浜フリューゲルス,G:ガンバ大阪,
N:名古屋グランパス, R:浦和レッズ
16
1993年Jリーグのスケジュール
① 2 ③ 4 ⑤ 6 ⑦ 8 ⑨ 10 ⑪ 12 ⑬ 14 ⑮ 16 ⑰ 18
K:N
V:M
M:V
E:F
J:S
S:J
F:E
G:R
N:K
R:G
F
J
G
S
V
E
K
M
R
N
E
S
N
K
G
V
R
J
M
F
V
K
S
G
R
M
N
E
F
J
G
R
J
N
M
F
S
K
E
V
J
E
R
V
K
N
G
F
S
M
M
F
K
J
E
R
V
N
G
S
R
N
E
M
F
G
J
S
V
K
S
G
F
R
N
K
M
V
J
E
F
J
G
S
V
E
K
M
R
N
N
M
V
F
S
J
E
R
K
G
V
K
S
G
R
M
N
E
F
J
G
R
J
N
M
F
S
K
E
V
J
E
R
V
K
N
G
F
S
M
M
F
K
J
E
R
V
N
G
S
R
N
E
M
F
G
J
S
V
K
S
G
F
R
N
K
M
V
J
E
E
S
N
K
G
V
R
J
M
F
17
二重総当りリーグ戦
あるチームが,他のチームとそれぞれ2回ずつ,
1回は自分の本拠地で,1回は相手の本拠地に遠征して
試合を行う総当りリーグ戦の形式
A:
B:
C:
D:
1
B
A
D
C
2
D
C
B
A
3
C
D
A
B
4
C
D
A
B
5
D
C
B
A
6
B ← AがBの本拠地に遠征
A ← Bは本拠地から動かず
D
Aと試合
C
一般に,遠征は不利!
18
ミラーリング
二重総当りリーグ戦のスケジューリングは,
場所付き(一重)総当りリーグ戦のスケジュールを作成し,
対戦場所を入れ換えたスケジュールを後半に接続すればできる
(対戦間隔も開く)
1 2 3
1 2 3 | 4 5 6
A:B
B:A
C:D
D:C
C
D
A
B
D
A:B C
C ⇒ B:A D
B
C:D A
A
D:C B
D
C
B
A
|
|
|
|
B
A
D
C
C
D
A
B
D
C
B
A
19
1993年スケジュールのミラーリング
1993年Jリーグのスケジュールにおいて,
ミラーリングの対応関係は
(1,11),(2,10),(3,18),(4,12),(5,13),
(6,14),(7,15),(8,16),(9,17)
→ 理由は不明だが,最小対戦間隔は
十分に開いている(中7節)
20
1993年Jリーグのスケジュール
① 2 ③ 4 ⑤ 6 ⑦ 8 ⑨ 10 ⑪ 12 ⑬ 14 ⑮ 16 ⑰ 18
K:N
V:M
M:V
E:F
J:S
S:J
F:E
G:R
N:K
R:G
F
J
G
S
V
E
K
M
R
N
E
S
N
K
G
V
R
J
M
F
V
K
S
G
R
M
N
E
F
J
G
R
J
N
M
F
S
K
E
V
J
E
R
V
K
N
G
F
S
M
M
F
K
J
E
R
V
N
G
S
R
N
E
M
F
G
J
S
V
K
S
G
F
R
N
K
M
V
J
E
F
J
G
S
V
E
K
M
R
N
N
M
V
F
S
J
E
R
K
G
V
K
S
G
R
M
N
E
F
J
G
R
J
N
M
F
S
K
E
V
J
E
R
V
K
N
G
F
S
M
M
F
K
J
E
R
V
N
G
S
R
N
E
M
F
G
J
S
V
K
S
G
F
R
N
K
M
V
J
E
E
S
N
K
G
V
R
J
M
F
21
1993年スケジュールの分析
本拠地での試合をh(ホーム)
遠征先での試合をa(アウェイ)と表記
10チームの二重総当りリーグ戦ではh,aが9回ずつ
・ 各チームとも土曜日に4または5個のh
(土曜日は観客動員数が水曜日の1.3倍)
・ 各チームとも前半(第1~9節)までに4または5個のh
→ この二点に関しては公平
22
1993年スケジュールの問題点
一般にaの連続は嫌われる
→ スケジュール中,チームKの第9,10,11節のみ
aが3連続!(他チームにはない)
公平性?
また,土曜日のスケジュールのみを抜き出すと…
→ 観客にとって親切でない!
23
1993年Jリーグのスケジュール
① 2 ③ 4 ⑤ 6 ⑦ 8 ⑨ 10 ⑪ 12 ⑬ 14 ⑮ 16 ⑰ 18
K:N
V:M
M:V
E:F
J:S
S:J
F:E
G:R
N:K
R:G
F
J
G
S
V
E
K
M
R
N
E
S
N
K
G
V
R
J
M
F
V
K
S
G
R
M
N
E
F
J
G
R
J
N
M
F
S
K
E
V
J
E
R
V
K
N
G
F
S
M
M
F
K
J
E
R
V
N
G
S
R
N
E
M
F
G
J
S
V
K
S
G
F
R
N
K
M
V
J
E
F
J
G
S
V
E
K
M
R
N
N
M
V
F
S
J
E
R
K
G
V
K
S
G
R
M
N
E
F
J
G
R
J
N
M
F
S
K
E
V
J
E
R
V
K
N
G
F
S
M
M
F
K
J
E
R
V
N
G
S
R
N
E
M
F
G
J
S
V
K
S
G
F
R
N
K
M
V
J
E
E
S
N
K
G
V
R
J
M
F
24
土曜日だけ着目すると…
①
K:N
V:M
M:V
E:F
J:S
S:J
F:E
G:R
N:K
R:G
③
E
S
N
K
G
V
R
J
M
F
⑤
G
R
J
N
M
F
S
K
E
V
⑦
M
F
K
J
E
R
V
N
G
S
⑨
S
G
F
R
N
K
M
V
J
E
⑪
N
M
V
F
S
J
E
R
K
G
⑬
G
R
J
N
M
F
S
K
E
V
⑮
M
F
K
J
E
R
V
N
G
S
⑰
S ← チームKの場合,
G
本拠地での土曜の試合は,
F
⑤の次は⑮.
R
⑤は 5 月 29 日で,
N
⑮は 7 月 3 日.
K
一ヶ月以上も間が開く!
M
水曜日だけ見ても同様.
V
J
E
25
1993年スケジュールの問題点
・ チームKのみ,3連続aがある
・ 土曜日(水曜日)のみを考えると,
いくつかのチームに関して
本拠地での試合間隔が開きすぎ
・ 他にも様々な問題点
(本拠地が同一のMとFを考慮していない,…)
→ 数理的手法を用いて改善を試みる!
26
全列挙法
全列挙して,最適なスケジュールを選択?
→ 10チームの二重総当りリーグ戦
最低限のスケジュール総数は18!(≒6400兆)
1秒間に1億個のスケジュールが作れる
仮想計算機で 2年
ただ計算機を用いてもダメ!
→ 当時論文で提案されていた方法を改良して使用
27
数理的手法の参考文献
参考文献
G. L. Nemhauser and M. A. Trick,
“Scheduling a Major College Basketball Conference,”
Operations Research, 46(1998), 1‐8.
実際に,米の大学バスケ対抗戦(9チーム)の
スケジューリングを行った論文
→ 数理的手法の説明
28
スケジュール
スケジュール:最終的に求めたいもの
1 2 3
1 2 3
A:B C D
A:B C D
B:A D C
B:A D C
C:D A B
C:D A B
D:C B A, D:C B A,…
29
パターンセット
パターンセット:場所の情報のみがある表
任意の日に関して,aとhは等しい個数必要
1 2 3
1 2 3
1 2 3
A:B C D
B:A D C ⇒
a h a
=
h a h
C:D A B
h a a
D:C B A
a h h
30
パターン
パターンセットの横一行だけを取り出した文字列
aaa,aah,aha,ahh,haa,hah,hha,hhh
それぞれのチームはこの文字列通り移動する
パターン → パターンセット → スケジュール → 最適解
↑
↑
↑
制約条件
制約条件
制約条件
31
スケジュール作成までの流れ
パターン - hha,aah,haa,ahh
↓
パターンセット → スケジュール → 最終スケジュール
hha
A:BCD
A:DCB
aah
B:ADC
B:CDA
haa
C:DAB
C:BAD
ahh
D:CBA,D:ABC
32
パターンセット → スケジュール
一般に,1つのパターンセットからは…
・ 多数のスケジュールが生成される
・ スケジュールが全く生成できない → 不可能な例
1 2 3 4 5
(6チーム)
a h h a h
a h a a h 与えられたパターンセットに,
a h a h h 各チームを割り当てることが可
能?
h a a h a (=スケジュールを生成)
h a h h a
→ 整数計画問題として定式化
h a h a a
33
整数計画問題としての定式化
123
α:h a h x 2= 1 : α→γが2日目に対戦する
β:h a a x 2= 0 : α→γが2日目に対戦しない
γ:a h h 対戦可能な変数のみを定義
δ:a h a 全ての変数は0 - 1整数変数
基本的な制約条件
x 1  x 2  x 3  1 (βとγが必ず1回対戦)
x 3  x 3  1
(αは3日目に必ず1試合行う)
34
整数計画問題の例
x121+x141+x321+x341+x212+x242+x312+x342+x213+x233+x413+x433=6,
x121+x212+x213=1, x312=1, x141+x413=1,
x321+x233=1, x242=1, x341+x342+x433=1,
123
x121+x141=1, x212+x312=1, x213+x413=1, 1:a h h
x121+x321=1, x212+x242=1, x213+x233=1, 2:h a a
x321+x341=1, x312+x342=1, x233+x433=1, 3:a a h
x141+x341=1, x242+x342=1, x413+x433=1, 4:h h a
∀x∈{0, 1}. (x の添え字はa,h,日の順)
35
整数計画問題について
定式化した整数計画問題(今回の場合,225変数)は
ソフトウェアに解かせる
問題に解がある = パターンセットにチーム割当可能
問題が不能 = パターンセットにチーム割当不可能
制約条件が少ないと時間がかかり,また多数の解
制約条件が多すぎると矛盾することが多い
36
スケジュールの作成
元のスケジュールより良いものを作りたい!
問題点の復習
・ チームKのみ,3連続aがある
・ 土曜日を考えると,いくつかのチームに関し
本拠地での試合間隔が開きすぎ
・ 他にも様々な問題点
(本拠地が同一のMとFを考慮していない,…)
37
前提条件
・ 元のスケジュールより劣ったものは作らない(目標)
・ (変則的な)ミラーリングは同じとする
・ 開幕戦(第1節)と最終戦(第18節,第3節に対応)は
元のスケジュールと全く同じにする
→ スケジュール作成の実験開始
38
パターン生成
1993年はチーム数が10→ パターンの長さは9
aaaaaaaaa,aaaaaaaah,…,hhhhhhhhh(512個)
・ 3連続a,3連続hはだめ
・ 土曜日には4または5個のh
・ 前半戦に4または5個のh
・ 土曜(水曜)だけ注目したとき,3連続a(h)はだめ
→ 24個のパターンが残った
39
24個の許容パターン
aahhaahha, aahhahhaa, ahaahaahh,
ahaahahha, ahaahhaah, ahaahhaha,
ahaahahha, ahaahhaah, ahaahhaha,
ahahhahha, ahahhaaha, ahahhaahh,
haahaahha, haahahhah, hahaahaah,
hahaahhaa, hahaahhah, hahhaahaa,
hahhaahah, hahhaahha, hahhahaah,
hahhahhaa, hhaahaahh, hhaahhaah
40
パターンからパターンセットへ
24個のパターンを10個組み合わせて,
パターンセットを作る → 24C10≒200万
その中で,任意の日についてaとhが等しい必要有り
aah
ahh → 200万個中,1382個が合格
hah
(計算時間5分)
hha
↑対戦不可能!
41
思考錯誤
パターンセット1382個は候補が多すぎる!
「第1,2節,第17,18節にaaを禁止」
(旧スケジュールは合計2チーム)
パターンセットがただ1個に!!
しかし,スケジュール割当て不可能であった…
→ (やり直し)
42
パターンセットを減らす
パターンセット1382個のうち,
実際に(1つ以上の)スケジュールを生成できるもの?
整数計画問題に定式化して判定(1382問)
→ 208個が合格(計算時間約30分)
1つのパターンセットからは,
多数のスケジュールが生成可能.(まだまだ多い)
43
条件の適用
「第1,2節,第17,18節のaaをできるだけ避ける」
(旧スケジュールは合計2チーム)
この条件を適用すると…,パターンセットが7個に!
参考文献ではこの段階で17個 → 24時間
計算時間の見積り 24*10*7/17 = 100時間
まだパターンセットが多い!(ここでしばらく挫折)
44
新たな制約条件の導入
チームMとチームFは本拠地が同一
☆同時にホームゲームは戦えない!
正反対のパターンが必要
(例)
チームM:ahaahhaah
チームF:hahhaahha
→ さらに,MとFが対戦する日を考える
45
M-F条件の導入
チームM:ahaahhaah
チームF:hahhaahha
チームM,Fが上のパターンである時,
MとFが戦えるのは?(本拠地は同一)
→ 本拠地が3連続しないことを考えると
チームM:ahaahhaFh 対戦可能なのは
チームF:hahhaahMa ← ここだけ!
46
パターンセットの決定
・ M-F条件
・ 第1節と第18節を旧スケジュールと同一にする
以上の条件を考慮した結果,
パターンセットは(運良く)1個に!
さらに,いくつかの試合が固定された
→ ここまでの状況
47
ここまで得られた条件
① 2 ③ 4 ⑤ 6 ⑦ 8 ⑨ 10 ⑪ 12 ⑬ 14 ⑮ 16 ⑰ 18
K:N
V:M
M:V
E:F
R,J:
S,G:
F:E
S,G:
N:K
R,J:
E
S
N
K
R
M
F
M
N
M
V
F
E
K
F
M
E
S
N
K
R
M
48
さらなる工夫
前頁のパターンセットを整数計画問題として,
全ての解(=スケジュール)を求めると…
→ 時間がかかりすぎていつ終わるか不明
チームR,J,S,Gの割り当ては4通り
→ 割り当てたスケジュールを解く!
(子問題に分割)
49
子問題の一例
① 2 ③ 4 ⑤ 6 ⑦ 8 ⑨ 10 ⑪ 12 ⑬ 14 ⑮ 16 ⑰ 18
K:N
V:M
M:V
E:F
J:S
S:J
F:E
G:R
N:K
R:G
E
S
N
K
G
V
R
J
M
F
F
M
N
M
V
F
S
J
E
R
K
G
F
M
E
S
N
K
G
V
R
J
M
F
50
子問題に分割して解く
チームR,J,S,Gを割り当て,
4つの整数計画問題に分割して解くと…
→ 問題Ⅰ
問題Ⅱ
問題Ⅲ
問題Ⅳ
合計
18個 6分
22個 7分
14個 2分
18個 4分
72個 20分
分割しないと,同じ72個を
得るのに56時間を要した!
51
最終スケジュールの選択
得られた72個のスケジュール中,
少数のスケジュールを選択したい!
→ 強豪チームとの連続対戦に注目
旧スケジュールでは8箇所
ただ1個のスケジュールが,8箇所未満(7)であった!
→ スケジュールの紹介
52
新たに提案するスケジュール
① 2 ③ 4 ⑤ 6 ⑦ 8 ⑨ 10 ⑪ 12 ⑬ 14 ⑮ 16 ⑰ 18
K:N
V:M
M:V
E:F
J:S
S:J
F:E
G:R
N:K
R:G
R
G
S
J
E
M
N
V
F
K
E
S
N
K
G
V
R
J
M
F
S
J
E
M
V
K
G
F
R
N
V
K
G
R
F
N
J
M
S
E
F
R
J
S
M
E
K
N
G
V
M
F
K
N
R
G
V
S
E
J
J
N
F
G
K
R
M
E
V
S
G
E
R
V
N
F
S
K
J
M
R
G
S
J
E
M
N
V
F
K
N
M
V
F
S
J
E
R
K
G
S
J
E
M
V
K
G
F
R
N
V
K
G
R
F
N
J
M
S
E
F
R
J
S
M
E
K
N
G
V
M
F
K
N
R
G
V
S
E
J
J
N
F
G
K
R
M
E
V
S
G
E
R
V
N
F
S
K
J
M
E
S
N
K
G
V
R
J
M
F
53
新スケジュール(土曜日のみ)
①
K:N
V:M
M:V
E:F
J:S
S:J
F:E
G:R
N:K
R:G
③
E
S
N
K
G
V
R
J
M
F
⑤
V
K
G
R
F
N
J
M
S
E
⑦
M
F
K
N
R
G
V
S
E
J
⑨
G
E
R
V
N
F
S
K
J
M
⑪
N
M
V
F
S
J
E
R
K
G
⑬
V
K
G
R
F
N
J
M
S
E
⑮
M
F
K
N
R
G
V
S
E
J
⑰
G 土曜日だけ見たときでも,
E 遠征試合の連続を
R 最大2回までに抑えている.
V
N
F
S
K
J
M
54
スケジュールの比較
評価項目
3連続アウェイ
3連続ホーム
土曜日3連続以上のa
水曜日3連続以上のa
チームMFが同時にh
第1,2節,第17,18節にaa
旧
1
0(2)
5(4)
5
1
2
新
0
0
0
0
0
2
ほぼ全ての項目で,旧スケジュールより優れている!
55
スケジュール計算過程
全パターン → パターン → パターンセット
512個
24個 (5分) 1382個
→ スケジュール生成可能PS → 選択されたPS
(30分)
208個
7個 → 1個
最終PS → スケジュール → 最終スケジュール
1個 (20分) 72個
1個
56
問題点
・ 現在はもっとチーム数が多い(16チーム)
→ 制約条件によっては可能
・ 第1節と第18節を同じにすることの妥当性
→ TV中継,企業秘密…
・ 解法全体として,場当たり的(M-F条件など)
→ 一般的なアルゴリズムの必要性
57
まとめ
スポーツスケジューリング問題について概説し,
問題の重要性,数理的取り扱いの必要性を示した.
1993年Jリーグのスケジュールの問題点を指摘し,
数理的手法による再スケジューリングを行った.
提案する新スケジュールは,旧スケジュールにおける
問題点が全て改善されている.
58
参考文献
Webページ
http://www.misojiro.t.u-tokyo.ac.jp/~tomomi/sportsscheduling.html
日本語の解説記事
松井知己, 「スポーツのスケジューリング」,
オペレーションズリサーチ,44 (1999), 141-146.
宮代隆平, 松井知己, 「1993年Jリーグの再スケジューリング」,
オペレーションズ・リサーチ, 45 (2000), 81-83.
お問い合わせは [email protected] まで
59