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'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ün süresi, mesafesi ve kullanım metrikleri. |
OptimizeToursValidationError
OptimizeToursRequest
doğrulanırken karşılaşılan hata veya uyarıyı açıklar.
JSON gösterimi |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Alanlar | |
---|---|
code |
Doğrulama hatası, her zaman mevcut olan ( Bu bölümün ardından gelen alanlar, 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. Tıpkı bir derleyici gibi, bu da kusursuz bir süreç değildir. Bazı doğrulama hataları "önemli" olur. Bu, doğrulama işleminin tamamını durduracağı anlamına gelir. Bu durum, diğerlerinin yanı sıra KARARLILIĞ: |
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ı araca ve 2 numaralı gönderinin ilk teslimine referans verilebilir:
Bununla birlikte, belirli bir hata kodu için |
errorMessage |
Hatayı açıklayan, kullanıcıların okuyabileceği bir dize. STABİLİTE: Kararlı değil: Belirli bir |
offendingValues |
Alanların değerlerini içerebilir. Bu seçenek her zaman kullanılamayabilir. Bu modele kesinlikle güvenmemeniz ve yalnızca manuel model hata ayıklaması için kullanmanız gerekir. |
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
numaralı öğesini aşağıdakileri kullanarak 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. "vehicles". |
subField |
Gerekirse yinelemeli 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 genelinde toplanır. Her metrik, aynı ada sahip tüm |
skippedMandatoryShipmentCount |
Atlanan zorunlu kargo 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 |
Bir ikinci el aracın en son bitiş zamanı. RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip bir zaman damgası. Örnekler: |
costs |
Maliyetle ilgili istek alanlarına göre dökümü alınmış çözüm maliyeti. Anahtarlar, giriş OptimizeToursRequest'a göre proto yollarıdır (ör. "model.shipments.pickups.cost") ve değerler, ilgili maliyet alanı tarafından oluşturulan ve çözümün tamamında 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ı. |