Her aracın takip ettiği rotaları, atlanan sevkiyatı ve çözümün toplam maliyetini içeren bir tur optimizasyonu problemi çözüldükten sonra verilen yanıt.
JSON gösterimi |
---|
{ "routes": [ { object ( |
Alanlar | |
---|---|
routes[] |
Her araç için hesaplanan rotalar; i'inci rota, modeldeki i'inci 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
OptimizeToursRequest
doğrulanırken karşılaşılan bir hatayı açıklar.
JSON gösterimi |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Alanlar | |
---|---|
code |
Doğrulama hatası, her zaman mevcut olan çift ( Diğer alanlar (aşağıda) hatayla ilgili daha fazla bilgi sağlar. BİRDEN FAZLA HATA: Birden çok hata olduğunda, doğrulama işlemi bunlardan birkaçının çıktısını almaya çalışır. Tıpkı derleyici gibi, bu da kusursuz bir süreçtir. Bazı doğrulama hataları "önemli" olur, yani tüm doğrulama işlemini durdururlar. Bu durum, diğerlerinde olduğu gibi KARARLILIK: REFERANS: Tüm (kod, ad) çiftlerin listesi:
|
displayName |
Hatanın görünen adı. |
fields[] |
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 alınması aşağıdaki şekilde yapılabilir:
Ancak belirli bir hata kodu için |
errorMessage |
Hatayı açıklayan, kullanıcıların okuyabileceği dize. KARARLILIK: Kararlı değil: Belirli bir |
offendingValues |
Alanların değerlerini içerebilir. Bu seçenek her zaman kullanılamayabilir. Bu aracı kesinlikle kullanmamalı ve yalnızca manuel model hata ayıklaması için kullanmalısınız. |
FieldReference
Doğrulama hatası için bir bağlam belirtir. FieldReference
, her zaman bu dosyadaki belirli bir alana başvuruda bulunur ve aynı hiyerarşik yapıyı izler. Örneğin, 5 numaralı aracın startTimeWindows
öğesinin 2. öğesini şunu kullanarak belirtebiliriz:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Ancak, mesajı karmaşık hale getirmemek için OptimizeToursRequest
veya ShipmentModel
gibi üst düzey öğeleri atlarız.
JSON gösterimi |
---|
{ "name": string, "subField": { object ( |
Alanlar | |
---|---|
name |
Alanın adı, ör. "Taşıtlar". |
subField |
Gerekirse yinelemeli olarak iç içe yerleştirilmiş alt alan. |
Birleştirme alanı
|
|
index |
Tekrarlanırsa alanın dizini. |
key |
Alan bir haritaysa anahtar. |
Metrikler
Tüm rotalardan toplanan genel metrikler.
JSON gösterimi |
---|
{
"aggregatedRouteMetrics": {
object ( |
Alanlar | |
---|---|
aggregatedRouteMetrics |
Rotalar üzerinde toplanır. Her metrik, aynı ada sahip tüm |
skippedMandatoryShipmentCount |
Atlanan zorunlu gönderimlerin sayısı. |
usedVehicleCount |
Kullanılan araç sayısı. Not: Bir araç rotası boşsa ve |
earliestVehicleStartTime |
İkinci el bir aracın en erken başlangıç zamanı. Nanosaniye çözünürlük ve en fazla dokuz kesir basamağı olan, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
latestVehicleEndTime |
İkinci el bir araç için en geç bitiş zamanı. Nanosaniye çözünürlük ve en fazla dokuz kesir basamağı olan, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
costs |
Çözümün maliyeti (maliyetle ilgili istek alanlarına göre ayrılır). Anahtarlar, OptimizeToursRequest girişine (ör. "model.shipments.pickups.cost") göre proto yollarıdır ve değerler, ilgili maliyet alanı tarafından oluşturulan ve tüm çözüm genelinde toplanan toplam maliyettir. Başka bir deyişle maliyetler, ["model.shipments.pickups.cost"] çözüm üzerindeki tüm teslim alma maliyetlerinin toplamıdır. TransitionAttributes ile ilgili olan ve 2022.01 itibarıyla yalnızca toplu şekilde raporlanan TransitionAttribute maliyetleri hariç, modelde tanımlanan tüm maliyetler burada ayrıntılı olarak raporlanır.
|
totalCost |
Çözümün toplam maliyeti. Maliyet haritasındaki tüm değerlerin toplamı. |