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

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

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

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

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

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

โครงสร้าง

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

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

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

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

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

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

ผู้ปกครอง ชื่อพร็อพเพอร์ตี้ ประเภทที่พัก ต้นทุนต่อ คำอธิบายพร็อพเพอร์ตี้
Shipment penaltyCost ตัวเลข ข้ามการจัดส่ง ค่าใช้จ่ายที่เกิดขึ้นจากการข้ามการจัดส่ง
API จะข้ามการจัดส่งเมื่อต้นทุนในการจัดส่งให้เสร็จสมบูรณ์สูงกว่าต้นทุนค่าปรับ
  • การตั้งค่า penaltyCost จะให้ความสำคัญกับการนำส่งสินค้าที่มีต้นทุนสูงกว่า
  • การไม่ตั้งค่าการจัดส่ง penaltyCost จะทำให้การจัดส่งเป็นข้อบังคับ
  • การตั้งค่าการจัดส่ง penaltyCost เป็น 0 อย่างชัดเจนจะทำให้ 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: ต้นทุนทั้งหมดในทุกเส้นทางรวมกัน