卒業研究論文
鉄道車両基地の
列車保守作業のスケジューリング
学籍番号 12D8104032L 細井 太久哉
中央大学理工学部情報工学科 田口研究室
2016年3月
i
あらまし
鉄道の車両基地では、多くの列車が行き交い, 日々の営業列車の運転をするために欠かせない保守作業 を行う. その作業を効率よく行うためには, 列車の動きに無駄をなくさなければならない. 本研究では, 実際の列車の発着と検車区の構内図を用いて, 車両基地の列車のより効率的な動きを提案する.
キーワード:列車, 検査, 清掃, PERT, スケジューリング, ノード
ii
目次
第1章 はじめに ... 1
第2章 データの概要 ... 2
2.1 列車の出入庫データ ... 2
2.2 検車区所属の列車データ ... 2
第3章 最適解を導出するための手法 ... 6
3.1 PERT ... 6
3.2 スケジューリング ... 8
第4章 入力順の作業割り当て ... 9
4.1 入力データ ... 9
4.2 作業割り当ての生成 ... 11
4.3 プログラムの構成 ... 12
第5章 出力結果の考察 ... 15
5.1 スケジューリングの考察 ... 15
5.2 PERTを用いた手法の考察 ... 17
第6章 おわりに ... 18
6.1 まとめ ... 18
6.2 今後の課題 ... 18
謝辞 ... 19
参考文献 ... 19
1
第
1章 はじめに
普段, 我々が通勤や通学などで使用する鉄道は, 毎日休むことなく動き続けている. そのためには, 定期的な検査を必ず行わなければならない. また, 列車が営業運転する中で, 利用者に満足してもらえ るように, 鉄道会社は車両の清潔さに気を遣っている. その検査や清掃は一般的に車両基地と呼ばれる 検車区で行われる. しかし, 検査や清掃を行う車両は 1 日に何本も存在し, 作業員の勤務時間も考慮し なければならないので, 作業できる時間が限られてくる.
本研究では, そのような限られた時間の中で効率よく作業を進めるために, PERT 及びスケジューリ ングを使用し, 検査及び清掃の順序を決定し, その状況下において, 検車区内での列車の移動を効率的 に行う方法を提案する.
2
第
2章 データの概要
本章では, 使用するデータについて述べる.
2.1
列車の出入庫データ
列車の出入庫は, 主に検査や清掃を行う列車が車両基地のある駅において旅客営業を打ち切る, もし くは回送で到着したのちに行われる. 本研究では, 京急本線神奈川新町駅に隣接する京浜急行電鉄新町 検車区における出入庫データを利用する.
このデータを表 2.1及び表 2.2に示す. このデータは, 本論文において研究対象とする, 平日の 7:45
~19:30までの出入庫データとなっている. 表2.1は該当時間帯に新町検車区に入庫する列車である. 旅 客列車の到着時刻は実際の時刻表[1]から抜粋し, 回送列車の到着時刻及び駅のホームを発車して検車 区に入庫する時刻は自身で調べたものである. 調査方法は, 神奈川新町駅において, 列車が検車区側に 引き上げる時刻及び検車区から本線に到着する時刻を地道に記録していくというものである. この調査 では, あくまでも通常通りのダイヤで運転している場合を対象としているので, ダイヤ乱れが発生した 場合は改めて調査しなおす必要があった. なお, 京浜急行電鉄では列車の増結を行っており, 増結列車 のみが入庫する運用も存在する. 両数において, 4+4という表記が存在するが, これは4両編成の列車同 士が増結したまま入庫することを表している. 表2.2は該当時間帯に新町検車区を出庫する列車である.
2 段階入替という表記に関して, これは下り列車を入れ替えるときに検車区側の引き上げ線を同時に使 うことができず, ホーム上を 1 線しか使えない場合に長時間の交差支障が発生するため, 出庫列車をあ らかじめ検車区と反対側の留置線に入れ替える作業が必要となる列車に「あり」と記載されている. 検 車区の配線図(図2.1)及び[2]も参考にしてほしい. 両数について, 入庫と異なる連結が存在するが, この 連結作業は検車区内で行われている.
2.2
検車区所属の列車データ
鉄道会社の多くは, 複数の検車区を所持している. 各列車は, それぞれ所属する検車区において検査 と清掃を実施する. ただし, ダイヤ乱れが発生した場合は例外もある. 他社と相互直通運転を行ってい る場合は, 他社の検車区での検査及び清掃は行われない.
出入庫する列車の中には検査も清掃も行わないものが存在する. そのため, 各列車の所属を明らかに しておく必要がある.
新町検車区に所属する車両を表2.3にまとめる.
3
表2.1 新町検車区に入庫する列車(7:40~19:30) ※2015年11月地点
運用番号 到着時刻 ホーム発 両数
707C 7:44 7:45 4
711C 8:08 8:09 4
724H 8:21 8:24 4
856 8:26 8:30 6
715C 8:32 8:33 4
回890H 8:36 8:37 4+4
回806T 8:38 8:39 8
858 8:41 8:45 6
回806C 8:46 8:47 8
754H 8:51 8:54 4
756H 9:02 9:05 4
830 9:08 9:13 6
862 9:17 9:18 6
860H 9:23 9:25 4
834 9:29 9:33 6
864H 9:41 9:44 4
904 9:48 9:49 6
866H 9:52 9:54 4
871 9:54 9:55 6
回980 10:01 10:02 4
942 10:14 10:15 6
回1010H 10:28 10:29 8
回1108D 11:29 11:30 8
1148 11:57 11:59 6
1120 12:27 12:29 6
1258 12:57 12:59 4
1230 13:27 13:29 4
1234 13:47 13:49 4
1342 14:27 14:29 4
回1572 15:49 15:50 4
1548 16:07 16:08 4
回1574 16:11 16:12 4
1670 17:16 17:20 4
1715 18:44 18:45 6
1721 19:04 19:05 6
1857 19:24 19:25 6
4
表2.2 新町検車区を出庫する列車(7:45~19:30) ※2015年11月地点
表2.3 新町検車区に所属する車両 ※2015年11月地点
運用番号 発車時刻 両数 2段階入替 入替時刻 直接出庫
871 9:55 4 なし なし
942 10:15 4
回1073 10:20 4 なし あり
1024D 10:29 6 なし なし
回1075 10:40 4 なし あり
回1177 11:00 4 なし あり
回1150 11:05 4+4 なし なし
1148 12:03 4 あり 11:15 なし
1120 12:33 4 あり なし
1258 13:03 6 あり なし
1230 13:33 6 あり 12:35 なし
1234 13:53 6 あり 13:05 なし
1342 14:33 6 あり 14:05 なし
回1585 15:49 4 なし あり
1548 16:16 6 あり 14:55 なし
回1613C 16:22 8 なし あり
1606T 16:55 8 なし なし
回1793A 17:09 4+4+4 なし あり
回1763 17:11 6 なし なし
1670 17:20 6 なし なし
回1795A 17:33 8+4 なし あり
回1797A 17:54 8+4 なし あり
回1863 18:51 4 なし あり
1715 18:52 4 なし なし
1721 19:12 4 なし なし
1857 19:32 4 なし なし
8両編成
1000形 6本 1001 1009 1017 1025 1033 1041
6両編成
1000形 7本 1301 1307 1313 1343 1349 1355 1361
1500形 9本 1529 1533 1537 1541 1545 1549 1561
1589 1593
800形 4本 812 816 817 818
4両編成
1000形 11本 1401 1417 1421 1425 1429
1469 1473 1477 1481 1485 1489
1500形 7本 1501 1505 1509 1513 1517 1521 1525
5
図2.1 新町検車区付近の配線図(向かって左が品川方面, 右が横浜方面)
解説
図の上側の黒い長方形に囲まれた部分が留置線である. この留置線は, 下り線にしかつながっておら ず, 検査や清掃の設備もないので, 下り列車として再び出庫していく列車を時間まで留置するために使 用するものである. その下の青い長方形に囲まれた部分が検車区への引き上げ線である. その間にある 赤い太線で記した部分が, 下り本線につながっているポイント及び引き上げ線である.
B という文字の真下の位置付近に車体清掃用のブラシが設置されている. その下の囲ってある部分が 清掃線である. 列車の車内清掃はこの場所で行う. 右下に2 箇所, 四角で囲まれた部分が検査線である.
7線あるうち, 検査に使うのは上から5線である.
6
第
3章 最適解を導出するための手法
検車区内での1日の作業時間は限られている. 限られた作業時間の中ですべての作業を終わらせる必要 があり, なおかつ効率よく作業を進行させることが望ましいとされる. そこで, 適切な順序を導出する ためにPERTとスケジューリングを使う. 本章では, そのPERTとスケジューリングに関しての解説を する.
3.1 PERT
PERTとは, Program Evaluation and Review Techniqueの略語であり, プロジェクトマネジメン トの一つの手法で, 各工程の関係を図示して, 必要な時間の見積もりや時間が最もかかるであろう, 重 要な工程を見極める手法である.
簡単な PERT図を, 図 3.1に表す. 丸数字をノードと言う. ノードはプロジェクト進行中の状態を表 すことが多い. 矢印は各作業, 矢印に付加されている数字は作業時間を表すことが多い.
簡単な例を用いて説明する. 例えば, PCのあるデータを印刷しようとする. このときに必要な作業が 表3.1の通りであったとする. これを, PERT図に表すと, 図3.2のようになる. 各ノードは特定の作業 をしたことに対する PC やプリンターの状態を表す. 矢印は各作業を表す. この作業の中で, 最も作業 時間がかかるパスをクリティカルパスという.
本論文では, 各矢印を検車区内での作業(列車の移動や清掃)に置き換えて PERT 図を作成する. 単純 な例を図 3.3 に表す. 各ノードが状態を表し, 矢印が作業を表す. 列車の移動同士が同時にできない場 合はこのように順序の概念を持つ.
7
図3.1 簡単なPERT図
表3.1 PCのあるデータを印刷する際の作業一覧
図3.2 表3.1をPERT図で表したもの
所要時間(分) 先行作業
A PCを起動させる 5
B PCで印刷ページを開く 3 A
C PCとプリンターを繋ぐ 2
D プリンターの電源を入れる 3 C
E 用紙をセットする 2
F プリンターに印刷指示を出す 1 B, D, E
必要な作業
8
図3.3 検車区におけるPERT図の一例
3.2
スケジューリング
スケジューリングとは, やるべき作業がいくつかあるときに, どの順で作業を進めるのが最も早く終 わるのか, その最適な順序を求める問題のことである.
それぞれの作業で使うものや人を資源と呼ぶ. この資源には限りがあるので, 同時にたくさん行うこ とができない. また, 一部は作業の順序が決まっていることもある.
スケジューリング問題の真の最適解を求めるのは難しい場合が多い. そこで, 近似解法が使用される.
近似解法は, 精度が一定以下の誤差となる方法全般を指す.
本論文では, 列車の検査及び清掃の順序を決めるスケジューリングのアルゴリズムを使用する. 検査 と車内清掃は並列機械問題に相当し, 利用可能な機械の台数を線路の数と置き換えて, 複数の線路から 空いている線路を選ぶものとする. 車体清掃は専用の機械が1台しかないので順に割り当てていくもの とする.
9
第
4章 入力順の作業割り当て
本章では, 第3章で述べた手法を利用した列車保守作業のプログラミングについて詳しく説明する.
4.1
入力データ
プログラムに与えるデータは, 表2.1及び表 2.2で示した出入庫表をプログラムに合うように変形す る必要がある. そこで, 同一車両の入庫に対する出庫運用をあらかじめ決めておく. 車両に通し番号を つけて, 個々の車両の動きを管理できるようにしておく. ただし, 同じ車両でも, 新たに入庫したとき は, 新しい番号をふる. また, 列車によっては入庫しかないものもある一方, 出庫しかないものもある.
これらの読み込みに必要なデータの種類が異なるので, 条件文で制御してあげる必要がある.
入力データを以下に記載する.
2 4 4 11:15 1 2 2 4 15:49 5 2 2 6 13:05 1 1 7:45 4 4 4
0 8:09 4 4 4 10:40 5 0 8:24 2 2 4 11:55 1 1 8:30 1 3 6
0 8:33 4 4 4 11:00 5 0 8:37 2 4 8 11:05 2 0 8:39 1 6 8 16:55 1 1 8:45 1 4 6
0 8:47 2 4 8 17:54 5 0 8:54 2 1 4 17:09 5 1 9:05 1 1 4
0 9:13 1 1 6 17:20 2 0 9:18 1 1 6 14:05 1 0 9:25 2 4 4 10:20 5 0 9:33 1 2 6 12:15 1 0 9:44 2 5 4 9:55 3 0 9:49 2 2 6 12:35 1 0 9:54 2 4 4 10:15 1 0 9:55 4 1 6 14:55 1 1 10:02 2 1 4
0 10:15 1 6 6 10:29 1
10 0 10:29 2 1 8 17:33 5
0 11:30 2 2 8 16:22 5 0 11:59 1 1 6 17:11 5 1 12:29 1 2 6
0 12:59 1 2 4 19:32 4 0 13:29 1 4 4 19:12 4 0 13:49 1 4 4 18:52 4 3 14:29 1 4 4 17:09 3 15:50 2 4 4 17:33 3 16:08 2 4 4 17:09 0 16:12 2 4 4 18:51 5 3 17:20 1 4 4 17:54 1 18:45 4 4 6 1 19:05 4 4 6 1 19:25 4 4 6
一番左側の数字は出入庫があるかどうかを表す. 0は出入庫両方あり, 1は入庫のみ, 2は出庫のみ, 3 は出入庫が両方あるものの, 0と違って, 増結編成となるものである. 増結編成とは, 基本となる別の車 両と連結を行い, 同じ運用に入るものである. この左側の数字で, そのあとに読み込みする必要のある データが変わってくる.
左の数字が0の場合(出入庫あり) 1. 第1成分:入庫時刻
検車区に入庫する時刻を表す.
2. 第2成分:神奈川新町駅の到着番線 入庫直前に到着する番線を表す.
3. 第3成分:作業の有無
1が検査+清掃, 2が清掃のみ, 3が月検査, 4は何もしないが検車区に出入りする列車, 5は検 車区側の引き上げ線を使ってそのまま折り返す列車, 6 は下り留置線に出入りするだけの車 両を表す.
4. 第4成分:列車の両数
4両編成を2本連結している場合は合計両数である8両として扱う.
5. 第5成分:出庫時刻
検車区から出庫する時刻を表す. そのため, 列車によっては入れ替え時刻を表すことがある.
6. 第6成分:神奈川新町駅の出発番線
神奈川新町駅に5番線は存在しないにも関わらず5という数字があるのは, 検車区から直接 出庫するということを意味する.
左の数字が1の場合(入庫のみ) 1. 第1成分:入庫時刻
左の数字が0の場合の第1成分と同様である.
11 2. 第2成分:神奈川新町駅の到着番線
左の数字が0の場合の第2成分と同様である.
3. 第3成分:作業の有無
左の数字が0の場合の第3成分と同様である.
4. 第4成分:列車の両数
左の数字が0の場合の第4成分と同様である.
左の数字が2の場合(出庫のみ) 1. 第1成分:作業の有無
左の数字が0の場合の第3成分と同様である.
2. 第2成分:列車の両数
左の数字が0の場合の第4成分と同様である.
3. 第3成分:出庫時刻
左の数字が0の場合の第5成分と同様である.
4. 第4成分:神奈川新町駅の出発番線
左の数字が0の場合の第6成分と同様である.
左の数字が3の場合(出庫が増結編成になる車両) 1. 第1成分:入庫時刻
左の数字が0の場合の第1成分と同様である.
2. 第2成分:神奈川新町駅の到着番線
左の数字が0の場合の第2成分と同様である.
3. 第3成分:作業の有無
左の数字が0の場合の第3成分と同様である.
4. 第4成分:列車の両数
左の数字が0の場合の第4成分と同様である.
5. 第5成分:出庫時刻
ここでの出庫時刻は, 基本編成に連結するために必要としている. 基本編成と出庫時刻が一 致する車両に対して連結を行う.
4.2
作業割り当ての生成
スケジューリングを作成するためには, 実際に関係する現実の作業から要請されるいくつかの現実的 な制約条件を付け加えていかなければならない. ここでの制約条件を以下の通りとする.
検査と清掃の両方を行う車両は, 検査を先に行う.
検査及び清掃の順序は, 入庫した順とする. ただし, 検査と清掃の両方を行う列車は, 清掃のみを 行う列車のスケジュール作成後にその合間を縫うようにして, 検査終了後の清掃線が空いているタ イミングで行うものとする.
12
列車のスケジュールの間隔に最低でも 3 分の余裕を持たせること. 検査は間隔を最低でも10 分以 上持たせること. ここでも
検査線及び清掃線に空きがない場合は空くまで待機すること.
清掃線に8両分の長さがあるところは, 4両編成の車両が2本同時に入線できるものとする.
検査作業及び清掃作業の開始時刻は8:30とする. ただし, 車体清掃のみは構内運転士がボタンを操 作するだけで清掃可能なのでこれ以前の時刻に行っても良いものとする.
4.3
プログラムの構成
まず, データの読み込みを行うが, ここで, 最初にデータの数を読み込む必要がある. ここでいう数 は, 検車区を出入りする列車の本数で, 該当時間帯に出庫しかしないものも入庫しかしないものも1 つ のデータとしてカウントする. 出入庫がある列車に関しては, 入庫から出庫までを 1 つの列車データと して管理するために, 入庫に対する出庫運用をあらかじめ決めている. ここで注意すべきことは, デー タの形が出入庫の違いによって異なるために, 条件分岐を用いてそれぞれの読み込みデータの形に合う ようにしなければならないことである. ここで, 時刻の管理を容易にするために, 読み込んだ時刻を整 数に変換する.
読み込んだ時刻がp時q分なら, 対応する整数tは, t = p × 60 + q となる.
次に, データの読み込みが完了すると, 検査のスケジュール作成に進む. 清掃よりも検査のスケジュ ールが優先なのは, 検査を行わないと規定で列車を走らせることができなくなる為, 清掃よりも重要度 が高いと判断されるからである. ここでの割り当ては, 入庫した順を検査作業の順番とし, 入庫時に検 車場が空いている場合は, 各検車場に割り振った数字の順に入場するものとする. 空いてない場合, 最 初に空く検車場に入場するものとする. 検査スケジュールの例を以下のグラフで表す. 列車に割り振ら れている数字が入庫順とする. 列車1から列車4までは検車場の数字が小さい順に割り振られている.
列車5の入庫地点では検車場に空きがないが, 最初に列車1の検査が終わって検車場1が空くので検車 場1が割り振られている. ここで検車場1が次に空く時刻を列車5の検査終了時に更新する必要がある.
それ以降に入庫する列車は, 同様に検車場を割り振ることとなる.
13
検査のスケジュールが組み終わると, 続いて清掃のスケジュール作成へと移行する. ここでは, まず 清掃のみを行う車両に対して先程と同様の割り当てを行ったあと, 検査終了後の車両について, 空いて いる時間帯に清掃作業を割り込むものとする. このとき, すでに作成されたスケジュールを邪魔しない ように制御している.
清掃スケジュールの例を以下のグラフで表す. ここで, 列車5 に注目してほしい. 列車5 は検査終了 後に清掃作業を行っているが, 列車 5 以外の列車であらかじめ清掃のスケジュールを決めて, その合間 を縫うように列車5の清掃を行っている. 列車5の検査終了時に列車4がまだ清掃中であるので, 列車 4 の清掃終了後から清掃作業を開始する. ここでのブラシは車体清掃を表す. 車内清掃を清掃線で行う.
ほとんどの場合, 車体清掃のあとに車内清掃を行うが, 列車 3 のように, 最初から清掃線に留置されて いる車両があり, この場合は順序が入れ替わる.
0:00 2:24 4:48 7:12
検車場 1 検車場 2 検車場 3 検車場 4
検査スケジュールの例
列車 1 列車 2 列車 3 列車 4 列車 5 列車 6 列車 7 列車 8
0:00 0:28 0:57 1:26 1:55
検車場 ブラシ 清掃線 1 清掃線 2 清掃線 3
清掃スケジュールの例 列車 1
列車 2
列車 3
列車 4
列車 5
列車 6
14
スケジュールの作成が終わると, 列車の移動順序を作成しなければならない. この移動に関して, 移 動に関する条件がかなり複雑である上, 移動の前後に行わなければならない処理が非常に多いのである.
本研究でのプログラムはここまでの完成には至らなかったが, 代わりに, 組まれたスケジュールを用い て手作業で移動の順序を作成してみることとする.
ここまでの流れを簡潔にまとめると, 以下の通りとなる.
入力データを順にFIFOで割り振る.
割り振りにはいくつかのルールがある. あるものはプログラム化しているが, 別のあるものはして おらず, 手作業でやっている.
最適化までは考えていない.
15
第
5章 出力結果の考察
本章では, 第4章で述べたプログラミングを実行した出力結果について考察を行う.
5.1
スケジューリングの考察
作成したプログラムにデータを入力した結果, 表 5.1 の結果を得ることができた. この表から考えら れることとしては, スケジュールの開始時刻と終了時刻が一部時間帯ではかなり接近している一方で, 別の時間帯ではかなり間隔が空いてしまっていることがある. このように, 列車のスケジュールの開始 時刻と終了時刻が接近しすぎると, その前後で多数の列車が動かなければならない. これらの列車を動 かす構内運転士の人数が足りれば問題ないのだが, 足りないと, 列車を動かせず, その後の作業に影響 が及んでしまうだろう.
もう一つ, この結果には重大な欠点がある. それは, ある列車の車体清掃の開始時刻と車内清掃の開 始時刻が近すぎる, もしくは完全に一致している部分が存在することである. この出力結果のうち, 列 車○○の清掃場所と記されているものが車内清掃を意味する. ここで, 第2 章の図2.5の配線図を参照 していただきたい. 多角形で囲まれた清掃線とその上にブラシが設置されている線路がある. しかし, これらの線路につながっている線路はすべて同じ区間を共有している. つまり, 同時に出入りすること は不可能なのである. なお, 配線図向かって左側は引き上げ線なので, 通常の場合は向かって左側から 直接進入してはならない. ところが, 得られた結果では列車が同時に出入りしなければならないスケジ ュールが組まれてしまっている. この場合, どちらか片方の列車が途中の線路上で待機せざるを得ない.
ここでの待機時間がロスタイムである. これは完全に時間の無駄遣いである.
このように, スケジュールに沿って作業をするとロスタイムが発生する場合, スケジュールの見直し が必要である. まだ車体清掃のスケジュールと車内清掃のスケジュールのリンクが上手くできてないこ とが考えられる.
16
表5.1 スケジューリングの結果
17
5.2 PERT
を用いた手法の考察
スケジューリングで得た結果から, 一部の動きを手作業で求め, PERT 図にしてみた. 清掃時刻の近 い列車13, 列車14, 列車25の検車区での動きをPERT図で表したものが図5.1である.
列車が3本だけでもこの量なので, 全体になればPERT図は相当長いものとなり, さらに分岐も増え, より複雑になる.
図5.1 検車区におけるPERT図
18
第
6章 おわりに
6.1
まとめ
本研究では, 京浜急行電鉄新町検車区において, 実際に出入庫する列車の時刻に合わせて保守作業を 適切に行うスケジューリングを作成しようと試みた. また, 得られたスケジューリングからPERT図を 作成しようと試みた. しかし, 理想的なスケジューリングとはまだまだ程遠いもので, 作業の効率があ まりよくない部分が見られた. また, PERT図の作成に至っても, 移動作業の重なりがあって, 時間が余 分にかかってしまう点も見られた. このようなスケジュールの作成において, 入庫に対する出庫と作業 の有無を一部実際のデータに基づいて決め打ちしてしまったことが一つの原因として考えられる.
6.2
今後の課題
今後の課題を以下に示す.
車体清掃と車内清掃のスケジュール同士の競合を避けるようにプログラムを変更する.
PERT図をプログラムから作成できるようにする.
別のダイヤに対しても使えるようにする.
決め打ちしたデータを柔軟に変更できるようにする.
19
謝辞
本研究を進めるにあたり, 多くのご助言, ご指導をいただきました中央大学理工学部情報工学科の田 口東教授に心から感謝いたします. また, 多くのご助言, ご協力をいただいた中央大学理工学部情報工 学科の山形浩一助教, ならびに, 大学院生の秋本大地氏をはじめとする田口研究室の皆様に深く感謝い たします.
参考文献
[1] 交通新聞社 京急電車時刻表 平成26年度
[2] 京浜急行電鉄本線- 配線略図.net
http://www.haisenryakuzu.net/documents/pr/keikyu/hon/