Her bir aracın izlediği rotaları, atlanan gönderileri ve çözümün toplam maliyetini içeren bir tur optimizasyonu problemini çözdükten sonra verilen 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
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 ( Diğer alanlar (aşağıda) hatayla ilgili daha fazla bağlam bilgisi sağlar. MULTIPLE ERRORS: Birden fazla hata olduğunda doğrulama işlemi, bunların birkaçını döndürmeye çalışır. Derleyiciye benzer şekilde, bu işlem de kusursuz değildir. Bazı doğrulama hataları "önemli" olur. Bu, doğrulama işleminin tamamını durduracağı anlamına gelir. Bu durum, diğerlerinde olduğu gibi STability: REFERANS: Tüm (kod, ad) çiftlerinin listesi:
|
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: Ancak |
errorMessage |
Hatayı açıklayan, kullanıcıların okuyabileceği bir dize. STABILITY: Kararlı değil: Belirli bir |
offendingValues |
Alanların değerlerini içerebilir. Bu seçenek her zaman kullanılamayabilir. 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 bağlamı belirtir. FieldReference her zaman bu dosyadaki belirli bir alanı ifade eder ve aynı hiyerarşik yapıyı izler. Ö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ıklaşmasını önlemek için OptimizeToursRequest veya ShipmentModel gibi üst düzey varlıkları atlıyoruz.
| JSON gösterimi |
|---|
{ "name": string, "subField": { object ( |
| Alanlar | |
|---|---|
name |
Alanın adı (ör. "taşıtlar". |
subField |
Gerekirse yinelenen 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 rotalar için toplanan genel metrikler.
| JSON gösterimi |
|---|
{
"aggregatedRouteMetrics": {
object ( |
| Alanlar | |
|---|---|
aggregatedRouteMetrics |
Rotalar genelinde toplanır. Her metrik, aynı ada sahip tüm |
skippedMandatoryShipmentCount |
Atlanan zorunlu kargo sayısı. |
usedVehicleCount |
Kullanılan araç sayısı. Not: Araç rotasının boş olması ve |
earliestVehicleStartTime |
İkinci el bir araç için en erken başlangıç zamanı. Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
latestVehicleEndTime |
Bir ikinci el aracın en son 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. 01.01.2022 itibarıyla yalnızca toplu şekilde raporlanan TransitionAttributes ile ilgili maliyetler hariç olmak üzere, modelde tanımlanan tüm maliyetler burada ayrıntılı olarak raporlanmaktadır.
|
totalCost |
Çözümün toplam maliyeti. Maliyet haritasındaki tüm değerlerin toplamı. |