هدف اصلی Route Optimization API پیدا کردن مسیرهایی با کمترین هزینه است. به همین دلیل، مدل هزینه عامل اصلی بهینهسازی مسیر است.
مدل هزینه مجموعهای از ویژگیها است که هزینههای جهانی، خودرو، و محموله را مشخص میکند.
ویژگیهای مدل هزینه از انواع اهداف بهینهسازی زیر پشتیبانی میکنند:
- مسیرها و تخصیصهای کارآمد خودرو
- زمانهای تحویل و ارسال مقرونبهصرفه
- اولویتبندی محمولههای حیاتی
ساختار
همانطور که در نمودار نشان داده شده است، ویژگیهای مدل هزینه بهصورت زیر ساختاردهی شدهاند:
-
Shipmentحاوی ویژگیpenaltyCostاست. Vehicleحاوی این ویژگیها است:
این سند فقط پارامترهای ضروری مدل هزینه را برجسته میکند. برای مجموعه کامل پارامترهای هزینه، به اسناد مرجع مراجعه کنید.
بازبینه موارد ضروری
بازبینه زیر دانش ضروری را شرح میدهد که از اشتباهات احتمالی مربوط به هزینه جلوگیری میکند. این فهرست میتواند به شما کمک کند درخواستتان را اعتبارسنجی کنید و پاسخ را عیبیابی کنید.
مشخصات
جدول زیر ویژگیهای مدل هزینه را فهرست و شرح میدهد.
| والدین | نام دارایی | نوع ملک | هزینه بهازای | شرح ملک |
|---|---|---|---|---|
Shipment |
penaltyCost |
شماره | ارسال ردشده | هزینه ناشی از رد کردن ارسال. وقتی هزینه تکمیل ارسال از هزینه جریمه آن بیشتر باشد، API از آن ارسال صرفنظر میکند.
|
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: مجموع هزینه کل مسیرها.