Hindari putar balik di lokasi pengambilan dan pengiriman

Secara default, kendaraan dapat tiba di lokasi penjemputan atau pengantaran dari arah mana pun, lalu berangkat ke arah mana pun. Dalam beberapa kasus, hal ini memaksa kendaraan untuk berputar balik di lokasi kunjungan, yang mungkin sulit atau tidak mungkin dilakukan karena ukuran kendaraan, rambu lalu lintas di lokasi, atau kondisi lalu lintas yang biasa.

Untuk mencegah kendaraan mengubah arah antara kedatangan dan keberangkatan untuk lokasi pengambilan atau pengiriman tertentu, Anda dapat menyetel avoid_u_turns ke benar (true) untuk lokasi ini. Dengan setelan ini, kendaraan akan tiba dan meninggalkan lokasi dengan arah yang sama, sehingga menghindari putar balik. Di jalan dua arah, pemecah masalah akan mempertimbangkan kedua arah dan memilih salah satunya sebagai bagian dari pengoptimalan rute.

Anda juga dapat menyetel side_of_road ke benar (true) untuk mendapatkan rute tempat kendaraan tiba dan berangkat di sisi jalan yang paling dekat dengan titik jalan. Dalam hal ini, kendaraan juga tidak mengubah arah antara kedatangan dan keberangkatan. Anda dapat menetapkan side_of_road dan avoid_u_turns ke benar untuk mendapatkan hasil yang sama. Untuk mengetahui detailnya, lihat Interaksi dengan fitur lain.

Dalam praktiknya, avoid_u_turns harus digunakan saat aman untuk menyeberang jalan menuju titik jalan. Gunakan side_of_road jika menyeberang tidak disarankan atau tidak memungkinkan.

Contoh: Membuat permintaan OptimizeTours dengan avoid_u_turns

Permintaan OptimizeTours dapat dibuat menggunakan REST atau gRPC.

Sebelum membuat permintaan, ganti parameter berikut dengan nilai yang sesuai untuk lingkungan Anda:

  • Pastikan Anda telah mengonfigurasi Kredensial Default Aplikasi seperti yang dijelaskan dalam Menggunakan OAuth.
  • Tetapkan PROJECT_NUMBER_OR_ID ke nomor atau ID project Cloud Anda.

    Perintah berikut mengirim permintaan OptimizeTours ke Route Optimization API dan menerima respons secara serentak.

    curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    --data @- <<EOM
    {
      "model": {
        "shipments": [
          {
            "pickups": [
              {
                "arrivalLocation": {
                  "latitude": 37.42506261000996,
                  "longitude": -122.09535511930135
                },
                "avoidUTurns": true
              }
            ],
            "deliveries": [
              {
                "arrivalLocation": {
                  "latitude": 37.42421503206021,
                  "longitude": -122.09526063135228
                },
                "avoidUTurns": true
              }
            ]
          }
        ],
        "vehicles": [
          {
            "travelMode": "DRIVING",
            "costPerKilometer": 1.0
          }
        ],
      }
    }
    EOM

Setelah permintaan selesai, Anda akan menerima pesan respons.

Interaksi dengan fitur lain

  • avoid_u_turns dapat digunakan bersama dengan side_of_road = true. Dalam hal ini, putar balik dihindari, tetapi pemecah masalah memilih rute yang berada di sisi jalan yang sama dengan titik jalan, mirip dengan menetapkan side_of_road = true saja.
  • Jika avoid_u_turns = true untuk permintaan kunjungan tertentu, maka ShipmentRoute.Visit dalam respons yang sesuai memiliki setelan kolom injected_solution_location_token. Arti persis dari nilainya adalah detail penerapan, tetapi nilai tersebut mengenkode informasi tentang sisi jalan yang dipilih oleh pemecah masalah.
  • Saat Anda menggunakan ShipmentRoute.Visit sebagai bagian dari permintaan input, jika ShipmentRoute.Visit tersebut sesuai dengan VisitRequest yang avoid_u_turns = true, maka ShipmentRoute.Visit harus berisi injected_solution_location_token yang sebelumnya ditampilkan oleh pemecah masalah.

Batasan

Penghindaran putar balik adalah upaya terbaik. Dalam situasi tertentu, rute mungkin masih berisi putar balik:

  • avoid_u_turns hanya berfungsi dengan mode perjalanan yang mendukung side_of_road. Secara khusus, fitur ini tidak didukung untuk mode perjalanan WALKING.
  • avoid_u_turns tidak dapat digunakan untuk pengambilan dan pengiriman jika waktu tiba dan berangkat tidak sama.
  • Saat pengambilan atau pengiriman berada di jalan buntu, Anda harus berputar balik untuk keluar dari jalan tersebut.
  • Tujuan fitur ini adalah menghindari putar balik di lokasi penjemputan dan pengantaran. Putar balik di antara titik jalan tidak dihindari.
  • Belokan yang sangat tajam ke jalan lain tidak dianggap sebagai putar balik, dan umumnya tidak akan dihindari.

Ada batasan tambahan saat fitur ini dalam pengembangan. Kami berharap batas tersebut akan dihapus seiring dengan perkembangan fitur.