مدل هزینه

ویژگی‌های هزینه تحت ShipmentModel.shipments.Shipment و ShipmentModel.vehicles.Vehicle تعریف شده‌اند

هدف اصلی Route Optimization API پیدا کردن مسیرهایی با کمترین هزینه است. به همین دلیل، مدل هزینه عامل اصلی بهینه‌سازی مسیر است.

مدل هزینه مجموعه‌ای از ویژگی‌ها است که هزینه‌های جهانی، خودرو، و محموله را مشخص می‌کند.

ویژگی‌های مدل هزینه از انواع اهداف بهینه‌سازی زیر پشتیبانی می‌کنند:

  • مسیرها و تخصیص‌های کارآمد خودرو
  • زمان‌های تحویل و ارسال مقرون‌به‌صرفه
  • اولویت‌بندی محموله‌های حیاتی

ساختار

همان‌طور که در نمودار نشان داده شده است، ویژگی‌های مدل هزینه به‌صورت زیر ساختاردهی شده‌اند:

این سند فقط پارامترهای ضروری مدل هزینه را برجسته می‌کند. برای مجموعه کامل پارامترهای هزینه، به اسناد مرجع مراجعه کنید.

بازبینه موارد ضروری

بازبینه زیر دانش ضروری را شرح می‌دهد که از اشتباهات احتمالی مربوط به هزینه جلوگیری می‌کند. این فهرست می‌تواند به شما کمک کند درخواستتان را اعتبارسنجی کنید و پاسخ را عیب‌یابی کنید.

مشخصات

جدول زیر ویژگی‌های مدل هزینه را فهرست و شرح می‌دهد.

والدین نام دارایی نوع ملک هزینه به‌ازای شرح ملک
Shipment penaltyCost شماره ارسال ردشده هزینه ناشی از رد کردن ارسال.
وقتی هزینه تکمیل ارسال از هزینه جریمه آن بیشتر باشد، API از آن ارسال صرف‌نظر می‌کند.
  • تنظیم penaltyCost تحویل محموله‌های با هزینه بالاتر را در اولویت قرار می‌دهد.
  • تنظیم نکردن penaltyCost باعث می‌شود ارسال اجباری شود.
  • تنظیم صریح penaltyCost محموله روی صفر باعث می‌شود که میانای برنامه‌سازی کاربردی همیشه از محموله صرف‌نظر کند مگراینکه محدودیت‌های دیگر آن را الزامی کند.
Vehicle fixedCost شماره ارسال کالا هزینه ثابتی که درصورت استفاده از این خودرو برای جابه‌جایی محموله اعمال می‌شود.
costPerHour شماره ساعت هزینه به‌کار انداختن خودرو در هر ساعت شامل زمان‌های ترانزیت، انتظار، بازدید، و استراحت.
با افزایش این هزینه، بهینه‌ساز تلاش می‌کند مسیرهای سریع‌تری را پیدا کند که ممکن است کوتاه‌ترین مسیرها نباشند.
این ملک به‌دلیل سادگی و کامل بودن می‌تواند هزینه مستقل مؤثری برای هر خودرو باشد.
costPerKilometer شماره کیلومتر هزینه به‌ازای هر کیلومتر طی‌شده توسط خودرو که می‌تواند نشان‌دهنده هزینه سوخت یا هزینه استهلاک نگهداری خودرو باشد.
costPerTraveledHour شماره ساعت هزینه کارکرد خودرو در ساعت فقط درحین تردد، به‌استثنای زمان انتظار، بازدید، و استراحت. این تنظیم مسیرهای سفر سریع‌تر را بر مسیرهای کوتاه‌تر اولویت می‌دهد.

مثال‌ها

این بخش سه نوع مثال را پوشش می‌دهد:

  • نمونه‌های کد که ساختار ویژگی‌های مدل هزینه را نشان می‌دهند.
  • سناریو نمونه‌ای که یکی از روش‌های استفاده از ویژگی‌های مدل هزینه را برای دستیابی به هدف کسب‌وکار نشان می‌دهد.
  • نمونه درخواست که شامل مقادیر تنظیم‌شده در سناریو نمونه است.

نمونه‌های کد

نمونه کد زیر ساختار ویژگی‌های مدل هزینه را در Shipment نشان می‌دهد:

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

نمونه کد زیر ساختار ویژگی‌های مدل هزینه را در Vehicle نشان می‌دهد:

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

سناریوی نمونه

این بخش سناریویی را توصیف می‌کند که در آن شما یک کسب‌وکار مهدکودک سگ دارید. شما درحال بهینه‌سازی مسیری برای کامیونی هستید که از آن برای جمع‌آوری سگ‌ها از خانه‌هایشان استفاده می‌کنید. در این سناریو، می‌خواهید بهینه‌ساز هنگام ارائه مسیر، هزینه‌های مربوط به سوار کردن سگ‌ها و عملیات خودرو را درنظر بگیرد.

برای این مثال، یک واحد هزینه نشان‌دهنده ۱ دلار است. یعنی مقادیر ویژگی مدل هزینه در درخواست شما به‌صورت زیر است:

دارایی مقدار سناریو
penaltyCost 10 نشان‌دهنده جریمه‌ای است که برای مشتریانی که سگشان را در روز زمان‌بندی‌شده تحویل نمی‌گیرند درنظر می‌گیرید. هر زمان که سگ را در روز برنامه‌ریزی‌شده تحویل نگیرید، مشتری ۴۰ دلار تخفیف از کل هزینه خدمات دریافت می‌کند.
fixedCost 30 نشان‌دهنده هزینه روزانه پرداخت‌های وام خودرو شما است که ۳۰ دلار در روز است.
costPerKilometer ۰٫۰۸ نشان‌دهنده میزان مصرف بنزین خودرو شما در هر کیلومتر است. خودرو شما برای حرکت به ۰٫۰۴ گالن در هر کیلومتر نیاز دارد و هزینه هر گالن در منطقه شما ۲ دلار است.
costPerHour 27 نشان‌دهنده مبلغی است که به راننده برای راندن وسیله نقلیه‌تان پرداخت می‌کنید. به راننده ساعتی ۲۷ دلار پرداخت می‌کنید.
costPerTraveledHour ۲٫۵ نشان‌دهنده مبلغی است که باید برای تهویه مطبوع خودرو در هر ساعت برای سگ‌ها درطول مسیر بپردازید. هرزمان خودرو حرکت نمی‌کند، راننده می‌تواند درهای عقب را باز کند و تهویه مطبوع را خاموش کند.

براساس پارامترهای هزینه، بهینه‌ساز می‌تواند مبادله‌هایی انجام دهد که برای کاربر واضح نیست، اما ازطریق بهینه‌سازی قابل یافتن است.

نمودار زیر مثالی را نشان می‌دهد که در آن بهینه‌ساز می‌تواند مسیر طولانی‌تر اما سریع‌تری را ازطریق خط‌چین سبز انتخاب کند تا از ترافیک در خط‌چین قرمز جلوگیری کند.

خودرو دو مسیر احتمالی دارد، یکی با خط‌چین سبز نشان داده شده است که طولانی‌تر است اما هیچ حادثه‌ای در آن وجود ندارد، و دیگری با نقطه‌چین قرمز نشان داده شده است که کوتاه‌تر است اما تصادف خودرویی در وسط آن وجود دارد.

در این سناریو، تراز هزینه دو مسیر به‌صورت زیر است:

  • خط‌چین سبز 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: مجموع هزینه کل مسیرها.