ส่ง OptimizeToursRequest ที่มี ShipmentModel และแสดงผล OptimizeToursResponse ที่มี ShipmentRoute ซึ่งเป็นชุดเส้นทางที่ยานพาหนะจะใช้เพื่อลดต้นทุนโดยรวม
ShipmentModel โมเดลประกอบด้วยShipmentเป็นหลัก ซึ่งต้องดำเนินการและVehicleที่ใช้ขนส่งShipmentได้ ShipmentRoute มอบหมาย Shipment ให้กับ Vehicle กล่าวคือ พวกเขาจะกำหนดชุดVisitให้กับยานพาหนะแต่ละคัน โดยVisitจะสอดคล้องกับVisitRequest ซึ่งเป็นการรับหรือนำส่งสำหรับShipment
เป้าหมายคือการกำหนด ShipmentRoute ให้กับ Vehicle ซึ่งจะช่วยลดต้นทุนรวม โดยต้นทุนมีหลายองค์ประกอบที่กำหนดไว้ใน ShipmentModel
คำขอ HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:optimizeTours
URL ใช้ไวยากรณ์การแปลงรหัส gRPC
พารามิเตอร์เส้นทาง
| พารามิเตอร์ | |
|---|---|
parent |
ต้องระบุ โปรเจ็กต์หรือสถานที่เป้าหมายที่จะโทร รูปแบบ:
หากไม่ได้ระบุสถานที่ตั้ง ระบบจะเลือกภูมิภาคโดยอัตโนมัติ |
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
| การแสดง JSON |
|---|
{ "timeout": string, "model": { object ( |
| ช่อง | |
|---|---|
timeout |
หากตั้งค่าการหมดเวลานี้ไว้ เซิร์ฟเวอร์จะส่งการตอบกลับก่อนที่ระยะเวลาการหมดเวลาจะผ่านไปหรือถึงกำหนดเวลาของเซิร์ฟเวอร์สำหรับคำขอแบบซิงโครนัส แล้วแต่ว่ากรณีใดจะเกิดขึ้นก่อน สำหรับคำขอแบบไม่พร้อมกัน เซิร์ฟเวอร์จะสร้างโซลูชัน (หากเป็นไปได้) ก่อนที่การหมดเวลาจะผ่านไป ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย ' |
model |
รูปแบบการจัดส่งที่ต้องการแก้ไข |
solvingMode |
โดยค่าเริ่มต้น โหมดการแก้ปัญหาคือ |
searchMode |
โหมดการค้นหาที่ใช้ในการแก้ปัญหาคำขอ |
injectedFirstSolutionRoutes[] |
แนะนําอัลกอริทึมการเพิ่มประสิทธิภาพในการค้นหาโซลูชันแรกที่คล้ายกับโซลูชันก่อนหน้า โมเดลจะถูกจำกัดเมื่อสร้างโซลูชันแรก การจัดส่งที่ไม่ได้ดำเนินการในเส้นทางจะถูกข้ามโดยปริยายในโซลูชันแรก แต่ระบบอาจดำเนินการในโซลูชันถัดไป โซลูชันต้องเป็นไปตามสมมติฐานความถูกต้องพื้นฐานบางประการ ดังนี้
หากโซลูชันที่แทรกไม่สามารถใช้งานได้ ระบบอาจไม่แสดงข้อผิดพลาดในการตรวจสอบ แต่จะแสดงข้อผิดพลาดที่ระบุว่าใช้งานไม่ได้แทน |
injectedSolutionConstraint |
จำกัดอัลกอริทึมการเพิ่มประสิทธิภาพเพื่อค้นหาวิธีแก้ปัญหาขั้นสุดท้ายที่คล้ายกับวิธีแก้ปัญหาก่อนหน้า เช่น อาจใช้เพื่อตรึงส่วนของเส้นทางที่เสร็จสมบูรณ์แล้ว หรือส่วนที่ต้องทำให้เสร็จสมบูรณ์แต่ห้ามแก้ไข หากโซลูชันที่แทรกไม่สามารถใช้งานได้ ระบบอาจไม่แสดงข้อผิดพลาดในการตรวจสอบ แต่จะแสดงข้อผิดพลาดที่ระบุว่าใช้งานไม่ได้แทน |
refreshDetailsRoutes[] |
หากไม่ว่างเปล่า ระบบจะรีเฟรชเส้นทางที่ระบุโดยไม่แก้ไขลำดับการเข้าชมหรือเวลาเดินทางพื้นฐาน มีเพียงรายละเอียดอื่นๆ เท่านั้นที่จะได้รับการอัปเดต การดำเนินการนี้จะไม่แก้ปัญหาโมเดล ตั้งแต่เดือนพฤศจิกายน 2020 เป็นต้นมา ฟีเจอร์นี้จะแสดงเฉพาะเส้นหลายเหลี่ยมของเส้นทางที่มีข้อมูล และกำหนดให้ ฟิลด์ ห้ามใช้ฟิลด์นี้ร่วมกับ
|
interpretInjectedSolutionsUsingLabels |
หากเป็นจริง
การตีความนี้มีผลกับช่อง หากเป็นจริง ค่ายเพลงในหมวดหมู่ต่อไปนี้ต้องปรากฏในหมวดหมู่ของตนเองอย่างมาก 1 ครั้ง
หาก การนำการเข้าชมเส้นทางหรือเส้นทางทั้งหมดออกจากโซลูชันที่แทรกอาจส่งผลต่อข้อจำกัดโดยนัย ซึ่งอาจนำไปสู่การเปลี่ยนแปลงโซลูชัน ข้อผิดพลาดในการตรวจสอบ หรือความไม่สอดคล้องกัน หมายเหตุ: ผู้โทรต้องตรวจสอบว่าแต่ละ |
considerRoadTraffic |
พิจารณาการประมาณการการเข้าชมในการคำนวณฟิลด์ |
populatePolylines |
หากเป็นจริง ระบบจะแสดงเส้นหลายเส้นในคำตอบ |
populateTransitionPolylines |
หากเป็นจริง ระบบจะป้อนข้อมูลเส้นหลายเส้นและโทเค็นเส้นทางในการตอบกลับ |
allowLargeDeadlineDespiteInterruptionRisk |
หากตั้งค่านี้ไว้ คำขอจะมีกำหนดเวลาได้สูงสุด 60 นาที (ดู https://grpc.io/blog/deadlines) ไม่เช่นนั้น กำหนดเวลาสูงสุดจะอยู่ที่ 30 นาทีเท่านั้น โปรดทราบว่าคำขอที่ใช้งานเป็นเวลานานมีความเสี่ยงที่จะถูกขัดจังหวะสูงกว่าอย่างมาก (แต่ก็ยังถือว่าน้อย) |
useGeodesicDistances |
หากเป็นจริง ระบบจะคำนวณระยะทางการเดินทางโดยใช้ระยะทาง Geodesic แทนระยะทางของ Google Maps และจะคำนวณเวลาเดินทางโดยใช้ระยะทาง Geodesic ที่มีความเร็วซึ่งกำหนดโดย |
label |
ป้ายกำกับที่อาจใช้เพื่อระบุคำขอนี้ ซึ่งจะรายงานกลับใน |
geodesicMetersPerSecond |
เมื่อ |
maxValidationErrors |
ตัดทอนจำนวนข้อผิดพลาดในการตรวจสอบที่แสดง โดยปกติแล้ว ข้อผิดพลาดเหล่านี้จะแนบไปกับเพย์โหลดข้อผิดพลาด INVALID_ARGUMENT เป็นรายละเอียดข้อผิดพลาด BadRequest (https://cloud.google.com/apis/design/errors#error_details) เว้นแต่ solvingMode=VALIDATE_ONLY โปรดดูฟิลด์ |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ OptimizeToursResponse
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/cloud-platform
สิทธิ์ IAM
ต้องมีสิทธิ์ IAM ต่อไปนี้ในทรัพยากร parent
routeoptimization.locations.use
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับ IAM