هدف اصلی 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 | ۱۰ | نشان دهنده جریمهای است که شما به مشتریان خود در صورت عدم تحویل گرفتن سگشان در روز مقرر ارائه میدهید. هر زمان که سگ را در روز مقرر تحویل نگیرید، مشتری ۴۰ دلار از کل هزینه خدمات خود تخفیف میگیرد. |
fixedCost | ۳۰ | نشان دهنده هزینه روزانه پرداخت وام خودرو شما است که روزانه 30 دلار است. |
costPerKilometer | ۰.۰۸ | نشان دهنده میزان مصرف بنزین وسیله نقلیه شما در هر کیلومتر است. وسیله نقلیه شما برای حرکت به 0.04 گالن در هر کیلومتر نیاز دارد و هزینه هر گالن در منطقه شما 2 دلار است. |
costPerHour | ۲۷ | نشان دهنده مبلغی است که شما برای رانندگی وسیله نقلیه خود به راننده پرداخت میکنید. شما به راننده ساعتی ۲۷ دلار پرداخت میکنید. |
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: هزینه کل در تمام مسیرها به صورت خلاصه.