با توجه به هزینه های بار درخواست کنید تا بهینه ساز باری را که وسایل نقلیه شما بین بازدیدها حمل می کنند در نظر بگیرد. هزینه متحمل شده هم به مقدار ShipmentRoute.VehicleLoad و هم به مسافت یا مدت زمان انتقال بستگی دارد (به ترتیب با استفاده از cost_per_kilometer یا cost_per_traveled_hour ). 
حداقل درخواست نمونه با هزینه بار
 در اینجا یک مثال جزئی از یک درخواست با هزینه بار آورده شده است. در این مثال، وسیله نقلیه منفرد نمی تواند بیش از 1000 کیلوگرم وزن کل بار weightKg حمل کند، که زمانی که وزن حمل شده weightKg بار از 500 کیلوگرم بیشتر شود، 1 واحد هزینه در هر کیلومتر متحمل می شود. 
{ "model": { "vehicles": [{ "loadLimits": { "weightKg": { "maxLoad": "1000", "costPerKilometer": { "loadThreshold": "500", "costPerUnitAboveThreshold": 1 } } } }] } }
محاسبه هزینه بار برای این مثال به شرح زیر است:
cost = max(carried load - load threshold, 0) * distance * cost per unit above threshold
 بنابراین اگر وسیله نقلیه weightKg بار 600 را در طول 10 کیلومتر حمل کند، محاسبه به صورت زیر خواهد بود:
(600 - 500) * 10 * 1 = 1000 cost units
هزینههای بار را میتوان برای مدلسازی مفاهیم مختلفی مانند افزایش مصرف انرژی وسیله نقلیه هنگام حمل بارهای سنگین یا فرسودگی وسیله نقلیه ناشی از بارگیری بیش از حد وسیله نقلیه استفاده کرد.
درخواست مثال دیگری با هزینه های بار
در اینجا مثال دیگری از هزینههای بار آورده شده است که هزینهای را به ازای هر زمان پیموده شده در بالا و پایینتر از یک آستانه تحمیل میکند:
{ "model": { "vehicles": [{ "loadLimits": { "weightLbs": { "maxLoad": "1000", "costPerTraveledHour": { "loadThreshold": "900", "costPerUnitAboveThreshold": 10, "costPerUnitBelowThreshold": 1 }, }, } }] } }
محاسبه هزینه بار برای این مثال به شرح زیر است:
cost = max(carried load - load threshold, 0) * time * cost per unit above threshold
  + min(carried load, load threshold) * time * cost per unit below threshold
 بنابراین اگر وسیله نقلیه بار weightLbs 950 را به مدت 5 ساعت حمل کند، محاسبه به صورت زیر خواهد بود:
max(950 - 900, 0) * 5 * 10 + min(950, 900) * 5 * 1 = 7000
 در این مثال، load_threshold برای هزینه بار وزن weightLbs نزدیک به max_load است. cost_per_unit_above_threshold زمانی که وسیله نقلیه با بار بسیار سنگین حرکت می کند، هزینه بالایی را در هر ساعت سفر اعمال می کند و مسیرهایی را که ممکن است باعث افزایش سایش خودرو یا مصرف سوخت اضافی شود جریمه می کند. cost_per_unit_below_threshold هزینه به ازای هر واحد وزنی که وسیله نقلیه تا آستانه حمل می کند، اضافه می کند، که نشان دهنده افزایش مصرف سوخت با حمل بار بیشتری است.
