【上級編】既知の問題

MARSでは、できるだけJRの制度に忠実な結果を出すべく、 開発チームが奮闘していますが、なにぶん少人数ではなかなか手が回りません。

そのため、MARSの計算とJRで実際に発行されるきっぷとでは食い違っている、 という箇所も、正直に申し上げると何箇所か存在する、ということを確認しています。

ここでは、そのような例をいくつかご紹介しておきます。

(このページは【上級編】ですので、読み飛ばしていただいて結構です。)


Issue 1: 大阪→新大阪から新幹線→清音

i. 問題の概要

新大阪〜倉敷〜清音・新倉敷
次の経路を考えます。
大阪駅発→新大阪から新幹線で岡山へ→倉敷から伯備線の清音(きよね)駅まで

このきっぷを買うと、金額は3350円 (新幹線の自由席券を一緒に買うと、特急料金2480円を加えて5830円) になります。また、出発地は「大阪・新大阪→清音」と印刷されます。

ところが、このルートをMARSで計算させると、金額は3670円、 出発駅は「[阪]大阪市内」という、現実と合わない結果が出てしまいます。

☆ ☆ ☆

この経路、Yahoo!で計算してみても確かに3350円と出ます。

大阪→清音 Yahoo!の結果

一方で、MARSの計算結果は次のようになります。 なぜか、キロ数は一致しています。

MARS 大阪→新大阪→清音

ii. 背景要因

この問題は、新大阪駅にまつわる特例について、 MARSの実装がJRの実際の運用と異なっていることが原因です。 当然、MARSの計算も実際の運用に合わせたいのですが、 この特例についてはまだ確認すべき点があり、実装に踏み切れていません。

今回問題となる特例は、

「新大阪駅が出発地で、姫路駅(またはその先)まで行く場合 (当然ながら、その逆のルートで新大阪駅まで向かう場合も)には、 新大阪ではなく大阪駅から/大阪駅までのキロ数で計算する」
というものです。

こういう特例が設定された経緯については確認がとれていないので想像になりますが、新幹線が新大阪よりも西へと延びた際、 今まで大阪駅から西行きの特急を利用していた人は、 新大阪からの山陽新幹線に鞍替えすることになりました。 新大阪駅は大阪駅よりも東側にありますからキロ数が旧来より長くなり、 特急料金のみならず乗車券まで値上げとなるケースがありました。 そういう人の負担軽減のためにこの特例ができた、と考えられます。

最後までご覧になってからここに戻ってくればおわかりになると思いますが、 いま問題にしている「大阪→倉敷→清音」というルートも、この影響を受けます。

iii. MARSが現在使っている計算ルール

MARSでは、問題の経路を次のように計算します。

  1. 新幹線の新大阪〜西明石間には、並行在来線上にない駅、 すなわち新神戸駅があるので、在来線と新幹線の両方を使って 「大阪→新大阪→(新幹線)→西明石」と乗ることができます。 もちろん、大阪→新大阪→(在来線)→西明石は不可です。 (→新幹線のページの「幹在別線」を参照。)

  2. そこで、指定された経路通りに計算すると、
    1. 大阪→新大阪 3.8km
    2. 新大阪→西明石(新幹線経由) 59.7km
    3. 西明石→岡山(ここは新幹線でも在来線でも同じ)120.6km
    4. 岡山→倉敷→清音 23.2km
    となります。

  3. 上記の特例は「新大阪発着の場合でも大阪発着で計算する」というもので、 今回は大阪駅が出発地になっているはずですから、 この特例を持ち出す理由はありません。

  4. 上記のキロ数をすべて合計すると207.3kmになり、200kmを超えているので、 出発地は「大阪駅」ではなく「[阪]大阪市内」となり、運賃は、 時刻表のピンクのページで「201〜220km」のところを索いて3670円とします。

iv. JRの実際の運用

一方、JRの実際の運用は、次のようになっているようです。

  1. まず、大阪駅出発を脇に置いて、新大阪から出発する場合を考えると、 上で計算したキロ数を援用して、新大阪→西明石は59.7km、 西明石→清音は143.8kmなので、合計すると203.6kmになります。

  2. この例には、「新大阪→姫路駅→その先」という上記の特例が適用されます。 そこで、新大阪→西明石を在来線経由とみなし(注)、大阪→(在来線)→西明石→倉敷→清音、 という経路を改めて計算し直すと、199.7kmとなります。 200km以下のため出発駅は「[阪]大阪市内」にはならず、 ピンクのページの運賃表で「181〜200km」を索くと、3350円となります。

  3. そこで、きっぷの出発駅は「大阪・新大阪」となります。 また、このきっぷで大阪駅から出発することは明らかに可能なので、 JRでは「大阪→新大阪→新幹線」という経路も認めていると推測されます。
    (注)このような「乗っている電車は新幹線だけど、 途中に在来線の駅があるとみなす」という計算は、実際にもよく行われます。
    たとえば、「静岡→神戸市内」の乗車券と 「静岡→新神戸」の自由席特急券で新幹線に乗り、 あとから予定を変更して、ひとつ先の西明石まで行くことにした場合、 次のような取扱になります。
    • 特急券は、「静岡→新神戸」「静岡→西明石」は4540円で同額なので、 到着前に車掌さんに申し出ておけば、差額なしで乗り越せます。
    • 乗車券は追加出費が発生しますが、追加で購入するきっぷは 「新神戸→西明石(22.8km、390円)」である必要はなくて、 「舞子→西明石(7.7km、180円)でかまいません。 この「舞子」という駅は、在来線で神戸市の西端の駅です。

この解釈に従ってMARSで計算すると、次のようになります。

MARS 大阪→神戸→清音

こんどは、金額は一致しましたが、キロ数がYahoo!の結果とは食い違っています。 これについては、「特定市内」のところで見たように、Yahoo!が 「計算上ノーカウントにすべき部分のキロ数もカウントしてしまう」 という設計になっていることを思い出していただければと思います。

なお、新大阪から出発して、岡山のひとつ先の新倉敷まで新幹線で行くと、 大阪駅から在来線経由でも201.7kmとなり、出発駅が「[阪]大阪市内」となるため、 今回の特例が入る余地はなくなります。

v. どうする?

「MARSの出力結果が実際の運用を反映していない」ということは大問題であり、 開発チームでは、できるだけ早く解決したいと考えています。


Issue 2: (これからもう少し増やします)

前章(MARSにまつわるQ&A)目次次章(Windows版以外はないの?)

MARS for Windows Copyright © 1994-2015 SWA / KASAI Takaya.
Documentation Copyright © 2014-2015 IIJIMA Hiromitsu aka Delmonta.
All rights reserved. Violators shall be present in Court.