วัตถุประสงค์คือพารามิเตอร์ที่กำหนดเป้าหมายการเพิ่มประสิทธิภาพทั่วไปไว้ล่วงหน้า เช่น
ระยะทางหรือระยะเวลาเดินทางที่สั้นที่สุด การนำส่งตรงเวลา การกระจายภาระงาน
ระหว่างคนขับ โดยมีจุดประสงค์เพื่อช่วยให้นักพัฒนาแอปเริ่มต้นใช้งาน 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" } }