説明

情報処理装置、日程決定方法及びコンピュータプログラム

【課題】複数のメンバをそれぞれ含む複数のグループ間での各メンバの総当りの試合について全てのメンバの総移動距離をより低減させた日程を短期間に決定することが可能な情報処理装置、日程決定方法を提供する。
【解決手段】情報処理装置1は、第1グループ内の各メンバを本拠地の位置に基づき複数のクラスタに分類する第1分類部23と、第2グループ内のメンバから第1グループの第1クラスタと同数のメンバの第2クラスタを抽出する第2分類部24と、第2クラスタ内の各メンバが、それぞれ当該メンバの本拠地から出発し、第1クラスタ内の全メンバの本拠地に他のメンバと重複しないように順次移動し、出発した本拠地に戻るまでの移動距離の総和が最小になる組合せで、第2クラスタ内の各メンバと第1クラスタ内の各メンバの第1クラスタ内の各メンバの本拠地での試合の日程を決定する日程決定部27を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、日程決定方法及びコンピュータプログラムに関し、特に、複数のチームをそれぞれ有する複数のグループ間の試合の日程を決定する情報処理装置、日程決定方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
プロ野球等のスポーツのリーグでは、年間を通してリーグ内の各チームの総当たり戦が行われる。各試合は対戦するチームの何れか一方の本拠地で行われるため、各チームは自身の本拠地とリーグ内の他チームの本拠地との間を頻繁に移動する。例えばプロ野球では、年間の試合数が多く、各チームの本拠地の位置は遠く離れているため、試合スケジュールによっては各チームの総移動距離が大きくなり、移動時間及び移動費用が膨大になる。従って、全てのチームの総移動距離を最小化するように年間の試合スケジュールを定めることが望ましい。そのためには、年間の試合スケジュールにおける全ての試合の組合せについて全チームの総移動距離を算出し、その総移動距離が最小となる組合せを見出すことが考えられる。しかしながら、その組合せ数は極めて多く、特定の情報処理装置で全ての組合せについて総移動距離を算出するには、膨大な時間が必要となる。そこで、全チームの総移動距離を低減させたスケジュールを短期間に決定できるように、一定の条件を定めてその条件下でスケジュールを決定するスポーツスケジューリング理論の研究がなされている(例えば、非特許文献1を参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Easton, K.; Nemhauser, G.; and Trick, M. 2001. The traveling tournament problem: description and benchmarks. Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming 580-584.
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、例えばプロ野球のリーグでは、リーグ内の総当り戦に加えて、リーグ間の交流戦が行われている。しかしながら、リーグ間の交流戦について全チームの総移動距離を低減させるようにスケジュールを決定することについてはまだ研究がなされていなかった。また、リーグ内の総当たり戦では、各チームがリーグ内の自身以外のチームとの間で試合を行うが、リーグ間の交流戦では、各チームが他のリーグの全チームとの間で試合を行う。そのため、リーグ内の総当り戦とリーグ間の交流戦ではスケジューリングの条件が異なり、リーグ内の総当り戦における理論をリーグ間の交流戦に単に適用することはできない。従って、従来、リーグ間の交流戦について全チームの総移動距離を低減させたスケジュールを短期間に決定することはできなかった。
【0005】
そこで、本発明の目的は、複数のメンバをそれぞれ含む複数のグループ間での各メンバの総当りの試合について全てのメンバの総移動距離をより低減させた日程を短期間に決定することが可能な情報処理装置、日程決定方法及びそのような日程決定方法をコンピュータに実行させるコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0006】
本発明に係る情報処理装置は、第1の複数のメンバを含む第1グループ及び第1グループに含まれる第1の複数のメンバと試合を行う、第1の複数のメンバと異なる第2の複数のメンバを含む第2グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部と、第1グループに含まれる第1の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するクラスタ組合せ抽出部と、クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての距離の総和の合計を算出する本拠地間距離算出部と、全てのクラスタ組合せのうち距離の総和の合計が最も小さいクラスタ組合せに基づいて第1グループに含まれる第1の複数のメンバを複数のクラスタに分類する第1分類部と、第2グループに含まれる第2の複数のメンバから第1分類部が分類した複数のクラスタのうちの1つである第1クラスタと同数のメンバからなる第2クラスタを抽出する第2分類部と、第2クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、第1クラスタ内の全てのメンバの本拠地に第2クラスタ内の他のメンバと重複しないように順次移動し、出発した本拠地に戻る全ての移動組合せを抽出する移動組合せ抽出部と、移動組合せのそれぞれについて、第2クラスタ内の各メンバの移動距離を算出し、第2クラスタ内の全てのメンバについての移動距離の総和を算出する移動距離算出部と、移動組合せのうち移動距離の総和が最も小さい移動組合せに基づいて、第2クラスタ内の各メンバと第1クラスタ内の各メンバとの当該第1クラスタ内の各メンバの本拠地における試合の日程を決定する日程決定部と、日程決定部が決定した日程を表示する表示部と、を有する。
【0007】
また、本発明に係る日程決定方法は、第1の複数のメンバを含む第1グループ及び第1グループに含まれる第1の複数のメンバと試合を行う、第1の複数のメンバと異なる第2の複数のメンバを含む第2グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部から第1の複数のメンバ及び第2の複数のメンバを本拠地の位置とともに読み出すステップと、第1グループに含まれる第1の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するステップと、クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての距離の総和の合計を算出するステップと、全てのクラスタ組合せのうち距離の総和の合計が最も小さいクラスタ組合せに基づいて第1グループに含まれる第1の複数のメンバを複数のクラスタに分類する第1分類ステップと、第2グループに含まれる第2の複数のメンバから第1分類ステップにおいて分類された複数のクラスタのうちの1つである第1クラスタと同数のメンバからなる第2クラスタを抽出する第2分類ステップと、第2クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、第1クラスタ内の全てのメンバの本拠地に第2クラスタ内の他のメンバと重複しないように順次移動し、出発した本拠地に戻る全ての移動組合せを抽出するステップと、移動組合せのそれぞれについて、第2クラスタ内の各メンバの移動距離を算出し、第2クラスタ内の全てのメンバについての移動距離の総和を算出するステップと、移動組合せのうち移動距離の総和が最も小さい移動組合せに基づいて、第2クラスタ内の各メンバと第1クラスタ内の各メンバとの当該第1クラスタ内の各メンバの本拠地における試合の日程を決定するステップと、決定された日程を表示部に表示させるステップと、を含む。
【0008】
また、本発明に係るコンピュータプログラムは、第1の複数のメンバを含む第1グループ及び第1グループに含まれる第1の複数のメンバと試合を行う、第1の複数のメンバと異なる第2の複数のメンバを含む第2グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部から第1の複数のメンバ及び第2の複数のメンバを本拠地の位置とともに読み出すステップと、第1グループに含まれる第1の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するステップと、クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての距離の総和の合計を算出するステップと、全てのクラスタ組合せのうち距離の総和の合計が最も小さいクラスタ組合せに基づいて第1グループに含まれる第1の複数のメンバを複数のクラスタに分類する第1分類ステップと、第2グループに含まれる第2の複数のメンバから第1分類ステップにおいて分類された複数のクラスタのうちの1つである第1クラスタと同数のメンバからなる第2クラスタを抽出する第2分類ステップと、第2クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、第1クラスタ内の全てのメンバの本拠地に第2クラスタ内の他のメンバと重複しないように順次移動し、出発した本拠地に戻る全ての移動組合せを抽出するステップと、移動組合せのそれぞれについて、第2クラスタ内の各メンバの移動距離を算出し、第2クラスタ内の全てのメンバについての移動距離の総和を算出するステップと、移動組合せのうち移動距離の総和が最も小さい移動組合せに基づいて、第2クラスタ内の各メンバと第1クラスタ内の各メンバとの当該第1クラスタ内の各メンバの本拠地における試合の日程を決定するステップと、決定された日程を表示部に表示させるステップと、をコンピュータに実行させる。
【発明の効果】
【0009】
本発明によれば、複数のメンバをそれぞれ含む複数のグループ間での各メンバの総当りの試合について全てのメンバの総移動距離をより低減させた日程を短期間に決定することが可能な情報処理装置、日程決定方法及びそのような日程決定方法をコンピュータに実行させるコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【0010】
【図1】本発明を適用した情報処理装置の概略構成図である。
【図2】各グループのメンバ及びその本拠地の位置の例を示す模式図である。
【図3】(a)、(b)は、各チームの試合の日程を説明するための模式図である。
【図4】情報処理装置による日程決定処理の動作を示すフローチャートである。
【図5】第1グループの各チームをクラスタに分類した例を示す模式図である。
【図6】アウェイ側のチームの試合する順番を説明するための模式図である。
【図7】移動組合せ抽出部が抽出する移動組合せを説明するための模式図である。
【図8】(a)、(b)は、各チームの試合の日程の例を示す模式図である。
【発明を実施するための形態】
【0011】
以下、本発明に係る情報処理装置、日程決定方法及びコンピュータプログラムについて図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【0012】
図1は、本発明を適用した情報処理装置の概略構成を示す図である。情報処理装置1は、それぞれ本拠地を有する複数のメンバをそれぞれ含む複数のグループ間での総当りの試合についての日程を決定する。そのために、情報処理装置1は、図1に示すように、入力部11、表示部12、記憶部13及び制御部20を有する。以下、情報処理装置1の各部について詳細に説明する。
【0013】
入力部11は、キーボード、マウス等の入力装置及び入力装置から信号を取得するインターフェース回路を有し、制御部20と接続され、利用者の操作に応じた信号を制御部20に出力する。
【0014】
表示部12は、液晶等のディスプレイ及びディスプレイに情報を出力するインターフェース回路を有し、制御部20と接続され、記憶部13に記憶されている各種の情報をディスプレイに表示する。
【0015】
記憶部13は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶部13には、情報処理装置1の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。記憶部13は、制御部20と接続され、制御部20によりなされた各種の演算結果を格納する。また、記憶部13は、入力部11を介して利用者から入力された、各グループ毎に各メンバの名称等の識別情報と各メンバの本拠地の位置情報(例えば、経度及び緯度の情報)とを対応付けて記憶する。なお、グループの数は2以上とし、各グループに含まれるメンバの数は3以上とする。
【0016】
図2は、各グループに含まれるメンバ及びその本拠地の位置の例を示す模式図である。図2の模式図200には、メンバとして6つのチームC1〜C6を含む第1グループと、6つのチームP1〜P6を含む第2グループが示される。第1グループにおいて、C1は広島に、C2は兵庫に、C3は愛知に、C4は横浜に、C5は東京(新宿区)に、C6は東京(文京区)にそれぞれ本拠地を有し、各チームの本拠地は西側(図2の左側)からC1〜C6の順に並んでいる。一方、第2グループにおいて、P1は福岡に、P2は大阪に、P3は埼玉に、P4は千葉に、P5は宮城に、P6は北海道にそれぞれ本拠地を有し、各チームの本拠地は西側(図2の左側)からP1〜P6の順に並んでいる。
【0017】
制御部20は、プロセッサ及びその周辺回路を有し、一方のグループに含まれるチームと他方のグループに含まれるチームとの間の総当りの試合について日程を決定する。また、制御部20は、入力部11、表示部12及び記憶部13と接続され、入力部11の入力制御、表示部12の表示制御、記憶部13の制御等を行う。制御部20は、予め記憶部13に記憶されているプログラムに基づいて動作する。さらに、制御部20は、集積回路、マイクロプロセッサ、ファームウェア等で構成されてもよい。
【0018】
図3(a)、(b)は、制御部20が決定する、第1グループと第2グループの各チームの試合の日程を説明するための模式図である。図3(a)の日程表300では、左端の列301に第2グループの各チームが示される。また、先頭行302に第2グループの各チームが相手チームの本拠地に移動する側(以下、アウェイ側と称する)か本拠地側(以下、ホーム側と称する)かが示され、先頭行302の次行303にカードの番号R1〜R12が示される。ここで、カードとは同一チーム同士による連続した試合(例えば、2又は3試合)のことをいう。そして、列301に示された第2グループの各チームが試合する第1グループのチームが、各行のカード毎に決定される。
【0019】
同様に、図3(b)の日程表310では、左端の列311に第1グループの各チームが示され、先頭行312に第1グループの各チームがアウェイ側かホーム側かが示され、先頭行312の次行313にカードの番号R1〜R12が示される。そして、列311に示された第1グループの各チームが試合する第2グループのチームが、各行のカード毎に決定される。
【0020】
つまり、日程表300は第2グループの各チームから見た日程表であり、日程表310は第1グループの各チームから見た日程表であり、それぞれの日程表は同じ日程を表している。
【0021】
なお、制御部20は、各チームの公平性を維持するために、以下の条件に従って日程を決定する。第1の条件は、各チームが4カード以上連続して自身の本拠地で試合を行わないこと及び4カード以上連続して相手の本拠地で試合を行わないことである。制御部20は、第1の条件を満たすように、日程表300、310において、R1〜R3、R4〜R6、R7〜R9、R10〜R12で3カードずつホーム側でのカードとアウェイ側でのカードを切り替える(以下、一方のグループのチームが連続してホーム側又はアウェイ側となる連続するカードをブロックと称する)。第2の条件は、同一カードが連続しないことである。第3の条件は、全てのチームと2カードずつ(ホーム側で1カード、アウェイ側で1カード)試合することである。第4の条件は、ある時点から連続する6カードにおいて、相手のグループの全てのチームと1カードずつ試合することである。第5の条件は、連続する6カードにおいて、ホーム側でのカード数とアウェイ側でのカード数の差の絶対値が2以下であることである。日程表300、310では、3カードずつホーム側でのカードとアウェイ側でのカードが切り替わるため、第5の条件も満たされている。
【0022】
さらに、説明を容易にするために、日程表300、310において、一つのブロックに係る期間(つまり、R1〜R3、R4〜R6、R7〜R9、R10〜R12のそれぞれ)に行われる試合は、全て、一方のグループに含まれるチームをホーム側とし、他方のグループに含まれるチームをアウェイ側とする。
【0023】
図1に示すように、制御部20は、クラスタ組合せ抽出部21、本拠地間距離算出部22、第1分類部23、第2分類部24、移動組合せ抽出部25、移動距離算出部26及び日程決定部27を有する。これらの各部は、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。なお、これらの各部は、それぞれ独立した集積回路、マイクロプロセッサ、ファームウェア等で構成されてもよい。
【0024】
図4は、情報処理装置1による日程決定処理の動作を示すフローチャートである。以下、図4に示したフローチャートを参照しつつ、日程決定処理の動作を説明する。なお、以下に説明する動作のフローは、予め記憶部13に記憶されているプログラムに基づき主に制御部20により情報処理装置1の各要素と協働して実行される。
【0025】
最初に、制御部20は、記憶部13から第1グループの各チームC1〜C6及び第2グループの各チームP1〜P6の識別情報と本拠地の位置情報とを読み出す(ステップS401)。
【0026】
次に、クラスタ組合せ抽出部21は、第1グループと第2グループのそれぞれについて、各チームを複数の小グループ(以下、クラスタと称する)に分類する組合せ(以下、クラスタ組合せと称する)を全て抽出する(ステップS402)。
【0027】
なお、各クラスタは、それぞれ予め定められた数のチームからなる。このクラスタは、アウェイ側のチームが各ブロックで連続して試合を行うホーム側のチームをまとめた小グループであり、クラスタ内のチーム数は、例えば、上記の第1の条件を考慮して3チームとすることができる。その場合、(C1、C2、C3)と(C4、C5、C6)、(C1、C2、C4)と(C3、C5、C6)、(C1、C2、C5)と(C3、C4、C6)、(C1、C2、C6)と(C3、C4、C5)、(C1、C3、C4)と(C2、C5、C6)、(C1、C3、C5)と(C2、C4、C6)、(C1、C3、C6)と(C2、C4、C5)、(C1、C4、C5)と(C2、C3、C6)、(C1、C4、C6)と(C2、C3、C5)、(C1、C5、C6)と(C2、C3、C4)の全10通りの組合せが抽出される。
【0028】
次に、本拠地間距離算出部22は、クラスタ組合せのそれぞれについて、クラスタ毎にそのクラスタに含まれるチームの全ての本拠地間の距離の総和を算出する(ステップS403)。例えば、C1〜C3からなるクラスタについては、C1−C2、C2−C3、C3−C1の本拠地間の距離の総和が算出される。
【0029】
次に、本拠地間距離算出部22は、クラスタ組合せのそれぞれについて、そのクラスタ組合せに係る全てのクラスタについて、ステップS403で算出した本拠地間の距離の総和の合計を算出する(ステップS404)。つまり、C1〜C3からなるクラスタとC4〜C6からなるクラスタとによるクラスタ組合せの場合、C1−C2、C2−C3、C3−C1の本拠地間の距離の総和と、C4−C5、C5−C6、C6−C1の本拠地間の距離の総和の合計が算出される。
【0030】
次に、第1分類部23は、各グループに含まれるチームを、全てのクラスタ組合せのうち、ステップS403で算出された、本拠地間の距離の総和の合計が最も小さいクラスタ組合せに係るクラスタに分類する(ステップS405)。
【0031】
図5は、第1グループに含まれる各チームをクラスタに分類した例を示す模式図である。図5の模式図500に示す例では、第1グループに含まれる各チームは、C1〜C3からなるクラスタと、C4〜C6からなるクラスタに分類される。同様に、第2グループに含まれる各チームは、P1〜P3からなるクラスタと、P4〜P6からなるクラスタに分類される。模式図500に示すように、各グループ内のチームは、本拠地の位置が近接するチーム毎に分類される。
【0032】
図6は、第2グループに含まれるチームがアウェイ側である場合に第1グループに含まれる各チームと試合する順番を説明するための模式図である。図6の模式図600に示すように、第2グループに含まれるチームP5は、あるブロックではC1〜C3と連続して試合を行い、他のブロックではC4〜C6と連続して試合を行うように移動する。各クラスタは本拠地の位置が近接したチーム毎に分類されているので、P5はこのように移動することにより、アウェイ側であるときの移動距離を短くすることができる。
【0033】
次に、第2分類部24は、アウェイ側のグループの各チームを、ステップS405で分類された、ホーム側のグループの各クラスタに対応付けて、対応するクラスタと同数のチームからなるクラスタに分類する(ステップS406)。なお、このステップは、一方のグループが連続してアウェイ側となる期間毎(R1〜R3、R4〜R6、R7〜R9、10〜R12)に実施される。
【0034】
例えば、第2分類部24は、第1グループがアウェイ側となる場合、第1グループの各チームをC1〜C3からなるクラスタとC4〜C6からなるクラスタに分類し、第2グループがアウェイ側となる場合、第2グループの各チームをP1〜P3からなるクラスタとP4〜P6からなるクラスタに分類する。同一クラスタに分類されたアウェイ側の各チームは、同一ブロックにおいて、ホーム側の同一クラスタ内の各チームと試合を行う。
【0035】
なお、アウェイ側の各クラスタは、ホーム側の各クラスタとチーム数が同数であればどのような構成にしてもよく、各グループのクラスタの構成は、アウェイ側のときとホーム側のときで異なっていてもよい。例えば、第1グループの各チームを、ホーム側ではC1、C2、C3からなるクラスタとC4、C5、C6からなるクラスタに分類し、アウェイ側ではC1、C3、C5からなるクラスタとC2、C4、C6からなるクラスタに分類してもよい。また、アウェイ側のクラスタの構成は、各ブロック毎に変更してもよい。
【0036】
以下のステップS407〜S411の処理は、対応するアウェイ側のクラスタとホーム側のクラスタに対して実施される。
【0037】
移動組合せ抽出部25は、アウェイ側のクラスタ内の各チームが、それぞれ、そのチームの本拠地から出発し、対応するホーム側のクラスタ内の全てのチームの本拠地に順次移動し、出発した本拠地に戻る移動組合せを全て抽出する(ステップS407)。
【0038】
なお、移動組合せ抽出部25は、アウェイ側のクラスタ内の各チームが、そのクラスタ内の他のチームと重複しないようにホーム側の各チームの本拠地を移動する組合せのみを抽出する。さらに、移動組合せ抽出部25は、上記の第2の条件を満たすように、同一カードが連続しない組合せのみを抽出する。
【0039】
図7は、移動組合せ抽出部25が抽出する移動組合せを説明するための模式図である。図7に示す日程表701〜712は、図3(a)に示す日程表300の点線で囲まれた範囲304において、アウェイ側のクラスタ内の各チームP1〜P3が、ホーム側のクラスタ内の各チームC1〜C3の本拠地を移動する全ての組合せを表す。図7に示すように、3チームからなるクラスタ間では、日程表701〜712の全12通りの移動組合せが抽出される。
【0040】
次に、移動距離算出部26は、移動組合せ抽出部25が抽出した移動組合せのそれぞれについて、アウェイ側のクラスタ内の各チームの移動距離を算出する(ステップS408)。なお、この移動距離の算出において、各チームの移動開始位置及び移動終了位置は各チームの本拠地とし、移動距離には自身の本拠地と最初の試合の相手チームの本拠地との間の距離、及び最初の試合の相手チームの本拠地と自身の本拠地との間の距離が含まれる。例えば、図7に示す日程表701のように、ホーム側のクラスタがチームC1、C2、C3からなり、チームP1がチームC1、C2、C3の順に移動する場合、P1−C1、C1−C2、C2−C3、C3−P1の本拠地間の距離の総和が算出される。
【0041】
次に、移動距離算出部26は、移動組合せのそれぞれについて、ステップS408で算出した移動距離の、アウェイ側のクラスタ内の全チームについての総和を算出する(ステップS409)。例えば、図7に示す日程表701の移動組合せでは、P1−C1、C1−C2、C2−C3、C3−P1の本拠地間の距離と、P2−C2、C2−C3、C3−C1、C1−P2の本拠地間の距離と、P3−C3、C3−C1、C1−C2、C2−P3の本拠地間の距離との総和が算出される。
【0042】
次に、日程決定部27は、全ての移動組合せのうちステップS409で算出される移動距離の総和が最も小さい移動組合せに従って、アウェイ側のクラスタ内の各チームがホーム側のクラスタ内の各チームと試合するように、アウェイ側のクラスタ内の各チームとホーム側のクラスタ内の各チームとの試合の日程を決定する(ステップS410)。
【0043】
次に、制御部20は、同一ブロックに係る期間において全てのクラスタの日程を決定したか否かを判定し(ステップS411)、まだ日程を決定していないクラスタがある場合、ステップS407へ移行し、まだ日程を決定していないクラスタについてステップS407〜S411の処理を繰り返す。
【0044】
なお、制御部20は、最初のステップS407〜S410の処理により、図3(a)に示す範囲304の日程を決定し、2回目のステップS407〜S410の処理により、範囲305の日程を決定する。つまり、制御部20は、2回目のステップS407〜S410の処理では、P4〜P6からなるクラスタとC4〜C6からなるクラスタとの試合の日程を決定する。
【0045】
一方、同一ブロックに係る期間において全てのクラスタの日程を決定した場合、制御部20は、全てのブロックに係る期間の日程を決定したか否かを判定する(ステップS412)。制御部20は、まだ日程を決定していない期間がある場合、ステップS406へ移行し、まだ日程を決定していない期間についてステップS406〜S412の処理を繰り返す。
【0046】
なお、制御部20は、最初のステップS406〜S411の処理により、第2グループをアウェイ側、第1グループをホーム側として、図3(a)に示す範囲304及び範囲305の日程を決定する。
【0047】
また、制御部20は、2回目のステップS406〜S411の処理により、第1グループをアウェイ側、第2グループをホーム側として図3(b)に示す範囲314及び範囲315の日程を決定する。このとき、制御部20は、上記の第4の条件を満たすように、範囲314をC1〜C3からなるクラスタとP4〜P6からなるクラスタとの試合とし、範囲315をC4〜C6からなるクラスタとP1〜P3からなるクラスタとの試合とする。
【0048】
また、制御部20は、3回目のステップS406〜S411の処理により、第2グループをアウェイ側、第1グループをホーム側として図3(a)に示す範囲306及び範囲307の日程を決定する。このとき、制御部20は、上記の第3の条件を満たすように、範囲306ではP1〜P3からなるクラスタとC4〜C6からなるクラスタとの試合とし、範囲307ではP4〜P6からなるクラスタとC1〜C3からなるクラスタとの試合とする。また、移動組合せ抽出部25は、上記の第2の条件を満たすように、抽出する試合組合せから、R6で行われるカードと同一のカードがR7で行われる組合せを除外する。
【0049】
また、制御部20は、4回目のステップS406〜S411の処理により、第1グループをアウェイ側、第2グループをホーム側として図3(b)に示す範囲316及び範囲317の日程を決定する。このとき、制御部20は、上記の第4の条件を満たすように、範囲316をC1〜C3からなるクラスタとP1〜P3からなるクラスタとの試合とし、範囲317をC4〜C6からなるクラスタとP4〜P6からなるクラスタとの試合とする。
【0050】
図8(a)、(b)は、制御部20が決定した、第1グループと第2グループの各チームの試合の日程の例を示す模式図である。図8(a)の日程表800は、第2グループの各チームから見た日程であり、図8(b)の日程表810は、第1グループの各チームから見た日程である。
【0051】
日程表800、810では、ブロックR1〜R3、R7〜R9においてホーム側の第1グループの各チームはC1〜C3からなるクラスタとC4〜C6からなるクラスタとに分類され、アウェイ側の第2グループの各チームはP1〜P3からなるクラスタとP4〜P6からなるクラスタとに分類される。一方、ブロックR4〜R6、R10〜R12においてホーム側の第2グループの各チームはP1〜P3からなるクラスタとP4〜P6からなるクラスタとに分類され、アウェイ側の第1グループの各チームはC1〜C3からなるクラスタとC4〜C6からなるクラスタとに分類される。
【0052】
そして、日程表800、810では、上記の第1の条件から第5の条件を満たすとともに、各ブロックにおいてアウェイ側の各チームがホーム側の各チームの本拠地を効率よく移動できるように日程が定められる。
【0053】
全てのブロックにかかる期間の日程を決定した場合、制御部20は、決定した日程を表示部12に表示し(ステップS413)、一連のステップを終了する。なお、制御部20は、決定した日程を不図示の通信部を介して外部の装置に出力してもよい。その場合、決定した日程を外部の装置で表示することもできる。
【0054】
以上詳述したように、図4に示したフローチャートに従って動作することによって、情報処理装置1は、複数のメンバをそれぞれ含む複数のグループ間での各メンバの総当りの試合についての日程を決定することが可能となった。
【0055】
情報処理装置1は、各グループのメンバをクラスタに分類し、クラスタ単位で最適な日程を求めることにより、全ての試合の組合せについて全メンバの総移動距離を算出する必要がなくなり、短期間に日程を決定することが可能となった。例えば、日本プロ野球の交流戦(各チームが相手側のリーグの全チームとホーム側とアウェイ側で1カードずつ試合を実施)の日程は、2.1GHzのシングルプロセッサ及び2.75GバイトのRAMを用いたWindows(登録商標)ノートPCにおいて、Maplesoft(登録商標)により1日弱で求めることが可能となる。
【0056】
また、図4に示したフローチャートに従って決定した日程は、無作為に定めた日程より全メンバの総移動距離を低減させることが可能となる。例えば、2010年の日本プロ野球の交流戦における全チームの総移動距離は51134kmであった。これに対して、本実施形態の日程決定処理により決定した日程に基づいて試合を行う場合、全チームの総移動距離は45596kmとなり、10%以上低減することが可能となる。これにより、各チームの移動距離を低減できるので、移動に係る時間及び費用を削減することができ、ひいては温室効果ガスの排出量を低減することができる。
【0057】
この情報処理装置1は、特に、日本のプロ野球をはじめ、米国のプロ野球リーグ(MLB)、米国のプロバスケットボールリーグ(NBA)等における日程の作成代行業務等において利用することができる。
【0058】
なお、制御部20が決定する日程は、上記の第1の条件から第5の条件のうち一部の条件を満たさなくてもよく、一部の条件が異なるものでもよい。また、同一期間に行われるカードを全て一方のグループ内のチームの本拠地で行うのではなく、一部の試合は他方のグループ内のチームの本拠地で行うようにしてもよい。
【0059】
例えば、第1の条件として、自身の本拠地又は相手の本拠地で連続して試合を行うカード数は、4カード以上としてもよい。その場合、各クラスタ内のチーム数は4チーム以上としてもよい。
【0060】
あるいは、クラスタ内のチーム数は2チームとしてもよい。特に第2グループがホーム側になる場合、P1とP2、P3とP4、P5とP6をそれぞれ同一クラスタとすることにより、第1グループの各チームはより効率よく移動でき、総移動距離をより低減できる。なお、クラスタ内のチームが2チームである場合、ステップS403において本拠地間距離算出部22は、その2チームの本拠地間の距離を、そのクラスタに含まれるチームの全ての本拠地間の距離の総和とする。
【0061】
また、全てのカードを図4に示したフローチャートに従って決定するのではなく、一部のカードのみ図4に示したフローチャートに従って決定してもよい。その場合、図4に示したフローチャートに従って決定しないカードは、ホーム側のチームの本拠地の位置を考慮せず、第1の条件から第5の条件等の他の条件のみを満たすように決定する。
【0062】
また、各クラスタ内のチーム数を、クラスタ毎に異なる数にしてもよい。例えば、8チームからなるグループの各チームを3チーム、3チーム、2チームからなるクラスタに分類してもよい。その場合、2チームからなるクラスタ間のカードは、3チームからなるクラスタ間のカードより先に終了するので、2チームからなるクラスタ内の各チームは3チームからなるクラスタ内の各チームより先にホーム側とアウェイ側を入れ替えて日程を調整する。
【0063】
また、各グループに含まれるチーム数は、それぞれ異なっていてもよい。例えば、一方のグループが8チームからなり、他方のグループが7チームからなる場合、制御部20は、8チームからなるグループの各チームを3チーム、3チーム、2チームからなるクラスタに分類し、7チームからなるグループの各チームを3チーム、3チーム、1チームからなるクラスタに分類する。そして、3チームからなるクラスタ間のカードのみ図4に示したフローチャートに従って決定し、他のカードはホーム側のチームの本拠地の位置を考慮せずに決定する。
【0064】
また、第1分類部23は、各ブロックに係る期間毎にホーム側のチームのクラスタを分類しなおしてもよい。これにより、特定の期間に特定のチームの本拠地が使用できない場合に柔軟に日程を調整することができる。例えば、所定のブロックにおいて特定のチームの本拠地が使用できない場合、第1分類部23が分類する各クラスタのうち1つのクラスタのチーム数を1つ減らすとともに、本拠地を使用できないチームの本拠地の位置を現実の位置から遠く離れた位置(例えば、日本国外の位置)に設定する。これにより、そのチームは他のチームと同一のクラスタに含まれず、図4に示すフローチャートに従って決定するカードからそのチームの本拠地におけるカードを除外することができる。
【符号の説明】
【0065】
1 情報処理装置
11 入力部
12 表示部
13 記憶部
20 制御部
21 クラスタ組合せ抽出部
22 本拠地間距離算出部
23 第1分離部
24 第2分離部
25 移動組合せ抽出部
26 移動距離算出部
27 日程決定部

【特許請求の範囲】
【請求項1】
第1の複数のメンバを含む第1グループ及び前記第1グループに含まれる第1の複数のメンバと試合を行う、前記第1の複数のメンバと異なる第2の複数のメンバを含む第2グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部と、
前記第1グループに含まれる第1の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するクラスタ組合せ抽出部と、
前記クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての前記距離の総和の合計を算出する本拠地間距離算出部と、
前記全てのクラスタ組合せのうち前記距離の総和の合計が最も小さいクラスタ組合せに基づいて前記第1グループに含まれる第1の複数のメンバを複数のクラスタに分類する第1分類部と、
前記第2グループに含まれる第2の複数のメンバから前記第1分類部が分類した前記複数のクラスタのうちの1つである第1クラスタと同数のメンバからなる第2クラスタを抽出する第2分類部と、
前記第2クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、前記第1クラスタ内の全てのメンバの本拠地に前記第2クラスタ内の他のメンバと重複しないように順次移動し、前記出発した本拠地に戻る全ての移動組合せを抽出する移動組合せ抽出部と、
前記移動組合せのそれぞれについて、前記第2クラスタ内の各メンバの移動距離を算出し、前記第2クラスタ内の全てのメンバについての前記移動距離の総和を算出する移動距離算出部と、
前記移動組合せのうち前記移動距離の総和が最も小さい移動組合せに基づいて、前記第2クラスタ内の各メンバと前記第1クラスタ内の各メンバとの当該第1クラスタ内の各メンバの本拠地における試合の日程を決定する日程決定部と、
前記日程決定部が決定した日程を表示する表示部と、
を有する情報処理装置。
【請求項2】
第1の複数のメンバを含む第1グループ及び前記第1グループに含まれる第1の複数のメンバと試合を行う、前記第1の複数のメンバと異なる第2の複数のメンバを含む第2グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部から前記第1の複数のメンバ及び前記第2の複数のメンバを本拠地の位置とともに読み出すステップと、
前記第1グループに含まれる第1の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するステップと、
前記クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての前記距離の総和の合計を算出するステップと、
前記全てのクラスタ組合せのうち前記距離の総和の合計が最も小さいクラスタ組合せに基づいて前記第1グループに含まれる第1の複数のメンバを複数のクラスタに分類する第1分類ステップと、
前記第2グループに含まれる第2の複数のメンバから前記第1分類ステップにおいて分類された前記複数のクラスタのうちの1つである第1クラスタと同数のメンバからなる第2クラスタを抽出する第2分類ステップと、
前記第2クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、前記第1クラスタ内の全てのメンバの本拠地に前記第2クラスタ内の他のメンバと重複しないように順次移動し、前記出発した本拠地に戻る全ての移動組合せを抽出するステップと、
前記移動組合せのそれぞれについて、前記第2クラスタ内の各メンバの移動距離を算出し、前記第2クラスタ内の全てのメンバについての前記移動距離の総和を算出するステップと、
前記移動組合せのうち前記移動距離の総和が最も小さい移動組合せに基づいて、前記第2クラスタ内の各メンバと前記第1クラスタ内の各メンバとの当該第1クラスタ内の各メンバの本拠地における試合の日程を決定するステップと、
前記決定された日程を表示部に表示させるステップと、
を含む日程決定方法。
【請求項3】
第1の複数のメンバを含む第1グループ及び前記第1グループに含まれる第1の複数のメンバと試合を行う、前記第1の複数のメンバと異なる第2の複数のメンバを含む第2グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部から前記第1の複数のメンバ及び前記第2の複数のメンバを本拠地の位置とともに読み出すステップと、
前記第1グループに含まれる第1の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するステップと、
前記クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての前記距離の総和の合計を算出するステップと、
前記全てのクラスタ組合せのうち前記距離の総和の合計が最も小さいクラスタ組合せに基づいて前記第1グループに含まれる第1の複数のメンバを複数のクラスタに分類する第1分類ステップと、
前記第2グループに含まれる第2の複数のメンバから前記第1分類ステップにおいて分類された前記複数のクラスタのうちの1つである第1クラスタと同数のメンバからなる第2クラスタを抽出する第2分類ステップと、
前記第2クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、前記第1クラスタ内の全てのメンバの本拠地に前記第2クラスタ内の他のメンバと重複しないように順次移動し、前記出発した本拠地に戻る全ての移動組合せを抽出するステップと、
前記移動組合せのそれぞれについて、前記第2クラスタ内の各メンバの移動距離を算出し、前記第2クラスタ内の全てのメンバについての前記移動距離の総和を算出するステップと、
前記移動組合せのうち前記移動距離の総和が最も小さい移動組合せに基づいて、前記第2クラスタ内の各メンバと前記第1クラスタ内の各メンバとの当該第1クラスタ内の各メンバの本拠地における試合の日程を決定するステップと、
前記決定された日程を表示部に表示させるステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図7】
image rotate

【図8】
image rotate

【図2】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−37443(P2013−37443A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−171261(P2011−171261)
【出願日】平成23年8月4日(2011.8.4)
【出願人】(504202472)大学共同利用機関法人情報・システム研究機構 (119)