JP6715534B2 - 運行計画プログラム、運行計画方法、運行計画装置および運行計画システム - Google Patents

運行計画プログラム、運行計画方法、運行計画装置および運行計画システム Download PDF

Info

Publication number
JP6715534B2
JP6715534B2 JP2016081319A JP2016081319A JP6715534B2 JP 6715534 B2 JP6715534 B2 JP 6715534B2 JP 2016081319 A JP2016081319 A JP 2016081319A JP 2016081319 A JP2016081319 A JP 2016081319A JP 6715534 B2 JP6715534 B2 JP 6715534B2
Authority
JP
Japan
Prior art keywords
subset
unit
sub
satisfied
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016081319A
Other languages
English (en)
Other versions
JP2017191504A (ja
Inventor
穴井 宏和
宏和 穴井
耕太郎 大堀
耕太郎 大堀
秀直 岩根
秀直 岩根
直之 神山
直之 神山
知文 吉良
知文 吉良
Original Assignee
富士通株式会社
国立大学法人九州大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社, 国立大学法人九州大学 filed Critical 富士通株式会社
Priority to JP2016081319A priority Critical patent/JP6715534B2/ja
Publication of JP2017191504A publication Critical patent/JP2017191504A/ja
Application granted granted Critical
Publication of JP6715534B2 publication Critical patent/JP6715534B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management, e.g. organising, planning, scheduling or allocating time, human or machine resources; Enterprise planning; Organisational models
    • G06Q10/063Operations research or analysis
    • G06Q10/0631Resource planning, allocation or scheduling for a business operation
    • G06Q10/06315Needs-based resource requirements planning or analysis

Description

本発明は、運行計画プログラム、運行計画方法、運行計画装置および運行計画システムに関する。
近年、過疎化等による赤字路線の発生などにより、十分な数のタクシー・バスを運行できないような地域がある。そこで、例えば、タクシー等の移動手段において、運賃の共同負担により、複数のユーザが相乗りする相乗り運行が提案されている。また、このような相乗り運行において、問題を配送計画問題としてとらえて、各ユーザの出発点、到着点を通る運行計画を立案する技術が提案されている。
特平3−37761号公報 特開2004−280734号公報 特開2001−34881号公報
しかしながら、配送計画問題は、相乗りするユーザ数が多くなると、計算量が増大し、厳密な解がえられない場合がある。また、配送計画問題としてとらえる場合には、タクシー会社等の運用会社側の立場からの最適化となり、ユーザが単独でタクシーを利用した場合よりも料金が高くならない性質(劣加法性)を満たせない場合がある。
一つの側面では、劣加法性を確保した運行計画を計算量を抑えて立案できる運行計画プログラム、運行計画方法、運行計画装置および運行計画システムを提供することを目的とする。
第1の案では、運行計画プログラムは、コンピュータに、相乗りを含む運行計画の作成の対象となるユーザを要素とした集合に対して、劣加法性を満たす可能性の高さを示す指標を用いて、集合の要素を順序付け、順位の高い順かつ所定数以内の要素の組み合わせが劣加法性を満たすか判定し、劣加法性を満たした要素の組み合わせを、相乗りの対象とする部分集合に追加することで、集合を部分集合に分割する処理を実行させる。運行計画プログラムは、コンピュータに、分割された部分集合を用いて運行計画を生成する処理を実行させる。
本発明の一の実施態様によれば、劣加法性を確保した運行計画を計算量を抑えて立案できるという効果を奏する。
図1は、システムの概略的な構成の一例を示す図である。 図2は、運行計画装置の機能的な構成を概略的に示した図である。 図3は、顧客情報のデータ構成の一例を示す図である。 図4は、コストデータベースのデータ構成の一例を示す図である。 図5は、登録画面の一例を示す図である。 図6は、有向枝の一例を示す図である。 図7は、運行計画画面の一例を示す図である。 図8は、分割処理の手順の一例を示すフローチャートである。 図9は、部分集合検索処理の手順の一例を示すフローチャートである。 図10は、判定処理の手順の一例を示すフローチャートである。 図11は、比較対象の分割処理の手順の一例を示すフローチャートである。 図12は、削除処理の手順の一例を示すフローチャートである。 図13は、削除処理の手順の別な一例を示すフローチャートである。 図14Aは、具体的な一例を示す図である。 図14Bは、具体的な一例を示す図である。 図15Aは、具体的な他の一例を示す図である。 図15Bは、具体的な他の一例を示す図である。 図16は、運行計画プログラムを実行するコンピュータの構成の一例を示す図である。
以下に、本発明にかかる運行計画プログラム、運行計画方法、運行計画装置および運行計画システムの実施例を図面に基づいて詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下に示す実施例は、矛盾を起こさない範囲で適宜組み合わせてもよい。
[システム構成]
実施例1に係る運行計画システムの一例を説明する。図1は、システムの概略的な構成の一例を示す図である。運行計画システム10は、運行計画装置11と、ユーザ端末12とを有する。運行計画装置11およびユーザ端末12は、ネットワークNに通信可能に接続されている。かかるネットワークNの一態様としては、有線又は無線を問わず、携帯電話などの移動体通信網、インターネット(Internet)、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。なお、図1の例では、ユーザ端末12を1つ設けた場合を例示したが、これに限定されず、ユーザ端末12を任意の数とすることができる。
運行計画装置11は、一台の乗り物に複数のユーザが一緒に乗り合わせる相乗りの運行計画を生成する装置である。例えば、運行計画装置11は、サーバコンピュータなどのコンピュータである。運行計画装置11は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータにより実装してもよい。なお、本実施例では、運行計画装置11を1台のコンピュータとした場合を例として説明する。本実施例では、運行計画装置11が、乗り物として、例えば、10人程度が乗車可能なジャンボタクシーの相乗り運行の運行計画を生成する場合を例に説明する。本実施例では、運行計画装置11は、タクシーの相乗りサービスを提供しており、ユーザ端末12からの要求に応じて、各種の画面の画面情報を要求元へ送信して、要求元に画面を表示させ、画面から各種の情報の入力を受け付ける。
ユーザ端末12は、運行計画装置11が提供する相乗りサービスを利用するユーザが使用する装置である。例えば、ユーザ端末12は、ユーザが使用するパーソナルコンピュータ、スマートフォンやタブレット端末などの情報処理装置などである。
[運行計画装置の構成]
次に、運行計画装置11の構成について説明する。図2は、運行計画装置の機能的な構成を概略的に示した図である。図2に示す運行計画装置11は、通信部20と、記憶部21と、制御部22とを有する。
通信部20は、ネットワークNとの間で無線通信又は有線通信を行う通信インタフェースである。例えば、通信部20は、ユーザ端末12から相乗りサービスへのアクセス要求を受信する。また、例えば、通信部20は、アクセス要求を受信したユーザ端末12へ相乗りサービスの各種の画面の画面情報を送信する。
記憶部21は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置である。なお、記憶部21は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリであってもよい。記憶部21は、制御部22で実行されるOS(Operating System)や、後述する各種の処理を実行する各種プログラムを記憶する。さらに、記憶部21は、各種情報を記憶する。例えば、記憶部21は、特性関数情報30と、顧客情報31と、コストデータベース32とを記憶する。なお、記憶部21は、その他の各種の情報を記憶してもよい。例えば、記憶部21は、相乗りサービスを利用可能なユーザを認証するため、各ユーザのユーザID(identification)やパスワードなどのマスタ情報が記憶されている。
特性関数情報30は、コストの計算に用いる特性関数に関する各種の情報を記憶したデータである。本実施例では、相乗りのコストや経路を巡回セールスマン問題(traveling salesman problem:TSP)として計算する。特性関数情報30には、巡回セールスマン問題の特性関数や制約条件等が記憶される。特性関数や制約条件の詳細は、後述する。
顧客情報31は、相乗りの要求を受け付けたユーザに関する各種の情報を記憶したデータである。本実施例では、顧客情報31に、相乗りの要求を受け付けたユーザの出発地、目的地の情報を記憶する。図3は、顧客情報のデータ構成の一例を示す図である。図3に示すように、顧客情報31は、顧客番号、出発点、到着点、ユーザの各項目を有する。なお、顧客情報31は、上記以外にもユーザの属性に関する各種の情報を記憶してもよい。
顧客番号の項目は、相乗りの要求を受け付けたユーザを識別する識別情報を記憶する領域である。ユーザには、識別情報として、例えば、要求を受け付けた順にユニークな顧客番号が付与される。本実施例では、相乗りの運行を行う日別に、相乗りの要求を受け付けた順にユニークな顧客番号を付与する。顧客番号の項目には、ユーザに付与された顧客番号が格納される。出発点の項目は、顧客番号のユーザが要求した出発地点を記憶する領域である。到着点の項目は、顧客番号のユーザが要求した到着地点を記憶する領域である。本実施では、出発点を「o」、到着点を「d」として記号で示しているが、実際には出発点、到着点の位置を示す位置情報が記憶される。ユーザの項目は、相乗りを要求したユーザを記憶する領域である。
図3の例では、顧客番号「1」のユーザは、要求した出発点が「o1」であり、要求した到着点が「d1」であり、相乗りを要求したユーザが「A」であることを示す。
図2に戻り、コストデータベース32は、相乗りの要求したユーザを要素とした集合を分割した部分集合ごとのコストに関する各種の情報を記憶したデータである。図4は、コストデータベースのデータ構成の一例を示す図である。図4に示すように、コストデータベース32は、部分集合、コスト値、経路情報の各項目を有する。なお、コストデータベース32は、上記以外にもユーザの属性や到着時間などに関する各種の情報を記憶してもよい。
部分集合の項目は、部分集合に含まれる要素を記憶する領域である。図4の例では、部分集合に含まれる要素を顧客番号で示している。コスト値の項目は、部分集合に含まれる要素に対応するユーザを相乗りとして運行する場合のコストを記憶する領域である。なお、部分集合に含まれる要素が1つの場合は、要素に対応するユーザを単独で運行する場合のコストとなる。経路情報の項目は、部分集合に含まれる要素に対応するユーザを相乗りとして運行する場合の経路を記憶する領域である。
図4の例では、部分集合{1}は、部分集合に顧客番号「1」が含まれ、経路が出発点o1→到着点d1であり、経路のコストが「4」であることを示している。部分集合{1,2}は、部分集合に顧客番号「1」、「2」が含まれ、経路が出発点o1→出発点o2→到着点d1→到着点d2であり、経路のコストが「7」であることを示している。
図2に戻り、制御部22は、運行計画装置11全体を制御するデバイスである。制御部22としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部22は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部22は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部22は、受付部40と、コスト算出部41と、分割部42と、削除部43と、生成部44と、コスト再計算部45と、通知部46とを有する。
受付部40は、各種の操作を受け付ける。例えば、受付部40は、ユーザ端末12からアクセスを受け付けると、アクセス元に各種の操作画面の情報を送信してアクセス元のユーザ端末12に操作画面を表示させ、操作画面から各種の操作を受け付ける。例えば、受付部40は、相乗りサービスのWebサイトを提供する。受付部40は、ユーザ端末12から、相乗りサービスのWebサイトへのアクセスを受け付けると、ログイン画面の情報をアクセス元のユーザ端末12へ送信してログイン画面を表示させ、ログインID及びパスワードを入力してログイン操作を受け付ける。受付部40は、ログイン操作を受け付けると、入力されたログインID及びパスワードを事前に登録されたログインID及びパスワードと比較して認証を行う。受付部40は、正当との認証が得られた場合、ユーザの出発点、到着点を登録する登録画面の情報をアクセス元のユーザ端末12へ送信して登録画面を表示させ、ユーザの出発点、到着点の登録を受け付ける。
図5は、登録画面の一例を示す図である。図5の例は、ユーザ端末12に表示される登録画面の一例を示している。登録画面100は、ユーザ名を表示するユーザ名表示領域101と、出発点を指定する出発点指定領域102と、到着点を指定する到着点指定領域103とを有する。相乗り運行を希望するユーザは、相乗りを希望する日の前日に登録画面100を用いて出発点と到着点を指定する。受付部40は、登録画面100に指定された出発点と到着点とユーザ名をユーザの顧客番号に対応付けて顧客情報31に格納する。
コスト算出部41は、分割部42から、部分集合を指定して計算の指示を受け付ける。コスト算出部41は、部分集合を指定して計算が指示されると、特性関数情報30に記憶されたコストの計算に用いる特性関数に関する各種の情報を用いて、指定された部分集合に含まれる要素のユーザを相乗りで運行する場合のコストや経路を計算する。本実施例では、相乗りのコストや経路を巡回セールスマン問題として計算する。
例えば、|X|人のユーザの部分集合Xが指定されたものとする。ユーザiは、出発点oiであり、到着点diであるとする。また、例えば、タクシー会社の位置など、タクシーの最初の出発点(デポ)をsとする。各地点の集合を頂点P(X)={s}∪{oi,di|i∈X}とし、地点間の有向枝を下記の式(1)に示すようにA(X)と記載する。コスト算出部41は、各ユーザの出発点oi、到着点di、デポsを地点として各地点を相互に結ぶ有向枝を求める。
有向枝(p,q)は、地点pから地点qへの「道・経路」を表す。また、有向枝(p,q)に対してδ((p,q))=p,ρ((p,q))=qと記載する。つまり、δ((p,q))は有向枝(p,q)の始点、ρ((p,q))は有向枝(p,q)の終点を表す。
また、コストを計算するため、有向枝に「コスト」を表す重み値を定める。例えば、コストを距離に応じて定める場合、有向枝(p,q)の重みは、地点pから地点qへの距離を用いる。例えば、有向枝aの重みは、d(a)と表す。
図6は、有向枝の一例を示す図である。図6の例は、o1,o2,d1,d2,sの有向枝の一例が示されている。o1からd1への有向枝(o1,d1)の重みは、地点pから地点qの距離を用いる。
また、次のように変数を定義する。変数x(a)は、有向枝aを経路に使用する場合、「1」、経路に使用しない場合、「0」とする。変数y(a)は、経路において、有向枝aを通る順序に対応する変数とする。本実施例では、順番は、頂点数−1として、順に1つ減じて通過する順番を表す。すなわち、本実施例では、順番は、初期値を頂点数−1として、値が大きい方が早い順番であることを表すものとする。変数z(a)は、有向枝aの乗車人数を表す変数とする。
経路のコストは、経路に使用した有向枝の重みの合計(=Σd(a)×x(a))である。
コスト算出部41は、巡回セールスマン問題として、以下の条件(3)〜(6)に示す制約条件の元で、以下の式(2)に示すようにコストを最小化する経路を算出する。
ここで、条件(3)〜(6)について説明する。
条件(3)は、以下の式(3−1)、(3−2)のように表される。
式(3−1)は、各地点から出る有向枝が1つであることを示す。式(3−2)は、各地点に入る有向枝が1つであることを定めている。すなわち、条件(3)は、経路とされた地点は1度しか通過しないことを定めている。
条件(4)は、以下の式(4−1)、(4−2)、(4−3)のように表される。
式(4−1)は、y(a)が正となるのは、有向枝が経路として使用する場合のみであることを定めている。式(4−2)は、最初の出発点(デポ)sを出発するときにはy(a)が|P(X)|−1であることを定めている。式(4−3)は、地点を通過するとy(a)が1減ることを定めている。すなわち、条件(4)は、経路の地点が順に決定することを定めている。
条件(5)は、以下のように表される。
条件(5)は、出発点oiを始点とする有向枝aに対するy(a)の値が到着点diを始点とする有向枝aに対するy(a)の値よりも大きいことを定めている。すなわち、条件(5)は、出発点よりも到着点を後で通ることを定めている。
条件(6)は、以下の式(6−1)、(6−2)、(6−3)、(6−4)、(6−5)のように表される。
式(6−1)は、z(a)が正となるのは有向枝aを使用する場合のみであることを定めている。式(6−2)は、最初の出発点(デポ)sを出発するときには乗車数が0であることを定めている。式(6−3)は、出発点である地点を通過すると、乗車数が1増えることを定めている。式(6−4)は、到着点である地点を通過すると、乗車数が1減ることを定めている。式(6−5)は、出発点(デポ)sへ向かう到着点diは最後にユーザを下すとき以外では右辺が1となることを定めている。すなわち、条件(6)は、タクシーが出発点(デポ)sへ向かう経路以外では、乗車するユーザ数がゼロにならないことを定めている。現在、法律により、タクシーは、空の場合には料金を発生させることができないため、自然な制約である。条件(6)は、タクシーがデポに向かう以外で空にならないことを保証する。この条件(6)の制約を加えたことにより、配送計画問題として扱った場合に、ユーザが単独でタクシーを利用した場合よりも料金が高くならないこと、つまり劣加法性が保証できなくなる。
コスト算出部41は、部分集合Xを指定して計算が指示されると、コストデータベース32を参照し、指定された部分集合Xに対応するコスト、経路が記憶されている場合、部分集合Xに対応するコスト、経路を回答する。一方、指定された部分集合Xに対応するコスト、経路がコストデータベース32に記憶されていない場合、コスト算出部41は、巡回セールスマン問題として、上述の条件(3)〜(6)に示す制約条件の元で、式(2)のコストを最小化する経路を算出する。そして、コスト算出部41は、算出されたコスト、経路を回答する。また、コスト算出部41は、指定された部分集合Xに対応付けて、コスト、経路をコストデータベース32に格納する。これにより、コストデータベース32にコスト、経路が格納済みの部分集合Xが指定された場合、コスト算出部41は、巡回セールスマン問題を再度解くことなくコスト、経路を回答できる。
分割部42は、相乗りの要求を受け付けた、運行計画の作成の対象となるユーザを、劣加法性を満たす複数のグループに分割する。例えば、運行計画の作成の対象となるユーザを要素とした集合N={1,…,|N|}を、劣加法性を満たす部分集合に分割する。
ここで、集合Nの分割には、要素の重複を許さずに部分集合に分割する手法と、要素の重複を許して部分集合に分割する手法がある。例えば、集合Nは、集合分割問題を解くことにより、要素の重複を許さずに部分集合に分割できる。また、集合Nは、集合被覆問題を解くことにより、要素の重複を許して部分集合に分割できる。集合分割問題および集合被覆問題は、0−1整数線形最適化問題として、以下の式(7)に示すことができる。
ここで、Lは、Nの部分集合Xの族を示す。集合分割問題の場合、式(7)の部分70は、ρ∈{=}とする。集合被覆問題の場合、式(7)の部分70は、ρ∈{≧}とする。また、式(7−1)は、分割または被覆する部分集合Xの数を最小化する問題であることを定めている。式(7−2)は、集合分割問題(ρ∈{=})の場合、ユーザiが1つの部分集合Xに属することなり、集合被覆問題(ρ∈{≧})の場合、ユーザiが少なくとも1つの部分集合Xに属することなる。部分集合XをLの要素とするとき、式(7−3)の変数ξ(X)は、0または1をとる変数で、部分集合Xを利用する場合には、1になり、利用しない場合には、0になる。
式(7)は、Lの部分集合の中で、グループ数最小のXの組み合わせを求める問題であり、例えば、専用のソルバを用いて解くことができる。
ここで、具体的な計算の一例を説明する。例えば、集合N、Lが以下であるものとする。
N={1,2,3,4}
L={{2},{4},{1,2,4},{1,3},{3,4}}
この場合、式(7−1)は、Lに含まれる各部分集合から、以下の式(8−1)のようになる。また、式(7−2)は、式(8−2)〜(8−5)のようになる。また、式(7−3)は、そのまま式(8−6)となる。
式(8−2)は、ユーザ「1」が属する部分集合Xに対応するξの和である。式(8−3)は、ユーザ「2」が属する部分集合Xに対応するξの和である。式(8−4)は、ユーザ「3」が属する部分集合Xに対応するξの和である。式(8−5)は、ユーザ「4」が属する部分集合Xに対応するξの和である。
この場合、集合分割問題での最適解は、{1,3},{2},{4}となる。集合被覆問題での最適解は、例えば、{1,3},{1,2,4}となる。
ところで、一般的に、集合被覆問題は、集合分割問題よりも計算が容易である。しかし、集合被覆問題は、要素の重複が発生し、同じの要素が複数の部分集合Xに含まれる場合がある。そこで、例えば、分割部42は、集合被覆問題として、最適解を求める。そして、後述する削除部43により、部分集合Xから重複する要素を削除する。
ところで、式(7)に示した0,1の最適化問題は、問題の複雑さや規模によって実時間で解けない場合がある。そこで、最適化問題を緩和問題として扱うことが考えられる。例えば、式(7)に示した集合被覆問題のξを0,1をとる変数から非負の実数をとる変数に置き換えて連続緩和した緩和問題は、以下の式(9)のように示すことができる。
式(9)は、式(7)のξを0,1の整数をとる変数から非負実数をとる変数に置き換えたものである。R+は、非負実数を表す。緩和問題の最適値は、元の最適化問題の最適値よりも良い値になる。また、緩和問題は、連続線形最適化問題であり、元の最適化問題よりも計算が容易である。
さらに、連続線形最適化問題は、最適値が一致する双対問題を考えることができる。例えば、式(9)に示した緩和問題は、最適な部分集合に分割する観点から見た問題であり、ユーザ側の観点から見た場合、双対問題として、以下の式(10)のように示すことができる。
この双対問題を解いて得られる変数λ(i)の情報は、ユーザiに対応する情報になる。λ(i)は、値が大きいほど、最適な分割を達成するにあたり、ユーザiの要素が適している可能性が高いことを表す。この双対問題も、例えば、専用のソルバを用いて解くことができる。
そこで、分割部42は、λ(i)を劣加法性を満たす可能性の高さを示す指標として用いて、集合Nのユーザiに対応する要素を順序付けする。そして、分割部42は、順位の高い順かつ所定数m以内の要素の組み合わせが劣加法性を満たすか判定する。そして、分割部42は、劣加法性を満たした要素の組み合わせを、相乗りの対象とする部分集合Xに追加することで、集合Nを部分集合Xに分割する。所定数mは、部分集合Xに含める上限の人数であり、管理者等が運用等を考慮して適切に設定する。例えば、所定数mは、タクシー等での同時に乗車可能な人数としてもよい。
分割部42は、劣加法性を満たす部分集合Xから、運行に使用する部分集合Xの組み合わせを求める。例えば、分割部42は、劣加法性を満たす部分集合Xの族をLとして、式(7)の最適化問題を解いて、部分集合Xの数が最小となる部分集合Xの組み合わせを求める。運行に使用する部分集合Xの組み合わせの求め方は、これに限定されず、何れの方式を用いてもよい。分割部42は、運行の条件に応じて、部分集合Xの組み合わせの求め方を変えてもよい。例えば、運行するタクシーの運行台数が決まっている場合、分割部42は、分割する部分集合Xの数を運行台数に合わせて、集合Nの要素が何れかに含まれるように部分集合Xの組み合わせの求めてもよい。また、例えば、ユーザを平均的に割り振る場合、分割部42は、集合Nの要素が何れかに含まれ、要素数が同程となるように、部分集合Xの組み合わせの求めてもよい。各部分集合Xは、劣加法性を満たすため、何れの組み合わせを選択しても劣加法性を満たすことができる。
ところで、上述したように、分割部42が、集合被覆問題として、最適化問題を解いた場合、要素が複数の部分集合Xで重複する場合がある。
そこで、削除部43は、分割部42で求めた部分集合Xの組み合わせで要素が重複する場合、要素が重複する部分集合Xごとに、何れか1つの部分集合Xを除いて重複する要素を削除する。重複する要素を削除する部分集合Xは、どのように定めてもよい。例えば、削除部43は、部分集合Xを、例えば、要素数の少ない順など所定順に順序付ける。削除部43は、順序付けた順に、順序が前の部分集合Xと要素の重複を確認し、順序が前の部分集合Xと重複する要素を削除してもよい。また、例えば、削除部43は、要素が重複する部分集合Xごとに、要素数の最も少ない部分集合X以外から重複する要素を削除してもよい。また、例えば、削除部43は、運用会社の売り上げ(コスト)が最大となるにように、重複する要素を削除する部分集合Xを求めてもよい。以下のコストの計算では、分割部42で求めた部分集合Xの組み合わせをそれぞれ部分集合Pj(j=1,…,|P|)と表記する。
例えば、運用会社の売り上げ(ユーザのコストの合計)が最大となるにように削除する場合、以下の式(11)に示す最適化問題を解いて、同一の要素を削除する部分集合Xを求めることができる。
式(11−1)に示したf({xij})は、売り上げを示す目的関数である。f({xij})は、例えば、要素が重複する各部分集合Xについて、部分集合Xに含まれる要素に対応したコストデータベース32のコストを合計する関数とする。そして、要素を削除する部分集合Xを変えて、f({xij})が最大化されるように、要素を削除する部分集合Xを求める。目的関数fは、xij(i∈N,j ∈ {1,…,|P|})は、すべてを引数としてとる。xijは、ユーザiの要素が部分集合Pに属している場合、「1」となり、属していない場合、「0」となる変数である。eijは、分割によって得られた結果において、ユーザiの要素が部分集合Pに属している場合、「1」となり、属していない場合、「0」となる定数である。削除部43は、重複する要素を削除した部分集合Xを削除結果として出力する。例えば、削除部43は、{{i|i∈N,xij=1},j∈{1, …,|P|}}を削除結果として出力する。j番目のグループには、xij=1となったユーザiが属するようになる。
分割部42により分割された部分集合Xは、何れの要素の組み合わせでも劣加法性を満たしている。このため、削除部43により要素が削除された部分集合Xも、要素の組み合わせについて、何れも劣加法性を満たす。また、集合Nの要素は、何れも重複することなく何れかの部分集合Xに含まれている。よって、運行計画の作成の対象となるユーザを各部分集合Xに対応したグループに分けることにより、ユーザは、劣加法性を満たすグループに分かれる。
生成部44は、分割された部分集合Xを用いて運行計画を生成する。なお、分割部42で求めた部分集合Xの組み合わせで要素が重複する場合、生成部44は、削除部43により重複する要素が削除された部分集合Xを用いて運行計画を生成する。例えば、生成部44は、コストデータベース32から、部分集合Xごとに、部分集合Xに含まれる要素に対応した経路情報を読み出して、経路を特定する。ここで、部分集合Xは、劣加法性を満たしている。このため、経路情報の経路で発生するコストは、部分集合Xの要素に対応するユーザそれぞれの単独で発生するコストの合計以下となる。すなわち、生成部44は、劣加法性を確保した運行計画を生成できる。
本実施例では、部分集合Xに対応したグループごとに、劣加法性を確保されるが、グループ内でコスト(料金)をユーザにどのように配分するかの問題が残る。
そこで、コスト再計算部45は、部分集合Xに対応したグループごとに、グループに属するユーザが全員損をしない配分方法で、コストをユーザに配分する。例えば、コスト再計算部45は、部分集合Xごとに、部分集合Xに含まれる要素それぞれの単独のコスト値をコストデータベース32から読み出す。また、例えば、コスト再計算部45は、部分集合Xに含まれる要素全てを部分集合とした運行コストV(X)をコストデータベース32から読み出す。そして、コスト再計算部45は、以下の式(12)に示すように、部分集合Xの運行コストV(X)を配分する。
ここで、V({i})は、要素iの単独のコストを表す。ΣV({j})は、部分集合Xの要素それぞれの単独のコストの合計を表す。
通知部46は、相乗りの要求を受け付けたユーザに対して、コストや運行計画を通知する。例えば、通知部46は、乗合の運行を行う当日までに、コストや運行計画に基づいて、ユーザについての出発点、出発時間、到着点、到着時間を示した運行計画画面を相乗りの要求を受け付けたユーザのユーザ端末12に表示させる。
図7は、運行計画画面の一例を示す図である。図7の例は、ユーザ端末12に表示される運行計画画面の一例を示している。運行計画画面120には、出発点、出発時間、到着点、到着時間、料金が表示されている。相乗り運行を希望するユーザは、運行計画画面120から、出発時間や、到着時間、料金を把握できる。
[処理の流れ]
次に、本実施例に係る運行計画装置11が実行する各種の処理の流れについて説明する。最初に、分割部42が、相乗りの要求を受け付けた、運行計画の作成の対象となるユーザを、劣加法性を満たす複数のグループに分割する分割処理の流れについて説明する。図8は、分割処理の手順の一例を示すフローチャートである。この分割処理は、所定のタイミング、例えば、相乗り希望する日の前日の所定の処理開始時刻となったタイミングや、管理者から処理開始が指示されたタイミングで実行される。ここで、使用するパラメータについて説明する。運行計画の作成の対象となるユーザを要素とした集合を集合N={1,…,|N|}とする。また、V(X)は、部分集合X(X⊂N)に対するコストを表す。また、mは、部分集合Xに含める上限の人数を表す。
図8に示すように、分割部42は、集合Nの各要素をそれぞれ単独でLに追加する(S10)。分割部42は、集合Nの各要素についての劣加法性を満たす可能性の高さを示す指標λ(i)を全て1に初期化する(S11)。
分割部42は、部分集合検索処理を実行して、劣加法性を満たした部分集合Xを求める(S12)。
図9は、部分集合検索処理の手順の一例を示すフローチャートである。この部分集合検索処理は、分割処理のS12から実行される。
図9に示すように、分割部42は、指標λ(i)を用いて、集合Nの要素iを順位づけする(S50)。例えば、分割部42は、集合Nの要素iに対して、λ(a1)≧λ(a2)≧・・・≧λ(aN)となるように番号を付ける。ここで、最初に部分集合検索処理が実行された場合、指標λ(i)を全て1に初期化されているため、要素iは、例えば、顧客番号の順に番号が付けられる。一方、2回目以降に部分集合検索処理が実行された場合、後述するS17の処理で指標λ(i)が更新されるため、要素iは、指標λ(i)の大きい順に番号が付けられる。
分割部42は、変数tに1を設定し、部分集合Xを空に初期化する(S51)。分割部42は、変数tの値が集合Nの要素数|N|以下、かつ、部分集合Xの要素数|X|がm以下であるか判定する(S52)。
S52の判定を満たす場合(S52肯定)、分割部42は、部分集合Xと番号tの要素の和の集合を部分集合Yとする(S53)。分割部42は、部分集合Yの要素の組み合わせが劣加法性を満たすか判定する判定処理を実行する(S54)。
図10は、判定処理の手順の一例を示すフローチャートである。この判定処理は、部分集合検索処理のS54から実行される。
図10に示すように、分割部42は、部分集合Yの要素の組み合わせごとに、部分集合Zを求める(S100)。分割部42は、各部分集合Zから共通の要素がない、集合の組み合わせた集合STを求める(S101)。すなわち、分割部42は、部分集合Yを、共通の要素がない、すべての部分集合の組である集合STに分ける。
分割部42は、集合STから任意の要素(S,T)をとりだし、集合STから要素(S,T)を削除する(S102)。
分割部42は、S、T、S∪Tをそれぞれ部分集合Xとして、コスト算出部41に対して計算の指示する(S103)。コスト算出部41では、指定された部分集合Xに対応するコスト、経路がコストデータベース32に記憶されている場合、部分集合Xに対応するコスト、経路を回答する。一方、指定された部分集合Xに対応するコスト、経路がコストデータベース32に記憶されていない場合、コスト算出部41は、コスト、経路を算出して回答する。また、コスト算出部41は、指定された部分集合Xに対応付けて、コスト、経路をコストデータベース32に格納する。
分割部42は、要素S、Tが劣加法性を満たすか判定する(S104)。例えば、分割部42は、要素S、Tそれぞれの単独のコストV(S)、V(T)の合計が、要素S、Tの相乗りのコストV(S∪T)以上であるか判定する。
劣加法性を満たさない場合(S104否定)、分割部42は、判定結果を劣加法性を満たさない(判定結果をFalse)として(S105)、判定処理を終了し、図9のS55へ移行する。
劣加法性を満たす場合(S104肯定)、分割部42は、集合STが空となったか否かを判定する(S106)。集合STが空ではない場合(S106否定)、上述のS102へ移行し、次の要素に対する劣加法性の検査を実行する。
一方、集合STが空である場合(S106肯定)、部分集合Yの要素の組み合わせは劣加法性を満たすため、分割部42は、判定結果を劣加法性を満たす(判定結果をTrue)として(S107)、判定処理を終了し、図9のS55へ移行する。
図9に戻り、分割部42は、判定処理により、劣加法性を満たすとの判定結果(判定結果がTrue)であるか否かを判定する(S55)。劣加法性を満たすとの判定結果が得られない場合(S55否定)、後述するS57へ移行する。
劣加法性を満たすとの判定結果が得られた場合(S55肯定)、分割部42は、部分集合Yの要素を部分集合Xに格納する(S56)。分割部42は、変数tの値に1を加算し(S57)、上述のS52へ移行する。
一方、S52の判定を満たさない場合(S52否定)、分割部42は、部分集合Xを回答し(S58)、部分集合検索処理を終了し、図8のS13へ移行する。
図8に戻り、分割部42は、回答として得られた部分集合Xに含まれる要素の指標λの合計が1より大きいか判定する(S13)。ここで、最初に部分集合検索処理が実行された場合、指標λ(i)を全て1に初期化されているため、部分集合Xの要素数が2以上であれば、Xに含まれる要素の指標λの合計が1より大きいと判定される。
分割部42は、Lに、部分集合Xを追加する(S14)。分割部42は、集合分割問題として、分割を行っているか判定する(S15)。集合分割問題ではなく集合被覆問題である場合(S15否定)、後述するS17へ移行する。
一方、集合分割問題である場合(S15肯定)、分割部42は、Lに、部分集合Xに含まれる要素についての全ての部分集合を追加する(S16)。分割部42は、専用のソルバを用いて、上述した式(10)を解いて、集合Nの各要素についての劣加法性を満たす可能性の高さを示す指標λ(i)を再計算し(S17)、上述のS12へ移行する。ここで、指標λ(i)は、部分集合Xが定まることにより、次に適切な分割に適した要素に対応する指標λ(i)が大きくなる。
一方、部分集合Xに含まれる要素の指標λ(i)の合計が1より大きくない場合(S13否定)、分割部42は、例えば、式(7)の最適化問題を解いて、Lに含まれる部分集合Xのうち、部分集合Xの数が最小となる部分集合Xの組み合わせを求める(S18)。分割部42が、部分集合Xの数が最小となる部分集合Xの組み合わせを分割結果として回答し(S19)、処理を終了する。
ここで、分割部42は、図9のS52に示すように、部分集合Xの要素数|X|をm以下の範囲に制限している。そして、分割部42は、Yの部分集合に対してのみコストVの計算を行っている。これにより、部分集合Xの要素の組み合わせが劣加法性を満たすか判定処理で、組み合わせの数が大きくならないため、計算量を抑えることができる。また、mの値を小さくすれば、劣加法性を満たすか判定処理で計算量が爆発的に増加しなくなるため、実時間で解を得ることができる。
ここで、比較例を用いて説明する。図11は、比較対象の分割処理の手順の一例を示すフローチャートである。ここで、使用するパラメータについて説明する。運行計画の作成の対象となるユーザを要素とした集合を集合N={1,…,|N|}とする。また、V(X)は、部分集合X(X⊂N)に対するコストを表す。また、Sは、Nの部分集合の族で、劣加法性を満たすものとする。
図11に示すように、分割部42は、集合Nの各要素をそれぞれ単独でLに追加する(S180)。分割部42は、集合Nの各要素についての劣加法性を満たす可能性の高さを示す指標λ(i)を全て1に初期化する(S181)。
分割部42は、Sに含まれる部分集合Xについて、部分集合Xに含まれる要素の指標λの合計が1より大きいか判定する(S182)。指標λの合計が1より大きい場合(S182肯定)、分割部42は、Lに、部分集合Xを追加する(S183)。分割部42は、専用のソルバを用いて、上述した式(10)を解いて、集合Nの各要素についての劣加法性を満たす可能性の高さを示す指標λ(i)を再計算し(S184)、上述のS182へ移行する。
一方、部分集合Xに含まれる要素の指標λの合計が1より大きくない場合(S182否定)、分割部42は、例えば、式(7)の最適化問題を解いて、Lに含まれる部分集合Xのうち、部分集合Xの数が最小となる部分集合Xの組み合わせを求め(S185)、処理を終了する。
例えば、部分集合Xの要素数|X|をm以下の範囲に制限せずに、図11に示した比較対象の分割処理のように集合Nを部分集合Xに分割する。この場合、集合Nの要素数|N|の増加に伴い計算量が爆発的に増加する。例えば、部分集合XのコストV(X)を求めるには、集合Nの要素を組み合わせた2のコスト計算が必要となる。また、Sを求めるには、3の計算が必要となる。
一方、本実施例に係る分割処理では、図9のS52に示すように、部分集合Xの要素数|X|をm以下の範囲に制限することで、計算量の増加を抑えることができる。
次に、分割部42が、部分集合Xから重複する要素を削除する削除処理の流れについて説明する。図12は、削除処理の手順の一例を示すフローチャートである。この削除処理は、所定のタイミング、例えば、分割部42により、集合被覆問題として、部分集合Xの組み合わせが得られたタイミングや、管理者から処理開始が指示されたタイミングで実行される。なお、図12および後述する図13では、集合被覆問題として、得られた部分集合Xの組み合わせをそれぞれ部分集合Pj(j=1,…,|P|)と表記する。
図12に示すように、削除部43は、要素数の少ない順に、部分集合Pjを整列する(S200)。削除部43は、jを2とする(S201)。削除部43は、jの値が|P|より大きいか否かを判定する(S202)。jの値が|P|より大きい場合(S202肯定)、削除結果として部分集合Pj(j=1,…,|P|)を回答し(S203)、処理を終了する。
一方、jの値が|P|より大きくはない場合(S202否定)、削除部43は、部分集合Pjに含まれる要素のうち、順序が前の部分集合Pj,…,Pj-1と重複する要素を削除する(S204)。削除部43は、jの値に1を加算し(S205)、上述のS202へ移行する。
次に、削除処理の別な例を説明する。図13は、削除処理の手順の別な一例を示すフローチャートである。
図13に示すように、削除部43は、iを1とする(S250)。削除部43は、iの値が|N|より大きいか否かを判定する(S251)。iの値が|N|より大きい場合(S251肯定)、削除結果として部分集合Pj(j=1,…,|P|)を回答し(S252)、処理を終了する。
一方、iの値が|N|より大きくはない場合(S251否定)、削除部43は、集合Nに含まれる要素iを含む部分集合Pのうち、要素数の最も少ない部分集合Pを特定する(S253)。なお、要素数の最も少ない部分集合Pkが複数ある場合、削除部43は、インデックスkが最も小さい部分集合Pを特定する。
削除部43は、特定した部分集合P以外の部分集合Pから要素iを削除する(S254)。削除部43は、iの値に1を加算し(S255)、上述のS251へ移行する。
次に、具体例を用いて、本実施例に係る運行計画装置11による運行計画の作成を説明する。図14Aおよび図14Bは、具体的な一例を示す図である。図14Aおよび図14Bでは、ユーザA、Bが示されている。ユーザAは、出発点が「o1」であり、到着点が「d1」であるものとする。ユーザBは、出発点が「o2」であり、到着点が「d2」であるものとする。運行計画装置11は、ユーザA、Bから相乗りの要求を受け付けた場合、ユーザA、Bがそれぞれ単独で運行する場合のコストV(A)、V(B)と、ユーザA、Bが相乗りした場合のコストV(A∪B)を算出する。コストV(A)は、出発点o1→到着点d1の経路のコストである。コストV(B)は、出発点o2→到着点d2の経路のコストである。コストV(A∪B)は、出発点o2→出発点o1→到着点d1→到着点d2の経路のコストである。図14Aおよび図14Bの例では、V(A∪B)>V(A)+V(B)となり劣加法性を満たさない。運行計画装置11は、ユーザを劣加法性を満たす複数のグループに分割する。図14Aおよび図14Bの例では、運行計画装置11は、ユーザA、ユーザBを、同じグループとせず、別なグループに分ける。運行計画装置11は、グループごとに運行計画の経路を生成する。例えば、運行計画装置11は、ユーザA、ユーザBをそれぞれ単独でグループとして、図14Aに示すように、出発点o1→到着点d1と、出発点o2→到着点d2の運行計画を生成する。この場合でも、ユーザA、Bは、相乗りを要求した場合に、それぞれ単独でタクシーを利用した場合よりも料金が高なることが無い。このように、相乗りの要求した場合でも、単独でタクシーを利用した場合よりも料金が高くなることが無いため、ユーザA、Bは、安心して相乗りを要求できる。
図15Aおよび図15Bは、具体的な他の一例を示す図である。図15Aおよび図15Bでは、ユーザA、B、C、Dが示されている。ユーザAは、出発点が「o1」であり、到着点が「d1」であるものとする。ユーザBは、出発点が「o2」であり、到着点が「d2」であるものとする。ユーザCは、出発点が「o3」であり、到着点が「d3」であるものとする。ユーザDは、出発点が「o4」であり、到着点が「d4」であるものとする。運行計画装置11は、ユーザA、B、C、Dから相乗りの要求を受け付けた場合、ユーザA、B、C、Dを劣加法性を満たす複数のグループに分割する。図15Aおよび図15Bの例では、運行計画装置11は、ユーザA、BのグループG1と、ユーザC、DのグループG2に分割する。そして、運行計画装置11は、グループごとに運行計画の経路を生成する。図15Aおよび図15Bの例では、運行計画装置11は、グループG1について、出発点o1→出発点o2→到着点d1→到着点d2と経路を生成する。また、運行計画装置11は、グループG2について、出発点o3→出発点o4→到着点d3→到着点d4と経路を生成する。このように、劣加法性を満たすグループごとに経路を決定することにより、ユーザA、B、C、Dは、単独でタクシーを利用した場合よりも安い料金でタクシーを利用できる。
[効果]
上述してきたように、本実施例に係る運行計画装置11は、相乗りを含む運行計画の作成の対象となるユーザを要素とした集合Nに対して、劣加法性を満たす可能性の高さを示す指標を用いて、集合Nの要素を順序付ける。運行計画装置11は、順位の高い順かつ所定数以内の要素の組み合わせが劣加法性を満たすか判定する。運行計画装置11は、劣加法性を満たした要素の組み合わせを、相乗りの対象とする部分集合に追加することで、集合を部分集合に分割する。運行計画装置11は、分割された部分集合を用いて運行計画を生成する。これにより、運行計画装置11は、劣加法性を確保した運行計画を計算量を抑えて立案できる。
また、本実施例に係る運行計画装置11は、集合被覆問題として、要素の重複を許容して集合を部分集合に分割する。運行計画装置11は、要素が重複する部分集合ごとに、何れか1つの部分集合を除いて重複する要素を削除する。一般的に、集合被覆問題は、集合分割問題よりも計算量が少なく、計算が容易である。よって、運行計画装置11は、集合被覆問題として、要素の重複を許して集合を部分集合に分割し、1つの部分集合を除いて部分集合から重複する要素を削除することで、計算量を抑えることができる。
また、本実施例に係る運行計画装置11は、部分集合ごとに、当該部分集合に属する要素の単独の運行コストの合計に対する、要素の単独の運行コストの割合に応じて、部分集合の運行コストを各要素に配分する。これにより、運行計画装置11は、それぞれのユーザに、単独の運行コストよりもコストを低く抑えて、相乗りする場合のコストを適切に配分できる。
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてもよい。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、上記実施例では、運行計画装置11が、相乗りタクシーの運行計画を生成する場合を例示した。しかしながら、これらに限定されるものではない。運行計画装置11は、相乗りバスや、配送計画で複数の顧客が同一のトラックを利用する際の運行計画を生成してもよい。
また、上記実施例では、各ユーザの出発地点、到着地点を条件として運行計画を生成する場合を例示した。しかしながら、これらに限定されるものではない。例えば、各ユーザの出発希望時間、到着希望時間も条件として考慮して運行計画を生成してもよい。例えば、最適化問題の制約条件に、各ユーザの出発希望時間、到着希望時間を加えることで、出発希望時間、到着希望時間を満たし、劣加法性を満たす部分集合に分割されるようになるため、各ユーザの出発希望時間、到着希望時間も考慮した運行計画を生成できる。
また、上記実施例では、劣加法性を満たす可能性の高さを示す指標として、λ(i)を用いた場合を例示した。しかしながら、これらに限定されるものではない。指標は、要素が劣加法性を満たす可能性の高さを示すものでれば何れを用いてもよい。例えば、何れのかのユーザを基準として、基準とされたユーザの出発地点および到着地点と、他のユーザの出発地点および到着地点の近接度合を求め、近接度合を劣加法性を満たす可能性の高さを示す指標として用いてもよい。近接度合が所定以上のユーザが無い場合は、基準とするユーザを変えることで、近接度合の高いユーザ同士を同じグループに分けることができる。近接度合は、例えば、出発地点間と到着地点間の距離から距離が近いほど近接度合が高いものとして求めてもよい。また、近接度合は、例えば、相乗り運行を行う対象範囲を一定サイズごとエリアに分け、出発地点間と到着地点間のエリア数を用いてもよい。この場合、エリア数が少ないほど近接度合が高く、劣加法性を満たす可能性が高いものとして扱う。
また、上記実施例では、分割部42は、各要素のλ(i)の初期値を1に初期化する場合を例示した。しかしながら、これらに限定されるものではない。例えば、分割部42は、初期化に代えて、集合Nの各要素についての劣加法性を満たす可能性の高さを示す指標λ(i)を最初から算出してもよい。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、受付部40、コスト算出部41、分割部42、削除部43、生成部44、コスト再計算部45および通知部46の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[運行計画プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、運行を支援する運行計画プログラムを実行するコンピュータシステムの一例を説明する。図16は、運行計画プログラムを実行するコンピュータの構成の一例を示す図である。
図16に示すように、コンピュータ400は、CPU(Central Processing Unit)410、HDD(Hard Disk Drive)420、RAM(Random Access Memory)440を有する。これら400〜440の各部は、バス500を介して接続される。
HDD420には上記の受付部40、コスト算出部41、分割部42、削除部43、生成部44、コスト再計算部45および通知部46と同様の機能を発揮する運行計画プログラム420Aが予め記憶される。なお、運行計画プログラム420Aについては、適宜分離してもよい。
また、HDD420は、各種情報を記憶する。例えば、HDD420は、記憶部21と同様に、OSや運行の支援に用いる各種データを記憶する。
そして、CPU410が、運行計画プログラム420AをHDD420から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、運行計画プログラム420Aは、受付部40、コスト算出部41、分割部42、削除部43、生成部44、コスト再計算部45および通知部46と同様の動作を実行する。
なお、上記した運行計画プログラム420Aについては、必ずしも最初からHDD420に記憶させることを要しない。また、例えば、運行計画プログラム420Aは、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させてもよい。そして、コンピュータ400がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ400に接続される「他のコンピュータ(又はサーバ)」などにプログラムを記憶させておく。そして、コンピュータ400がこれらからプログラムを読み出して実行するようにしてもよい。
10 運行計画システム
11 運行計画装置
12 ユーザ端末
21 記憶部
22 制御部
30 特性関数情報
31 顧客情報
32 コストデータベース
40 受付部
41 コスト算出部
42 分割部
43 削除部
44 生成部
45 コスト再計算部
46 通知部

Claims (8)

  1. 相乗りを含む運行計画の作成の対象となる複数のユーザのうちそれぞれの前記ユーザに対応する要素劣加法性を満たす可能性に応じて、前記要素を順位付け
    順位付けられた前記要素のうち1番目の第1要素と2番目の第2要素とを含む第1部分集合に対し前記劣加法性を満たすか判定し、
    前記第1部分集合に対し判定した結果が前記劣加法性を満たすことを示し、前記第1要素と前記第2要素と順位付けられた前記要素のうち3番目の第3要素とを含む第2部分集合に含まれる前記要素の数が所定数以下である場合に、前記第2部分集合に対し前記劣加法性を満たすか判定し、
    前記第2部分集合に対し判定した結果が前記劣加法性を満たすことを示す場合、前記第1部分集合と前記第2部分集合とに基づいて前記運行計画を生成する
    処理をコンピュータに実行させることを特徴とする運行計画プログラム。
  2. 前記第2部分集合に対し判定した結果が前記劣加法性を満たすことを示す場合、前記第1部分集合と前記第2部分集合とに基づいて、複数の前記要素を前記相乗りの対象とする複数のグループに分割し、
    前記生成する処理において、分割された前記グループごとに相乗りして運行する前記運行計画を生成する
    処理をさらにコンピュータに実行させることを特徴とする請求項1に記載の運行計画プログラム。
  3. 複数の前記グループにそれぞれ含まれる前記要素のうち重複する前記要素がある場合、重複する前記要素を含む前記複数のグループのうち何れかの前記グループに含まれる重複する前記要素を削除する
    処理をさらにコンピュータに実行させることを特徴とする請求項に記載の運行計画プログラム。
  4. 前記グループ含まれる複数の前記要素それぞれを単独で運行する場合の第1コストの合計に対する、前記グループに含まれる複数の前記要素のうちの第4要素を単独で運行する場合第2コストの割合に応じて、前記グループに含まれる複数の前記要素を相乗りして運行する場合第3コストを前記第4要素に配分する
    処理をさらにコンピュータに実行させることを特徴とする請求項2または3に記載の運行計画プログラム。
  5. 前記生成する処理において、前記第1部分集合に対し判定した結果が前記劣加法性を満たすことを示し、前記第2部分集合に含まれる前記要素の数が所定数以下ではない場合に、前記第1部分集合と前記第2部分集合のうち前記第1部分集合のみに基づいて前記運行計画を生成する
    処理をさらにコンピュータに実行させることを特徴とする請求項1〜4の何れか1つに記載の運行計画プログラム。
  6. 相乗りを含む運行計画の作成の対象となる複数のユーザのうちそれぞれの前記ユーザに対応する要素劣加法性を満たす可能性に応じて、前記要素を順位付け
    順位付けられた前記要素のうち1番目の第1要素と2番目の第2要素とを含む第1部分集合に対し前記劣加法性を満たすか判定し、
    前記第1部分集合に対し判定した結果が前記劣加法性を満たすことを示し、前記第1要素と前記第2要素と順位付けられた前記要素のうち3番目の第3要素とを含む第2部分集合に含まれる前記要素の数が所定数以下である場合に、前記第2部分集合に対し前記劣加法性を満たすか判定し、
    前記第2部分集合に対し判定した結果が前記劣加法性を満たすことを示す場合、前記第1部分集合と前記第2部分集合とに基づいて前記運行計画を生成する
    処理をコンピュータが実行することを特徴とする運行計画方法。
  7. 相乗りを含む運行計画の作成の対象となる複数のユーザのうちそれぞれの前記ユーザに対応する要素劣加法性を満たす可能性に応じて、前記要素を順位付け順位付けられた前記要素のうち1番目の第1要素と2番目の第2要素とを含む第1部分集合に対し前記劣加法性を満たすか判定し、前記第1部分集合に対し判定した結果が前記劣加法性を満たすことを示し、前記第1要素と前記第2要素と順位付けられた前記要素のうち3番目の第3要素とを含む第2部分集合に含まれる前記要素の数が所定数以下である場合に、前記第2部分集合に対し前記劣加法性を満たすか判定し、前記第2部分集合に対し判定した結果が前記劣加法性を満たすことを示す場合、前記第1部分集合と前記第2部分集合とに基づいて前記運行計画生成を制御する制御部
    有することを特徴とする運行計画装置。
  8. 相乗を依頼する端末装置と、
    前記端末装置から依頼を受け付けた、相乗りを含む運行計画の作成の対象となる複数のユーザのうちそれぞれの前記ユーザに対応する要素劣加法性を満たす可能性に応じて、前記要素を順位付け順位付けられた前記要素のうち1番目の第1要素と2番目の第2要素とを含む第1部分集合に対し前記劣加法性を満たすか判定し、前記第1部分集合に対し判定した結果が前記劣加法性を満たすことを示し、前記第1要素と前記第2要素と順位付けられた前記要素のうち3番目の第3要素とを含む第2部分集合に含まれる前記要素の数が所定数以下である場合に、前記第2部分集合に対し前記劣加法性を満たすか判定し、前記第2部分集合に対し判定した結果が前記劣加法性を満たすことを示す場合、前記第1部分集合と前記第2部分集合とに基づいて前記運行計画生成を制御する運行計画装置と、
    を備えたことを特徴とする運行計画システム。
JP2016081319A 2016-04-14 2016-04-14 運行計画プログラム、運行計画方法、運行計画装置および運行計画システム Active JP6715534B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016081319A JP6715534B2 (ja) 2016-04-14 2016-04-14 運行計画プログラム、運行計画方法、運行計画装置および運行計画システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016081319A JP6715534B2 (ja) 2016-04-14 2016-04-14 運行計画プログラム、運行計画方法、運行計画装置および運行計画システム
US15/485,591 US20170301053A1 (en) 2016-04-14 2017-04-12 Operation planning method, operation planning apparatus, operation planning system, and computer-readable recording medium

Publications (2)

Publication Number Publication Date
JP2017191504A JP2017191504A (ja) 2017-10-19
JP6715534B2 true JP6715534B2 (ja) 2020-07-01

Family

ID=60038317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016081319A Active JP6715534B2 (ja) 2016-04-14 2016-04-14 運行計画プログラム、運行計画方法、運行計画装置および運行計画システム

Country Status (2)

Country Link
US (1) US20170301053A1 (ja)
JP (1) JP6715534B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023680A (en) * 1997-05-15 2000-02-08 Panasonic Technologies, Inc. Methods, apparatus and computer program products for automated visual inspection
JP2003271706A (ja) * 2002-03-14 2003-09-26 Fujitsu Ltd タクシー相乗り管理方法、タクシー相乗り管理プログラムおよびタクシー相乗り管理装置
US20150095122A1 (en) * 2013-09-30 2015-04-02 David Edward Eramian Systems and methods for determining pro rata shares of a monetary cost during a ride sharing situation
US10198700B2 (en) * 2014-03-13 2019-02-05 Uber Technologies, Inc. Configurable push notifications for a transport service
US10339621B2 (en) * 2014-03-19 2019-07-02 Nissan Motor Co., Ltd. Operator management device, operator management system, and operator management method
US20150310378A1 (en) * 2014-04-27 2015-10-29 Ilan VAN DER BERG System Interfacing a Fleet Management System and a Ride Sharing System
US20160071082A1 (en) * 2014-09-05 2016-03-10 Ebay Inc. Automated splitting of costs incurred during a shared vehicle travel
US10248913B1 (en) * 2016-01-13 2019-04-02 Transit Labs Inc. Systems, devices, and methods for searching and booking ride-shared trips

Also Published As

Publication number Publication date
US20170301053A1 (en) 2017-10-19
JP2017191504A (ja) 2017-10-19

Similar Documents

Publication Publication Date Title
Expósito-Izquierdo et al. A two-level solution approach to solve the clustered capacitated vehicle routing problem
You An efficient computational approach for railway booking problems
Moon et al. Vehicle routing problem with time windows considering overtime and outsourcing vehicles
Kachitvichyanukul et al. Two solution representations for solving multi-depot vehicle routing problem with multiple pickup and delivery requests via PSO
Lei et al. Dynamic design of sales territories
Kirci An optimization algorithm for a capacitated vehicle routing problem with time windows
EP3449435A1 (en) System and method for determining routes of transportation service
Rasulkhani et al. Route-cost-assignment with joint user and operator behavior as a many-to-one stable matching assignment game
Marianov et al. Median problems in networks
Eglese et al. Disruption management in vehicle routing and scheduling for road freight transport: a review
Zhang et al. Effective and efficient: Large-scale dynamic city express
Schönberger Scheduling constraints in dial-a-ride problems with transfers: a metaheuristic approach incorporating a cross-route scheduling procedure with postponement opportunities
Rey et al. Exact and heuristic algorithms for finding envy-free allocations in food rescue pickup and delivery logistics
Balaji et al. An application of analytic hierarchy process in vehicle routing problem
JP6715534B2 (ja) 運行計画プログラム、運行計画方法、運行計画装置および運行計画システム
Biesinger et al. A variable neighborhood search for the generalized vehicle routing problem with stochastic demands
Korani et al. The hierarchical hub covering problem with an innovative allocation procedure covering radiuses
Salehipour et al. Exact and heuristic solutions to minimize total waiting time in the blood products distribution problem
González-Ramírez et al. A GRASP-tabu heuristic approach to territory design for pickup and delivery operations for large-scale instances
Li et al. Trajectory based optimal segment computation in road network databases
Gomes et al. An integrated approach for the design of demand responsive transportation services
Ceyhan et al. A branch and price algorithm for the pharmacy duty scheduling problem
McInerney et al. Bus, bike and random journeys: Crowdsourcing aid distribution in Ivory Coast
Aghezzaf et al. Iterated local search algorithm for solving the orienteering problem with soft time windows
Hervert-Escobar et al. Territorial design optimization for business sales plan

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190123

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20190123

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200602

R150 Certificate of patent or registration of utility model

Ref document number: 6715534

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150