سوالات متداول
در اینجا چند سوال متداول در مورد هزینه بار وجود دارد:
| سوال | پاسخ دهید | 
|---|---|
| کجا هزینه بار را مشخص کنم؟ | هزینه های بار را در Vehicle.LoadLimitمشخص کنید. | 
| چگونه هزینه های بار با حمل و نقل مطابقت دارد؟ | هزینه بار برای محموله هایی اعمال می شود که نوع تقاضای بار آنها با نوع محدودیت بار برای وسیله نقلیه، مانند وزن یا حجم مطابقت دارد. انواع بار رشته های دلخواه هستند، همانطور که در تقاضاها و محدودیت های بار توضیح داده شده است. | 
| هزینه های بار چگونه بیان می شود؟ | هزینه های بار بر حسب فاصله یا مدت انتقال بیان می شود. cost_per_kilometerبرای تعیین هزینه ها بر حسب مسافت وcost_per_traveled_hourبرای تعیین هزینه ها از نظر مدت زمان استفاده کنید. | 
| چه زمانی هزینه های بار اعمال می شود؟ | بار وسیله نقلیه با load_thresholdهزینه بار مقایسه می شود. اگرcost_per_unit_above_thresholdمشخص شده باشد، هزینه متناسب با بار خودرو بالاتر ازload_thresholdبا استفاده از فرمولmax(0, load - load_threshold)اضافه می شود. اگرcost_per_unit_below_thresholdمشخص شده باشد، با استفاده از فرمولmin(load, load_threshold)هزینه متناسب با بار خودرو در زیرload_thresholdاضافه می شود. | 
| مقادیر پیش فرض برای پارامترهای هزینه بار چیست؟ | load_threshold،cost_per_unit_above_threshold، وcost_per_unit_below_thresholdهمگی به طور پیش فرض صفر هستند. | 
| هزینه های بار در چه واحدهایی بیان می شود؟ | هزینه های بار در واحدهای بدون بعد مشابه سایر پارامترهای هزینه، مانند global_duration_cost_per_hourیاShipment.penalty_costبیان می شود. | 
| از کجا می توانم هزینه های بار را در پاسخ پیدا کنم؟ | هزینه های بار متحمل شده در metricsو ویژگی هایroute_metricsپیام های پاسخ ظاهر می شود. برای مثال، یکcost_per_kilometerمتحمل شده به عنوانmodel.vehicles.load_limits.cost_per_kilometerظاهر می شود. | 
برای توضیح دقیق هزینه های بار، به مستندات مرجع ( REST ، gRPC ) مراجعه کنید.
 مثال: درخواست OptimizeTours را ارسال کنید
 درخواست های OptimizeTours را می توان با استفاده از REST یا gRPC نیز انجام داد.
قبل از درخواست، پارامترهای زیر را با مقادیر مناسب برای محیط خود جایگزین کنید:
- اطمینان حاصل کنید که اعتبارنامه پیشفرض برنامه را همانطور که در Use OAuth توضیح داده شده پیکربندی کردهاید.
- PROJECT_NUMBER_OR_ID را روی شماره یا شناسه پروژه Cloud خود تنظیم کنید. - دستور زیر یک درخواست - OptimizeToursرا به Route Optimization API ارسال می کند و پاسخی را به صورت همزمان دریافت می کند.- curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- << EOM { "model": { "shipments": [ { "deliveries": [ { "arrivalLocation": { "latitude": 37.789456, "longitude": -122.390192 }, "duration": "250s" } ], "penaltyCost": 100.0, "loadDemands": { "weightKg": { "amount": 50 } } }, { "deliveries": [ { "arrivalLocation": { "latitude": 37.789116, "longitude": -122.395080 }, "duration": "250s" } ], "penaltyCost": 30.0, "loadDemands": { "weightKg": { "amount": 10 } } }, { "deliveries": [ { "arrivalLocation": { "latitude": 37.795242, "longitude": -122.399347 }, "duration": "250s" } ], "penaltyCost": 50.0, "loadDemands": { "weightKg": { "amount": 80 } } } ], "vehicles": [ { "endLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "startLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "costPerHour": 40.0, "costPerKilometer": 10.0, "loadLimits": { "weightKg": { "maxLoad": "100", "costPerKilometer": { "loadThreshold": "15", "costPerUnitAboveThreshold": 1 } } } } ] } } EOM 
پس از تکمیل درخواست، یک پیام پاسخ دریافت خواهید کرد.