(57)【特許請求の範囲】
【請求項１】
第１の複数のメンバを含む第１グループ及び前記第１グループに含まれる第１の複数のメンバと試合を行う、前記第１の複数のメンバと異なる第２の複数のメンバを含む第２グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部と、
前記第１グループに含まれる第１の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するクラスタ組合せ抽出部と、
前記クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての前記距離の総和の合計を算出する本拠地間距離算出部と、
前記全てのクラスタ組合せのうち前記距離の総和の合計が最も小さいクラスタ組合せに基づいて前記第１グループに含まれる第１の複数のメンバを複数のクラスタに分類する第１分類部と、
前記第２グループに含まれる第２の複数のメンバから前記第１分類部が分類した前記複数のクラスタのうちの１つである第１クラスタと同数のメンバからなる第２クラスタを抽出する第２分類部と、
前記第２クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、前記第１クラスタ内の全てのメンバの本拠地に前記第２クラスタ内の他のメンバと重複しないように順次移動し、前記出発した本拠地に戻る全ての移動組合せを抽出する移動組合せ抽出部と、
前記移動組合せのそれぞれについて、前記第２クラスタ内の各メンバの移動距離を算出し、前記第２クラスタ内の全てのメンバについての前記移動距離の総和を算出する移動距離算出部と、
前記移動組合せのうち前記移動距離の総和が最も小さい移動組合せに基づいて、前記第２クラスタ内の各メンバと前記第１クラスタ内の各メンバとの当該第１クラスタ内の各メンバの本拠地における試合の日程を決定する日程決定部と、
前記日程決定部が決定した日程を表示する表示部と、
を有する情報処理装置。
【請求項２】
第１の複数のメンバを含む第１グループ及び前記第１グループに含まれる第１の複数のメンバと試合を行う、前記第１の複数のメンバと異なる第２の複数のメンバを含む第２グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部から前記第１の複数のメンバ及び前記第２の複数のメンバを本拠地の位置とともに読み出すステップと、
前記第１グループに含まれる第１の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するステップと、
前記クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての前記距離の総和の合計を算出するステップと、
前記全てのクラスタ組合せのうち前記距離の総和の合計が最も小さいクラスタ組合せに基づいて前記第１グループに含まれる第１の複数のメンバを複数のクラスタに分類する第１分類ステップと、
前記第２グループに含まれる第２の複数のメンバから前記第１分類ステップにおいて分類された前記複数のクラスタのうちの１つである第１クラスタと同数のメンバからなる第２クラスタを抽出する第２分類ステップと、
前記第２クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、前記第１クラスタ内の全てのメンバの本拠地に前記第２クラスタ内の他のメンバと重複しないように順次移動し、前記出発した本拠地に戻る全ての移動組合せを抽出するステップと、
前記移動組合せのそれぞれについて、前記第２クラスタ内の各メンバの移動距離を算出し、前記第２クラスタ内の全てのメンバについての前記移動距離の総和を算出するステップと、
前記移動組合せのうち前記移動距離の総和が最も小さい移動組合せに基づいて、前記第２クラスタ内の各メンバと前記第１クラスタ内の各メンバとの当該第１クラスタ内の各メンバの本拠地における試合の日程を決定するステップと、
前記決定された日程を表示部に表示させるステップと、
を含む日程決定方法。
【請求項３】
第１の複数のメンバを含む第１グループ及び前記第１グループに含まれる第１の複数のメンバと試合を行う、前記第１の複数のメンバと異なる第２の複数のメンバを含む第２グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部から前記第１の複数のメンバ及び前記第２の複数のメンバを本拠地の位置とともに読み出すステップと、
前記第１グループに含まれる第１の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するステップと、
前記クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての前記距離の総和の合計を算出するステップと、
前記全てのクラスタ組合せのうち前記距離の総和の合計が最も小さいクラスタ組合せに基づいて前記第１グループに含まれる第１の複数のメンバを複数のクラスタに分類する第１分類ステップと、
前記第２グループに含まれる第２の複数のメンバから前記第１分類ステップにおいて分類された前記複数のクラスタのうちの１つである第１クラスタと同数のメンバからなる第２クラスタを抽出する第２分類ステップと、
前記第２クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、前記第１クラスタ内の全てのメンバの本拠地に前記第２クラスタ内の他のメンバと重複しないように順次移動し、前記出発した本拠地に戻る全ての移動組合せを抽出するステップと、
前記移動組合せのそれぞれについて、前記第２クラスタ内の各メンバの移動距離を算出し、前記第２クラスタ内の全てのメンバについての前記移動距離の総和を算出するステップと、
前記移動組合せのうち前記移動距離の総和が最も小さい移動組合せに基づいて、前記第２クラスタ内の各メンバと前記第１クラスタ内の各メンバとの当該第１クラスタ内の各メンバの本拠地における試合の日程を決定するステップと、
前記決定された日程を表示部に表示させるステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、日程決定方法及びコンピュータプログラムに関し、特に、複数のチームをそれぞれ有する複数のグループ間の試合の日程を決定する情報処理装置、日程決定方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
プロ野球等のスポーツのリーグでは、年間を通してリーグ内の各チームの総当たり戦が行われる。各試合は対戦するチームの何れか一方の本拠地で行われるため、各チームは自身の本拠地とリーグ内の他チームの本拠地との間を頻繁に移動する。例えばプロ野球では、年間の試合数が多く、各チームの本拠地の位置は遠く離れているため、試合スケジュールによっては各チームの総移動距離が大きくなり、移動時間及び移動費用が膨大になる。従って、全てのチームの総移動距離を最小化するように年間の試合スケジュールを定めることが望ましい。そのためには、年間の試合スケジュールにおける全ての試合の組合せについて全チームの総移動距離を算出し、その総移動距離が最小となる組合せを見出すことが考えられる。しかしながら、その組合せ数は極めて多く、特定の情報処理装置で全ての組合せについて総移動距離を算出するには、膨大な時間が必要となる。そこで、全チームの総移動距離を低減させたスケジュールを短期間に決定できるように、一定の条件を定めてその条件下でスケジュールを決定するスポーツスケジューリング理論の研究がなされている（例えば、非特許文献１を参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】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.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、例えばプロ野球のリーグでは、リーグ内の総当り戦に加えて、リーグ間の交流戦が行われている。しかしながら、リーグ間の交流戦について全チームの総移動距離を低減させるようにスケジュールを決定することについてはまだ研究がなされていなかった。また、リーグ内の総当たり戦では、各チームがリーグ内の自身以外のチームとの間で試合を行うが、リーグ間の交流戦では、各チームが他のリーグの全チームとの間で試合を行う。そのため、リーグ内の総当り戦とリーグ間の交流戦ではスケジューリングの条件が異なり、リーグ内の総当り戦における理論をリーグ間の交流戦に単に適用することはできない。従って、従来、リーグ間の交流戦について全チームの総移動距離を低減させたスケジュールを短期間に決定することはできなかった。
【０００５】
そこで、本発明の目的は、複数のメンバをそれぞれ含む複数のグループ間での各メンバの総当りの試合について全てのメンバの総移動距離をより低減させた日程を短期間に決定することが可能な情報処理装置、日程決定方法及びそのような日程決定方法をコンピュータに実行させるコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、第１の複数のメンバを含む第１グループ及び第１グループに含まれる第１の複数のメンバと試合を行う、第１の複数のメンバと異なる第２の複数のメンバを含む第２グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部と、第１グループに含まれる第１の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するクラスタ組合せ抽出部と、クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての距離の総和の合計を算出する本拠地間距離算出部と、全てのクラスタ組合せのうち距離の総和の合計が最も小さいクラスタ組合せに基づいて第１グループに含まれる第１の複数のメンバを複数のクラスタに分類する第１分類部と、第２グループに含まれる第２の複数のメンバから第１分類部が分類した複数のクラスタのうちの１つである第１クラスタと同数のメンバからなる第２クラスタを抽出する第２分類部と、第２クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、第１クラスタ内の全てのメンバの本拠地に第２クラスタ内の他のメンバと重複しないように順次移動し、出発した本拠地に戻る全ての移動組合せを抽出する移動組合せ抽出部と、移動組合せのそれぞれについて、第２クラスタ内の各メンバの移動距離を算出し、第２クラスタ内の全てのメンバについての移動距離の総和を算出する移動距離算出部と、移動組合せのうち移動距離の総和が最も小さい移動組合せに基づいて、第２クラスタ内の各メンバと第１クラスタ内の各メンバとの当該第１クラスタ内の各メンバの本拠地における試合の日程を決定する日程決定部と、日程決定部が決定した日程を表示する表示部と、を有する。
【０００７】
また、本発明に係る日程決定方法は、第１の複数のメンバを含む第１グループ及び第１グループに含まれる第１の複数のメンバと試合を行う、第１の複数のメンバと異なる第２の複数のメンバを含む第２グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部から第１の複数のメンバ及び第２の複数のメンバを本拠地の位置とともに読み出すステップと、第１グループに含まれる第１の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するステップと、クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての距離の総和の合計を算出するステップと、全てのクラスタ組合せのうち距離の総和の合計が最も小さいクラスタ組合せに基づいて第１グループに含まれる第１の複数のメンバを複数のクラスタに分類する第１分類ステップと、第２グループに含まれる第２の複数のメンバから第１分類ステップにおいて分類された複数のクラスタのうちの１つである第１クラスタと同数のメンバからなる第２クラスタを抽出する第２分類ステップと、第２クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、第１クラスタ内の全てのメンバの本拠地に第２クラスタ内の他のメンバと重複しないように順次移動し、出発した本拠地に戻る全ての移動組合せを抽出するステップと、移動組合せのそれぞれについて、第２クラスタ内の各メンバの移動距離を算出し、第２クラスタ内の全てのメンバについての移動距離の総和を算出するステップと、移動組合せのうち移動距離の総和が最も小さい移動組合せに基づいて、第２クラスタ内の各メンバと第１クラスタ内の各メンバとの当該第１クラスタ内の各メンバの本拠地における試合の日程を決定するステップと、決定された日程を表示部に表示させるステップと、を含む。
【０００８】
また、本発明に係るコンピュータプログラムは、第１の複数のメンバを含む第１グループ及び第１グループに含まれる第１の複数のメンバと試合を行う、第１の複数のメンバと異なる第２の複数のメンバを含む第２グループについて各メンバをそれぞれの本拠地の位置と対応付けて記憶する記憶部から第１の複数のメンバ及び第２の複数のメンバを本拠地の位置とともに読み出すステップと、第１グループに含まれる第１の複数のメンバをそれぞれが所定数のメンバからなる複数のクラスタに分類する全てのクラスタ組合せを抽出するステップと、クラスタ組合せのそれぞれについて、クラスタ毎に当該クラスタに含まれるメンバの全ての本拠地間の距離の総和を算出し、当該クラスタ組合せに係る全てのクラスタについての距離の総和の合計を算出するステップと、全てのクラスタ組合せのうち距離の総和の合計が最も小さいクラスタ組合せに基づいて第１グループに含まれる第１の複数のメンバを複数のクラスタに分類する第１分類ステップと、第２グループに含まれる第２の複数のメンバから第１分類ステップにおいて分類された複数のクラスタのうちの１つである第１クラスタと同数のメンバからなる第２クラスタを抽出する第２分類ステップと、第２クラスタ内の各メンバが、それぞれ、当該メンバの本拠地から出発し、第１クラスタ内の全てのメンバの本拠地に第２クラスタ内の他のメンバと重複しないように順次移動し、出発した本拠地に戻る全ての移動組合せを抽出するステップと、移動組合せのそれぞれについて、第２クラスタ内の各メンバの移動距離を算出し、第２クラスタ内の全てのメンバについての移動距離の総和を算出するステップと、移動組合せのうち移動距離の総和が最も小さい移動組合せに基づいて、第２クラスタ内の各メンバと第１クラスタ内の各メンバとの当該第１クラスタ内の各メンバの本拠地における試合の日程を決定するステップと、決定された日程を表示部に表示させるステップと、をコンピュータに実行させる。
【発明の効果】
【０００９】
本発明によれば、複数のメンバをそれぞれ含む複数のグループ間での各メンバの総当りの試合について全てのメンバの総移動距離をより低減させた日程を短期間に決定することが可能な情報処理装置、日程決定方法及びそのような日程決定方法をコンピュータに実行させるコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明を適用した情報処理装置の概略構成図である。
【図２】各グループのメンバ及びその本拠地の位置の例を示す模式図である。
【図３】（ａ）、（ｂ）は、各チームの試合の日程を説明するための模式図である。
【図４】情報処理装置による日程決定処理の動作を示すフローチャートである。
【図５】第１グループの各チームをクラスタに分類した例を示す模式図である。
【図６】アウェイ側のチームの試合する順番を説明するための模式図である。
【図７】移動組合せ抽出部が抽出する移動組合せを説明するための模式図である。
【図８】（ａ）、（ｂ）は、各チームの試合の日程の例を示す模式図である。
【発明を実施するための形態】
【００１１】
以下、本発明に係る情報処理装置、日程決定方法及びコンピュータプログラムについて図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【００１２】
図１は、本発明を適用した情報処理装置の概略構成を示す図である。情報処理装置１は、それぞれ本拠地を有する複数のメンバをそれぞれ含む複数のグループ間での総当りの試合についての日程を決定する。そのために、情報処理装置１は、図１に示すように、入力部１１、表示部１２、記憶部１３及び制御部２０を有する。以下、情報処理装置１の各部について詳細に説明する。
【００１３】
入力部１１は、キーボード、マウス等の入力装置及び入力装置から信号を取得するインターフェース回路を有し、制御部２０と接続され、利用者の操作に応じた信号を制御部２０に出力する。
【００１４】
表示部１２は、液晶等のディスプレイ及びディスプレイに情報を出力するインターフェース回路を有し、制御部２０と接続され、記憶部１３に記憶されている各種の情報をディスプレイに表示する。
【００１５】
記憶部１３は、ＲＡＭ、ＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶部１３には、情報処理装置１の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。記憶部１３は、制御部２０と接続され、制御部２０によりなされた各種の演算結果を格納する。また、記憶部１３は、入力部１１を介して利用者から入力された、各グループ毎に各メンバの名称等の識別情報と各メンバの本拠地の位置情報（例えば、経度及び緯度の情報）とを対応付けて記憶する。なお、グループの数は２以上とし、各グループに含まれるメンバの数は３以上とする。
【００１６】
図２は、各グループに含まれるメンバ及びその本拠地の位置の例を示す模式図である。図２の模式図２００には、メンバとして６つのチームＣ1〜Ｃ6を含む第１グループと、６つのチームＰ1〜Ｐ6を含む第２グループが示される。第１グループにおいて、Ｃ1は広島に、Ｃ2は兵庫に、Ｃ3は愛知に、Ｃ4は横浜に、Ｃ5は東京（新宿区）に、Ｃ6は東京（文京区）にそれぞれ本拠地を有し、各チームの本拠地は西側（図２の左側）からＣ1〜Ｃ6の順に並んでいる。一方、第２グループにおいて、Ｐ1は福岡に、Ｐ2は大阪に、Ｐ3は埼玉に、Ｐ4は千葉に、Ｐ5は宮城に、Ｐ6は北海道にそれぞれ本拠地を有し、各チームの本拠地は西側（図２の左側）からＰ1〜Ｐ6の順に並んでいる。
【００１７】
制御部２０は、プロセッサ及びその周辺回路を有し、一方のグループに含まれるチームと他方のグループに含まれるチームとの間の総当りの試合について日程を決定する。また、制御部２０は、入力部１１、表示部１２及び記憶部１３と接続され、入力部１１の入力制御、表示部１２の表示制御、記憶部１３の制御等を行う。制御部２０は、予め記憶部１３に記憶されているプログラムに基づいて動作する。さらに、制御部２０は、集積回路、マイクロプロセッサ、ファームウェア等で構成されてもよい。
【００１８】
図３（ａ）、（ｂ）は、制御部２０が決定する、第１グループと第２グループの各チームの試合の日程を説明するための模式図である。図３（ａ）の日程表３００では、左端の列３０１に第２グループの各チームが示される。また、先頭行３０２に第２グループの各チームが相手チームの本拠地に移動する側（以下、アウェイ側と称する）か本拠地側（以下、ホーム側と称する）かが示され、先頭行３０２の次行３０３にカードの番号Ｒ1〜Ｒ12が示される。ここで、カードとは同一チーム同士による連続した試合（例えば、２又は３試合）のことをいう。そして、列３０１に示された第２グループの各チームが試合する第１グループのチームが、各行のカード毎に決定される。
【００１９】
同様に、図３（ｂ）の日程表３１０では、左端の列３１１に第１グループの各チームが示され、先頭行３１２に第１グループの各チームがアウェイ側かホーム側かが示され、先頭行３１２の次行３１３にカードの番号Ｒ1〜Ｒ12が示される。そして、列３１１に示された第１グループの各チームが試合する第２グループのチームが、各行のカード毎に決定される。
【００２０】
つまり、日程表３００は第２グループの各チームから見た日程表であり、日程表３１０は第１グループの各チームから見た日程表であり、それぞれの日程表は同じ日程を表している。
【００２１】
なお、制御部２０は、各チームの公平性を維持するために、以下の条件に従って日程を決定する。第１の条件は、各チームが４カード以上連続して自身の本拠地で試合を行わないこと及び４カード以上連続して相手の本拠地で試合を行わないことである。制御部２０は、第１の条件を満たすように、日程表３００、３１０において、Ｒ1〜Ｒ3、Ｒ4〜Ｒ6、Ｒ7〜Ｒ9、Ｒ10〜Ｒ12で３カードずつホーム側でのカードとアウェイ側でのカードを切り替える（以下、一方のグループのチームが連続してホーム側又はアウェイ側となる連続するカードをブロックと称する）。第２の条件は、同一カードが連続しないことである。第３の条件は、全てのチームと２カードずつ（ホーム側で１カード、アウェイ側で１カード）試合することである。第４の条件は、ある時点から連続する６カードにおいて、相手のグループの全てのチームと１カードずつ試合することである。第５の条件は、連続する６カードにおいて、ホーム側でのカード数とアウェイ側でのカード数の差の絶対値が２以下であることである。日程表３００、３１０では、３カードずつホーム側でのカードとアウェイ側でのカードが切り替わるため、第５の条件も満たされている。
【００２２】
さらに、説明を容易にするために、日程表３００、３１０において、一つのブロックに係る期間（つまり、Ｒ1〜Ｒ3、Ｒ4〜Ｒ6、Ｒ7〜Ｒ9、Ｒ10〜Ｒ12のそれぞれ）に行われる試合は、全て、一方のグループに含まれるチームをホーム側とし、他方のグループに含まれるチームをアウェイ側とする。
【００２３】
図１に示すように、制御部２０は、クラスタ組合せ抽出部２１、本拠地間距離算出部２２、第１分類部２３、第２分類部２４、移動組合せ抽出部２５、移動距離算出部２６及び日程決定部２７を有する。これらの各部は、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。なお、これらの各部は、それぞれ独立した集積回路、マイクロプロセッサ、ファームウェア等で構成されてもよい。
【００２４】
図４は、情報処理装置１による日程決定処理の動作を示すフローチャートである。以下、図４に示したフローチャートを参照しつつ、日程決定処理の動作を説明する。なお、以下に説明する動作のフローは、予め記憶部１３に記憶されているプログラムに基づき主に制御部２０により情報処理装置１の各要素と協働して実行される。
【００２５】
最初に、制御部２０は、記憶部１３から第１グループの各チームＣ1〜Ｃ6及び第２グループの各チームＰ1〜Ｐ6の識別情報と本拠地の位置情報とを読み出す（ステップＳ４０１）。
【００２６】
次に、クラスタ組合せ抽出部２１は、第１グループと第２グループのそれぞれについて、各チームを複数の小グループ（以下、クラスタと称する）に分類する組合せ（以下、クラスタ組合せと称する）を全て抽出する（ステップＳ４０２）。
【００２７】
なお、各クラスタは、それぞれ予め定められた数のチームからなる。このクラスタは、アウェイ側のチームが各ブロックで連続して試合を行うホーム側のチームをまとめた小グループであり、クラスタ内のチーム数は、例えば、上記の第１の条件を考慮して３チームとすることができる。その場合、（Ｃ1、Ｃ2、Ｃ3）と（Ｃ4、Ｃ5、Ｃ6）、（Ｃ1、Ｃ2、Ｃ4）と（Ｃ3、Ｃ5、Ｃ6）、（Ｃ1、Ｃ2、Ｃ5）と（Ｃ3、Ｃ4、Ｃ6）、（Ｃ1、Ｃ2、Ｃ6）と（Ｃ3、Ｃ4、Ｃ5）、（Ｃ1、Ｃ3、Ｃ4）と（Ｃ2、Ｃ5、Ｃ6）、（Ｃ1、Ｃ3、Ｃ5）と（Ｃ2、Ｃ4、Ｃ6）、（Ｃ1、Ｃ3、Ｃ6）と（Ｃ2、Ｃ4、Ｃ5）、（Ｃ1、Ｃ4、Ｃ5）と（Ｃ2、Ｃ3、Ｃ6）、（Ｃ1、Ｃ4、Ｃ6）と（Ｃ2、Ｃ3、Ｃ5）、（Ｃ1、Ｃ5、Ｃ6）と（Ｃ2、Ｃ3、Ｃ4）の全１０通りの組合せが抽出される。
【００２８】
次に、本拠地間距離算出部２２は、クラスタ組合せのそれぞれについて、クラスタ毎にそのクラスタに含まれるチームの全ての本拠地間の距離の総和を算出する（ステップＳ４０３）。例えば、Ｃ1〜Ｃ3からなるクラスタについては、Ｃ1−Ｃ2、Ｃ2−Ｃ3、Ｃ3−Ｃ1の本拠地間の距離の総和が算出される。
【００２９】
次に、本拠地間距離算出部２２は、クラスタ組合せのそれぞれについて、そのクラスタ組合せに係る全てのクラスタについて、ステップＳ４０３で算出した本拠地間の距離の総和の合計を算出する（ステップＳ４０４）。つまり、Ｃ1〜Ｃ3からなるクラスタとＣ4〜Ｃ6からなるクラスタとによるクラスタ組合せの場合、Ｃ1−Ｃ2、Ｃ2−Ｃ3、Ｃ3−Ｃ1の本拠地間の距離の総和と、Ｃ4−Ｃ5、Ｃ5−Ｃ6、Ｃ6−Ｃ1の本拠地間の距離の総和の合計が算出される。
【００３０】
次に、第１分類部２３は、各グループに含まれるチームを、全てのクラスタ組合せのうち、ステップＳ４０３で算出された、本拠地間の距離の総和の合計が最も小さいクラスタ組合せに係るクラスタに分類する（ステップＳ４０５）。
【００３１】
図５は、第１グループに含まれる各チームをクラスタに分類した例を示す模式図である。図５の模式図５００に示す例では、第１グループに含まれる各チームは、Ｃ1〜Ｃ3からなるクラスタと、Ｃ4〜Ｃ6からなるクラスタに分類される。同様に、第２グループに含まれる各チームは、Ｐ1〜Ｐ3からなるクラスタと、Ｐ4〜Ｐ6からなるクラスタに分類される。模式図５００に示すように、各グループ内のチームは、本拠地の位置が近接するチーム毎に分類される。
【００３２】
図６は、第２グループに含まれるチームがアウェイ側である場合に第１グループに含まれる各チームと試合する順番を説明するための模式図である。図６の模式図６００に示すように、第２グループに含まれるチームＰ5は、あるブロックではＣ1〜Ｃ3と連続して試合を行い、他のブロックではＣ4〜Ｃ6と連続して試合を行うように移動する。各クラスタは本拠地の位置が近接したチーム毎に分類されているので、Ｐ5はこのように移動することにより、アウェイ側であるときの移動距離を短くすることができる。
【００３３】
次に、第２分類部２４は、アウェイ側のグループの各チームを、ステップＳ４０５で分類された、ホーム側のグループの各クラスタに対応付けて、対応するクラスタと同数のチームからなるクラスタに分類する（ステップＳ４０６）。なお、このステップは、一方のグループが連続してアウェイ側となる期間毎（Ｒ1〜Ｒ3、Ｒ4〜Ｒ6、Ｒ7〜Ｒ9、Ｒ10〜Ｒ12）に実施される。
【００３４】
例えば、第２分類部２４は、第１グループがアウェイ側となる場合、第１グループの各チームをＣ1〜Ｃ3からなるクラスタとＣ4〜Ｃ6からなるクラスタに分類し、第２グループがアウェイ側となる場合、第２グループの各チームをＰ1〜Ｐ3からなるクラスタとＰ4〜Ｐ6からなるクラスタに分類する。同一クラスタに分類されたアウェイ側の各チームは、同一ブロックにおいて、ホーム側の同一クラスタ内の各チームと試合を行う。
【００３５】
なお、アウェイ側の各クラスタは、ホーム側の各クラスタとチーム数が同数であればどのような構成にしてもよく、各グループのクラスタの構成は、アウェイ側のときとホーム側のときで異なっていてもよい。例えば、第１グループの各チームを、ホーム側ではＣ1、Ｃ2、Ｃ3からなるクラスタとＣ4、Ｃ5、Ｃ6からなるクラスタに分類し、アウェイ側ではＣ1、Ｃ3、Ｃ5からなるクラスタとＣ2、Ｃ4、Ｃ6からなるクラスタに分類してもよい。また、アウェイ側のクラスタの構成は、各ブロック毎に変更してもよい。
【００３６】
以下のステップＳ４０７〜Ｓ４１１の処理は、対応するアウェイ側のクラスタとホーム側のクラスタに対して実施される。
【００３７】
移動組合せ抽出部２５は、アウェイ側のクラスタ内の各チームが、それぞれ、そのチームの本拠地から出発し、対応するホーム側のクラスタ内の全てのチームの本拠地に順次移動し、出発した本拠地に戻る移動組合せを全て抽出する（ステップＳ４０７）。
【００３８】
なお、移動組合せ抽出部２５は、アウェイ側のクラスタ内の各チームが、そのクラスタ内の他のチームと重複しないようにホーム側の各チームの本拠地を移動する組合せのみを抽出する。さらに、移動組合せ抽出部２５は、上記の第２の条件を満たすように、同一カードが連続しない組合せのみを抽出する。
【００３９】
図７は、移動組合せ抽出部２５が抽出する移動組合せを説明するための模式図である。図７に示す日程表７０１〜７１２は、図３（ａ）に示す日程表３００の点線で囲まれた範囲３０４において、アウェイ側のクラスタ内の各チームＰ1〜Ｐ3が、ホーム側のクラスタ内の各チームＣ1〜Ｃ3の本拠地を移動する全ての組合せを表す。図７に示すように、３チームからなるクラスタ間では、日程表７０１〜７１２の全１２通りの移動組合せが抽出される。
【００４０】
次に、移動距離算出部２６は、移動組合せ抽出部２５が抽出した移動組合せのそれぞれについて、アウェイ側のクラスタ内の各チームの移動距離を算出する（ステップＳ４０８）。なお、この移動距離の算出において、各チームの移動開始位置及び移動終了位置は各チームの本拠地とし、移動距離には自身の本拠地と最初の試合の相手チームの本拠地との間の距離、及び最初の試合の相手チームの本拠地と自身の本拠地との間の距離が含まれる。例えば、図７に示す日程表７０１のように、ホーム側のクラスタがチームＣ1、Ｃ2、Ｃ3からなり、チームＰ1がチームＣ1、Ｃ2、Ｃ3の順に移動する場合、Ｐ1−Ｃ1、Ｃ1−Ｃ2、Ｃ2−Ｃ3、Ｃ3−Ｐ1の本拠地間の距離の総和が算出される。
【００４１】
次に、移動距離算出部２６は、移動組合せのそれぞれについて、ステップＳ４０８で算出した移動距離の、アウェイ側のクラスタ内の全チームについての総和を算出する（ステップＳ４０９）。例えば、図７に示す日程表７０１の移動組合せでは、Ｐ1−Ｃ1、Ｃ1−Ｃ2、Ｃ2−Ｃ3、Ｃ3−Ｐ1の本拠地間の距離と、Ｐ2−Ｃ2、Ｃ2−Ｃ3、Ｃ3−Ｃ1、Ｃ1−Ｐ2の本拠地間の距離と、Ｐ3−Ｃ3、Ｃ3−Ｃ1、Ｃ1−Ｃ2、Ｃ2−Ｐ3の本拠地間の距離との総和が算出される。
【００４２】
次に、日程決定部２７は、全ての移動組合せのうちステップＳ４０９で算出される移動距離の総和が最も小さい移動組合せに従って、アウェイ側のクラスタ内の各チームがホーム側のクラスタ内の各チームと試合するように、アウェイ側のクラスタ内の各チームとホーム側のクラスタ内の各チームとの試合の日程を決定する（ステップＳ４１０）。
【００４３】
次に、制御部２０は、同一ブロックに係る期間において全てのクラスタの日程を決定したか否かを判定し（ステップＳ４１１）、まだ日程を決定していないクラスタがある場合、ステップＳ４０７へ移行し、まだ日程を決定していないクラスタについてステップＳ４０７〜Ｓ４１１の処理を繰り返す。
【００４４】
なお、制御部２０は、最初のステップＳ４０７〜Ｓ４１０の処理により、図３（ａ）に示す範囲３０４の日程を決定し、２回目のステップＳ４０７〜Ｓ４１０の処理により、範囲３０５の日程を決定する。つまり、制御部２０は、２回目のステップＳ４０７〜Ｓ４１０の処理では、Ｐ4〜Ｐ6からなるクラスタとＣ4〜Ｃ6からなるクラスタとの試合の日程を決定する。
【００４５】
一方、同一ブロックに係る期間において全てのクラスタの日程を決定した場合、制御部２０は、全てのブロックに係る期間の日程を決定したか否かを判定する（ステップＳ４１２）。制御部２０は、まだ日程を決定していない期間がある場合、ステップＳ４０６へ移行し、まだ日程を決定していない期間についてステップＳ４０６〜Ｓ４１２の処理を繰り返す。
【００４６】
なお、制御部２０は、最初のステップＳ４０６〜Ｓ４１１の処理により、第２グループをアウェイ側、第１グループをホーム側として、図３（ａ）に示す範囲３０４及び範囲３０５の日程を決定する。
【００４７】
また、制御部２０は、２回目のステップＳ４０６〜Ｓ４１１の処理により、第１グループをアウェイ側、第２グループをホーム側として図３（ｂ）に示す範囲３１４及び範囲３１５の日程を決定する。このとき、制御部２０は、上記の第４の条件を満たすように、範囲３１４をＣ1〜Ｃ3からなるクラスタとＰ4〜Ｐ6からなるクラスタとの試合とし、範囲３１５をＣ4〜Ｃ6からなるクラスタとＰ1〜Ｐ3からなるクラスタとの試合とする。
【００４８】
また、制御部２０は、３回目のステップＳ４０６〜Ｓ４１１の処理により、第２グループをアウェイ側、第１グループをホーム側として図３（ａ）に示す範囲３０６及び範囲３０７の日程を決定する。このとき、制御部２０は、上記の第３の条件を満たすように、範囲３０６ではＰ1〜Ｐ3からなるクラスタとＣ4〜Ｃ6からなるクラスタとの試合とし、範囲３０７ではＰ4〜Ｐ6からなるクラスタとＣ1〜Ｃ3からなるクラスタとの試合とする。また、移動組合せ抽出部２５は、上記の第２の条件を満たすように、抽出する試合組合せから、Ｒ6で行われるカードと同一のカードがＲ7で行われる組合せを除外する。
【００４９】
また、制御部２０は、４回目のステップＳ４０６〜Ｓ４１１の処理により、第１グループをアウェイ側、第２グループをホーム側として図３（ｂ）に示す範囲３１６及び範囲３１７の日程を決定する。このとき、制御部２０は、上記の第４の条件を満たすように、範囲３１６をＣ1〜Ｃ3からなるクラスタとＰ1〜Ｐ3からなるクラスタとの試合とし、範囲３１７をＣ4〜Ｃ6からなるクラスタとＰ4〜Ｐ6からなるクラスタとの試合とする。
【００５０】
図８（ａ）、（ｂ）は、制御部２０が決定した、第１グループと第２グループの各チームの試合の日程の例を示す模式図である。図８（ａ）の日程表８００は、第２グループの各チームから見た日程であり、図８（ｂ）の日程表８１０は、第１グループの各チームから見た日程である。
【００５１】
日程表８００、８１０では、ブロックＲ1〜Ｒ3、Ｒ7〜Ｒ9においてホーム側の第１グループの各チームはＣ1〜Ｃ3からなるクラスタとＣ4〜Ｃ6からなるクラスタとに分類され、アウェイ側の第２グループの各チームはＰ1〜Ｐ3からなるクラスタとＰ4〜Ｐ6からなるクラスタとに分類される。一方、ブロックＲ4〜Ｒ6、Ｒ10〜Ｒ12においてホーム側の第２グループの各チームはＰ1〜Ｐ3からなるクラスタとＰ4〜Ｐ6からなるクラスタとに分類され、アウェイ側の第１グループの各チームはＣ1〜Ｃ3からなるクラスタとＣ4〜Ｃ6からなるクラスタとに分類される。
【００５２】
そして、日程表８００、８１０では、上記の第１の条件から第５の条件を満たすとともに、各ブロックにおいてアウェイ側の各チームがホーム側の各チームの本拠地を効率よく移動できるように日程が定められる。
【００５３】
全てのブロックにかかる期間の日程を決定した場合、制御部２０は、決定した日程を表示部１２に表示し（ステップＳ４１３）、一連のステップを終了する。なお、制御部２０は、決定した日程を不図示の通信部を介して外部の装置に出力してもよい。その場合、決定した日程を外部の装置で表示することもできる。
【００５４】
以上詳述したように、図４に示したフローチャートに従って動作することによって、情報処理装置１は、複数のメンバをそれぞれ含む複数のグループ間での各メンバの総当りの試合についての日程を決定することが可能となった。
【００５５】
情報処理装置１は、各グループのメンバをクラスタに分類し、クラスタ単位で最適な日程を求めることにより、全ての試合の組合せについて全メンバの総移動距離を算出する必要がなくなり、短期間に日程を決定することが可能となった。例えば、日本プロ野球の交流戦（各チームが相手側のリーグの全チームとホーム側とアウェイ側で１カードずつ試合を実施）の日程は、２．１ＧＨｚのシングルプロセッサ及び２．７５ＧバイトのＲＡＭを用いたＷｉｎｄｏｗｓ（登録商標）ノートＰＣにおいて、Ｍａｐｌｅｓｏｆｔ（登録商標）により１日弱で求めることが可能となる。
【００５６】
また、図４に示したフローチャートに従って決定した日程は、無作為に定めた日程より全メンバの総移動距離を低減させることが可能となる。例えば、２０１０年の日本プロ野球の交流戦における全チームの総移動距離は５１１３４ｋｍであった。これに対して、本実施形態の日程決定処理により決定した日程に基づいて試合を行う場合、全チームの総移動距離は４５５９６ｋｍとなり、１０％以上低減することが可能となる。これにより、各チームの移動距離を低減できるので、移動に係る時間及び費用を削減することができ、ひいては温室効果ガスの排出量を低減することができる。
【００５７】
この情報処理装置１は、特に、日本のプロ野球をはじめ、米国のプロ野球リーグ（ＭＬＢ）、米国のプロバスケットボールリーグ（ＮＢＡ）等における日程の作成代行業務等において利用することができる。
【００５８】
なお、制御部２０が決定する日程は、上記の第１の条件から第５の条件のうち一部の条件を満たさなくてもよく、一部の条件が異なるものでもよい。また、同一期間に行われるカードを全て一方のグループ内のチームの本拠地で行うのではなく、一部の試合は他方のグループ内のチームの本拠地で行うようにしてもよい。
【００５９】
例えば、第１の条件として、自身の本拠地又は相手の本拠地で連続して試合を行うカード数は、４カード以上としてもよい。その場合、各クラスタ内のチーム数は４チーム以上としてもよい。
【００６０】
あるいは、クラスタ内のチーム数は２チームとしてもよい。特に第２グループがホーム側になる場合、Ｐ1とＰ2、Ｐ3とＰ4、Ｐ5とＰ6をそれぞれ同一クラスタとすることにより、第１グループの各チームはより効率よく移動でき、総移動距離をより低減できる。なお、クラスタ内のチームが２チームである場合、ステップＳ４０３において本拠地間距離算出部２２は、その２チームの本拠地間の距離を、そのクラスタに含まれるチームの全ての本拠地間の距離の総和とする。
【００６１】
また、全てのカードを図４に示したフローチャートに従って決定するのではなく、一部のカードのみ図４に示したフローチャートに従って決定してもよい。その場合、図４に示したフローチャートに従って決定しないカードは、ホーム側のチームの本拠地の位置を考慮せず、第１の条件から第５の条件等の他の条件のみを満たすように決定する。
【００６２】
また、各クラスタ内のチーム数を、クラスタ毎に異なる数にしてもよい。例えば、８チームからなるグループの各チームを３チーム、３チーム、２チームからなるクラスタに分類してもよい。その場合、２チームからなるクラスタ間のカードは、３チームからなるクラスタ間のカードより先に終了するので、２チームからなるクラスタ内の各チームは３チームからなるクラスタ内の各チームより先にホーム側とアウェイ側を入れ替えて日程を調整する。
【００６３】
また、各グループに含まれるチーム数は、それぞれ異なっていてもよい。例えば、一方のグループが８チームからなり、他方のグループが７チームからなる場合、制御部２０は、８チームからなるグループの各チームを３チーム、３チーム、２チームからなるクラスタに分類し、７チームからなるグループの各チームを３チーム、３チーム、１チームからなるクラスタに分類する。そして、３チームからなるクラスタ間のカードのみ図４に示したフローチャートに従って決定し、他のカードはホーム側のチームの本拠地の位置を考慮せずに決定する。
【００６４】
また、第１分類部２３は、各ブロックに係る期間毎にホーム側のチームのクラスタを分類しなおしてもよい。これにより、特定の期間に特定のチームの本拠地が使用できない場合に柔軟に日程を調整することができる。例えば、所定のブロックにおいて特定のチームの本拠地が使用できない場合、第１分類部２３が分類する各クラスタのうち１つのクラスタのチーム数を１つ減らすとともに、本拠地を使用できないチームの本拠地の位置を現実の位置から遠く離れた位置（例えば、日本国外の位置）に設定する。これにより、そのチームは他のチームと同一のクラスタに含まれず、図４に示すフローチャートに従って決定するカードからそのチームの本拠地におけるカードを除外することができる。
【符号の説明】
【００６５】
１    情報処理装置
１１    入力部
１２    表示部
１３    記憶部
２０    制御部
２１    クラスタ組合せ抽出部
２２    本拠地間距離算出部
２３    第１分離部
２４    第２分離部
２５    移動組合せ抽出部
２６    移動距離算出部
２７    日程決定部
【図１】
0005733722.tif 000002
【図３】
0005733722.tif 000003
【図４】
0005733722.tif 000004
【図７】
0005733722.tif 000005
【図８】
0005733722.tif 000006
【図２】
0005733722.tif 000007
【図５】
0005733722.tif 000008
【図６】
0005733722.tif 000009