รูปแบบต้นทุน

ระบบจะกำหนดพร็อพเพอร์ตี้ค่าใช้จ่ายภายใต้ ShipmentModel.shipments.Shipment และ ShipmentModel.vehicles.Vehicle

เป้าหมายหลักของ Route Optimization API คือการค้นหาเส้นทางที่มีต้นทุนต่ำที่สุด ดังนั้น รูปแบบต้นทุนจึงเป็นตัวขับเคลื่อนหลักในการเพิ่มประสิทธิภาพเส้นทาง

รูปแบบต้นทุนคือชุดพร็อพเพอร์ตี้ที่ระบุต้นทุนส่วนกลาง ยานพาหนะ และการจัดส่ง

พร็อพเพอร์ตี้รูปแบบต้นทุนรองรับวัตถุประสงค์การเพิ่มประสิทธิภาพประเภทต่อไปนี้

  • การกำหนดรถและเส้นทางที่มีประสิทธิภาพ
  • เวลาไปรับและนำส่งที่คุ้มค่า
  • การจัดลำดับความสำคัญของการจัดส่งที่สำคัญ

โครงสร้าง

ดังที่แสดงในแผนภาพ พร็อพเพอร์ตี้โมเดลต้นทุนมีโครงสร้างดังนี้

เอกสารนี้จะเน้นเฉพาะพารามิเตอร์โมเดลต้นทุนที่สําคัญ ดูชุดพารามิเตอร์ต้นทุนทั้งหมดได้ในเอกสารอ้างอิง

รายการตรวจสอบ Essentials

รายการตรวจสอบต่อไปนี้อธิบายความรู้ที่จำเป็นซึ่งจะช่วยป้องกัน ข้อผิดพลาดที่อาจเกิดขึ้นเกี่ยวกับค่าใช้จ่าย รายการนี้จะช่วยให้คุณตรวจสอบคำขอและแก้ปัญหาการตอบกลับได้

พร็อพเพอร์ตี้

ตารางต่อไปนี้แสดงและอธิบายพร็อพเพอร์ตี้ของรูปแบบต้นทุน

ผู้ปกครอง ชื่อพร็อพเพอร์ตี้ ประเภทที่พัก ต้นทุนต่อ คำอธิบายพร็อพเพอร์ตี้
Shipment penaltyCost ตัวเลข ข้ามการจัดส่ง ค่าใช้จ่ายที่เกิดขึ้นจากการข้ามการจัดส่ง
API จะข้ามการจัดส่งเมื่อต้นทุนในการจัดส่งให้เสร็จสมบูรณ์สูงกว่าต้นทุนค่าปรับ
Vehicle fixedCost ตัวเลข การจัดส่ง ต้นทุนคงที่ที่ใช้หากใช้ยานพาหนะนี้ในการจัดการการจัดส่ง
costPerHour ตัวเลข ชั่วโมง ต้นทุนการใช้งานยานพาหนะต่อชั่วโมง ซึ่งรวมถึงเวลาในการเดินทาง เวลาที่ต้องรอ เวลาที่ใช้ในการเข้าชม และเวลาพัก
เมื่อต้นทุนนี้เพิ่มขึ้น ตัวเพิ่มประสิทธิภาพจะพยายามค้นหาเส้นทางที่เร็วกว่าซึ่งอาจไม่ใช่เส้นทางที่สั้นที่สุด
พร็อพเพอร์ตี้นี้อาจเป็นต้นทุนต่อยานพาหนะแบบสแตนด์อโลนที่มีประสิทธิภาพเนื่องจากมีความเรียบง่ายและครบถ้วน
costPerKilometer ตัวเลข กิโลเมตร ต้นทุนต่อกิโลเมตรที่ยานพาหนะเดินทาง เช่น ค่าน้ำมันและค่าบำรุงรักษายานพาหนะที่ตัดจำหน่ายแล้ว
costPerTraveledHour ตัวเลข ชั่วโมง ต้นทุนการใช้งานยานพาหนะต่อชั่วโมงขณะเดินทางเท่านั้น โดยไม่รวมเวลารอ เวลาเข้าชม และเวลาพัก ซึ่งจะให้ความสำคัญกับเส้นทางที่เดินทางได้เร็วกว่าเส้นทางที่สั้นกว่า

ตัวอย่าง

ส่วนนี้จะครอบคลุมตัวอย่าง 3 ประเภท ได้แก่

ตัวอย่างโค้ด

ตัวอย่างโค้ดต่อไปนี้แสดงโครงสร้างของพร็อพเพอร์ตี้โมเดลต้นทุนใน Shipment

{
  "model": {
    "shipments": [ ...
      {
        "penaltyCost": PENALTY_COST
      }
    ],
    "vehicles": [ ...
    ]
  }
}

ตัวอย่างโค้ดต่อไปนี้แสดงโครงสร้างของพร็อพเพอร์ตี้โมเดลต้นทุนใน Vehicle

{
  "model": {
    "shipments": [ ...
    ],
    "vehicles": [ ...
      {
        "fixedCost": FIXED_COST,
        "costPerKilometer": KILOMETER_COST,
        "costPerHour": HOUR_COST,
        "costPerTraveledHour": TRAVELED_HOUR_COST
      }
    ]
  }
}

สถานการณ์ตัวอย่าง

