ส่ง 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[] |
หากไม่ว่างเปล่า ระบบจะรีเฟรชเส้นทางที่ระบุโดยไม่แก้ไขลำดับการเข้าชมหรือเวลาเดินทางที่สําคัญ โดยจะอัปเดตเฉพาะรายละเอียดอื่นๆ เท่านั้น เราไม่สามารถแก้โจทย์โมเดล ในเดือน 11/2020 การดำเนินการนี้จะสร้างเฉพาะรูปหลายเหลี่ยมของเส้นทางที่ไม่ใช่ "ว่าง" และกำหนดให้ ช่อง ห้ามใช้ช่องนี้ร่วมกับ
|
interpretInjectedSolutionsUsingLabels |
หากเป็นจริง
การตีความนี้มีผลกับช่อง หากจริง ป้ายกำกับในหมวดหมู่ต่อไปนี้ต้องปรากฏมากที่สุดครั้งเดียวในหมวดหมู่ของป้ายกำกับนั้น
หาก การนำการเข้าชมเส้นทางหรือทั้งเส้นทางออกจากโซลูชันที่แทรกไว้อาจส่งผลต่อข้อจำกัดโดยนัย ซึ่งอาจนำไปสู่การเปลี่ยนแปลงในโซลูชัน ข้อผิดพลาดในการตรวจสอบ หรือความเป็นไปไม่ได้ หมายเหตุ: ผู้เรียกต้องตรวจสอบว่า |
considerRoadTraffic |
โปรดพิจารณาการประมาณการเข้าชมในการคำนวณช่อง |
populatePolylines |
หากเป็น "จริง" ระบบจะสร้างเส้นประกอบใน |
populateTransitionPolylines |
หากเป็น "จริง" ระบบจะป้อนข้อมูลโพลีไลน์ในคำตอบ |
allowLargeDeadlineDespiteInterruptionRisk |
หากตั้งค่าไว้ คำขออาจมีกำหนดเวลา (ดู https://grpc.io/blog/deadlines) ได้สูงสุด 60 นาที ไม่เช่นนั้น กำหนดเวลาสูงสุดคือ 30 นาทีเท่านั้น โปรดทราบว่าคําขอที่มีอายุการใช้งานนานมีความเสี่ยงที่จะหยุดชะงักมากกว่า (แต่ก็ยังถือว่าน้อย) |
useGeodesicDistances |
หากเป็นจริง ระบบจะคำนวณระยะทางในการเดินทางโดยใช้ระยะทางตามพิกัดธรณีศาสตร์แทนระยะทางใน Google Maps และเวลาในการเดินทางจะคำนวณโดยใช้ระยะทางในรัศมีทางภูมิศาสตร์ที่มีความเร็วตาม |
label |
ป้ายกำกับที่อาจใช้ระบุคำขอนี้ซึ่งรายงานกลับใน |
geodesicMetersPerSecond |
เมื่อ |
maxValidationErrors |
ตัดจำนวนข้อผิดพลาดในการตรวจสอบที่แสดง โดยทั่วไปข้อผิดพลาดเหล่านี้จะแนบอยู่กับเพย์โหลดข้อผิดพลาด INVALID_ARGUMENT โดยเป็นรายละเอียดข้อผิดพลาด BadRequest (https://cloud.google.com/apis/design/errors#error_details) ยกเว้น troubleshootingMode=VALIDATE_ONLY: โปรดดูช่อง |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ OptimizeToursResponse
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/cloud-platform
สิทธิ์ IAM
ต้องมีสิทธิ์ IAM ต่อไปนี้ในทรัพยากร parent:
routeoptimization.locations.use
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบ IAM