210 likes | 382 Views
スポーツスケジューリング. ある最適化問題. スポーツスケジューリングとは?. 生成方法. プログラムと問題点. 2001年2月7日(水). 5497039. 5497044. 加倉田 稔 木本 公康. スポーツスケジューリングとは?. 概要と我々の構想. 対戦の組み合わせ 試合会場 チーム間の公平性. ゲームの面白さ. 2重総当たり戦は考えない. TV放映のスケジュール. 視聴率の向上. チームの移動. 経費の削減. この条件をもとにスケジュールを作る事は 困難 である。. 予備知識. slot と B. 探索の構造.
E N D
スポーツスケジューリング ある最適化問題 スポーツスケジューリングとは? 生成方法 プログラムと問題点 2001年2月7日(水) 5497039 5497044 加倉田 稔 木本 公康
概要と我々の構想 対戦の組み合わせ 試合会場 チーム間の公平性 ゲームの面白さ 2重総当たり戦は考えない TV放映のスケジュール 視聴率の向上 チームの移動 経費の削減 この条件をもとにスケジュールを作る事は困難である。
予備知識 slotとB 探索の構造 Patternのランク 整数計画法 生成方法
試合の日程 例:slot0=1日目 slot1=2日目 予備知識 同一チームが1日に2試合以上行わないとする 各試合日で全てのチームが試合を行う slot 各チームのスケジュールは配列で表現する Pattern : 長さがslotで、H・A(・B)からなる配列。 H ホームゲーム A アウェイゲーム B 休日(チーム数が奇数の場合のみ使用)
slotとB(1日休日) 1 2 3 n-1 n はn-1個のチームと試合をする 1 偶数 1 2 3 n-1 n B 奇数 チーム数(n)が偶数 slotの数と1つのチームが行う試合数が等しい slot=n-1 チーム数(n)が奇数 B(1日休日)を加えて偶数として考える slot=n
探索の構造 探索手順 STEP1 : 全ての組み合わせのPatternを生成し、 使用可能なものを選ぶ。 STEP2 : Patternの集合の中からチーム数と 等しい数だけ選ぶ。 その集合を Pattern Setと呼ぶ。 STEP3 : Pattern Setに試合を割り当てる。 これを Time Tableと呼ぶ。
STEP1 Pattern STEP2 Pattern Set H H H ・・・ H H H ・・ ・・ H H H ・・・ H H A ・・・ pCn個 H A A ・・・ A A A A A A ・・・ A A A slot (slot-1) 偶:2 奇:2 ×slot ・・・ P STEP3 Time Table p個 ・・ ・・・
STEP1Pattern生成の条件 Patternの長さがslot。 チーム間の公平性より、H・Aの数を下記に示す。 Patternの中に、3連続H・Aがない。 上記の条件に合っていても「あまり好ましくない」状態がある。 それらに値を与え、ランクをつける。
「あまり好ましくない」状態を値にする 試合日程 状態 悪さ 全ての日程内の4連戦 HBHH,HHBH 1 最初、最後以外の3連戦 AAB,ABA,BAA 2 最初の2試合 AA 3 2試合 AB,BA 4 3試合 AAB,ABA,BAA 5 最後の2試合 AA 6 2試合 AB,BA 7 3試合 AAB,ABA,BAA 8
slot0 slot1 slot2 slot3 slot4 B A A H H 1 2 H B A A H A H B H A 3 H A H B A 4 A H H A B 5 STEP2Pattern Setの生成 使用可能なPatternの集合(P)からチーム数分選ぶ。 ・あるPattern set内に同じPatternが存在しない。 各slotのH・Aの数が等しい。 チーム数が奇数の場合、各slotにBが1つある。 P ・・・
x+y=k 整数計画法とは? 制約文 目的関数 3x + 2y ≦ 7 5x + 6y ≦ 13 x ≧ 0 y ≧ 0 x + y が最大になるx ・ y は? 線形計画問題に「変数は整数値しかとらない」という制約(整数制約)を加えたもの (2 , 0.5)
整数計画法によるPattern Set生成 P:Patternの集合 T:slotの集合 X i:Pattern iをPattern Setに加えるとき1、それ以外0 h i k :Pattern iがslot kでHのとき1、それ以外0 a i k :Pattern iがslot kでAのとき1、それ以外0 b i:Pattern iの悪さ値 目的関数<Patternの悪さの合計> Min : Σ{iЄ P}b i X i 制約文<slot kのH・Aの数> Σ{iЄ P}h ik X i = n/2 for all k∈T Σ{i Є P}a i k Xi = n/2 for all k∈T <Patternの数> Σ{i Є P} X i = n for all i∈P
slot0 slot1 slot2 slot3 slot4 B 5 1 4 2 3 B A A H H 2 3 B 5 1 4 H B A A H 3 2 4 B 5 1 A H B H A 4 5 3 1 B 2 H A H B A 5 4 1 2 3 B H A H H A B A STEP3Time Tableの生成 H・Aの組み合わせで1試合を割り当てる。 Pattern Set に全てのチームが他のチームと1回試合を行うように試合を割り当てる。 各slotで全てのチームが試合を行う。(Bは除く)
整数計画法によるTime Tableの生成 Xi j k:slot kでPattern iがPattern j と試合をする とき1、それ以外0 S :Pattern Set内のPatternの集合 F :(i, j, k)の集合 T :slotの集合 目的関数<Time Tableの試合数> Max : Σ{(i,j,k)ЄF}X i j k 制約文<Time Table 内でi と jの試合が一回のみ> Σ{k: (i,j,k)ЄF}X i j k= 1 for alli,j∈S , i≠j <slot kで全てのチームが1回試合を行う> Σ{j : (i,j,k)ЄF}X i j k≦ 1 for all i∈S , k∈T
計算量 実験結果 問題点 課題と可能性 プログラムと問題点
プログラム 整数計画法のプログラム 世の中には整数計画法のエンジンなどが存在するが、 今回はPattern Set , Time Tableにそれぞれ対応した プログラムを作成した。 プログラムの計算量 n:チーム数 n 2 Ο(n ×2 )
実験結果 スペック:CPU733MHz メモリー128MHz
問題点 スポーツの種類・放送・チームの現状などにより制約が変化する。 チーム数が多くなると計算が膨大になる。 最良のスケジュールがいくつもでる可能性がある。 現状のスポーツスケジュール問題の最終決定は人の手作業になってしまうのか?
今後の我々の課題と可能性 課題 ・ PatternによってはPattern Set・Time Table が大量にできる。又は1個もできない場合の可能性がある。 可能性 ・ プログラムの効率化 ・ ある種のスポーツに特化したプログラムの作成
.C .Kimoto ower oint .Kimoto .Kakurata esume .Kimoto .Kakurata rogram .Kakurata .Kimoto Special Thanks ● TEAM Knot STAFF M ●K P P●K M R●K M P●M K Presented by TEAM SPORTS