Her aracın izlediği rotaları, atlanan gönderileri ve çözümün genel maliyetini içeren bir tur optimizasyonu sorunu çözüldükten sonraki 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 |
İstekle bir etiket belirtilmişse |
skippedShipments[] |
Atlanan tüm gönderilerin listesi. |
validationErrors[] |
Bağımsız olarak tespit edebildiğimiz tüm doğrulama hatalarının listesi. |
processedRequest |
Bazı durumlarda, gelen isteği çözmeden önce değiştiririz (ör. maliyet ekleme). solvingMode == TRANSFORM_AND_RETURN_REQUEST ise değiştirilen istek burada döndürülür. Deneysel: Daha fazla bilgi için https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request adresini inceleyin. |
metrics |
Bu çözümün süresi, mesafesi ve kullanım metrikleri. |
OptimizeToursValidationError
Bir 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ümden sonraki alanlarda hatayla ilgili daha fazla bağlam bilgisi sağlanır. BİRDEN FAZLA HATA: Birden fazla hata olduğunda doğrulama işlemi, bu hataların birkaçını vermeye çalışır. Derleyiciye benzer şekilde bu işlem de kusurludur. Bazı doğrulama hataları "kritik" olarak değerlendirilir. Bu hatalar, doğrulama sürecinin tamamını durdurur. Bu durum, diğerlerinin yanı sıra KARARLILIK: |
displayName |
Hata 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önderinin ilk teslim alma işlemi şu şekilde belirtilebilir: Ancak |
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 özellik her zaman kullanılamaz. Kesinlikle bu özelliğe 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 dosyadaki belirli bir alanı ifade eder ve aynı hiyerarşik yapıyı izler. Örneğin, 5 numaralı aracın startTimeWindows öğesinin 2. öğesini belirtmek için şunu kullanabiliriz:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Ancak mesajın kalabalık görünmesini önlemek için OptimizeToursRequest veya ShipmentModel gibi üst düzey öğeleri çıkarırız.
| JSON gösterimi |
|---|
{
"name": string,
"subField": {
object ( |
| Alanlar | |
|---|---|
name |
Alan adı (ör. "araçlar"). |
subField |
Gerekirse yinelemeli olarak iç içe yerleştirilmiş alt alan. |
| Aşağıda, aynı anda kullanılamayan alanların listesi verilmiştir. Yanıt olarak en fazla bir alan ayarlanır: | |
index |
Yinelenen alanın dizini. |
key |
Alan bir haritaysa anahtar. |
| Birbirini dışlayan alanların sonu. | |
Metrikler
Tüm rotalarda toplanan genel metrikler.
| JSON gösterimi |
|---|
{
"aggregatedRouteMetrics": {
object ( |
| Alanlar | |
|---|---|
aggregatedRouteMetrics |
Rotalar genelinde toplanan verileri içerir. Her metrik, aynı ada sahip tüm |
skippedMandatoryShipmentCount |
Atlanan zorunlu gönderim sayısı. |
usedVehicleCount |
Kullanılan araç sayısı. Not: Bir araç rotası boşsa ve |
earliestVehicleStartTime |
İkinci el araçlar için en erken başlangıç zamanı, tüm ikinci el araçlar için minimum değer olan Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: |
latestVehicleEndTime |
İkinci el araç için en son bitiş zamanı. Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: |
costs |
Maliyetle ilgili istek alanlarına göre dökümü alınmış çözüm maliyeti. Anahtarlar, giriş OptimizeToursRequest'e göre proto yollarıdır (ör. "model.shipments.pickups.cost"). Değerler ise ilgili maliyet alanı tarafından oluşturulan ve çözümün tamamında toplanan toplam maliyettir. Diğer bir deyişle, costs["model.shipments.pickups.cost"], çözümdeki tüm teslim alma maliyetlerinin toplamıdır. Modelde tanımlanan tüm maliyetler, 2022/01 itibarıyla yalnızca toplu olarak bildirilen TransitionAttributes ile ilgili maliyetler hariç olmak üzere burada ayrıntılı olarak raporlanır. |
totalCost |
Çözümün toplam maliyeti. Maliyetler haritasındaki tüm değerlerin toplamı. |