นี่คือรูปแบบหนึ่งของวิธีการ projects.optimizeTours ที่ออกแบบมาเพื่อการเพิ่มประสิทธิภาพที่มีค่าหมดเวลาสูง ควรใช้แทนprojects.optimizeToursสำหรับเพิ่มประสิทธิภาพที่ใช้เวลานานกว่า 2-3 นาที
long-running operation (LRO) ที่ส่งคืนจะมีชื่อในรูปแบบ <parent>/operations/<operation_id> และสามารถใช้เพื่อติดตามความคืบหน้าของการคำนวณได้ metadata ประเภทฟิลด์คือ OptimizeToursLongRunningMetadata response ประเภทฟิลด์คือ OptimizeToursResponse หากสำเร็จ
คำขอ HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}:optimizeToursLongRunning
URL ใช้ไวยากรณ์การแปลงรหัส gRPC
พารามิเตอร์เส้นทาง
| พารามิเตอร์ | |
|---|---|
parent |
ต้องระบุ กำหนดเป้าหมายโปรเจ็กต์หรือสถานที่เพื่อโทร รูปแบบ:
หากไม่ได้ระบุสถานที่ตั้ง ระบบจะเลือกภูมิภาคให้โดยอัตโนมัติ |
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
| การแสดง JSON |
|---|
{ "timeout": string, "model": { object ( |
| ช่อง | |
|---|---|
timeout |
หากตั้งค่าการหมดเวลานี้ไว้ เซิร์ฟเวอร์จะส่งการตอบกลับก่อนที่ระยะเวลาการหมดเวลาจะผ่านไปหรือถึงกำหนดเวลาของเซิร์ฟเวอร์สำหรับคำขอแบบซิงโครนัส แล้วแต่ว่ากรณีใดจะเกิดขึ้นก่อน สำหรับคำขอแบบไม่พร้อมกัน เซิร์ฟเวอร์จะสร้างโซลูชัน (หากเป็นไปได้) ก่อนที่การหมดเวลาจะผ่านไป |
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 โปรดดูฟิลด์ |
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ Operation
ขอบเขตการให้สิทธิ์
ต้องใช้ขอบเขต OAuth ต่อไปนี้
https://www.googleapis.com/auth/cloud-platform
สิทธิ์ IAM
ต้องมีสิทธิ์ IAM ต่อไปนี้ในทรัพยากร parent
routeoptimization.operations.create
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของ IAM