1 スポーツスケジューリング問題 1993年Jリーグの再スケジューリング ver. 6.0 東京大学 宮代隆平 東京大学 松井知己 卒論に! 1993とは? 2 1993年Jリーグ 1993年:Jリーグ開幕(前半戦) 10チーム2重総当たりリーグ戦 K:鹿島アントラーズ(予想5位) V:ヴェルディ川崎(予想2位) M:横浜マリノス(予想1位) E:清水エスパルス(予想3位) J:ジェフユナイテッド市原 S:サンフレッチェ広島 F:横浜フリューゲルス G:ガンバ大阪 N:名古屋グランパスエイト(予想4位) R:浦和レッドダイヤモンズ 2重総当り戦とは? 3 2重総当りリーグ戦 チーム数n(nは偶数) • 各チーム対は,双方のホームグラウンドで1回ずつ (計2回)戦う. • 各試合日に (n /2) 試合を平行して行う. • 2(n -1)試合日ですべての試合が終了する. 4チームのスケジュール 1 A:C B:D C:A D:B 2 D C B A 3 B A D C 4 D C B A 5 B A D C 6 C D A B BとDは第1試合日を Bの本拠地で戦う. 4 1993年のJリーグ前半戦のスケジュール 2重総当りリーグ戦 1 2 3 4 5 6 7 8 K: N F E V G J M R V: M J S K R E F N M: V G N S J R K E E: F S K G N V J M J: S V G R M K E F S: J E V M F N R G F: E K R N S G V J G: R M J E K F N S N: K R M F E S G V R: G N F J V M S K 9101112131415161718 S F N V G J M R S E G J M K R E F N G S F G V S J R K E F N R S F G N V J M R K N V S R M K E F N G K E J M F N R G K V M K E N S G V J M R V M R E K F N S V J J R K F E S G V J M E N G J V M S K E F 読み方 5 スケジュールの見方 計10チーム 各日に5試合行い,18試合日で2重総当りリーグ戦を行う. 各チーム対は,双方のホームグラウンドで1回ずつ戦う. RとGは第1試合日をRの本拠地で戦う.奇数試合日は週末. K: V: M: E: J: S: F: G: N: R: 1 N M V F S J E R K G 2 F J G S V E K M R N 3 E S N K G V R J M F 4 V K S G R M N E F J 5 G R J N M F S K E V 6 J E R V K N G F S M 7 M F K J E R V N G S 8 R N E M F G J S V K 9101112131415161718 S F N V G J M R S E G J M K R E F N G S F G V S J R K E F N R S F G N V J M R K N V S R M K E F N G K E J M F N R G K V M K E N S G V J M R V M R E K F N S V J J R K F E S G V J M E N G J V M S K E F ミラーリング 6 ミラーリング 1 A:C B:D C:A D:B 2 D C B A 3 B A D C 4 D C B A 5 B A D C 6 C D A B 前半n -1試合を作れば,後半n -1試合は, 前半のスケジュールの試合場を交代した ものを付ければ良い. 7 1993年前半戦スケジュールのミラーリング K: V: M: E: J: S: F: G: N: R: 1 N M V F S J E R K G 2 F J G S V E K M R N 3 E S N K G V R J M F 4 V K S G R M N E F J 5 G R J N M F S K E V 6 J E R V K N G F S M 7 M F K J E R V N G S 8 R N E M F G J S V K 9101112131415161718 S F N V G J M R S E G J M K R E F N G S F G V S J R K E F N R S F G N V J M R K N V S R M K E F N G K E J M F N R G K V M K E N S G V J M R V M R E K F N S V J J R K F E S G V J M E N G J V M S K E F 問題点 8 総当りリーグ戦とグラフ 各チームを頂点とする完全グラフ. 各枝は試合に対応する. 各試合日には,全てのチームが1試合を戦う. 各試合日の試合は,グラフ上の完全マッチング. F F A E A E B D B D C C 9 総当り戦とマッチング F F A B E D B A5 E A B D B C E A D B 1 C C F F A F 2 C F E A D B ミラーリング 3 E D C 12345 678910 A:B C D E F B C D E F B:A D F C E A D F C E C:F A E B D F A E B D D:E B A F C E B A F C E:D F C A B D F C A B F:C E B D A C E B D A E 4 C D 10 うまく行かない例 F F A E B D 残った試合は C F F A B E 1 D C A B 2 C E A D B A E B D F 3 C E D C 12345 A:B D C B:A F E C:F E A 後2日では終わらない D:E A F E:D C B F:C B D 11 円盤の回転 以下のような円盤を回して,試合を決める. A A B E E F D B E D A B E F F C A B E F A C D 12345 A:F C E B D B:E F D A C C:D A F E B D:C E B F A E:B D A C F F:A B C D E C D C F D B C 12チームの場合 このまま回転を続ける‥‥. 実際のスケジュールは? 12 総当りリーグ戦の作り方 ホームゲーム・アウェイゲームを決める. A A B E E F D B E D A B E F F C A B E F A C 12345 A:F C E B D B:E F D A C C:D A F E B D:C E B F A E:B D A C F F:A B C D E D C D アウェイ ゲームチーム C D F B C ホーム ゲームチーム ブレイク:ホームやアウェイの連続 左図はブレイク総数最小スケジュール ブレイク総数=( チーム数 )‐2 実際のスケジュールは? 13 2重総当りリーグ戦の簡単な作り方(円盤+ミラーリング) 6チーム(A,B,...,F)の例(試合数は 10) アウェイ ゲームチーム A A B E E F D A E D D C D D A B E B E C B E D C A F F C A C D F B F F C B E A B E F B E A F D A F C ホーム ゲームチーム D A C ミラーリング B E B F C D C 実際のスケジュールは? 14 2重総当りリーグ戦の簡単な作り方(対戦表) (ミラーリング) 12345678910 A:F C E B D F C E B D B:E F D A C E F D A C C:D A F E B D A F E B D:C E B F A C E B F A E:B D A C F B D A C F F:A B C D E A B C D E 白(ホームゲーム)や 黄(アウェイゲー ム) が連続しないのが好ましい. 15 1993年のJリーグ前半戦のスケジュールの問題点 3連続アウェイゲームがある. 週末のみ見たとき3連続アウェイゲームがある. MとFのグラウンドは同じ場所(三ツ沢球技場). 1 2 3 4 5 6 7 8 9101112131415161718 K: N F E V G J M R S F N V G J M R S E V: M J S K R E F N G J M K R E F N G S M: V G N S J R K E F G V S J R K E F N E: F S K G N V J M R S F G N V J M R K J: S V G R M K E F N V S R M K E F N G S: J E V M F N R G K E J M F N R G K V F: E K R N S G V J M K E N S G V J M R G: R M J E K F N S V M R E K F N S V J N: K R M F E S G V J R K F E S G V J M R: G N F J V M S K E N G J V M S K E F K:鹿島アントラーズ M:横浜マリノス 本) J:ジェフユナイテッド市原 F:横浜フリューゲルス(熊 望ましい 16 望ましいスケジュール ( )内数字は,破っている回数. 3連続ホームゲームが無い(2). 3連続アウェイゲームが無い(1). 週末のみの3連続ホームゲームが無い(4). 週末のみの3連続アウェイゲームが無い(4). 週日のみの3連続ホームゲームが無い(5). 週日のみの3連続アウェイゲームが無い(5). 優勝候補との連戦(MV,ME,MN,MK)が無い(8). 本拠地が同一のチームが同時にホームゲーム を戦わない(1). 1,2試合と17,18試合にh(a)が連続しない(4). 参考文献 17 既存の研究 G.L.Nemhauser and M.A.Trick, ''Scheduling a Major College Basketball Conference,'' Operations Research, 46 (1998), 1‐8. 参考: 松井知己, 「スポーツのスケジューリング」, オペレーションズリサーチ,44 (1999), 141-146. 宮代隆平, 松井知己, 「1993年Jリーグの再スケジューリング」, オペレーションズ・リサーチ, 45 (2000), 81-83. 用語定義 18 用語の定義 スケジュール 1 2 3 4 5 6 B:D C A C A D A:C D B D B C C:A B D B D A D:B A C A C B タイムテーブル 1 2 3 4 5 6 1:4 3 2 3 2 4 2:3 4 1 4 1 3 3:2 1 4 1 4 2 4:1 2 3 2 3 1 実際の チーム名が 入っている ただの番号が 入っている. haテーブル 1 2 3 4 5 6 1:a a h h a h 2:h h a a h a 3:a h a a h h 4:h a h h a a h:ホームゲーム a:アウェイゲーム 性質:haパターンが 同じ行は存在しない. NT解法 19 Nemhauser and Trick の解法(9チーム) スケジュール 1 2 3 4 5 6全 B:D C A C A D 列 A:C D B D B C 挙 C:A B D B D A 9! D:B A C A C B タイムテーブル 1 2 3 4 5 6 1:4 3 2 3 2 4 2:3 4 1 4 1 3 3:2 1 4 1 4 2 4:1 2 3 2 3 1 3個の スケジュール 826個の 17個の タイムテーブル haテーブル 整 数 計 画 法 haテーブル 1 2 3 4 5 6 1:a a h h a h 2:h h a a h a 3:a h a a h h 4:h a h h a a 整 数 計 画 法 特定チーム 2重総当たり haの3連続禁止等. との連戦禁止等. リーグ戦が存在. タイムテーブルからスケジュールを 直接生成すると9!×826≒3億通り. 再スケジュール 20 1993年Jリーグの再スケジューリング 第1試合と,最終試合は, 過去のスケジュールと一致させる. ミラーリングの場所は, 過去のスケジュールと一致させる. K: V: M: E: J: S: F: G: N: R: 1 N M V F S J E R K G 2 F J G S V E K M R N 3 E S N K G V R J M F 4 V K S G R M N E F J 5 G R J N M F S K E V 6 J E R V K N G F S M 7 M F K J E R V N G S 8 R N E M F G J S V K 9101112131415161718 S F N V G J M R S E G J M K R E F N G S F G V S J R K E F N R S F G N V J M R K N V S R M K E F N G K E J M F N R G K V M K E N S G V J M R V M R E K F N S V J J R K F E S G V J M E N G J V M S K E F haテーブル生成 21 haパターンの生成 ミラーリングの後以下を満たすような, h と a からなる長さ 9 の列 (haテーブルの各行の前半分になるもの)を生成する. 3連続 h と3連続 a を禁止. 週末に4つまたは5つの h を持つ. 前半(9試合目まで)に4つまたは5つの h を含む. 週末の3連続 h と週末の3連続 a を禁止. 週日の3連続 h と週日の3連続 a を禁止. 24通りしか存在しない. その24通り 22 24通りのha列 aahhaahha ahaahahha ahaahhahh ahahhahha haahaahha hahaahhaa hahhaahah hahhahhaa aahhahhaa ahaahhaah ahahhaaha ahhahaaha haahahhah hahaahhah hahhaahha hhaahaahh ahaahaahh ahaahhaha ahahhaahh ahhahhaah hahaahaah hahhaahaa hahhahaah hhaahhaah h a h h a h h a a h a a h a a h h a ここからテーブル生成 23 望ましいHAT 3連続ホームゲームが無い. 3連続アウェイゲームが無い. 週末のみの3連続ホームゲームが無い. 週末のみの3連続アウェイゲームが無い. 週日のみの3連続ホームゲームが無い. 週日のみの3連続アウェイゲームが無い. 優勝候補との連戦(MV,ME,MN,MK)が無い. 本拠地が同一のチームが同時にホームゲーム を戦わない. 1,2試合と17,18試合にh(a)が連続しない. 参考文献 24 haテーブルの生成 (列挙部分) 性質1:実際のスケジュールに対応する haテーブルは,haパターンが同一の行は無い. 24通りのha列から10チーム分(10本)を選ぶ. 性質2: 各試合日には, hとaが5つづつ存在しなければならない 24C10≒200万通りすべてを生成し, 性質2を満たすもの1,382個を残した. (200MHz CPU Windows PC で5分) Nemhauser and Trick:38通りのha列から9本を選ぶ. 整数計画法の許容解を列挙した. (Sun SPARC-20 CPLEX で1分) さらに絞る 25 haテーブルの生成 (0-1整数計画部分) 24C10=1,961,256通りすべてを生成し, 性質2を満たすもの1,382個を残した. 1,382個のhaテーブルそれぞれが, タイムテーブルを(1つ以上)生成可能かチェックする. (1つのhaテーブルから, 複数のタイムテーブルが生成されることが良くある) 208個のhaテーブルが,残った. チェックは整数計画法(0-1変数225個,制約135本.) (200MHz Windows PC+lp solveで1,382問,計30 分) 整数計画法の詳細は後述 もっと絞る(NT以上) 26 haテーブルの生成 (手作業部分) 208個のテーブルに対し,以下の条件を考慮した. 第1,2試合にh(a)が連続するチーム数を1以下にする. 第17,18試合にh(a)が連続するチーム数を1以下にする. 第1,18試合は過去のものといっしょにする. チームMとFは同時にホームゲームを戦わない. 上記を満たすhaテーブルは,208個のうち1個だけ. しかも以下が分かった. (1) 6チームは,割り当てる場所(行)が確定される. (2)残り4チームの割り当て方4!のうち, タイムテーブルが存在しうるのは4通り (ただし上記の作業は手作業である.) Nemhauser and Trick は上記の作業はしていない. 残ったのは? 27 最終的に残ったhaテーブル 0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 1 a a a a a h h h h h 2 a h h h h a a a a h 3 h a a a h a h h h a 4 h a h h a h a a h a 5 a h h h h a a a a h 6 a h a a a h h h a h 7 h a a h a h a h h a 8 h a h h h a a a h a 9101112131415161718 a h h a h h a a h a h a h h a a h h a h h a h a a h h a a h a a h a a h a a h h a a h h a h h a h a h h a a h a a h a h h h a h h a h h a a a h a h h a a h h a a h a a h h a a h a h a a h a a h h a h 残った割り当て: 0123456789 割当Ⅰ:EMRJNKSGFV 割当Ⅱ:EMRJNKGSFV 割当Ⅲ:EMJRNKSGFV 割当Ⅳ:EMJRNKGSFV スケジュール生成 28 実際のスケジュールを求める 残った割り当て: 0123456789 割当Ⅰ:EMRJNKSGFV 0 1 2 3 4 5 6 7 8 9 E: M: R: J: N: K: S: G: F: V: 1 F V G S K N J R E M 2 a h h h h a a a a h 3 h a a a h a h h h a 4 h a h h a h a a h a 5 a h h h h a a a a h 6 a h a a a h h h a h 7 h a a h a h a h h a 8 h a h h h a a a h a 9101112131415161718 a h h a h h a a h K h a h h a a h h a N h a h a a h h a a F a a h a a h a a h G a a h h a h h a h M h h a a h a a h a E h h a h h a h h a V a h a h h a a h h J a h a a h h a a h R h a a h a a h h a S この表を埋める→整数計画法 29 スケジュールを作る 0-1 整数計画法 haテーブル 1 2 3 4 5 6 B:a a h h h a このhaテーブルに対応する, A:h h a a a h スケジュールを求めよう. C:a h a h a h D:h a h a h a (ミラーリング) 1 ( AとBが1日目に戦う), { xAB1 = 0 ( AとBが1日目に戦わない). xAB1 , xAB2 , xAB3 , xAC1 , xAC2 , xAC3 , xAD1 ,xAD2 , xAD3 , xBC1 , xBC2 , xBC3 , xBD1 ,xBD2 , xBD3 , xCD1 , xCD2 ,xCD3 . 30 0-1 整数計画問題 xAB1+xAB2+xAB3 =1, (AとBはどこかで戦う) xAC1+xAC2+xAC3 =1, (AとCはどこかで戦う) xAD1+xAD2+xAD3 =1, (AとDはどこかで戦う) ‥‥ xCD1+xCD2+xCD3 =1, (CとDはどこかで戦う) xAB1+xAC1+xAD1 =1, (1日目Aは誰かと戦う) xAB1+xBC1+xBD1 =1, (1日目Bは誰かと戦う) xAC1+xBC1+xCD1 =1, (1日目Cは誰かと戦う) ‥‥ xAD3+xBD3+xCD3 =1, (3日目Dは誰かと戦う) xAC2=xAC3=xAD1=xBC1=xBD2=xBD3= 0, } } 4C2=6本 4×3=12本 残りの変数(12個)は,0または1を取る. スケジュールを全部見つける=上記を満たすもの全て見つける 0-1整数計画法 :0-1変数12個,等式18本. 31 0-1 整数計画法 0-1整数計画法 :0-1変数12個,等式18本. (実際に解いたのはは0-1変数225個,等式135本.) 全ての変数が0-1の値を取る. 全探査:変数の数がn ならば2n通り. 2225×10-9秒=1053世紀 (宇宙ができて109世紀) 切り分けて, 中を見る. (分枝限定法) 1 O 1 1 O 1 32 スケジュールの生成 0-1整数計画法 (最初は0-1変数225個,制約135本.) xmns: チームmが第s試合日にチームnと, チームmのホームグラウンドで戦うとき1. それ以外は0となる変数. スケジュールの生成=0-1整数計画の全許容解の生成. 1つの解(スケジュール)が生成されたら, その解をカットする制約式を1本追加する. 残った割り当て: 生成された 0123456789 スケジュール数 計算時間 割当Ⅰ:EMRJNKSGFV 18個 6分 割当Ⅱ:EMRJNKGSFV 22個 7分 割当Ⅲ:EMJRNKSGFV 14個 2分 割当Ⅳ:EMJRNKGSFV 18個 4分 計72個 19分 (200MHz Windows PC+lp solve) 72からの選択 33 スケジュールの生成(改1) 0-1整数計画法 (最初は0-1変数225個,制約135本.) xmns: チームmが第s試合日にチームnと, チームmのホームグラウンドで戦うとき1. それ以外は0となる変数. スケジュールの生成=0-1整数計画の全許容解の生成. 残った割り当て: 生成された 0123456789 スケジュール数 割当Ⅰ:EMRJNKSGFV 18個 割当Ⅱ:EMRJNKGSFV 22個 割当Ⅲ:EMJRNKSGFV 14個 割当Ⅳ:EMJRNKGSFV 18個 計72個 (200MHz Windows PC+lp solve) 72からの選択 34 スケジュールの生成(改2) スケジュールの生成=0-1整数計画の全許容解の生成. 1つの解(スケジュール)が生成されたら, その解をカットする制約式を1本追加する. 例:解(x1,x2,x3,x4,x5)=(1,1,1,0,0) x1+x2+x3≦2 目的関数一定 目的関数変更 1つの問題 問題を4分割 56時間 20分 13分 5分 (直前に)出力された解の特性ベクトルを目的 関数とし,最小化する. 例:解(x1,x2,x3,x4,x5)=(1,1,1,0,0) minimize x1+x2+x3 72からの選択 35 スケジュールの選択 72個のスケジュールのうち, 優勝候補との連続対戦が 7箇所以下のものは1個だけ.(過去のは8箇所.) K: V: M: E: J: S: F: G: N: R: 1 N M V F S J E R K G 2 R G S J E M N V F K 3 E S N K G V R J M F 4 S J E M V K G F R N 5 V K G R F N J M S E 6 F R J S M E K N G V 7 M F K N R G V S E J 8 J N F G K R M E V S 9101112131415161718 G R N S V F M J G E E G M J K R F N E S R S V E G J K F R N V J F M R S N G V K N E S V F M R K N G F M J K N E G R F V S N E G J K V M S R K V R F M N S E K J J F K R S G E V J M M K G N E V J S M F 最終的に選ばれたスケジュール 良さの比較 36 新旧スケジュールの比較 評価項目 3連続ホームゲーム 3連続アウェイゲーム 週末のみの3連続ホームゲーム 週末のみの3連続アウェイゲーム 週日のみの3連続ホームゲーム 週日のみの3連続アウェイゲーム 優勝候補のチームとの連戦 チームMFが同時にホームを使う 1,2試合と17,18試合にh(a)が連続する 旧 2 1 4 4 5 5 8 1 4 新 0 0 0 0 0 0 7 0 4 NTと解法の比較 37 Nemhauser and Trick の解法(9チーム)の時間 スケジュール 1 2 3 4 5 6全 B:D C A C A D 列 A:C D B D B C 挙 C:A B D B D A 9! D:B A C A C B 3個の スケジュール タイムテーブル 1 2 3 4 5 6 1:4 3 2 3 2 4 2:3 4 1 4 1 3 3:2 1 4 1 4 2 4:1 2 3 2 3 1 826個の タイムテーブル 9!×826(約3億)通り のチェック (24時間) 整 数 計 画 法 haテーブル 1 2 3 4 5 6 1:a a h h a h 2:h h a a h a 3:a h a a h h 4:h a h h a a 整 数 計 画 法 17個の haテーブル (826+17)問の0-1IP (10分) 17問の0-1IP (1分) Sun SPARC-20+CPLEX 今回の解法 38 今回 の解法(10チーム)の時間 スケジュール 1 2 3 4 5 6 B:D C A C A D A:C D B D B C C:A B D B D A D:B A C A C B 72個の スケジュール 整 数 計 画 法 チーム名の部分割当 1 2 3 4 5 6 整 A:4 3 2 3 2 4 数 B:3 4 1 4 1 3 計 *:2 1 4 1 4 2 画 *:1 2 3 2 3 1 法 1個の haテーブル 4種類の チーム名割当 (72+4)問の0-1IP (20分) haテーブル 1 2 3 4 5 6全 1:a a h h a h 列 2:h h a a h a 挙 3:a h a a h h 4:h a h h a a 24C10 1,382個の haテーブル 列挙 (5 分) (200MHz Windows PC+ lp solve) lp solve は摂動オプション 1,382問の0-1IP (30分)+手作業 今後の課題 39 今後の課題 手作業の部分は,問題例依存の性質を用いている. 1993年を選んだのは10チームと少なかったから. 今回の方法では16チームは無理! 1999年:2リーグ制 J1:16チーム.試合は週末のみ.(1重)総当り戦. J2:10チーム.試合は週末のみ.4重総当り戦. 入っていない因子: TV放映.グラウンド使用可能日.チーム移動費 用? 消化試合を減らす(好カードを後に残す). Nemhauser and Trick の open problem 与えられたhaテーブルに対応するタイムテーブルはある か? NP-complete? 40 スポーツスケジューリングの研究を発展させるために ホームページの公開 : 簡略ページ ・ 詳細ページ 研究発表 統計研, 南山大学, 文教大学, 東京大学, 班会議 関連記事の雑誌掲載 サーベイ: 松井知己, 「スポーツのスケジューリング」, オペレーションズリサーチ,44 (1999), 141-146. 入門編: 宮代隆平, 松井知己, 「1993年Jリーグの再スケジューリング」, オペレーションズ・リサーチ, 45 (2000), 81-83. 関連研究(者)の交流 東大, 筑波大, 東京理科大, 商船大, 東海大 ナーススケジューリング, クルースケジューリング, 授業時間割作成問題 応用から実務へ? アルゴリズム, 経験, サポート 小学生でも分かる問題?,いっしょに挑戦しませんか! 41 おわり 42 1993年のJリーグ前半戦のスケジュール 2重総当りリーグ戦(原本) 1 2 3 4 5 6 7 8 9101112131415161718 K: N F E V G J M R S F N V G J M R S E V: M J S K R E F N G J M K R E F N G S M: V G N S J R K E F G V S J R K E F N E: F S K G N V J M R S F G N V J M R K J: S V G R M K E F N V S R M K E F N G S: J E V M F N R G K E J M F N R G K V F: E K R N S G V J M K E N S G V J M R G: R M J E K F N S V M R E K F N S V J N: K R M F E S G V J R K F E S G V J M R: G N F J V M S K E N G J V M S K E F
© Copyright 2024 ExpyDoc