Bu örnekte, uygun maliyetli bir rota elde etmek için maliyet parametrelerinin nasıl kullanılacağı gösterilmektedir.
Kavramsal olarak eksiksiz bir genel bakış için Maliyet modeliyle ilgili temel kavramlar belgesine bakın.
Örnek istek
Aşağıdaki örnekte, bir aracın üç gönderi teslim etmesi gereken bir senaryo gösterilmektedir. Aracın zaman ve mesafeyle ilişkili maliyetleri vardır ve her gönderim atlanırsa penaltyCost tutarında bir maliyet oluşur.
Bu örnek istek aşağıdaki maliyetle ilgili parametreleri içerir:
- 100,0
penaltyCostdeğerine sahipshipments[0]. - 5.0
penaltyCostileshipments[1]. - 50,0
penaltyCost'a sahipshipments[2]. costPerHourdeğeri 40,0 vecostPerKilometerdeğeri 10,0 olanvehicles[0].
Maliyetleri içeren örnek bir istek görün
{ "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 } ] } }
Örnek yanıt
Yanıt, optimizasyon aracının üç gönderimden ikisini gerçekleştiren bir rota oluşturduğunu gösteriyor. Üçüncü kargo, penaltyCost değeri, teslim alma ve teslimat için hesaplanan araç maliyetlerinden düşük olduğu için atlanır.
Maliyetleri içeren örnek isteğe verilen yanıtı görme
{ "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 } } }
Aşağıdaki alanlarda, yanıttaki maliyetlerin nasıl hesaplandığı gösterilmektedir:
routeCosts, belirli bir rotanın işletme maliyetlerini gösterir. Bu örnekte söz konusu maliyetler şunlardır:model.vehicles.cost_per_kilometer: 33.53.model.vehicles.cost_per_hour: 18.91.
routeTotalCost(52,44),routeCostsbölümünde listelenen maliyetlerin toplamıdır.- Yanıtın en üst düzeyinde,
costsnesnesi çözümde yapılan her maliyeti özetler. Buna, tüm araç rotalarındaki işletme maliyetleri ve atlanan gönderim içinmodel.shipments.penalty_cost(5,0) gibi cezalar dahildir. - Son
totalCost(57,44), çözümün genel toplamını gösterir.Bu değer, tüm araçlardakirouteTotalCostve tüm ceza maliyetlerinin toplamıdır. Bu durumda, 52,44 + 5,0 olur.