ส่ง 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 |
หากจริง:
การตีความนี้ใช้กับช่อง หากเป็น "จริง" ป้ายกำกับในหมวดหมู่ต่อไปนี้จะต้องปรากฏในหมวดหมู่นั้นอย่างน้อย 1 ครั้ง
หาก การนำการเข้าชมเส้นทางหรือทั้งเส้นทางออกจากโซลูชันที่แทรกเข้าไปอาจส่งผลต่อข้อจำกัดโดยนัย ซึ่งอาจทำให้มีการเปลี่ยนแปลงโซลูชัน ข้อผิดพลาดในการตรวจสอบความถูกต้อง หรือความเป็นไปได้ หมายเหตุ: ผู้โทรต้องตรวจสอบว่า |
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) เว้นแต่ว่าจะแก้ไขMode=VALIDATE_ONLY: โปรดดูช่อง |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ OptimizeToursResponse
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/cloud-platform