این مثال نشان میدهد که چگونه میتوان از پارامترهای هزینه برای دریافت یک مسیر مقرونبهصرفه استفاده کرد.
برای نمای کلی مفهومی کامل، به سند مفهوم کلیدی مدل هزینه مراجعه کنید.
درخواست نمونه
مثال زیر سناریویی را نشان میدهد که در آن یک وسیله نقلیه باید سه محموله را تحویل دهد. خودرو هزینههای مرتبط با زمان و مسافت دارد و هر محموله دارای penaltyCost است که درصورت نادیده گرفتن محموله اعمال میشود.
این درخواست نمونه حاوی پارامترهای مرتبط با هزینه زیر است:
-
shipments[0]باpenaltyCost۱۰۰٫۰. -
shipments[1]باpenaltyCost۵.۰. -
shipments[2]باpenaltyCost۵۰٫۰. vehicles[0]باcostPerHour۴۰٫۰ وcostPerKilometer۱۰٫۰.
مشاهده درخواست نمونه با هزینهها
{ "model": { "globalStartTime": "2023-01-13T16:00:00-08:00", "globalEndTime": "2023-01-14T16:00:00-08:00", "shipments": [ { "deliveries": [ { "arrivalLocation": { "latitude": 37.789456, "longitude": -122.390192 }, "duration": "250s" } ], "pickups": [ { "arrivalLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "duration": "150s" } ], "penaltyCost": 100.0 }, { "deliveries": [ { "arrivalLocation": { "latitude": 37.789116, "longitude": -122.395080 }, "duration": "250s" } ], "pickups": [ { "arrivalLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "duration": "150s" } ], "penaltyCost": 5.0 }, { "deliveries": [ { "arrivalLocation": { "latitude": 37.795242, "longitude": -122.399347 }, "duration": "250s" } ], "pickups": [ { "arrivalLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "duration": "150s" } ], "penaltyCost": 50.0 } ], "vehicles": [ { "endLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "startLocation": { "latitude": 37.794465, "longitude": -122.394839 }, "costPerHour": 40.0, "costPerKilometer": 10.0 } ] } }
پاسخ نمونه
پاسخ نشان میدهد که بهینهساز مسیری ایجاد میکند که دو مورد از
سه محموله را انجام میدهد. از ارسال سوم صرفنظر میشود چون penaltyCost آن
کمتر از هزینه محاسبهشده خودرو برای تحویل گرفتن و تحویل دادن است.
پاسخ درخواست نمونه با هزینهها را ببینید
{ "routes": [ { "vehicleStartTime": "2023-01-14T00:00:00Z", "vehicleEndTime": "2023-01-14T00:28:22Z", "visits": [ { "isPickup": true, "startTime": "2023-01-14T00:00:00Z", "detour": "0s" }, { "shipmentIndex": 2, "isPickup": true, "startTime": "2023-01-14T00:02:30Z", "detour": "150s" }, { "startTime": "2023-01-14T00:08:55Z", "detour": "150s" }, { "shipmentIndex": 2, "startTime": "2023-01-14T00:21:21Z", "detour": "572s" } ], "transitions": [ { "travelDuration": "0s", "waitDuration": "0s", "totalDuration": "0s", "startTime": "2023-01-14T00:00:00Z" }, { "travelDuration": "0s", "waitDuration": "0s", "totalDuration": "0s", "startTime": "2023-01-14T00:02:30Z" }, { "travelDuration": "235s", "travelDistanceMeters": 795, "waitDuration": "0s", "totalDuration": "235s", "startTime": "2023-01-14T00:05:00Z" }, { "travelDuration": "496s", "travelDistanceMeters": 1893, "waitDuration": "0s", "totalDuration": "496s", "startTime": "2023-01-14T00:13:05Z" }, { "travelDuration": "171s", "travelDistanceMeters": 665, "waitDuration": "0s", "totalDuration": "171s", "startTime": "2023-01-14T00:25:31Z" } ], "metrics": { "performedShipmentCount": 2, "travelDuration": "902s", "waitDuration": "0s", "delayDuration": "0s", "breakDuration": "0s", "visitDuration": "800s", "totalDuration": "1702s", "travelDistanceMeters": 3353 }, "routeCosts": { "model.vehicles.cost_per_kilometer": 33.53, "model.vehicles.cost_per_hour": 18.911111111111111 }, "routeTotalCost": 52.441111111111113 } ], "skippedShipments": [ { "index": 1 } ], "metrics": { "aggregatedRouteMetrics": { "performedShipmentCount": 2, "travelDuration": "902s", "waitDuration": "0s", "delayDuration": "0s", "breakDuration": "0s", "visitDuration": "800s", "totalDuration": "1702s", "travelDistanceMeters": 3353 }, "usedVehicleCount": 1, "earliestVehicleStartTime": "2023-01-14T00:00:00Z", "latestVehicleEndTime": "2023-01-14T00:28:22Z", "totalCost": 57.441111111111113, "costs": { "model.vehicles.cost_per_kilometer": 33.53, "model.vehicles.cost_per_hour": 18.911111111111111, "model.shipments.penalty_cost": 5 } } }
فیلدهای زیر نحوه محاسبه هزینهها را در پاسخ نشان میدهد:
routeCostsهزینههای عملیاتی برای یک مسیر خاص را تفکیک میکند که در این مورد عبارتاند از:model.vehicles.cost_per_kilometer: 33.53.model.vehicles.cost_per_hour: 18.91.
routeTotalCost(۵۲٫۴۴) مجموع هزینههای فهرستشده درrouteCostsاست.- در سطح بالای پاسخ، شیء
costsهمه هزینههای متحملشده در راهکار را خلاصه میکند. این شامل هزینههای عملیاتی از همه مسیرهای وسیله نقلیه بهعلاوه هرگونه جریمه، مانندmodel.shipments.penalty_cost(۵٫۰) برای محموله ردشده است. totalCostنهایی (۵۷٫۴۴) نشاندهنده جمع کل برای راهحل است که مجموعrouteTotalCostاز همه وسایل نقلیه و همه هزینههای جریمه است. در این مورد، ۵۲٫۴۴ + ۵٫۰ است.