Maliyet modeli

Maliyet özellikleri ShipmentModel.shipments.Shipment ve ShipmentModel.vehicles.Vehicle altında tanımlanır.

Route Optimization API'nin temel amacı, en düşük maliyetli rotaları bulmaktır. Bu nedenle maliyet modeli, rota optimizasyonunun ana etkenidir.

Maliyet modeli; genel, araç ve gönderi maliyetlerini belirten bir dizi özelliktir.

Maliyet modeli özellikleri aşağıdaki optimizasyon hedeflerini destekler:

  • Verimli araç atamaları ve rotalar
  • Uygun maliyetli teslim alma ve teslimat süreleri
  • Kritik gönderilerin önceliklendirilmesi

Yapı

Diyagramda gösterildiği gibi, maliyet modeli özellikleri aşağıdaki şekilde yapılandırılmıştır:

Bu dokümanda yalnızca temel maliyet modeli parametreleri vurgulanmaktadır. Maliyet parametrelerinin tamamı için referans belgelerine bakın.

Essentials kontrol listesi

Aşağıdaki yapılacaklar listesinde, maliyetle ilgili olası hataları önleyen temel bilgiler açıklanmaktadır. Bu liste, isteğinizi doğrulamanıza ve yanıtınızla ilgili sorunları gidermenize yardımcı olabilir.

Özellikler

Aşağıdaki tabloda maliyet modeli özellikleri listelenmekte ve açıklanmaktadır.

Ebeveyn Mülk adı Tesis türü Maliyet/ Tesis açıklaması
Shipment penaltyCost sayı Atlanan gönderim Gönderimi atlamanın maliyeti.
API, bir sevkiyatı tamamlamanın maliyeti ceza maliyetini aştığında sevkiyatı atlar.
  • penaltyCost ayarı, daha yüksek maliyetli gönderilerin teslimatına öncelik verir.
  • Gönderi penaltyCost ayarlanmadığında gönderi zorunlu olur.
  • Bir gönderiyi penaltyCost açıkça sıfır olarak ayarlamak, diğer kısıtlamalar gerektirmediği sürece API'nin gönderiyi her zaman atlamasına neden olur.
Vehicle fixedCost sayı Gönderim Bu araç bir gönderiyi taşımak için kullanılıyorsa uygulanan sabit maliyet.
costPerHour sayı Saat Toplu taşıma, bekleme, ziyaret ve mola süreleri dahil olmak üzere bir aracın saatlik işletme maliyeti.
Bu maliyet arttıkça optimize edici, en kısa rotalar olmasa da daha hızlı rotalar bulmaya çalışır.
Bu özellik, basitliği ve eksiksizliği nedeniyle araç başına maliyet için etkili bir bağımsız özellik olabilir.
costPerKilometer sayı Kilometre Aracın katettiği kilometre başına maliyet. Bu maliyet, yakıt maliyetlerini veya amorti edilmiş araç bakım maliyetlerini temsil edebilir.
costPerTraveledHour sayı Saat Bekleme, ziyaret ve mola süreleri hariç olmak üzere, yalnızca transit halindeyken saat başına araç kullanma maliyeti. Bu ayar, daha kısa rotalar yerine daha hızlı seyahat rotalarına öncelik verir.

Örnekler

Bu bölümde üç tür örnek ele alınmaktadır:

  • Maliyet modeli özelliklerinin yapısını gösteren kod örnekleri.
  • Maliyet modeli özelliklerini kullanarak işletme hedefine ulaşmanın bir yolunu gösteren örnek senaryo.
  • Örnek senaryoda ayarlanan değerleri içeren istek örneği.

Kod örnekleri

Aşağıdaki kod örneğinde, Shipment içindeki maliyet modeli özelliklerinin yapısı gösterilmektedir:

{
  "model": {
    "shipments": [ ...
      {
        "penaltyCost": PENALTY_COST
      }
    ],
    "vehicles": [ ...
    ]
  }
}

