9月20日に行われた、第6回ジオメディアサミット in G空間EXPOのライトニングトーク枠にて、OpenVRP に関するプレゼンテーション をさせていただきました。
5分間という短い間でしたが、OpenVRP の目的と、概要をお伝えできたと思います。プレゼンテーションの補足として、いくつかの点を述べさせていたただきます。
DARP Solver
DARP (Dial-a-ride problem) とは、「出発地から目的地まで移動するための乗車リクエスト及び降車リクエストを持つ複数のユーザからの要望に対して、それを満たす配送ルートを計算する」という問題です。 OpenVRPプロジェクトでは、PostgreSQL/PostGIS 用の最短経路探索ライブラリである pgRouting に DARPを解くアルゴリズム( DARP Solver )を実装しています。
SQL インターフェースが利用可能
DARP Solver は PostGISの拡張ライブラリになっていますので、例えば下記のようなSQL文で経路を計算することが可能です。
SELECT b.*, a.id, a.order_id, vehicle_id, pick_up,
to_char(at,'YYYY-MM-DD HH24:MI:SS'::text) AS at
FROM darp(
'SELECT * FROM darp_orders WHERE depot_id IN (0,5)',
'SELECT * FROM darp_vehicles WHERE depot_id = 5',
'SELECT * FROM distances'
) a
LEFT JOIN (
SELECT * FROM darp_report WHERE depot_id IN (0,5)
) AS b
ON (a.order_id = b.id);
OpenVRP Engine
上の DARP Solver の機能をRESTfulなWebAPI経由でアクセスするようにラッピングしたものが OpenVRP Engine です。車両情報、オーダー情報、拠点情報を入力し、トリップ情報(ルートとスケジュールが示されたもの)を出力することができます。出力は、JSON形式やKML形式など、複数の形式で取り出すことができます。
OpenVRPユースケース
OpenVRPを使うユースケースとして、オンデマンドバスや配送サービス、送迎サービス、シェアドタクシー、カーシェアリングなどが考えられます。興味のある方がおりましたら、是非コンタクトページよりご連絡ください。
当日利用したスライドはこちらにあります。
OpenVRP は現在開発中で、 ソースコードは、近日リリース予定です。詳細について知りたい方は、 OpenVRP Project website をご確認いただくか、 contact us にてお問い合わせください。OpenVRPのTwitterアカウントをフォローしていただくと、最新情報を知ることができます。 https://twitter.com/openvrp