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

พร็อพเพอร์ตี้ต้นทุนจะกำหนดไว้ใน 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 แสดงค่าปรับที่คุณเสนอให้ลูกค้าสำหรับการไม่มารับสุนัขในวันที่นัดหมาย เมื่อใดก็ตามที่คุณไม่ได้ไปรับสุนัขในวันที่นัดหมายไว้ ลูกค้าจะได้รับส่วนลด 40 ดอลลาร์จากค่าบริการทั้งหมด
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: ต้นทุนทั้งหมดของเส้นทางทั้งหมดรวมกัน