Bir tur optimizasyonu probleminin çözümünden sonra, her aracın izlediği rotaları, atlanan kargoları ve çözümün toplam maliyetini içeren yanıt.
JSON gösterimi |
---|
{ "routes": [ { object ( |
Alanlar | |
---|---|
routes[] |
Her araç için hesaplanan rotalar; i. rota, modeldeki i. araca karşılık gelir. |
requestLabel |
İstekte bir etiket belirtilmişse |
skippedShipments[] |
Atlanan tüm gönderimlerin listesi. |
validationErrors[] |
Bağımsız olarak tespit edebildiğimiz tüm doğrulama hatalarının listesi. |
metrics |
Bu çözüm için süre, mesafe ve kullanım metrikleri. |
OptimizeToursValidationError
Bir OptimizeToursRequest
doğrulanırken karşılaşılan hatayı veya uyarıyı açıklar.
JSON gösterimi |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Alanlar | |
---|---|
code |
Doğrulama hatası, her zaman mevcut olan çift ( Bu bölümün ardından gelen alanlar, hatayla ilgili daha fazla bağlam bilgisi sağlar. BİRDEN ÇOK HATA: Birden çok hata olduğunda, doğrulama işlemi bunlardan birkaçının çıktısını almaya çalışır. Derleyiciye benzer şekilde, bu işlem de kusursuz değildir. Bazı doğrulama hataları "önemli"dir. Bu, doğrulama sürecinin tamamını durdurdukları anlamına gelir. Bu durum, diğerlerinin yanı sıra STability: |
displayName |
Hatanın görünen adı. |
fields[] |
Bir hata bağlamı 0, 1 (çoğu zaman) veya daha fazla alan içerebilir. Örneğin, 4 numaralı araç ve 2 numaralı gönderimin ilk teslim alma işlemi aşağıdaki gibi yapılabilir:
Bununla birlikte, belirli bir hata kodu için |
errorMessage |
Hatayı açıklayan, kullanıcıların okuyabileceği dize. STABİLİTE: Kararlı değil: Belirli bir |
offendingValues |
Alanların değerlerini içerebilir. Bu seçenek her zaman kullanılamaz. Bu yönteme kesinlikle güvenmemeli ve yalnızca manuel model hata ayıklama için kullanmalısınız. |
FieldReference
Doğrulama hatası için bir bağlam belirtir. FieldReference
, her zaman bu dosyada belirli bir alanı ifade eder ve aynı hiyerarşik yapıyı uygular. Örneğin, 5 numaralı aracın startTimeWindows
öğesinin 2. öğesini şu şekilde belirtebiliriz:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Ancak mesajın kalabalık olmaması için OptimizeToursRequest
veya ShipmentModel
gibi üst düzey öğeler atlanır.
JSON gösterimi |
---|
{ "name": string, "subField": { object ( |
Alanlar | |
---|---|
name |
Alanın adı, ör. "vehicles". |
subField |
Gerekirse yinelenen olarak iç içe yerleştirilmiş alt alan. |
Birleştirme alanı
|
|
index |
Tekrarlanırsa alanın dizini. |
key |
Alan bir harita ise anahtar. |
Metrikler
Tüm rotalar için toplanan genel metrikler.
JSON gösterimi |
---|
{
"aggregatedRouteMetrics": {
object ( |
Alanlar | |
---|---|
aggregatedRouteMetrics |
Rotalar üzerinden toplanır. Her metrik, aynı ada sahip tüm |
skippedMandatoryShipmentCount |
Atlanan zorunlu gönderi sayısı. |
usedVehicleCount |
Kullanılan araç sayısı. Not: Bir araç rotası boşsa ve |
earliestVehicleStartTime |
İkinci el bir araç için en erken başlangıç zamanı. RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip bir zaman damgası. Örnekler: |
latestVehicleEndTime |
İkinci el bir araç için en geç bitiş zamanı. Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
costs |
Maliyetle ilgili istek alanlarına göre ayrılmış çözüm maliyeti. Anahtarlar, OptimizeToursRequest girişine (ör. "model.shipments.pickups.cost") kıyasla proto yollarıdır.Değerler, ilgili maliyet alanı tarafından oluşturulan ve tüm çözüm genelinde toplanan toplam maliyettir. Başka bir deyişle maliyet["model.shipments.pickups.cost"], çözüm üzerinden tüm teslim alma maliyetlerinin toplamıdır. Modelde tanımlanan tüm maliyetler, 2022/01 itibarıyla yalnızca toplu olarak raporlanan TransitionAttributes ile ilgili maliyetler hariç burada ayrıntılı olarak raporlanır. |
totalCost |
Çözümün toplam maliyeti. Maliyet haritasındaki tüm değerlerin toplamı. |