วัตถุประสงค์คือพารามิเตอร์ที่คุณใช้ระบุเป้าหมายการเพิ่มประสิทธิภาพระดับสูงได้ แทนที่จะระบุพารามิเตอร์ต้นทุนที่เฉพาะเจาะจงจากรูปแบบต้นทุน
คุณใช้วัตถุประสงค์หลายอย่างในคำขอเดียวได้ และกำหนดน้ำหนักสัมพัทธ์ให้กับแต่ละวัตถุประสงค์ เพื่อควบคุมระดับอิทธิพลที่มีต่อการเพิ่มประสิทธิภาพโดยรวม วัตถุประสงค์ส่งผลต่อคำขอทั้งหมด โดยมีผลต่อยานพาหนะและการจัดส่งทั้งหมด สุดท้ายนี้ คุณยังสามารถใช้วัตถุประสงค์เพื่อเริ่มพัฒนาโมเดลต้นทุนของคุณเองได้ตามที่อธิบายไว้ในสร้างโมเดลต้นทุน
คุณสามารถใช้เป้าหมายเพื่อควบคุมผลกระทบต่อไปนี้ในแผนเส้นทาง
- ระยะเวลาเดินทางหรือระยะทางรวมของเส้นทาง
- เวลาทำงานทั้งหมดในยานพาหนะทุกคัน
- จำนวนยานพาหนะทั้งหมดที่ใช้
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ objectives คืออาร์เรย์ของประเภทข้อความ Objective
ภายใน ShipmentModel Objective แต่ละรายการจะกำหนด
เป้าหมายการเพิ่มประสิทธิภาพที่เฉพาะเจาะจงและมีฟิลด์ที่ระบุไว้ในตารางต่อไปนี้
| ช่อง | ประเภท | คำอธิบาย |
|---|---|---|
type |
ค่าแจกแจง |
ระบุเป้าหมายการเพิ่มประสิทธิภาพที่กําหนดไว้ล่วงหน้า ค่าที่ยอมรับมีดังนี้
|
weight |
ดับเบิล |
กำหนดความสำคัญสัมพัทธ์ของวัตถุประสงค์นี้ เมื่อใช้วัตถุประสงค์หลายอย่าง ค่า weight จะควบคุมว่าวัตถุประสงค์ที่เฉพาะเจาะจงนี้มีอิทธิพลต่อการเพิ่มประสิทธิภาพเส้นทางโดยรวมมากน้อยเพียงใดเมื่อเทียบกับวัตถุประสงค์อื่นๆ ซึ่งอาจเป็นจำนวนใดๆ ก็ได้ที่ไม่ติดลบและไม่จำเป็นต้องรวมกันเป็น 1 ค่าเริ่มต้นคือ 1.0
|
ตัวอย่าง
ส่วนนี้จะครอบคลุมตัวอย่าง 2 ประเภท ได้แก่
- ตัวอย่างโค้ดที่แสดงโครงสร้างของอาร์เรย์
objectives - ตัวอย่างคำขอที่มีอาร์เรย์
objectives
ตัวอย่างโค้ด
ตัวอย่างต่อไปนี้แสดงโครงสร้างของ objectives
"objectives": [
{
"type": "OBJECTIVE_TYPE",
"weight": WEIGHT
}
]
ตัวอย่างคำขอ
ตัวอย่างต่อไปนี้แสดงโครงสร้างของคำขอ optimizeTours
พื้นฐานที่รวมวัตถุประสงค์หลายอย่าง โดยที่ MIN_TRAVEL_TIME มีความสำคัญเป็น 3 เท่า
ของ MIN_WORKING_TIME
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING" } ], "objectives": [ { "type": "MIN_TRAVEL_TIME", "weight": 3.0 }, { "type": "MIN_WORKING_TIME" } ] } }
สร้างโมเดลต้นทุน
วัตถุประสงค์เป็นวิธีที่รวดเร็วในการกำหนดเป้าหมายการเพิ่มประสิทธิภาพ แต่ในบางกรณี วัตถุประสงค์เพียงอย่างเดียวอาจไม่เฉพาะเจาะจงมากพอ หากต้องการบรรลุเป้าหมายการกำหนดเส้นทางที่แน่นอน คุณอาจต้องมีการควบคุมแบบละเอียดซึ่งใช้ได้ผ่านพารามิเตอร์รูปแบบต้นทุนเท่านั้น
คุณสามารถเริ่มพัฒนาโมเดลต้นทุนของคุณเองได้โดยการเพิ่มวัตถุประสงค์ลงในคำขอ จากนั้นแปลงวัตถุประสงค์ในคำขอเป็นพารามิเตอร์โมเดลต้นทุน
โดยใช้โหมดTRANSFORM_AND_RETURN_REQUESTการแก้ปัญหา
เมื่อคุณส่งคำขอโดยใช้โหมดการแก้ปัญหานี้ จะเกิดสิ่งต่อไปนี้
- API จะแปลงวัตถุประสงค์ของคุณเป็นพารามิเตอร์รูปแบบต้นทุนและ
ส่งคืนใน
processedRequestจากนั้นคุณก็ปรับพารามิเตอร์รูปแบบต้นทุน ได้ตามต้องการเพื่อปรับแผนเส้นทาง - เมื่อใช้วัตถุประสงค์หลายรายการ API จะรวมต้นทุนของวัตถุประสงค์ทั้งหมดและปรับตามน้ำหนักที่เกี่ยวข้อง
- คุณจะไม่ถูกเรียกเก็บเงินสำหรับคำขอนี้ เนื่องจาก API ไม่ได้ให้เส้นทางที่เพิ่มประสิทธิภาพแก่คุณ แต่จะแปลงวัตถุประสงค์เป็นพารามิเตอร์รูปแบบต้นทุนเท่านั้น
ตัวอย่างคำขอ
ตัวอย่างต่อไปนี้แสดงคำขอที่ใช้MIN_TRAVEL_TIMEวัตถุประสงค์และ
โหมดการแก้ปัญหา TRANSFORM_AND_RETURN_REQUEST
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING" } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" }
ตัวอย่างการตอบกลับ
การตอบกลับต่อไปนี้สอดคล้องกับคำขอก่อนหน้า คำตอบนี้มีทั้งพารามิเตอร์โมเดลต้นทุนที่สร้างขึ้นและวัตถุประสงค์เดิมเพื่อใช้อ้างอิง
{ "processedRequest": { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.425062610009959, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.424215032060211, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerHour": 30, "costPerTraveledHour": 330, "costPerKilometer": 0.2 } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } }