16.4. OptaWeb 配送経路の手動での設定および実行

OptaWeb 配送経路を最も簡単な方法で実行するには、runlocally.sh スクリプトを使用します。ただし、お使いのシステムでバッシュを利用できない場合は、runlocally.sh スクリプトが実行する手順を手動で完了してください。

前提条件

手順

  1. 経路データをダウンロードします。

    経路エンジンでは、車両が場所間の移動にかかる時間を計算するのに地理データが必要です。ローカルのファイルシステムに OpenStreetMap (OSM) データファイルをダウンロードして保存してから、OptaWeb 配送経路を実行する必要があります。

    注記

    OSM データファイルのサイズは通常 100 MB から 1 GB の間となり、ダウンロードに時間がかかるため、OptaWeb 配送経路アプリケーションをビルドまたは起動する前にこれらのファイルをダウンロードすることをお勧めします。

    1. Web ブラウザーで http://download.geofabrik.de/ を開きます。
    2. Sub Region リストで地域 (ヨーロッパ など) をクリックします。サブ地域ページが開きます。
    3. Sub Regions の表で、国 (ベルギーなど) の OSM ファイル (.osm.pbf) をダウンロードします。
  2. データのディレクトリー構造を作成します。

    OptaWeb 配送経路では、ファイルシステム上の複数の種類のデータを読み取り、書き込みます。openstreetmap ディレクトリーから OSM (OpenStreetMap) ファイルを読み取り、道路網グラフを graphhopper ディレクトリーに書き込み、db ディレクトリーでユーザーデータを永続化します。このデータをすべて格納する専用のディレクトリーを新たに作成して、今後簡単に新しいバージョンの OptaWeb 配送経路にアップグレードして、以前に作成したデータをそのまま使用できるようにします。

    1. $HOME/.optaweb-vehicle-routing ディレクトリーを作成します。
    2. $HOME/.optaweb-vehicle-routing ディレクトリーに openstreetmap ディレクトリーを作成します。

      $HOME/.optaweb-vehicle-routing
      └── openstreetmap
    3. ダウンロードした OSM ファイル (.osm.pbf の拡張子が付いたファイル) をすべて openstreetmap ディレクトリーに移動します。

      残りのディレクトリー構造は、OptaWeb 配送経路アプリケーションにより、初回実行時に作成されます。作成後のディレクトリー構造は以下のとおりです。

      $HOME/.optaweb-vehicle-routing
      
      ├── db
      │   └── vrp.mv.db
      ├── graphhopper
      │   └── belgium-latest
      └── openstreetmap
          └── belgium-latest.osm.pbf
  3. rhpam-7.12.0-kogito-and-optaplanner-quickstarts/optaweb-8.11.1.Final-redhat-00006/optaweb-vehicle-routing/optaweb-vehicle-routing-standalone/target ディレクトリーに移動します。
  4. OptaWeb 配送経路を実行するには、以下のコマンドを実行します。

    java \
    -Dapp.demo.data-set-dir=$HOME/.optaweb-vehicle-routing/dataset \
    -Dapp.persistence.h2-dir=$HOME/.optaweb-vehicle-routing/db \
    -Dapp.routing.gh-dir=$HOME/.optaweb-vehicle-routing/graphhopper \
    -Dapp.routing.osm-dir=$HOME/.optaweb-vehicle-routing/openstreetmap \
    -Dapp.routing.osm-file=<OSM_FILE_NAME> \
    -Dapp.region.country-codes=<COUNTRY_CODE_LIST> \
    -jar quarkus-app/quarkus-run.jar

    このコマンドでは、以下の変数を置き換えてください。

    • <OSM_FILE_NAME>: 以前にダウンロードした地域で、使用予定の地域の OSM ファイル。
    • <COUNTRY_CODE_LIST>: 地理検索クエリーの絞り込みに使用するコンマ区切りの国コード一覧。国コードの一覧については、ISO 3166 Country Codes を参照してください。

      アプリケーションは、OSM ファイルのダウンロード後に起動します。

      以下の例では、OptaWeb 配送経路は中央アメリカの OSM の地図 (central-america-latest.osm.pbf) をダウンロードして、ベリーズ (BZ) とグアテマラ (GT) の国で検索を行います。

      java \
      -Dapp.demo.data-set-dir=$HOME/.optaweb-vehicle-routing/dataset \
      -Dapp.persistence.h2-dir=$HOME/.optaweb-vehicle-routing/db \
      -Dapp.routing.gh-dir=$HOME/.optaweb-vehicle-routing/graphhopper \
      -Dapp.routing.osm-dir=$HOME/.optaweb-vehicle-routing/openstreetmap \
      -Dapp.routing.osm-file=entral-america-latest.osm.pbf \
      -Dapp.region.country-codes=BZ,GT \
      -jar quarkus-app/quarkus-run.jar
  5. OptaWeb 配送経路のユーザーインターフェイスを表示するには、Web ブラウザーに以下の URL を入力します。

    http://localhost:8080