(57)【特許請求の範囲】
【請求項１】
コンピュータに、車両又は乗務員の一の停車場における列車間の運用つなぎを示すつなぎ線をダイヤ図上に表す際の当該つなぎ線の高さを算出させるためのプログラムであって、
仮の高さが決定されたつなぎ線の集合である仮決定群を記憶部に記憶させる制御を行う仮決定群記憶制御手段、
仮の高さが未決定のつなぎ線のうち、前記一の停車場への到着時刻が早いつなぎ線から順番に処理対象つなぎ線として、（Ａ）前記仮決定群のうち、前記一の停車場からの出発時刻が最も早いつなぎ線よりも、当該処理対象つなぎ線の前記一の停車場への到着時刻が早い場合には、前記仮決定群に含まれる最大の仮の高さより大きい仮の高さを当該処理対象つなぎ線に設定して前記仮決定群に追加し、（Ｂ）前記仮決定群のうち、前記一の停車場からの出発時刻が最も早いつなぎ線よりも、当該処理対象つなぎ線の前記一の停車場への到着時刻が遅い場合には、前記仮決定群に含まれるつなぎ線と同じ仮の高さとしても重ならない仮の高さを当該処理対象つなぎ線に設定して前記仮決定群に追加し、設定した仮の高さと同一の仮の高さとして設定されていたつなぎ線を前記仮決定群から削除する、高さ仮決定処理を実行する仮決定処理手段、
前記高さ仮決定処理によって仮決定された各つなぎ線それぞれの仮の高さを、本決定する本決定処理手段、
として機能させるためのプログラム。
【請求項２】
前記仮決定処理手段が、前記（Ｂ）の処理において、当該処理対象つなぎ線に設定する仮の高さを、前記仮決定群に含まれるつなぎ線と同じ仮の高さとしても重ならない仮の高さのうち、最小の高さとする、
ように前記コンピュータに機能させるための請求項１に記載のプログラム。
【請求項３】
前記仮決定処理手段が、前記（Ａ）及び（Ｂ）の処理において、前記一の停車場からの出発時刻が前記処理対象つなぎ線よりも遅く、且つ、仮の高さが前記処理対象つなぎ線よりも小さく、且つ、仮の高さを前記処理対象つなぎ線と交換した場合に他のつなぎ線と重ならないつなぎ線が前記仮決定群に有るか否かを判定し、有る場合には、そのつなぎ線と前記処理対象つなぎ線との仮の高さを交換した上で、前記処理対象つなぎ線を前記仮決定群に追加する高さ交換処理手段を有する、
ように前記コンピュータを機能させるための請求項１又は２に記載のプログラム。
【請求項４】
前記仮決定群に記憶されているつなぎ線を、前記一の停車場からの出発時刻が早い順にソートする仮決定群ソート手段として前記コンピュータを機能させ、
前記高さ交換処理手段が、前記仮決定群ソート手段によりソートされた順番に前記判定を行い、最も先に有ると判定されたつなぎ線を交換の対象とする、
ように前記コンピュータを機能させるための請求項３に記載のプログラム。
【請求項５】
車両又は乗務員の一の停車場における列車間の運用つなぎを示すつなぎ線をダイヤ図上に表す際の当該つなぎ線の高さを算出するつなぎ高さ算出装置であって、
仮の高さが決定されたつなぎ線の集合である仮決定群を記憶する仮決定群記憶手段と、
仮の高さが未決定のつなぎ線のうち、前記一の停車場への到着時刻が早いつなぎ線から順番に処理対象つなぎ線として、（Ａ）前記仮決定群のうち、前記一の停車場からの出発時刻が最も早いつなぎ線よりも、当該処理対象つなぎ線の前記一の停車場への到着時刻が早い場合には、前記仮決定群に含まれる最大の仮の高さより大きい仮の高さを当該処理対象つなぎ線に設定して前記仮決定群に追加し、（Ｂ）前記仮決定群のうち、前記一の停車場からの出発時刻が最も早いつなぎ線よりも、当該処理対象つなぎ線の前記一の停車場への到着時刻が遅い場合には、前記仮決定群に含まれるつなぎ線と同じ仮の高さとしても重ならない仮の高さを当該処理対象つなぎ線に設定して前記仮決定群に追加し、設定した仮の高さと同一の仮の高さとして設定されていたつなぎ線を前記仮決定群から削除する、高さ仮決定処理を実行する仮決定処理手段と、
前記高さ仮決定処理によって仮決定された各つなぎ線それぞれの仮の高さを、本決定する本決定処理手段と、
を備えたつなぎ高さ算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、車両又は乗務員の列車間の運用つなぎを示すつなぎ線の高さを算出させるためのプログラム等に関する。
【背景技術】
【０００２】
鉄道における列車の運行にあたり、鉄道事業者は、列車の運行スケジュールを定めた列車ダイヤを作成するとともに、この列車ダイヤを実現するための車両・乗務員運用計画を作成する必要がある。この列車ダイヤや車両・乗務員運用計画は、人間の手作業で作成されているが、近年では、コンピュータを用いた自動化、或いは、コンピュータによる作成支援を実現するための技術開発が進められている（例えば、特許文献１〜３参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２３７９４８号公報
【特許文献２】特開２００５−２５９０５２号公報
【特許文献３】特開２００７−１８８２２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、車両・乗務員運用計画は、列車ダイヤ図上に車両・乗務員の運用を重ねて図示した車両・乗務員運用図表として示される。この車両・乗務員運用図表は、停車場に到着した列車の車両や乗務員が次にどの列車として運用されるかや乗務するかの運用つなぎを示すため、列車ダイヤ図の各停車場（例えば、駅）において、該当する列車間を「つなぎ線」でつないだ図表である。
【０００５】
しかしながら、つなぎ線の描画には、例えば、運用つなぎが不明瞭とならないよう、つなぎ線同士が重なってはいけないし、また、列車ダイヤ図における空きスペースが限られるため、つなぎ線の描画範囲を可能な限り小さくするといったように、様々な制約を考慮する必要がある。人間が手作業によってつなぎ線を描画する場合には、作成者の知識や経験等によって、このような制約を考慮した視覚的にバランスのよいつなぎ線が描画されている。コンピュータによる運用図表の作成の自動化或いは半自動化（支援）においても、上述の制約を考慮したつなぎ線の描画が求められるのは勿論である。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、列車ダイヤ図上に列車間の車両・乗務員の運用つなぎを示すつなぎ線の適切な自動描画を可能とすることを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するための第１の形態は、
コンピュータに、車両又は乗務員の一の停車場における列車間の運用つなぎを示すつなぎ線をダイヤ図上に表す際の当該つなぎ線の高さを算出させるためのプログラム（例えば、図７の運用図表作成プログラム３１０）であって、
仮の高さが決定されたつなぎ線の集合である仮決定群（例えば、図１０の集合Ｕ）を記憶する仮決定群記憶手段（例えば、図８の記憶部３００）、
高さが未決定のつなぎ線のうち、前記一の停車場への到着時刻が早いつなぎ線から順番に処理対象つなぎ線として、（Ａ）前記仮決定群のうち、前記一の停車場からの出発時刻が最も早いつなぎ線よりも、当該処理対象つなぎ線の前記一の停車場への到着時刻が早い場合には、前記仮決定群に含まれる最大の仮の高さより大きい仮の高さを当該処理対象つなぎ線に設定して前記仮決定群に追加し、（Ｂ）前記仮決定群のうち、前記一の停車場からの出発時刻が最も早いつなぎ線よりも、当該処理対象つなぎ線の前記一の停車場への到着時刻が遅い場合には、前記仮決定群に含まれるつなぎ線と重ならない仮の高さを選出して当該処理対象つなぎ線に設定し、前記仮決定群に追加するとともに、設定した仮の高さと同一の仮の高さとして設定されていたつなぎ線を前記仮決定群から削除する、高さ仮決定処理を実行する仮決定処理手段（例えば、図１６〜図１７のつなぎ高さ決定処理）、
前記高さ仮決定処理によって仮決定された各つなぎ線それぞれの仮の高さを、本決定する本決定処理手段（例えば、図１７のステップＢ４１）、
として機能させるためのプログラムである。
【０００８】
また、他の形態として、
車両又は乗務員の一の停車場における列車間の運用つなぎを示すつなぎ線をダイヤ図上に表す際の当該つなぎ線の高さを算出するつなぎ高さ算出装置（例えば、図７の運用図表作成装置１）であって、
仮の高さが決定されたつなぎ線の集合である仮決定群を記憶する仮決定群記憶手段と、
高さが未決定のつなぎ線のうち、前記一の停車場への到着時刻が早いつなぎ線から順番に処理対象つなぎ線として、（Ａ）前記仮決定群のうち、前記一の停車場からの出発時刻が最も早いつなぎ線よりも、当該処理対象つなぎ線の前記一の停車場への到着時刻が早い場合には、前記仮決定群に含まれる最大の仮の高さより大きい仮の高さを当該処理対象つなぎ線に設定して前記仮決定群に追加し、（Ｂ）前記仮決定群のうち、前記一の停車場からの出発時刻が最も早いつなぎ線よりも、当該処理対象つなぎ線の前記一の停車場への到着時刻が遅い場合には、前記仮決定群に含まれるつなぎ線と重ならない仮の高さを選出して当該処理対象つなぎ線に設定し、前記仮決定群に追加するとともに、設定した仮の高さと同一の仮の高さとして設定されていたつなぎ線を前記仮決定群から削除する、高さ仮決定処理を実行する仮決定処理手段と、
前記高さ仮決定処理によって仮決定された各つなぎ線それぞれの仮の高さを、本決定する本決定処理手段と、
を備えたつなぎ高さ算出装置を構成しても良い。
【０００９】
この第１の形態等によれば、高さが未決定のつなぎ線のうち、一の停車場への到着時刻が早いつなぎ線から順番に処理対象つなぎ線として高さ仮決定処理が実行され、その後、仮決定された各つなぎ線それぞれの仮の高さが本決定される。高さ仮決定処理では、（Ａ）仮の高さが決定されたつなぎ線の集合である仮決定群のうち、一の停車場からの出発時刻が最も早いつなぎ線よりも、処理対象つなぎ線の一の停車場への到着時刻が早い場合には、仮決定群に含まれる最大の仮の高さより高い仮の高さを処理対象つなぎ線に設定して仮決定群に追加され、（Ｂ）仮決定群のうち、一の停車場からの出発時刻が最も早いつなぎ線よりも、処理対象つなぎ線の一の停車場への到着時刻が遅い場合には、仮決定群に含まれるつなぎ線と重ならない仮の高さを選出して処理対象つなぎ線に設定され、仮決定群に追加されるとともに、設定した仮の高さと同一の仮の高さとして設定されていたつなぎ線が仮決定群から削除される。
【００１０】
これにより、車両又は乗務員の一の停車場における列車間の運用つなぎを示すつなぎ線をダイヤ図上に表す際の各つなぎ線の高さを、つなぎ線同士が重ならないよう、適切に決定することができる。
【００１１】
第２の形態として、第１の形態のプログラムにおいて、
前記仮決定処理手段が、前記（Ｂ）の処理において、前記仮決定群に含まれるつなぎ線と重ならない仮の高さを当該処理対象つなぎ線に設定する際に、前記仮決定群に含まれるつなぎ線と重ならない仮の高さのうち、最小の高さを設定する、
ように前記コンピュータに機能させるためのプログラムを構成しても良い。
【００１２】
この第２の形態によれば、高さ仮決定処理の（Ｂ）の処理において、仮決定群に含まれるつなぎ線と重ならない仮の高さを処理対象つなぎ線に設定する際に、仮決定群に含まれるつなぎ線の仮の高さのうち最小の高さが設定される。これにより、更に、各つなぎ線の高さを最小とするように決定することができる。
【００１３】
第３の形態として、第１又は第２の形態のプログラムにおいて、
前記仮決定処理手段が、前記（Ａ）及び（Ｂ）の処理において、前記一の停車場からの出発時刻が前記処理対象つなぎ線よりも遅く、且つ、仮の高さが前記処理対象つなぎ線よりも小さく、且つ、仮の高さを前記処理対象つなぎ線と交換した場合に他のつなぎ線と重ならないつなぎ線が前記仮決定群に有るか否かを判定し、有る場合には、そのつなぎ線と前記処理対象つなぎ線との仮の高さを交換した上で、前記処理対象つなぎ線を前記仮決定群に追加する高さ交換処理手段（例えば、図１６のステップＢ１９〜Ｂ２５、図１７のステップＢ２９〜Ｂ３５）を有する、
ように前記コンピュータを機能させるためのプログラムを構成しても良い。
【００１４】
この第３の形態によれば、高さ仮決定処理の（Ａ）及び（Ｂ）の処理において、一の停車場からの出発時刻が処理対象つなぎ線よりも遅く、且つ、仮の高さが処理対象つなぎ線よりも小さく、且つ、仮の高さを処理対象つなぎ線と交換した場合に他のつなぎ線と重ならないつなぎ線が仮決定群に有る場合には、そのつなぎ線と処理対象つなぎ線との仮の高さを交換した上で、処理対象つなぎ線が仮決定群に追加される。これにより、内包関係にあるつなぎ線同士において内包のつなぎ線が突き出さないよう、各つなぎ線の高さを適切に決定することができる。
【００１５】
第４の形態として、第３の形態のプログラムにおいて、
前記仮決定群に記憶されているつなぎ線を、前記一の停車場からの出発時刻が早い順にソートする仮決定群ソート手段（例えば、図１７のステップＢ３９）として前記コンピュータを機能させ、
前記高さ交換処理手段が、前記仮決定群ソート手段によりソートされた順番に前記判定を行い、最も先に有ると判定されたつなぎ線を交換の対象とする、
ように前記コンピュータを機能させるためのプログラムを構成しても良い。
【００１６】
この第４の形態によれば、仮の高さを処理対象つなぎ線と交換した場合に他のつなぎ線と重ならないつなぎ線が仮決定群に有るか否かの判定が、仮決定群に記憶されているつなぎ線のうち、一の停車場からの出発時刻が早い順に行われる。
【図面の簡単な説明】
【００１７】
【図１】車両運用図表の一例。
【図２】つなぎ線の高さの説明図。
【図３】条件１（つなぎ線が重ならない）の説明図。
【図４】条件２（つなぎ線の高さが最小）の説明図。
【図５】条件３（つなぎ線が突き出さない）の説明図。
【図６】条件２，３の一方は満たすが他方は満たさない一例。
【図７】運用図表作成装置の機能構成図。
【図８】運用ペアデータのデータ構成例。
【図９】つなぎ種別の説明図。
【図１０】運用ペアのつなぎ線の高さの決定の概要図。
【図１１】条件１を満たすつなぎ線の高さの決定の説明図。
【図１２】条件２を満たすつなぎ線の高さの決定の説明図。
【図１３】条件３を満たすつなぎ線の高さの決定の説明図。
【図１４】つなぎ線が重なるか否かの判定の説明図。
【図１５】運用図表作成処理のフローチャート。
【図１６】つなぎ高さ決定処理のフローチャート。
【図１７】図１６のフローチャートの続き。
【図１８】最小高さペア判定処理のフローチャート。
【図１９】高さ交換可否判定処理のフローチャート。
【図２０】駅線が２つの場合のつなぎ線の描画例。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下では、車両の運用図表の作成を例に挙げて説明するが、乗務員の運用図表の作成等、本発明の適用可能な実施形態がこれに限定されるものではない。
【００１９】
［原理］
先ず、本実施形態における車両運用図表の作成原理を説明する。車両運用図表とは、列車ダイヤに対する車両運用を、該列車ダイヤ図に重ねて描画した図表である。車両運用は、ある停車場（代表的には、駅）への到着列車と、該到着列車として運用されていた車両が次に運用される出発列車との間に、列車間の運用つなぎを示す「つなぎ線」を引くことで表される。つなぎ線には、コの字形状の線図やクランク形状の線図等があるが（図９，図２０参照）、本実施形態では、駅での折返しつなぎに用いられるコの字形状のつなぎ線に着目して説明する。
【００２０】
図１に、車両運用図表のつなぎ線に係る部分の一例を示す。図１では、Ａ駅において、列車２Ｍ，４Ｍが到着するとともに、列車５Ｍ，９Ｍが出発しており、これらの列車に対する車両運用が示されている。すなわち、列車２Ｍと列車５Ｍとがつなぎ線１０−１でつながれている。つまり、列車２Ｍとして運用されていた車両は、Ａ駅に到着した後、折り返して列車５Ｍとして運用されることが示されている。また同様に、列車４Ｍと列車９Ｍとがつなぎ線１０−２でつながれている。つまり、列車４Ｍとして運用された車両は、Ａ駅に到着した後、折り返して列車９Ｍとして運用されることが示されている。
【００２１】
つなぎ線は、運用が正確に把握できるように描画することが重要であるとともに、“見易い”ように描画する必要がある。これを満足するための条件として、次の３つの条件がある。
＜条件１＞つなぎ線同士が重ならないこと。
＜条件２＞つなぎ線の高さが最小であること。
＜条件３＞他のつなぎ線から突き出さないこと。
つまり、適切な運用図表の作成のためには、これらの条件１〜３を満たすような各つなぎ線の適切な高さを決定することが必要である。
【００２２】
ここで、つなぎ線の高さを、図２に示すように定義する。すなわち、つなぎ線の高さは、駅線からの距離であり、駅線に近い方向を“低い”、駅線から離れる方向を“高い”と表現する。そして、その値は、“低い”順に、「１，２，３・・」と整数値で表現することとする。
【００２３】
（１）条件１（つなぎ線同士が重ならない）について
図３は、条件１を説明する図である。図３では、２つのつなぎ線１０−１，１０−２が描画されている。図３（ａ）は、条件１を満たす例である。この例では、２つのつなぎ線１０−１，１０−２の高さが異なっているため、２つのつなぎ線１０−１，１０−２が“重なっていない”。一方、図３（ｂ）は、条件１を満たさない例である。この例では、２つのつなぎ線１０−１，１０−２の高さが同じであるため、２つのつなぎ線１０−１，１０−２の一部が“重なっている”。つまり、列車２Ｍ，４Ｍそれぞれが、次に、列車５Ｍ，９Ｍのどちらとして運用されるのか把握できない。
【００２４】
（２）条件２（つなぎ線の高さが最小であること）について
車両運用図表では、列車ダイヤ図に車両運用を示すつなぎ線を重ねて描画するため、つなぎ線の高さをできるだけ低くし、つなぎ線の描画スペースを可能な限り小さくすることが望ましい。
【００２５】
図４は、条件２を説明する図である。図４では、３つのつなぎ線１０−１〜１０−３が描画されている。図４（ａ）は、条件２を満たさない例である。この例では、３つのつなぎ線１０−１〜１０−３それぞれの高さが異なっており、つなぎ線の最大の高さは「３」である。図４（ｂ）は、条件２を満たす例である。この例では、つなぎ線１０−１，１０−３の高さが同じ「１」となっており、つなぎ線の最大の高さは「２」である。
【００２６】
（３）条件３（他のつなぎ線から突き出さないこと）について
図５は、条件３を説明する図である。図５では、２つのつなぎ線１０−４，１０−５が描画されている。図５（ａ）は、条件３を満たさない例である。この例では、つなぎ線１０−４，１０−５が内包関係にあり、内包にあるつなぎ線１０−５の高さが外方のつなぎ線１０−４の高さよりも高く、つなぎ線１０−５がつなぎ線１０−４から“突き出している”。図５（ｂ）は、条件３を満たしている例である。この例では、つなぎ線１０−５がつなぎ線１０−４よりも低く、つなぎ線１０−４，１０−５は互いに“突き出していない”。
【００２７】
但し、条件２，３は、同時に満たすことができない場合もある。図６は、条件２，３の一方を満たすが、他方を満たさない例を示す図である。図６では、５つのつなぎ線１０−６〜１０−１０が描画されている。図６（ａ）の例では、つなぎ線１０−６〜１０−１０の最大の高さは「２」であり、条件２を満たしているが、つなぎ線１０−１０がつなぎ線１０−９を突き出しており、条件３は満たしていない。図６（ｂ）の例では、何れのつなぎ線１０−６〜１０−１０も他のつなぎ線１０−６〜１０−１０を突き出しておらず、条件３を満たしているが、つなぎ線１０−６〜１０−１０の最大の高さは「３」であり、条件２は満たしていない。
【００２８】
［構成］
図７は、運用図表作成装置１の機能構成図である。図７に示すように、運用図表作成装置１は、例えばコンピュータ等で実現され、機能的には、操作入力部１１０と、表示部１２０と、処理部２００と、記憶部３００とを備えて構成される。
【００２９】
操作入力部１１０は、例えばキーボードやマウス、タッチパネル、各種スイッチ等の入力装置で実現され、操作入力に応じた操作信号を処理部２００に出力する。
【００３０】
表示部１２０は、例えばＬＣＤ（Liquid Crystal Display）やＥＬＤ（Electronic Luminescent Display）等の表示装置で実現され、処理部２００からの表示信号に基づく各種表示画面を表示する。
【００３１】
処理部２００は、例えばＣＰＵ等の演算装置で実現され、操作入力部１１０から入力されたデータや、記憶部３００に記憶されたプログラムやデータ等に基づいて、運用図表作成装置１を構成する各部への指示やデータ転送を行い、運用図表作成装置１の全体制御を行う。
【００３２】
また、処理部２００は、運用図表作成プログラム３１０に従った運用図表作成処理を行って、列車ダイヤに対する車両運用を示した車両運用図表を作成し表示部１２０に表示させる。運用図表作成処理では、処理部２００は、予め定められた列車ダイヤ、及び、この列車ダイヤに対する車両運用をもとに、列車ダイヤ図に車両運用を重ねて示した車両運用図表を作成する。ここで、列車ダイヤについては列車ダイヤデータ３２０として記憶されているとともに、該列車ダイヤに対する車両運用については車両運用データ３３０として記憶されている。
【００３３】
具体的には、先ず、車両運用にて定められる、対象駅間の各駅においてつなぎ線でつなぐ到着列車と出発列車との組合せである運用ペア２０を生成する。運用ペア２０は、図２に示したように、ある駅において、つなぎ線でつなぐ到着列車と出発列車との組合せである。到着列車の到着時刻ｔａ、及び、出発列車の出発時刻ｔｄは、列車ダイヤによって定められている。
【００３４】
生成した運用ペアについては、運用ペアデータ３４０として記憶される。図８は、運用ペアデータ３４０のデータ構成の一例を示す図である。図８に示すように、運用ペアデータ３４０は、生成された運用ペア毎に生成され、該運用ペアを識別するためのペアＩＤ３４１と、つなぎ線の描画の対象駅３４２と、到着列車３４３と、その到着時刻３４４と、出発列車３４５と、その出発時刻３４６と、つなぎ種別３４７と、つなぎ線の高さ３４８と、つなぎ線の高さの決定状況３４９とを格納している。
【００３５】
つなぎ種別とは、駅線に対する到着列車と出発列車の進行方向の組合せであり、図９に示すように４種別ある。そして、つなぎ種別によって、駅線に対するつなぎ線の描画位置が異なる。
【００３６】
図９は、「つなぎ種別」を説明する図である。図９（ａ）は、つなぎ種別が（上，上）の例であり、駅線に対して、到着列車は図中上方向から進入し、出発列車は図中上方向に進出する組合せである。つなぎ線は、駅線に対して下方に描画される。また、図９（ｂ）は、つなぎ種別が（上，下）の例であり、駅線に対して、到着列車は図中上方向から進入し、出発列車は図中下方向に進出する組合せである。つなぎ線は、駅線に対して下方に描画される。また、図９（ｃ）は、つなぎ種別が（下，上）の例であり、駅線に対して、到着列車は図中下方向から進入し、出発列車は図中上方向に進出する組合せである。つなぎ線は、駅線に対して上方に描画される。また、図９（ｄ）は、つなぎ種別が（下，下）の例であり、駅線に対して、到着列車は図中下方向から進入し、出発列車は図中下方向に進出する組合せである。つなぎ線は、駅線に対して上方に描画される。
【００３７】
続いて、処理部２００は、生成した運用ペアそれぞれについて、つなぎ線の高さを決定する。このとき、つなぎ線の描画対象駅及びつなぎ種別が同じ運用ペア同士を１つの「集合Ｔ」としてグループ分けし、この集合Ｔ毎に、運用ペアのつなぎ線の高さを決定する。
【００３８】
図１０は、１つの集合Ｔについての、運用ペア２０のつなぎ線の高さの決定手順の概要図である。図１０に示すように、集合Ｔに含まれる各運用ペア２０について、その到着時刻ｔａが早い順につなぎの高さを決定する。つなぎの高さを仮決定した運用ペア２０は集合Ｕに追加され、その後、高さが確定されて集合Ｖに追加される。なおここで、集合Ｕに含まれる運用ペア２０は、つなぎ線の高さが全て異なっているとともに、その値が最小の高さ「１」から１ずつ順に大きくなるように仮決定されている。このため、集合Ｕに含まれる運用ペア２０の個数Ｎは、集合Ｕに含まれる運用ペア２０のつなぎ線の最大の高さとなっている。
【００３９】
集合Ｔの各運用ペア２０のつなぎ線の高さは、次のように決定する。すなわち、先ず、集合Ｔに含まれる運用ペア２０について、到着時刻ｔａが早い順に、つなぎ線の高さの仮決定の対象の運用ペア（対象ペア）とする。そして、集合Ｕの運用ペア２０それぞれのつなぎ線の高さをもとに、条件１，２を満たすよう、対象ペアのつなぎ線の高さを仮決定する。
【００４０】
図１１は、条件１，２を満たすような対象ペアのつなぎ線の高さの決定を説明する図である。図１１では、対象ペア２１と、集合Ｕに含まれる１つの運用ペア（抽出ペア）２２とが示されている。なおここで、対象ペア２１の到着時刻ｔａ１は、抽出ペア２２の到着時刻ｔａ２よりも遅い。これは、集合Ｔに含まれる運用ペア２０は、出発時刻ｔａが早い順に対象ペア２１としてつなぎ線の高さが（仮）決定され、集合Ｕに追加されるためである。
【００４１】
図１１（ａ）に示すように、対象ペア２１の到着時刻ｔａ１が抽出ペア２２の出発時刻ｔｄ２より遅い場合、つなぎ線の高さが同じでも重ならないので、対象ペア２１のつなぎ線の高さを、抽出ペア２２のつなぎ線の高さと同じとすることができる。また、図１１（ｂ）に示すように、対象ペア２１の到着時刻ｔａ１が抽出ペア２２の出発時刻ｔｄ２より早い場合、つなぎ線の高さが同じだと重なるので、対象ペア２１のつなぎ線の高さを、抽出ペア２２の高さとは異なる高さとする必要がある。
【００４２】
すなわち、処理部２００は、対象ペアの到着時刻ｔａ１と抽出ペアの出発時刻ｔｄ２とを比較することで、対象ペアのつなぎ線の高さを抽出ペアのつなぎ線の高さと同じとしたときに、両者が重なるか否かを判断する。
【００４３】
このように、対象ペアを集合Ｕの運用ペア（抽出ペア）それぞれと比較し、対象ペアのつなぎ線の高さを同じとしても重ならない集合Ｕの運用ペア（抽出ペア）を判断する。
そして、重ならないと判断した運用ペアそれぞれのつなぎ線の高さのうち、最小のつなぎ線の高さを、対象ペアのつなぎ線の高さとして仮決定する。
【００４４】
図１２は、対象ペアと重ならないつなぎ線の最小の高さの選択を説明する図である。図１２では、対象ペア２１のつなぎ線の高さを同じとしても“重ならない”集合Ｕの運用ペア（抽出ペア）として、３つの運用ペア２３〜２５が有る例を示している。この場合、集合Ｕの運用ペア２３〜２５それぞれのつなぎ線の高さは、それぞれ、「１」，「３」，「４」であり、従って、対象ペア２１のつなぎ線の高さは「１」とする。
【００４５】
一方、集合Ｕの運用ペア（抽出ペア）のうち、対象ペアのつなぎの高さを同じとしたとしても重ならない運用ペアがゼロの場合には、集合Ｕの各運用ペアのつなぎ線の高さのうち、最大の高さより「１」だけ大きい高さを、対象ペアのつなぎ線の高さとする。すなわち、集合Ｕの運用ペアの数Ｎに「１」加算した値「Ｎ＋１」を、対象ペアのつなぎ線の高さとする。これは、集合Ｕの各運用ペアのつなぎ線の高さが全て異なるとともに、そのつなぎ線の高さが、最小値「１」から順に１ずつ異なる値となっているからである。これにより、条件１，２を満たすよう、対象ペア（集合Ｔの運用ペア）のつなぎ線の高さを仮決定することができる。
【００４６】
このように、条件１，２を満たすように対象ペアのつなぎ線の高さを仮決定すると、処理部２００は、該対象ペアを集合Ｕに追加する。そして、対象ペアの仮決定したつなぎ線の高さと同じ集合Ｕの運用ペアについて、つなぎ線の高さを確定とし、集合Ｕから削除して集合Ｖに追加する。
【００４７】
条件１，２を満たすように対象ペアのつなぎ線の高さを決定すると、続いて、処理部２００は、該対象ペアが条件３を満たすかを判断する。
【００４８】
図１３は、対象ペアが条件３を満たすかの判断を説明する図である。図１３では、対象ペア２１と、集合Ｕに含まれる１つの運用ペア（選択ペア）２６とが示されている。なおここで、対象ペア２１の到着時刻ｔａ１は、選択ペア２６の到着時刻ｔａ２よりも遅い。
【００４９】
図１３（ａ）に示すように、対象ペア２１の出発時刻ｔｄ１が選択ペア２６の出発時刻ｔｄ２よりも遅い場合、対象ペア２１及び選択ペア２６それぞれのつなぎ線の高さにかかわらず、対象ペア２１のつなぎ線は選択ペア２６のつなぎ線を突き出さず、条件３を満たしている。また、図１３（ｂ）に示すように、対象ペア２１の出発時刻ｔｄ１が選択ペア２６の出発時刻ｔｄ２よりも早く、且つ、対象ペア２１のつなぎ線の高さが選択ペア２６のつなぎ線の高さよりも高い場合、対象ペア２１のつなぎ線が選択ペア２６のつなぎ線を突き出し、条件３を満たしていない。また、図１３（ｃ）に示すように、対象ペア２１の出発時刻ｔｄ１が選択ペア２６の出発時刻ｔｄ２よりも早く、且つ、対象ペア２１のつなぎ線の高さが選択ペア２６のつなぎ線の高さよりも低い場合、対象ペア２１のつなぎ線は選択ペア２６のつなぎ線を突き出さず、条件３を満たしている。
【００５０】
すなわち、処理部２００は、対象ペアの出発時刻ｔｄ１と選択ペアの出発時刻ｔｄ２とを比較するとともに、対象ペアと選択ペアのつなぎ線の高さを比較することで、対象ペアが条件３を満たすかを判定する。
【００５１】
そして、対象ペアが条件３を満たさない場合（図１３（ｂ））には、対象ペアと選択ペアのつなぎ線の高さを交換しても条件１を満たすのであるならば、対象ペアと選択ペアのつなぎ線の高さを交換する。条件１を満たすかの具体的な判断は、次のように行う。
【００５２】
先ず、つなぎ線の高さを交換した後の対象ペア及び選択ペア（以下、「交換後対象ペア」及び「交換後選択ペア」という）それぞれについて、集合Ｕ或いは集合Ｖの運用ペアそれぞれとの間で、つなぎ線の高さが異なるか否かを判断する。交換後対象ペア及び交換後選択ペアが、ともに、集合Ｕ及び集合Ｖの全ての運用ペアとつなぎ線の高さが異なるならば、対象ペアと選択ペアのつなぎ線の高さを交換しても、条件１は満たされると判断する。一方、集合Ｕ或いは集合Ｖに、交換後対象ペア或いは交換後選択ペアとつなぎ線の高さが同じ運用ペアが含まれるならば、更に、そのつなぎ線の高さが同じとなった運用ペア同士について、それぞれの到着時刻ｔａ及び出発時刻ｔｄを比較することで、条件１を満たすかを判断する。
【００５３】
図１４は、対象ペアと選択ペアのつなぎ線の高さを交換したときに、条件１を満たすかの判断を説明する図である。図１４では、つなぎ線の高さが同じとなった２つの運用ペア（交換後選択ペア２７と、集合Ｕ或いは集合Ｖに含まれる１つの運用ペア（判定ペア）２８）が示されている。なお、図１４では、交換後選択ペアについて示しているが、交換後対象ペアについても同様である。
【００５４】
図１４（ａ）に示すように、交換後選択ペア２７の出発時刻ｔｄ１が判定ペア２８の到着時刻ｔａ２よりも早い場合、交換後選択ペア２７と判定ペア２８とは重ならず、条件１は満たされる。また、図１４（ｂ）に示すように、交換後選択ペア２７の到着時刻ｔａ１が判定ペア２８の出発時刻ｔｄ２よりも遅い場合、交換後選択ペア２７と判定ペア２８とは重ならず、条件１は満たされる。また、図１４（ｃ）に示すように、判定ペア２８の到着時刻ｔａ２が、交換後選択ペア２７の到着時刻ｔａ１よりも遅く且つ出発時刻ｔｄ１よりも早い場合、交換後選択ペア２７と判定ペア２８とが重なり、条件１は満たされない。また、図１４（ｄ）に示すように、交換後選択ペア２７の到着時刻ｔａ１が、判定ペア２８の到着時刻ｔａ２よりも遅く且つ出発時刻ｔｄ２よりも早い場合、交換後選択ペア２７と判定ペア２８とが重なり、条件１は満たされない。
【００５５】
集合Ｔの全ての運用ペアについてつなぎ線の高さを仮決定すると、処理部２００は、集合Ｕの各運用ペアのつなぎ線の高さを確定する。
【００５６】
同様に、駅及びつなぎ種別の組合せが異なる全ての集合Ｔについて、運用ペアのつなぎ線の高さを決定すると、列車ダイヤ図において、各運用ペアに対応する車両運用を示すつなぎ線を、つなぎ種別に応じた駅線に対する位置（上／下）に、決定した高さで描画することで、列車ダイヤ図に列車運用を重ねて描画した運用図表を作成し、表示部１２０に表示させる。
【００５７】
図７に戻り、記憶部３００は、処理部２００が運用図表作成装置１を統合的に制御するための諸機能を実現するためのシステムプログラムや、本実施形態の運用図表作成処理を実行するためのプログラムやデータ等を記憶しているとともに、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や、操作入力部１１０からの操作信号が一時的に格納される。本実施形態では、プログラムとして、運用図表作成プログラム３１０が記憶されるとともに、データとして、列車ダイヤデータ３２０と、車両運用データ３３０と、運用ペアデータ３４０とが記憶される。
【００５８】
［処理の流れ］
図１５は、運用図表作成処理の流れを説明するフローチャートである。図１５によれば、処理部２００は、先ず、定められた車両運用データをもとに、各駅においてつなぎ線でつなぐ到着列車と出発列車の組合せである運用ペアを生成する（ステップＡ１）。次いで、生成した運用ペアを、つなぎ線の描画対象駅及びつなぎ種別が同じもの同士を１つの集合Ｔとするようにグループ分けする（ステップＡ３）。
【００５９】
そして、各集合Ｔを順に対象としたループＡの処理を行う。ループＡでは、つなぎ高さ決定処理を行い、対象の集合Ｔの各運用ペアのつなぎ線の高さを決定する（ステップＡ５）。
【００６０】
図１６，図１７は、つなぎ高さ決定処理の流れを説明するフローチャートである。図１６，図１７によれば、処理部２００は、初期設定として、集合Ｕ，Ｖをクリアする（ステップＢ１）。次いで、対象の集合Ｔの運用ペアを、その到着時刻が早い順にソートする（ステップＢ３）。そして、対象の集合Ｔの各運用ペアについて、到着時刻が早い順に対象ペアとしたループＢの処理を行う。
【００６１】
ループＢでは、集合Ｕがゼロならば（ステップＢ５：ＹＥＳ）、対象ペアのつなぎ線の高さを、最小値「１」として仮決定する（ステップＢ７）。
【００６２】
一方、集合Ｕに１つ以上の運用ペアが含まれるならば（ステップＢ５：ＮＯ）、集合Ｕから、出発時刻が最も早い運用ペアを抽出する（ステップＢ９）。そして、対象ペアの到着時刻と、集合Ｕから抽出した運用ペア（抽出ペア）の出発時刻とを比較し、対象ペアの到着時刻が抽出ペアの出発時刻よりも遅いならば（ステップＢ１１：ＹＥＳ）、最小高さペア判定処理を行って、集合Ｕの運用ペアのうち、つなぎ線の高さが同じであっても対象ペアに重ならない運用ペアであって、つなぎ線の高さが最小である運用ペア（最小高さペア）Ｔｍｉｎを判定する（ステップＢ１３）。
【００６３】
図１８は、最小高さペア判定処理を説明するフローチャートである。図１８によれば、先ず、初期値として、集合Ｕの運用ペアのうち、出発時刻が最も早い運用ペアを、最小高さペアＴｍｉｎとする（ステップＣ１）。
【００６４】
次いで、集合Ｕに含まれる運用ペアそれぞれについて、出発時刻が早い順に選択ペアとして、ループＥの処理を行う。ループＥでは、対象ペアの到着時刻が選択ペアの出発時刻より遅く（ステップＣ３：ＹＥＳ）、且つ、最小高さペアＴｍｉｎのつなぎ線の高さが選択ペアのつなぎ線の高さよりも低い（小さい）ならば（ステップＣ５：ＹＥＳ）、選択ペアを、新たな最小高さペアＴｍｉｎとする（ステップＣ７）。ループＥはこのように行われる。集合Ｕの全ての運用ペアについてのループＥの処理を終了すると、最小高さペア判定処理を終了する。
【００６５】
最小高さペア判定処理を終了すると、対象ペアのつなぎ線の高さを、最小高さペア判定処理で判定した最小高さペアＴｍｉｎの高さとして仮決定する（ステップＢ１５）。次いで、この最小高さペアＴｍｉｎのつなぎ線の高さを確定し、集合Ｕから削除して集合Ｖに追加する（ステップＢ１７）。
【００６６】
続いて、集合Ｕの各ペアについて、その出発時刻が遅い順に選択ペアとしてループＣの処理を行う。ループＣでは、対象ペアの出発時刻が選択ペアの出発時刻より遅く、且つ、対象ペアのつなぎ線の高さが選択ペアのつなぎ線の高さよりも高いならば（ステップＢ１９：ＹＥＳ）、高さ交換可否判定処理を行って、対象ペアと選択ペアのつなぎ線の高さを交換が可能か否かを判定する（ステップＢ２１）。
【００６７】
図１９は、高さ交換可否判定処理を説明するフローチャートである。図１９によれば、先ず、対象ペアと選択ペアのつなぎ線の高さを交換する（ステップＤ１）。
【００６８】
次いで、集合Ｕの選択ペアを除く各運用ペア、及び、集合Ｕの各運用ペアを、順に判定ペアとしたループＦの処理を行う。ループＦでは、先ず、判定ペアと、つなぎ線の高さを交換した後の選択ペア（交換後選択ペア）とのつなぎ線の高さを比較し、異なるならば（ステップＤ３：ＮＯ）、交換後選択ペアは判定ペアと「重ならない」と判断する（ステップＤ５）。
【００６９】
一方、判定ペアと交換後選択ペアのつなぎ線の高さが同じならば（ステップＤ３：ＹＥＳ）、続いて、交換後選択ペアの到着時刻と判定ペアの到着時刻とを比較する。その結果、交換後選択ペアの到着時刻が判定ペアの到着時刻より早いならば（ステップＤ７：ＹＥＳ）、更に、交換後選択ペアの出発時刻と判定ペアの到着時刻とを比較する。その結果、交換後選択ペアの出発時刻が、定ペアの到着時刻よりも早いならば（ステップＤ９：ＹＥＳ）、交換後選択ペアは判定ペアと「重ならない」と判断し（ステップＤ１１）、交換後選択ペアの出発時刻が判定ペアの到着時刻よりも遅いならば（ステップＤ９：ＮＯ）、交換後選択ペアは判定ペアと「重なる」と判断する（ステップＤ１３）。
【００７０】
一方、交換後選択ペアの到着時刻が、判定ペアの到着時刻よりも遅いならば（ステップＤ７：ＮＯ）、更に、交換後選択ペアの到着時刻と判定ペアの出発時刻とを比較する。その結果、交換後選択ペアの到着時刻が判定ペアの出発時刻よりも遅いならば（ステップＤ１５：ＹＥＳ）、交換後選択ペアは判定ペアと「重ならない」と判断し（ステップＤ１７）、交換後選択ペアの到着時刻が判定ペアの出発時刻よりも遅いならば（ステップＤ１５：ＮＯ）、交換後選択ペアは判定ペアと「重なる」と判断する（ステップＤ１９）。ループＦの処理は、このように行われる。
【００７１】
集合Ｕの選択ペアを除く各運用ペア、及び、集合Ｕの各運用ペアの全てについて、ループＦの処理を終了すると、集合Ｕの選択ペアを除く各運用ペア、及び、集合Ｕの運用ペアの全てについて、交換後選択ペアと「重ならない」と判断したならば（ステップＤ２１：ＹＥＳ）、対象ペアと選択ペアのつなぎ線の高さは「交換可」と判断し（ステップＤ２３）、１つでも「重なる」と判断したならば（ステップＤ２１：ＮＯ）、対象ペアと選択ペアのつなぎ線の高さは「交換不可」と判断する（ステップＤ２５）。
【００７２】
その後、交換後対象ペアと交換後選択ペアのつなぎ線の高さを交換し、もとの高さに戻す（ステップＤ２７）。以上の処理を行うと、処理部２００は、高さ交換可否判定処理を終了する。
【００７３】
高さ交換可否判定処理の結果、「交換可」と判定したならば（ステップＢ２３：ＹＥＳ）、対象ペアと選択ペアのつなぎ線の高さを交換する（ステップＢ２５）。
ループＣはこのように行われる。
【００７４】
一方、対象ペアの到着時刻が抽出ペアの出発時刻よりも早いならば（ステップＢ１１：ＮＯ）、対象ペアのつなぎ線の高さを、集合Ｕに含まれるペアの数Ｎに「１」加算した値（Ｎ＋１）として仮決定する（ステップＢ２７）。
【００７５】
続いて、集合Ｕの各ペアについて、その出発時刻が遅い順に選択ペアとしてループＤの処理を行う。ループＤでは、対象ペアの出発時刻が選択ペアの出発時刻より遅いならば（ステップＢ２９：ＹＥＳ）、高さ交換可否判定処理（図１９参照）を行って、対象ペアと選択ペアのつなぎ線の高さを交換が可能か否かを判定する（ステップＢ３１）。高さ交換可否判定処理の結果、「交換可」と判定したならば（ステップＢ３３：ＹＥＳ）、対象ペアと選択ペアのつなぎ線の高さを交換する（ステップＢ３５）。
ループＤはこのように行われる。
【００７６】
このように、対象ペアのつなぎ線の高さを仮決定すると、処理部２００は、この対象ペアを集合Ｕに追加し（ステップＢ３７）、その後、集合Ｕの運用ペアを、出発時刻が早い順にソートする（ステップＢ３９）。ループＢはこのように行われる。
【００７７】
そして、集合Ｔの全ての運用ペアについてのループＡの処理を終了すると、処理部２００は、集合Ｕの各運用ペアのつなぎ線の高さを確定した後（ステップＢ４１）、つなぎ高さ決定処理を終了する。
【００７８】
全ての集合Ｔを対象としたループＡを終了すると、処理部２００は、列車ダイヤ図に車両運用を示すつなぎ線を決定した高さで描画した車両運用図表を作成し、表示部１２０に表示させる（ステップＡ７）。以上の処理を行うと、処理部２００は、運用図表作成処理を終了する。
【００７９】
［作用・効果］
このように、本実施形態によれば、ある駅においてつなぎ線でつなぐ到着列車と出発列車の組合せである各運用ペアについて、到着時刻が早い順に対象ペアとしてつなぎ線の高さを仮決定する。つなぎ線の高さは、つなぎ線の高さを仮決定した他の運用ペアと重ならない高さであって最小の高さとなるように仮決定し、更に、仮決定したつなぎ線の高さが、他の運用ペアのつなぎ線を突き出す場合、その運用ペアと対象ペアとのつなぎ線の高さを交換しても他のつなぎ線と重ならないならば、その運用ペアと対象ペアのつなぎ線の高さを交換する。
【００８０】
これにより、車両運用図表において、列車間の運用つなぎを示す各つなぎ線の高さを、つなぎ線同士が重ならず（条件１）、且つ、つなぎ線の高さが最小となる（条件２）とともに、更に、可能な限りつなぎ線同士が突き出さない（条件３）よう、適切に決定することができる。
【００８１】
［変形例］
なお、本発明の適用可能な実施形態は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【００８２】
（Ａ）駅線が複数
例えば、上述の実施形態では、駅線を１つとして説明したが、駅線が２つの場合にも適用可能である。
【００８３】
図２０は、駅線が２つの場合のつなぎ線の描画例を示す図である。図２０では、Ｃ駅の駅線が２つの例を示している。この場合、Ｃ駅の２つの駅線の間をつなぎ種別に合わせた４つの領域に分割し、各領域に対応するつなぎ種別のつなぎ線を描画する。図２０では、２つの駅線の間を、図中上から順に、つなぎ種別が（上，上）、（上，下）、（下，上）、（下，下）用の領域としている。また、つなぎ線の高さは、つなぎ種別が（上，上）及び（上，下）については、上側の駅線から離れる方向を“高い”とし、つなぎ種別が（下，上）及び（下，下）については、下側の駅線から離れる方向を“高い”とする。
【００８４】
（Ｂ）乗務員運用
また、上述の実施形態では、車両運用について説明したが、乗務員運用についても同様である。
【００８５】
（Ｃ）停車場
また、上述の実施形態では、停車場の代表例として駅について説明したが、信号場や操車場についても同様に適用可能である。
【符号の説明】
【００８６】
１０  つなぎ線、２０  運用ペア
１  運用図表作成装置
１１０  操作入力部、１２０  表示部、２００  処理部
３００  記憶部
３１０  運用図表作成プログラム、３２０  列車ダイヤデータ
３３０  車両運用データ、３４０  運用ペアデータ
【図１】
0005450142.tif 000002
【図２】
0005450142.tif 000003
【図３】
0005450142.tif 000004
【図４】
0005450142.tif 000005
【図５】
0005450142.tif 000006
【図６】
0005450142.tif 000007
【図７】
0005450142.tif 000008
【図８】
0005450142.tif 000009
【図９】
0005450142.tif 000010
【図１０】
0005450142.tif 000011
【図１１】
0005450142.tif 000012
【図１２】
0005450142.tif 000013
【図１３】
0005450142.tif 000014
【図１４】
0005450142.tif 000015
【図１５】
0005450142.tif 000016
【図１６】
0005450142.tif 000017
【図１７】
0005450142.tif 000018
【図１８】
0005450142.tif 000019
【図１９】
0005450142.tif 000020
【図２０】
0005450142.tif 000021