Aşağıdaki sayfada, Route Optimization API optimizeTours yönteminin aşağıdaki bileşenleri için alfabetik sırayla parametre tabloları yer almaktadır:
Bu parametre tablolarında, kolayca bulunabilmeleri için yalnızca üst düzey nesneler ve ana parametreler listelenir ve kısaca açıklanır. Tam açıklamaları ve tüm iç içe yerleştirilmiş parametreleri içeren kapsamlı bir liste için API referans belgelerine bakın.
İstek metni
İstek gövdesi, sağdaki diyagramda gösterilen ve aşağıdaki tabloda listelenen şu öğeleri içerir:
OptimizeToursRequest: Modeli ve çözüm parametrelerini içeren üst düzey istek nesnesi.ShipmentModel: Gönderileri, araçları ve global kısıtlamaları içeren temel veri yapısı.Shipment: Teslim alma ve teslim etme işlemlerini içeren bir görev.VisitRequest: Teslim alma veya teslimat için konum ve kısıtlamalar.
Vehicle: Sevkiyatları gerçekleştirmek için kullanılabilen bir araç.
| Ebeveyn | Parametre | Tesis türü | Açıklama |
|---|---|---|---|
OptimizeToursRequest |
allowLargeDeadlineDespiteInterruptionRisk |
boole (true/false) |
true ise zaman aşımı, sunucu kesintilerine yol açabilecek büyük bir değere (30 dakikadan uzun) ayarlanmış olsa bile istek işlenir. |
considerRoadTraffic |
boole (true/false) |
true ise rota belirlemek için trafik verilerini kullanır. Yanlış ise yalnızca yol ağı hızları kullanılır. |
|
geodesicMetersPerSecond |
sayı | useGeodesicDistances doğru olduğunda seyahat sürelerini hesaplamak için bu hız kullanılır. |
|
injectedFirstSolutionRoutes[] |
nesne dizisi (ShipmentRoute) |
Optimizasyonun başlatılacağı önceki bir çözümden alınan rotalar. | |
injectedSolutionConstraint |
nesne (InjectedSolutionConstraint) |
Çözümü mevcut rotalara benzer olacak şekilde kısıtlar. Hangi özelliklerin korunması ve hangilerinin esnetilebileceğini belirtir. | |
interpretInjectedSolutionsUsingLabels |
boole (true/false) |
true ise eklenen rotalardaki gönderileri/araçları dizi dizini yerine label ile eşleştirir. |
|
label |
dize | İsteği tanımlamak için kullanılan ve yanıtta döndürülen rastgele etiket. | |
maxValidationErrors |
tam sayı | Döndürülecek maksimum doğrulama hatası sayısını belirtir. Belirtilmezse varsayılan bir sınır uygulanır. | |
model |
nesne (ShipmentModel) |
Zorunlu. Optimize edilecek araç ve sevkiyat grubu. | |
populatePolylines |
boole (true/false) |
true ise rotalar için kodlanmış çoklu çizgiler döndürür. |
|
populateTransitionPolylines |
boole (true/false) |
true ise ziyaretler arasındaki her bir geçiş için kodlanmış çoklu çizgiler döndürür. |
|
refreshDetailsRoutes[] |
nesne dizisi (ShipmentRoute) |
Yenilenecek rotaların listesi. Bu işlem, ziyaret sırasını değiştirmeden mevcut rotalar için çoklu çizgileri, süreleri ve mesafeleri yeniden hesaplar. | |
searchMode |
enum (SearchMode) |
RETURN_FAST (hızlı sonuçlar) veya CONSUME_ALL_AVAILABLE_TIME (zaman aşımı süresi içinde en iyi kalite). |
|
solvingMode |
enum (SolvingMode) |
Modeli çözmeden doğrulamak için DEFAULT_SOLVE (varsayılan) veya VALIDATE_ONLY. |
|
timeout |
Süre | Çözücünün çalışması gereken maksimum süre (ör. "30s", "300s"). | |
useGeodesicDistances |
boole (true/false) |
true ise seyahat mesafeleri ve süreleri, jeodezik (düz çizgi) mesafeler ve geodesicMetersPerSecond hızı kullanılarak hesaplanır. |
|
ShipmentModel( OptimizeToursRequest kapsamında) |
durationDistanceMatrices[] |
nesne dizisi (DurationDistanceMatrix) |
Konumlar arasında rota oluşturmak için kullanılan özel süre ve mesafe matrislerini belirtir. |
durationDistanceMatrixDstTags[] |
dize dizisi | Özel süre ve mesafe matrisleri için hedefleri (sütunlar) tanımlayan etiketler. | |
durationDistanceMatrixSrcTags[] |
dize dizisi | Özel süre ve mesafe matrislerinin kaynaklarını (satırlarını) tanımlayan etiketler. | |
globalDurationCostPerHour |
sayı | Rotanın global zaman aralığının (en erken araç başlangıcından en geç araç bitişine kadar) saatlik maliyeti. | |
globalEndTime |
Zaman damgası | Modeldeki herhangi bir etkinliğin en son bitiş zamanı. | |
globalStartTime |
Zaman damgası | Modeldeki herhangi bir etkinliğin en erken başlangıç zamanı. | |
maxActiveVehicles |
tam sayı | Çözümde etkin olmasına izin verilen maksimum araç sayısı. | |
precedenceRules[] |
nesne dizisi (PrecedenceRule) |
Belirli gönderiler arasındaki sıralama kısıtlamalarını tanımlayan kurallar. | |
shipments[] |
nesne dizisi (Shipment) |
Hizmet verilecek gönderilerin listesi. | |
shipmentTypeIncompatibilities[] |
nesne dizisi (ShipmentTypeIncompatibility) |
Belirli türdeki gönderilerin aynı araç tarafından teslim edilmesini engelleyen kurallar. | |
shipmentTypeRequirements[] |
nesne dizisi (ShipmentTypeRequirement) |
Belirli türdeki gönderilerin aynı araçla taşınmasını gerektiren kurallar. | |
transitionAttributes[] |
nesne dizisi (TransitionAttributes) |
Belirli etiketlere sahip ziyaretler arasındaki geçişler için ek maliyetleri, gecikmeleri ve mesafe sınırlarını belirtir. | |
vehicles[] |
nesne dizisi (Vehicle) |
Gönderileri gerçekleştirmek için kullanılabilen araçların listesi. | |
Shipment( ShipmentModel kapsamında) |
allowedVehicleIndices[] |
tam sayı dizisi | Bu sevkiyatı gerçekleştirmesine izin verilen araçların dizinleri. |
costsPerVehicle[] |
eşleme (anahtar: tam sayı, değer: sayı) | Bu gönderi için belirli bir araç kullanılıyorsa ortaya çıkan ek maliyetler. | |
costsPerVehicleIndices[] |
tam sayı dizisi | costsPerVehicle değerlerinin geçerli olduğu araçların dizinleri. |
|
deliveries[] |
nesne dizisi (VisitRequest) |
Gönderimi teslim etmek için alternatifler. | |
ignore |
boole (true/false) |
true ise gönderi yoksayılır ve optimizasyonda kullanılmaz. |
|
label |
dize | Gönderiyi tanımlamak için kullanıcı tarafından tanımlanan ve yanıtta döndürülen etiket. | |
loadDemands |
eşleme (anahtar: dize, değer: Load) |
Bu gönderiyi taşımak için gereken kapasite (ör. ağırlık, hacim). | |
penaltyCost |
sayı | Gönderim hizmeti verilmiyorsa maliyet. Ayarlanmazsa gönderim zorunludur. | |
pickups[] |
nesne dizisi (VisitRequest) |
Gönderiyi teslim almak için alternatifler | |
pickupToDeliveryAbsoluteDetourLimit |
Süre | Doğrudan yola kıyasla teslim alma ve teslimat arasında izin verilen maksimum mutlak sapma süresi. | |
pickupToDeliveryRelativeDetourLimit |
sayı | Gönderi için izin verilen maksimum göreceli sapma (ör. 2,0 değeri, toplam sürenin doğrudan seyahat süresinin en fazla 2 katı olabileceği anlamına gelir). | |
pickupToDeliveryTimeLimit |
Süre | Teslim alma işleminin başlangıcından teslimatın başlangıcına kadar izin verilen maksimum süre. | |
shipmentType |
dize | Uyumsuzluk ve şart kuralları için kullanılan tür sınıflandırması. | |
VisitRequest( Shipment'da pickups ve deliveries bileşeni) |
arrivalLocation |
nesne (LatLng) |
Enlem/boylam koordinatları olarak coğrafi varış konumu. |
arrivalWaypoint |
nesne (Waypoint) |
Aracın ziyareti gerçekleştirmek için ulaştığı konum. Koordinatlar veya yer kimliği ile tanımlanır. | |
cost |
sayı | Bu belirli ziyaret isteği çözücü tarafından seçilirse ortaya çıkan maliyet. | |
departureLocation |
nesne (LatLng) |
Enlem/boylam koordinatları olarak coğrafi kalkış konumu. | |
departureWaypoint |
nesne (Waypoint) |
Aracın ziyareti tamamladıktan sonra ayrıldığı konum. Atlanırsa arrivalWaypoint ile aynı olduğu varsayılır. |
|
duration |
Süre | Ziyaretin süresi (hizmet süresi), örneğin yükleme/boşaltma işleminin ne kadar sürdüğü. | |
label |
dize | Bu özel ziyaret isteği için kullanıcı tarafından tanımlanan ve yanıtta döndürülen etiket. | |
loadDemands |
eşleme (anahtar: dize, değer: Load) |
Bu ziyaretteki yük değişikliğini belirtmeyi gerektirir (ör. bir paketi bırakmak için -1). | |
tags[] |
dize dizisi | Bu ziyaret isteğine eklenen etiketler. Bu bilgiler, transitionAttributes kullanılarak bu ziyaret ile diğer ziyaretler arasındaki seyahat sürelerini hesaplamak için kullanılır. |
|
timeWindows[] |
nesne dizisi (TimeWindow) |
Bu ziyarete varış için izin verilen zaman aralıkları. | |
visitTypes[] |
dize dizisi | Ziyaret türünü açıklayan dizeler (ör. "teslimat", "kurulum"). Araç modelinden extraVisitDurationForVisitType uygulamak için kullanılır. |
|
Vehicle( ShipmentModel kapsamında) |
breakRule |
nesne (BreakRule) |
Molalarla ilgili kuralları (ör. zorunlu öğle molası) tanımlar. |
costPerHour |
sayı | Toplam rota süresinin saatlik maliyeti. | |
costPerKilometer |
sayı | Kat edilen kilometre başına maliyet. | |
costPerTraveledHour |
sayı | Araç hareket halindeyken saat başına maliyet. | |
endLocation |
nesne (LatLng) |
Enlem/boylam koordinatları olarak coğrafi bitiş konumu. | |
endTags[] |
dize dizisi | Geçiş özellikleri için kullanılan, aracın son durumunu tanımlayan etiketler. | |
endTimeWindows[] |
nesne dizisi (TimeWindow) |
Aracın rotasını tamamlaması için izin verilen zaman aralıkları. | |
endWaypoint |
nesne (Waypoint) |
Yol noktası (koordinatlar veya yer kimliği) kullanılarak coğrafi bitiş konumu. | |
extraVisitDurationForVisitType |
map (key: string, value: Duration) | Ziyaretlerin süresini visitType değerine göre uzatır. |
|
fixedCost |
sayı | Rotanın mesafesi veya süresi ne olursa olsun, araç kullanıldığında uygulanan sabit maliyet. | |
ignore |
boole (true/false) |
true ise araç yoksayılır ve optimizasyonda kullanılmaz. |
|
label |
dize | Yanıtta döndürülen, araç için kullanıcı tanımlı etiket. | |
loadLimits |
eşleme (anahtar: dize, değer: LoadLimit) |
Araç kapasiteleri (ör. maksimum ağırlık, maksimum hacim). | |
routeDistanceLimit |
nesne (DistanceLimit) |
Aracın rotasının toplam mesafesiyle ilgili katı veya esnek bir sınır. | |
routeDurationLimit |
nesne (DurationLimit) |
Aracın rotasının toplam süresiyle ilgili katı veya esnek bir sınır. | |
routeModifiers |
nesne (RouteModifiers) |
Ücretli geçiş, otoyol veya feribot kullanmama gibi bir veya daha fazla kısıtlama. | |
startLocation |
nesne (LatLng) |
Enlem/boylam koordinatları olarak coğrafi başlangıç konumu. | |
startTags[] |
dize dizisi | Geçiş özellikleri için kullanılan, aracın başlangıç durumunu tanımlayan etiketler. | |
startTimeWindows[] |
nesne dizisi (TimeWindow) |
Aracın rotasına başlaması için izin verilen zaman aralıkları. | |
startWaypoint |
nesne (Waypoint) |
Yol noktası (koordinatlar veya yer kimliği) kullanan coğrafi başlangıç konumu. | |
travelDurationLimit |
nesne (DurationLimit) |
Aracın toplam seyahat süresi (bekleme/servis süresi hariç) için katı veya esnek bir sınır. | |
travelDurationMultiple |
sayı | Seyahat sürelerine uygulanan çarpan (ör. 1,5, seyahati %50 daha yavaş hale getirir). | |
travelMode |
enum (TravelMode) |
Seyahat modu (ör. DRIVING, WALKING). Seyahat sürelerini ve mesafelerini etkiler. |
|
unloadingPolicy |
enum (UnloadingPolicy) |
Boşaltma sırasını tanımlar (ör. LIFO veya LAST_IN_FIRST_OUT). |
|
usedIfRouteIsEmpty |
boole (true/false) |
true ise araç, gönderi olmasa bile kullanılmış sayılır. Sabit maliyetleri vardır ve başlangıç ile bitiş konumları arasında seyahat eder. |
Yanıt metni
Yanıt gövdesi, sağdaki diyagramda gösterilen ve aşağıdaki tabloda listelenen öğeleri içerir:
OptimizeToursResponse: Optimize edilmiş rotaları ve metrikleri içeren üst düzey yanıt nesnesi.Metrics: Çözümün genel maliyet ve yürütme istatistikleri.ShipmentRoute: Tek bir araca atanan ziyaret sırası ve seyahat rotası.Visit: Teslim alma veya teslimat yapmak için rota üzerindeki bir durak.Transition: İki rota durağı arasındaki seyahat yolu ve süresi.AggregatedMetrics: Süre, mesafe ve diğer metriklerin toplamı. Bu öğe hemMetricshem deShipmentRouteiçinde bulunabilir.
| Ebeveyn | Parametre | Tesis türü | Açıklama |
|---|---|---|---|
OptimizeToursResponse |
metrics |
nesne (Metrics) |
Toplam maliyet, toplam mesafe, toplam süre ve araç kullanım sayıları dahil olmak üzere çözüm için toplu metrikler. |
requestLabel |
dize | İsteğin label alanından kopyalanan etiket. Yanıtı orijinal istekle ilişkilendirmek için kullanılır. |
|
routes[] |
nesne dizisi (ShipmentRoute) |
Her araç için hesaplanan rotaların listesi. Kullanımdan bağımsız olarak her araç için bir giriş içerir. | |
skippedShipments[] |
nesne dizisi (SkippedShipment) |
Atlanan (hizmet verilmeyen) gönderilerin listesi ve atlanma nedenleri. | |
validationErrors[] |
nesne dizisi (OptimizeToursValidationError) |
Giriş modelinde bulunan doğrulama hatalarının listesi. solvingMode, VALIDATE_ONLY olarak ayarlanmışsa veya çözümleme sırasında hatalar oluşmuşsa bu alan doldurulur. |
|
Metrics( OptimizeToursResponse kapsamında) |
aggregatedRouteMetrics |
nesne (AggregatedMetrics) |
Toplam seyahat mesafesi, toplam süre ve bekleme süreleri gibi tüm rotalardaki toplu istatistikler. |
costs |
eşleme (anahtar: dize, değer: sayı) | Maliyetlerin türe göre dökümü (ör. "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
earliestVehicleStartTime |
Zaman damgası | Kullanılan tüm araçlar arasındaki en erken başlangıç zamanı. | |
latestVehicleEndTime |
Zaman damgası | Kullanılan tüm araçlar arasında en geç bitiş zamanı. | |
skippedMandatoryShipmentCount |
tam sayı | Atlanan zorunlu gönderilerin sayısı. | |
totalCost |
sayı | Tüm rota maliyetlerinin ve atlanan gönderi cezalarının toplamı olan çözümün toplam maliyeti. | |
usedVehicleCount |
tam sayı | Çözümde kullanılan araç sayısı. | |
AggregatedMetrics( Metrics ve ShipmentRoute kapsamında) |
breakDuration |
Süre | Tüm rotalarda verilen molaların toplam süresi. |
costs |
eşleme (anahtar: dize, değer: sayı) | Maliyetlerin türe göre dökümü (ör. "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
delayDuration |
Süre | Tüm rotalardaki toplam gecikme süresi. | |
earliestVehicleStartTime |
Zaman damgası | Kullanılan tüm araçlar arasındaki en erken başlangıç zamanı. | |
latestVehicleEndTime |
Zaman damgası | Kullanılan tüm araçlar arasında en geç bitiş zamanı. | |
maxLoads |
eşleme (anahtar: dize, değer: VehicleLoad) |
Çözümdeki herhangi bir noktada herhangi bir araç tarafından taşınan maksimum yük (yük türüne göre anahtarlanır). | |
performedShipmentCount |
tam sayı | Tüm araçlarda gerçekleştirilen toplam sevkiyat sayısı. | |
skippedMandatoryShipmentCount |
tam sayı | Atlanan zorunlu gönderilerin sayısı. | |
totalCost |
sayı | Tüm rota maliyetlerinin ve atlanan gönderi cezalarının toplamı olan çözümün toplam maliyeti. | |
totalDuration |
Süre | Tüm rotaların toplam süresi (seyahat + bekleme + gecikme + mola + ziyaret). | |
travelDistanceMeters |
sayı | Tüm rotalardaki toplam seyahat mesafesi (metre cinsinden). | |
travelDuration |
Süre | Tüm rotalardaki toplam seyahat süresi. | |
usedVehicleCount |
tam sayı | Çözümde kullanılan araç sayısı. | |
visitDuration |
Süre | Tüm rotalarda ziyaretleri gerçekleştirirken (yükleme/boşaltma) harcanan toplam süre. | |
waitDuration |
Süre | Tüm rotalardaki toplam bekleme süresi. | |
ShipmentRoute( OptimizeToursResponse kapsamında) |
breaks[] |
nesne dizisi (Break) |
Aracın rota sırasında verdiği molaların listesi. |
hasTrafficInfeasibilities |
boole (true/false) |
Rotada trafikle ilgili uygunsuzluklar olup olmadığını gösterir. | |
metrics |
nesne (AggregatedMetrics) |
Katedilen toplam mesafe ve süre gibi bu rotaya özgü metrikler. | |
routeCosts |
eşleme (anahtar: dize, değer: sayı) | Bu rotanın maliyet dökümü. Anahtarlar maliyet türleridir (ör. "cost_per_hour") ve değerler tutarlardır. | |
routePolyline |
nesne (EncodedPolyline) |
Rotanın tam yolunu coğrafi olarak temsil eden kodlanmış çoklu çizgi. | |
routeTotalCost |
sayı | Rotanın toplam maliyeti, routeCosts haritasındaki tüm maliyetlerin toplamıdır. |
|
transitions[] |
nesne dizisi (Transition) |
Ziyaretleri birbirine bağlayan geçişlerin (seyahat ayakları) sıralı listesi. | |
vehicleEndTime |
Zaman damgası | Aracın rotasını tamamladığı zaman. | |
vehicleIndex |
tam sayı | Bu rotayı gerçekleştiren kaynak ShipmentModel içindeki aracın dizini. |
|
vehicleLabel |
dize | İstek modelinden kopyalanan, aracın kullanıcı tanımlı etiketi. | |
vehicleStartTime |
Zaman damgası | Aracın rotasına başladığı zaman. | |
visits[] |
nesne dizisi (Visit) |
Aracın bu rotada gerçekleştirdiği ziyaretlerin (teslim alma ve teslim etme) sıralı dizisi. | |
Visit( ShipmentRoute kapsamında) |
detour |
Süre | Önceki ve sonraki ziyaretler arasındaki doğrudan yola kıyasla bu ziyaretin neden olduğu ek sapma süresi. |
isPickup |
boole (true/false) |
true ise bu ziyaret bir teslim almadır. Yanlış ise teslimattır. |
|
loadDemands |
eşleme (anahtar: dize, değer: Load) |
Bu ziyaretle karşılanan yük talepleri (ör. teslimat için -1). Bu, ilgili VisitRequest yük taleplerinin bir kopyasıdır. |
|
shipmentIndex |
tam sayı | Bu ziyaretin hizmet verdiği kaynak modeldeki Shipment alanının dizini. |
|
shipmentLabel |
dize | Gönderinin ShipmentModel adresinden kopyalanan etiketi. |
|
startTime |
Zaman damgası | Ziyaretin başlamasının planlandığı saat. | |
visitLabel |
dize | Modeldeki VisitRequest öğesinden kopyalanan ziyaret isteğinin etiketi. |
|
visitRequestIndex |
tam sayı | Bu ziyaretin karşılık geldiği, gönderinin teslim alma veya teslimat listesindeki VisitRequest dizini. |
|
Transition( ShipmentRoute kapsamında) |
breakDuration |
Süre | Bu geçiş sırasında verilen araların süresi. |
delayDuration |
Süre | Bu geçiş sırasında yaşanan gecikmenin süresi (ör. erken varma ve bir zaman aralığını bekleme). | |
routePolyline |
nesne (EncodedPolyline) |
Bu geçişin yolunu temsil eden kodlanmış çoklu çizgi. | |
routeToken |
dize | Navigasyon sırasında rotayı yeniden oluşturmak için Google Navigasyon SDK'sına iletilebilen opak bir jeton. | |
startTime |
Zaman damgası | Bu geçişin başlangıç zamanı. | |
totalDuration |
Süre | Seyahat, bekleme, mola ve gecikmeler dahil olmak üzere geçişin toplam süresi. | |
trafficInfoUnavailable |
boole (true/false) |
true ise bu geçiş için trafik verilerinin mevcut olmadığını gösterir. |
|
travelDistanceMeters |
sayı | Bu geçiş sırasında kat edilen mesafe (metre cinsinden). | |
travelDuration |
Süre | Bu geçiş sırasında seyahat süresi. | |
vehicleLoads |
eşleme (anahtar: dize, değer: VehicleLoad) |
Bu geçiş sırasında aracın taşıdığı yük.Yük türüne göre (ör. "weight") anahtarlanır. | |
waitDuration |
Süre | Bir sonraki ziyaret başlayana kadar geçen bekleme süresi. |