Aşağıdaki kod örneğinde, Vehicle içindeki maliyet modeli özelliklerinin yapısı gösterilmektedir:

{
  "model": {
    "shipments": [ ...
    ],
    "vehicles": [ ...
      {
        "fixedCost": FIXED_COST,
        "costPerKilometer": KILOMETER_COST,
        "costPerHour": HOUR_COST,
        "costPerTraveledHour": TRAVELED_HOUR_COST
      }
    ]
  }
}

Örnek senaryo

Bu bölümde, köpekler için kreş hizmeti veren bir işletmenizin olduğu senaryo açıklanmaktadır. Köpekleri evlerinden almak için kullandığınız kamyonun rotasını optimize ediyorsunuz. Bu senaryoda, optimize edicinin rota sağlarken köpekleri alma ve araç işlemleriyle ilgili maliyetleri hesaba katmasını istiyorsunuz.

Bu örnekte bir maliyet birimi 1 doları temsil etmektedir. Bu, isteğinizdeki maliyet modeli özellik değerlerinin aşağıdaki gibi olduğu anlamına gelir:

Mülk Değer Senaryo
penaltyCost 10 Müşterilerinizin köpeklerini planlanan günde almamaları durumunda uygulayacağınız cezayı temsil eder. Köpeği planlanan günde almadığınızda müşterinin toplam hizmet tutarından 40 dolar indirim yapılır.
fixedCost 30 Araç kredisi ödemelerinizin günlük maliyetini (günlük 30 ABD doları) temsil eder.
costPerKilometer 0,08 Aracınızın kilometre başına ne kadar benzin harcadığını gösterir. Aracınızın hareket etmesi için kilometre başına 0, 04 galon yakıt gerekiyor ve bölgenizde galon başına maliyet 2 dolar.
costPerHour 27 Aracınızı kullanması için bir sürücüye ne kadar ödeme yaptığınızı gösterir. Şoföre saatte 27 ABD doları ödersiniz.
costPerTraveledHour 2.5 Yoldayken köpekler için aracın nem ve sıcaklık kontrolüne saat başına ne kadar ödemeniz gerektiğini gösterir. Araç hareket etmediğinde sürücü arkadaki kapıları açabilir ve nem ve sıcaklık kontrolünü kapatabilir.

Maliyet parametrelerine göre optimize edici, kullanıcı için belirgin olmayan ancak optimizasyon yoluyla bulunabilecek ödünler verebilir.

Aşağıdaki diyagramda, optimize edicinin noktalı kırmızı çizgiyle gösterilen trafikte kalmamak için yeşil kesikli çizgiyle gösterilen daha uzun ancak daha hızlı bir rota seçebileceği bir örnek gösterilmektedir.

Aracın iki olası rotası var. Biri yeşil kesikli çizgiyle gösteriliyor. Bu rota daha uzun ancak herhangi bir olay yok. Diğeri ise kırmızı noktalı çizgiyle gösteriliyor. Bu rota daha kısa ancak ortasında bir araba kazası var.

Bu senaryoda, iki rotanın maliyet dengesi aşağıdaki gibidir:

Optimize edici, uygun maliyetli rotalar sağlamanın yanı sıra yanıt özelliklerinde teslimat rotalarının toplam maliyetlerinin bir özetini de sunar.

İstek örneği

Aşağıdaki örnekte, örnek senaryoda ayarlanan değerleri içeren temel bir optimizeTours isteğinin yapısı gösterilmektedir:

{
  "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
      }
    ]
  }
}

Yanıt özellikleri

OptimizeToursResponse mesajı, bir rotayı tamamlama sürecinde ortaya çıkan maliyetleri açıklayan maliyet özelliklerine sahiptir:

  • metrics.costs: Maliyetle ilgili istek alanlarına göre dökümü yapılan tüm rotaların toplam maliyeti.
  • metrics.totalCost: Tüm rotalardaki toplam maliyetin toplamı.