วัตถุประสงค์

วัตถุประสงค์คือพารามิเตอร์ที่กำหนดเป้าหมายการเพิ่มประสิทธิภาพทั่วไปไว้ล่วงหน้า เช่น ระยะทางหรือระยะเวลาเดินทางที่สั้นที่สุด การนำส่งตรงเวลา การกระจายภาระงาน ระหว่างคนขับ โดยมีจุดประสงค์เพื่อช่วยให้นักพัฒนาแอปเริ่มต้นใช้งาน Route Optimization API ได้ง่ายขึ้นก่อนที่จะเรียนรู้ความซับซ้อนและการปรับแต่งพารามิเตอร์ต้นทุน แบบเต็ม (ดู "cost model " เพื่อดูวิธีปรับแต่งวัตถุประสงค์ที่หลากหลายอย่างเต็มที่)

เมื่อตั้งค่าแล้ว ShipmentModel.objectives จะเขียนทับโมเดลต้นทุน ทั้งหมด จึงไม่สามารถใช้ร่วมกับต้นทุนที่มีอยู่ก่อนแล้วได้ แต่ละ Objectiveจะแมปกับค่าที่กำหนดไว้ล่วงหน้าจำนวนหนึ่งสำหรับยานพาหนะ การจัดส่ง หรือ แอตทริบิวต์การเปลี่ยน

เมื่อระบุโหมดการแก้ปัญหา TRANSFORM_AND_RETURN_REQUEST ระบบจะไม่แก้ปัญหาคำขอ แต่จะตรวจสอบและกรอกต้นทุนที่สอดคล้องกับวัตถุประสงค์ที่ระบุเท่านั้น ระบบจะแสดงคำขอที่แก้ไขแล้วเป็น OptimizeToursResponse.processed_request โหมดการแก้ปัญหาอื่นๆ ทั้งหมดจะ แสดงคำขอที่แก้แล้ว

TRANSFORM_AND_RETURN_REQUESTโหมดการแก้ปัญหาใช้ได้กับคำขอ OptimizeTours เท่านั้น และใช้ไม่ได้กับคำขอ Route Optimization API อื่นๆ

ตัวอย่าง: ส่งShipmentModel.objectivesคำขอ

ก่อนส่งคำขอ โปรดทำตามขั้นตอนต่อไปนี้

  • ตรวจสอบว่าคุณได้กำหนดค่าข้อมูลรับรองเริ่มต้นของแอปพลิเคชันตามที่อธิบายไว้ ในใช้ OAuth
  • ตั้งค่า PROJECT_NUMBER_OR_ID เป็นหมายเลขหรือรหัสโปรเจ็กต์ Cloud

    คำสั่งต่อไปนี้จะส่ง OptimizeToursRequest ไปยัง Route Optimization API ซึ่งจะแสดง OptimizeToursResponse

    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
                }
              }
            ],
            "deliveries": [
              {
                "arrivalLocation": {
                  "latitude": 37.42421503206021,
                  "longitude": -122.09526063135228
                }
              }
            ]
          }
        ],
        "vehicles": [
          {
            "travelMode": "DRIVING",
          }
        ],
        "objectives": [
          {
            "type": "MIN_TRAVEL_TIME"
          }
        ],
      }
    }
    EOM

ตัวอย่าง: ส่งTRANSFORM_AND_RETURN_REQUESTคำขอ

ก่อนส่งคำขอ โปรดทำตามขั้นตอนต่อไปนี้

  • ตรวจสอบว่าคุณได้กำหนดค่าข้อมูลรับรองเริ่มต้นของแอปพลิเคชันตามที่อธิบายไว้ ในใช้ OAuth
  • ตั้งค่า PROJECT_NUMBER_OR_ID เป็นหมายเลขหรือรหัสโปรเจ็กต์ Cloud

    คำสั่งต่อไปนี้จะส่ง OptimizeToursRequest ไปยัง Route Optimization API ซึ่งจะแสดง OptimizeToursResponse ที่ตั้งค่าฟิลด์ ProcessedRequest

    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
                }
              }
            ],
            "deliveries": [
              {
                "arrivalLocation": {
                  "latitude": 37.42421503206021,
                  "longitude": -122.09526063135228
                }
              }
            ]
          }
        ],
        "vehicles": [
          {
            "travelMode": "DRIVING",
          }
        ],
        "objectives": [
          {
            "type": "MIN_TRAVEL_TIME"
          }
        ]
      },
      "solvingMode": "TRANSFORM_AND_RETURN_REQUEST"
    }
    EOM
    คำสั่งก่อนหน้าจะสร้างการตอบกลับที่คล้ายกับข้อความต่อไปนี้
    {
      "processedRequest": {
        "model": {
          "shipments": [
            {
              "pickups": [
                {
                  "arrivalLocation": {
                    "latitude": 37.425062610009959,
                    "longitude": -122.09535511930135
                  }
                }
              ],
              "deliveries": [
                {
                  "arrivalLocation": {
                    "latitude": 37.424215032060211,
                    "longitude": -122.09526063135228
                  }
                }
              ]
            }
          ],
          "vehicles": [
            {
              "travelMode": "DRIVING",
              "costPerHour": 30,
              "costPerTraveledHour": 330,
              "costPerKilometer": 0.2
            }
          ],
          "objectives": [
            {
              "type": "MIN_TRAVEL_TIME"
            }
          ]
        },
        "solvingMode": "TRANSFORM_AND_RETURN_REQUEST"
      }
    }