ส่ง 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/*/locations/*}:optimizeTours
URL ใช้ไวยากรณ์การแปลง gRPC
พารามิเตอร์เส้นทาง
| พารามิเตอร์ | |
|---|---|
parent | 
                
                   
 ต้องระบุ กำหนดเป้าหมายโปรเจ็กต์หรือสถานที่ตั้งเพื่อโทรออก รูปแบบ: *  หากไม่ได้ระบุตำแหน่งที่ตั้งไว้ ระบบจะเลือกภูมิภาคโดยอัตโนมัติ  | 
              
เนื้อหาของคำขอ
เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้
| การแสดง JSON | 
|---|
{ "timeout": string, "model": { object (  | 
                
| ช่อง | |
|---|---|
timeout | 
                  
                     
 หากตั้งค่าการหมดเวลานี้ไว้ เซิร์ฟเวอร์จะแสดงผลลัพธ์ก่อนที่ระยะเวลาหมดเวลาจะสิ้นสุดลงหรือก่อนที่เซิร์ฟเวอร์จะถึงกำหนดเวลาของคำขอแบบซิงค์ แล้วแต่ว่าเวลาใดจะมาถึงก่อน สำหรับคำขอแบบไม่พร้อมกัน เซิร์ฟเวอร์จะสร้างโซลูชัน (หากเป็นไปได้) ก่อนจะหมดเวลา ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "  | 
                
model | 
                  
                     
 รูปแบบการจัดส่งที่จะแก้ปัญหา  | 
                
solvingMode | 
                  
                     
 โดยค่าเริ่มต้น โหมดการแก้ปัญหาจะเป็น   | 
                
searchMode | 
                  
                     
 โหมดการค้นหาที่ใช้เพื่อแก้ปัญหา  | 
                
injectedFirstSolutionRoutes[] | 
                  
                     
 แนะนำอัลกอริทึมการเพิ่มประสิทธิภาพในการค้นหาโซลูชันแรกที่คล้ายกับโซลูชันก่อนหน้า โมเดลจะถูกจํากัดเมื่อสร้างโซลูชันแรก การจัดส่งที่ไม่ได้ดำเนินการในเส้นทางจะถูกข้ามโดยปริยายในโซลูชันแรก แต่อาจดำเนินการในโซลูชันต่อเนื่อง โซลูชันต้องเป็นไปตามสมมติฐานพื้นฐานบางอย่างเกี่ยวกับความถูกต้อง ดังนี้ 
 หากโซลูชันที่แทรกไม่สามารถทำได้ ระบบอาจไม่แสดงข้อผิดพลาดในการตรวจสอบและแสดงข้อผิดพลาดที่ระบุว่าไม่สามารถทำได้แทน  | 
                
injectedSolutionConstraint | 
                  
                     
 จำกัดอัลกอริทึมการเพิ่มประสิทธิภาพเพื่อค้นหาวิธีแก้ปัญหาสุดท้ายที่คล้ายกับวิธีแก้ปัญหาก่อนหน้า เช่น สามารถใช้เพื่อหยุดเส้นทางบางส่วนที่เสร็จสมบูรณ์แล้วหรือที่กำลังจะเสร็จสมบูรณ์แต่ต้องไม่แก้ไข หากโซลูชันที่แทรกลงไปเป็นไปไม่ได้ อาจไม่มีการส่งคืนข้อผิดพลาดในการตรวจสอบ และระบบอาจแสดงข้อผิดพลาดที่ระบุว่าไม่สามารถเป็นไปได้แทน  | 
                
refreshDetailsRoutes[] | 
                  
                     
 หากไม่ว่างเปล่า ระบบจะรีเฟรชเส้นทางที่ระบุโดยไม่แก้ไขลำดับการเข้าชมหรือเวลาเดินทางที่สําคัญ โดยจะอัปเดตเฉพาะรายละเอียดอื่นๆ เท่านั้น เราไม่สามารถแก้โจทย์โมเดล ตั้งแต่ปี 2020/11 เป็นต้นไป ตัวแปรนี้จะเติมเฉพาะโพลีไลน์ของเส้นทางที่ไม่ว่างเปล่าและกำหนดให้  ช่อง  ช่องนี้ต้องไม่ใช้ร่วมกับ  
  | 
                
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) เว้นแต่ว่า solvingMode=VALIDATE_ONLY: ดูช่อง   | 
                
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ OptimizeToursResponse
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/cloud-platform
สิทธิ์ IAM
ต้องมีสิทธิ์ IAM ต่อไปนี้ในทรัพยากร parent
routeoptimization.locations.use
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบ IAM