هدف اصلی 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: مجموع هزینه در همه مسیرها.