ส่วนนี้อธิบายสถานการณ์ที่คุณมีธุรกิจรับฝากสุนัข คุณกำลังเพิ่มประสิทธิภาพเส้นทางสำหรับรถบรรทุกที่ใช้รับสุนัขจากบ้านของเจ้าของ ในสถานการณ์นี้ คุณต้องการให้เครื่องมือเพิ่มประสิทธิภาพพิจารณาต้นทุนที่เกี่ยวข้อง กับการรับสุนัขและการปฏิบัติงานของยานพาหนะเมื่อระบุเส้นทาง

ในตัวอย่างนี้ หน่วยต้นทุน 1 หน่วยแสดงถึง 1 ดอลลาร์ ซึ่งหมายความว่าค่าพร็อพเพอร์ตี้รูปแบบต้นทุน ในคำขอของคุณคือค่าต่อไปนี้

พร็อพเพอร์ตี้ ค่า สถานการณ์
penaltyCost 10 แสดงค่าปรับที่คุณเสนอให้ลูกค้าในกรณีที่ไม่มารับสุนัขในวันที่กำหนด ทุกครั้งที่คุณไม่มารับสุนัขในวันที่กำหนด ลูกค้าจะได้รับส่วนลด 400 บาทจากยอดรวมของบริการ
fixedCost 30 แสดงต้นทุนรายวันของการชำระเงินกู้สำหรับยานพาหนะ ซึ่งอยู่ที่ 30 ดอลลาร์สหรัฐต่อวัน
costPerKilometer 0.08 แสดงปริมาณน้ำมันที่ยานพาหนะใช้ต่อกิโลเมตร รถของคุณต้องใช้น้ำมัน 0.04 แกลลอนต่อกิโลเมตรจึงจะเคลื่อนที่ได้ และต้นทุนต่อแกลลอนในภูมิภาคของคุณคือ 2 ดอลลาร์
costPerHour 27 แสดงจำนวนเงินที่คุณจ่ายให้คนขับสำหรับการขับขี่ยานพาหนะของคุณ คุณจ่ายเงินให้คนขับ 27 ดอลลาร์ต่อชั่วโมง
costPerTraveledHour 2.5 แสดงจำนวนเงินที่คุณต้องจ่ายสำหรับเครื่องปรับอากาศของรถต่อชั่วโมงสำหรับสุนัขขณะเดินทาง เมื่อรถไม่เคลื่อนที่ ผู้ขับสามารถเปิดประตูที่ด้านหลังและปิดเครื่องปรับอากาศได้

เครื่องมือเพิ่มประสิทธิภาพอาจทำการแลกเปลี่ยนที่ไม่ชัดเจนต่อผู้ใช้ แต่สามารถพบได้ผ่านการเพิ่มประสิทธิภาพ

แผนภาพต่อไปนี้แสดงตัวอย่างที่เครื่องมือเพิ่มประสิทธิภาพอาจเลือกเส้นทางที่ ยาวกว่าแต่เร็วกว่าผ่านเส้นประสีเขียวเพื่อหลีกเลี่ยงการจราจรบน เส้นประสีแดง

ยานพาหนะมี 2 เส้นทางที่เป็นไปได้ โดยเส้นทางหนึ่งแสดงด้วยเส้นประสีเขียวซึ่งยาวกว่าแต่ไม่มีเหตุการณ์ใดๆ และอีกเส้นทางหนึ่งแสดงด้วยเส้นประสีแดงซึ่งสั้นกว่าแต่มีเหตุรถชนอยู่ตรงกลาง

ในสถานการณ์นี้ ต้นทุนของเส้นทางทั้ง 2 จะมีผลลัพธ์ดังนี้

  • เส้นประสีเขียวมีcostPerHourต่ำและcostPerTraveledHourต่ำ เนื่องจากเป็นเส้นทางที่รวดเร็วซึ่งหลีกเลี่ยงการจราจรติดขัด จึงคุ้มค่ากว่าแม้ว่าcostPerKilometerจะสูงก็ตาม

  • เส้นประสีแดงมี costPerKilometer ต่ำเนื่องจากเป็นเส้นทางตรง แต่ costPerHour และ costPerTraveledHour มีค่าสูงเกินไปเนื่องจากเวลารอในการจราจร ทำให้เป็นเส้นทางที่แพงที่สุด

นอกจากจะให้เส้นทางที่คุ้มค่าแล้ว ตัวเพิ่มประสิทธิภาพยังให้พร็อพเพอร์ตี้การตอบกลับซึ่งเป็นผลรวมของต้นทุนทั้งหมดของเส้นทางการนำส่งด้วย

ตัวอย่างคำขอ

ตัวอย่างต่อไปนี้แสดงโครงสร้างของคำขอ optimizeTours พื้นฐานซึ่งรวมค่าที่ตั้งไว้ในสถานการณ์ตัวอย่าง

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.8024,
              "longitude": -122.4058
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ]
        "penaltyCost": 40
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "endLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "fixedCost": 30,
        "costPerKilometer": 0.08,
        "costPerHour": 27,
        "costPerTraveledHour": 2.5
      }
    ]
  }
}

พร็อพเพอร์ตี้การตอบกลับ

ข้อความ OptimizeToursResponse มีพร็อพเพอร์ตี้ค่าใช้จ่าย ที่อธิบายค่าใช้จ่ายที่เกิดขึ้นในกระบวนการเสร็จสิ้นเส้นทาง

  • metrics.costs: ค่าใช้จ่ายทั้งหมดในทุกเส้นทางที่แบ่งตาม ฟิลด์คำขอที่เกี่ยวข้องกับต้นทุน
  • metrics.totalCost: ต้นทุนทั้งหมดในทุกเส้นทางรวมกัน