Aşağıdaki sayfada, Rota Optimizasyonu API'sinin optimizeTours yönteminin aşağıdaki bileşenleri için alfabetik sıraya göre parametre tabloları yer almaktadır:
Bu parametre tablolarında, kolayca bulunabilmesi için yalnızca üst düzey nesneler ve ana parametreler listelenip kısaca açıklanmıştır. Ayrıntılı açıklamalar ve tüm iç içe geçmiş parametreleri içeren kapsamlı bir liste için API referans dokümanlarına bakın.
İstek metni
İstek gövdesi, sağdaki diyagramda gösterilen ve aşağıdaki tabloda listelenen şu öğeleri içerir:
OptimizeToursRequest: Model ve çözüm parametrelerini içeren üst düzey istek nesnesi.ShipmentModel: Gönderiler, araçlar ve genel kısıtlamaları içeren temel veri yapısı.Shipment: Teslim alma ve teslimat içeren bir görev.VisitRequest: Teslim alma veya teslimat için konum ve kısıtlamalar.
Vehicle: Gönderim yapmak için uygun bir araç
| Ebeveyn | Parametre | Tesis türü | Açıklama |
|---|---|---|---|
OptimizeToursRequest |
allowLargeDeadlineDespiteInterruptionRisk |
boolean (true/false) |
true ise zaman aşımı, olası sunucu kesintileri riski taşıyan büyük bir değere (30 dakikadan uzun) ayarlanmış olsa bile istek işlenir. |
considerRoadTraffic |
boolean (true/false) |
true ise yönlendirme için trafik verilerini kullanır. Yanlışsa yalnızca yol ağı hızlarını kullanır. |
|
geodesicMetersPerSecond |
sayı | useGeodesicDistances doğru olduğunda, seyahat sürelerini hesaplamak için bu hız kullanılır. |
|
injectedFirstSolutionRoutes[] |
nesne dizisi (ShipmentRoute) |
Optimizasyonu başlatmak için ö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 gevşetilebileceği belirtilir. | |
interpretInjectedSolutionsUsingLabels |
boolean (true/false) |
true ise enjekte edilen rotalardaki gönderileri/araçları dizi dizini yerine label ile eşleştirir. |
|
label |
dize | İsteği tanımlamak için kullanılan rastgele etiket, yanıtta döndürülür. | |
maxValidationErrors |
tam sayı | Döndürülecek maksimum doğrulama hatası sayısını belirtir. Belirtilmemişse varsayılan bir sınır uygulanır. | |
model |
nesne (ShipmentModel) |
Zorunlu. Optimize edilecek araç ve gönderi grubu. | |
populatePolylines |
boolean (true/false) |
true ise rotalar için kodlanmış çoklu çizgileri döndürür. |
|
populateTransitionPolylines |
boolean (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ın çoklu çizgilerini, sürelerini ve mesafelerini yeniden hesaplar. | |
searchMode |
enum (SearchMode) |
RETURN_FAST (hızlı sonuçlar) veya CONSUME_ALL_AVAILABLE_TIME (zaman aşımı içinde en iyi kalite). |
|
solvingMode |
enum (SolvingMode) |
DEFAULT_SOLVE (varsayılan) veya VALIDATE_ONLY simgesini tıklayarak modeli çözmeden doğrulayabilirsiniz. |
|
timeout |
Süre | Çözücünün çalışması gereken maksimum süre (ör. "30s", "300s"). | |
useGeodesicDistances |
boolean (true/false) |
true ise seyahat mesafeleri ve süreleri, jeodezik (düz hat) mesafeler ve geodesicMetersPerSecond hızı kullanılarak hesaplanır. |
|
ShipmentModel( OptimizeToursRequest kuruluşunun bünyesinde) |
durationDistanceMatrices[] |
nesne dizisi (DurationDistanceMatrix) |
Konumlar arasında yönlendirme için kullanılan özel süre ve mesafe matrislerini belirtir. |
durationDistanceMatrixDstTags[] |
dize dizisi | Özel süre ve mesafe matrislerinin hedeflerini (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 küresel zaman aralığının saat başına maliyeti (en erken araç başlangıcından en geç araç bitişine kadar). | |
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önderimler 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çla taşınmasını engelleyen kurallar. | |
shipmentTypeRequirements[] |
nesne dizisi (ShipmentTypeRequirement) |
Belirli türdeki gönderilerin aynı araçla teslim edilmesini 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 kuruluşunun bünyesinde) |
allowedVehicleIndices[] |
tam sayı dizisi | Bu gönderimi gerçekleştirmesine izin verilen araçların endeksleri. |
costsPerVehicle[] |
map (anahtar: tam sayı, değer: sayı) | Belirli bir araç bu gönderime hizmet veriyorsa ortaya çıkan ek maliyetler. | |
costsPerVehicleIndices[] |
tam sayı dizisi | costsPerVehicle değerlerinin geçerli olduğu araçların indeksleri. |
|
deliveries[] |
nesne dizisi (VisitRequest) |
Gönderiyi teslim etme alternatifleri. | |
ignore |
boolean (true/false) |
true ise gönderim yoksayılır ve optimizasyonda kullanılmaz. |
|
label |
dize | Kargoyu tanımlamak için kullanıcı tanımlı etiket. Yanıtta döndürülür. | |
loadDemands |
map (key: string, value: Load) |
Bu kargoyu taşımak için gereken kapasite (ör. ağırlık, hacim). | |
penaltyCost |
sayı | Gönderime hizmet verilmemesi durumunda maliyet. Ayarlanmamışsa kargo zorunludur. | |
pickups[] |
nesne dizisi (VisitRequest) |
Gönderiyi teslim alma alternatifleri. | |
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 | Alımın başlangıcından teslimatın başlangıcına kadar izin verilen maksimum süre. | |
shipmentType |
dize | Uyumsuzluk ve koşul kuralları için kullanılan tür sınıflandırması. | |
VisitRequest( Shipment bölgesindeki pickups ve deliveries kuruluşlarının bir bileşeni) |
arrivalLocation |
nesne (LatLng) |
Enlem/boylam koordinatları olarak coğrafi varış konumu. |
arrivalWaypoint |
nesne (Waypoint) |
Ziyaret için aracın geldiği konum. Koordinatlar veya yer kimliği ile tanımlanır. | |
cost |
sayı | Bu ziyaret isteği, sorunu çözen kullanıcı tarafından seçilirse ortaya çıkan maliyet. | |
departureLocation |
nesne (LatLng) |
Kalkış yerinin enlem/boylam koordinatları. | |
departureWaypoint |
nesne (Waypoint) |
Ziyaret tamamlandıktan sonra aracın 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 ne kadar sürer? | |
label |
dize | Bu ziyaret isteği için kullanıcı tanımlı etiket, yanıtta döndürülür. | |
loadDemands |
map (key: string, value: Load) |
Bu ziyarette yük değişikliğinin belirtilmesi gerekir (ör. -1 to drop off a package). | |
tags[] |
dize dizisi | Bu ziyaret isteğine eklenen etiketler. Bu değerler, transitionAttributes kullanılarak bu ziyaret ile diğerleri 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. "delivery", "installation"). Araç modelinden extraVisitDurationForVisitType uygulamak için kullanılır. |
|
Vehicle( ShipmentModel kuruluşunun bünyesinde) |
breakRule |
nesne (BreakRule) |
Molalarla ilgili kuralları (ör. zorunlu öğle yemeği molası) tanımlar. |
costPerHour |
sayı | Toplam rota süresinin saatlik maliyeti. | |
costPerKilometer |
sayı | Kilometre başına maliyet. | |
costPerTraveledHour |
sayı | Araç hareket halindeyken saatlik 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ına izin verilen süreler. | |
endWaypoint |
nesne (Waypoint) |
Ara nokta (koordinatlar veya yer kimliği) kullanılarak coğrafi bitiş konumu. | |
extraVisitDurationForVisitType |
map (key: string, value: Duration) | Ziyaretlerin visitType değerine göre ziyaretlere ek süre ekler. |
|
fixedCost |
sayı | Aracın kullanılması durumunda, rotanın mesafesi veya süresinden bağımsız olarak uygulanan sabit maliyet. | |
ignore |
boolean (true/false) |
true ise araç yoksayılır ve optimizasyonda kullanılmaz. |
|
label |
dize | Yanıtla birlikte döndürülen, araç için kullanıcı tanımlı etiket. | |
loadLimits |
map (key: string, value: LoadLimit) |
Araç kapasiteleri (ör. maksimum ağırlık, maksimum hacim) | |
routeDistanceLimit |
nesne (DistanceLimit) |
Aracın rotasının toplam mesafesiyle ilgili kesin veya esnek bir sınır. | |
routeDurationLimit |
nesne (DurationLimit) |
Aracın rotasının toplam süresiyle ilgili kesin veya esnek bir sınır. | |
routeModifiers |
nesne (RouteModifiers) |
Ücretli geçişleri, otoyolları veya feribotları kullanmaktan kaçınma 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ına izin verilen zaman aralıkları. | |
startWaypoint |
nesne (Waypoint) |
Ara nokta (koordinatlar veya yer kimliği) kullanılarak belirlenen coğrafi başlangıç konumu. | |
travelDurationLimit |
nesne (DurationLimit) |
Aracın toplam seyahat süresine (bekleme/servis süresi hariç) ilişkin kesin veya esnek bir sınır. | |
travelDurationMultiple |
sayı | Seyahat sürelerine uygulanan çarpan (ör. 1,5, seyahati% 50 yavaşlatır). | |
travelMode |
enum (TravelMode) |
Ulaşım şekli (ö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 |
boolean (true/false) |
true ise araç, gönderim yapılmasa bile kullanılmış olarak kabul edilir. Sabit maliyetlere sahiptir ve başlangıç ile bitiş konumları arasında seyahat eder. |
Yanıt metni
Yanıt gövdesinde aşağıdaki öğeler bulunur. Bu öğeler sağdaki diyagramda gösterilmiş ve aşağıdaki tabloda listelenmiştir:
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 yolu.Visit: Teslim alma veya teslimat için bir rotadaki durak.Transition: İki rota durağı arasındaki seyahat yolu ve süresi.AggregatedMetrics: Süre, mesafe ve diğer metriklerin toplamları. 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üme ait 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. Bu alan, solvingMode değeri VALIDATE_ONLY olarak ayarlanmışsa veya çözüm sırasında hatalar oluşmuşsa doldurulur. |
|
Metrics( OptimizeToursResponse kuruluşunun bünyesinde) |
aggregatedRouteMetrics |
nesne (AggregatedMetrics) |
Tüm rotalardaki toplam seyahat mesafesi, toplam süre ve bekleme süreleri gibi toplu istatistikler. |
costs |
map (key: string, value: number) | 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ındaki en son bitiş zamanı. | |
skippedMandatoryShipmentCount |
tam sayı | Atlanan zorunlu gönderimlerin sayısı. | |
totalCost |
sayı | Tüm rota maliyetleri ve atlanan gönderi cezaları toplanarak çözümün toplam maliyeti hesaplanır. | |
usedVehicleCount |
tam sayı | Çözümde kullanılan araç sayısı. | |
AggregatedMetrics( Metrics ve ShipmentRoute kuruluşlarının bir parçası) |
breakDuration |
Süre | Tüm rotalarda verilen molaların toplam süresi. |
costs |
map (key: string, value: number) | 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ındaki en son bitiş zamanı. | |
maxLoads |
map (key: string, value: VehicleLoad) |
Çözümün herhangi bir noktasında 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 gönderi sayısı. | |
skippedMandatoryShipmentCount |
tam sayı | Atlanan zorunlu gönderimlerin sayısı. | |
totalCost |
sayı | Tüm rota maliyetleri ve atlanan gönderi cezaları toplanarak çözümün toplam maliyeti hesaplanır. | |
totalDuration |
Süre | Tüm rotaların toplam süresi (seyahat + bekleme + gecikme + mola + ziyaret). | |
travelDistanceMeters |
sayı | Tüm rotalarda katedilen toplam mesafe (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 ziyaret gerçekleştirme (yükleme/boşaltma) sırasında harcanan toplam süre. | |
waitDuration |
Süre | Tüm rotalardaki toplam bekleme süresi. | |
ShipmentRoute( OptimizeToursResponse kuruluşunun bünyesinde) |
breaks[] |
nesne dizisi (Break) |
Araçla rota boyunca verilen molaların listesi. |
hasTrafficInfeasibilities |
boolean (true/false) |
Rotada trafikle ilgili bir sorun olup olmadığını gösterir. | |
metrics |
nesne (AggregatedMetrics) |
Katedilen toplam mesafe ve süre gibi bu rotaya özgü metrikler. | |
routeCosts |
map (key: string, value: number) | Bu rota için maliyet dökümü. Anahtarlar maliyet türleridir (ör. "saatlik_maliyet") ve değerler tutarlardır. | |
routePolyline |
nesne (EncodedPolyline) |
Rotanın coğrafi olarak tam yolunu temsil eden kodlanmış çoklu çizgi. | |
routeTotalCost |
sayı | Rotanın toplam maliyeti, routeCosts haritasındaki tüm maliyetlerin toplamı. |
|
transitions[] |
nesne dizisi (Transition) |
Ziyaretleri birbirine bağlayan, sıralı bir geçişler (seyahat ayakları) listesi. | |
vehicleEndTime |
Zaman damgası | Aracın rotasını tamamladığı saat. | |
vehicleIndex |
tam sayı | Bu rotayı gerçekleştiren kaynak ShipmentModel içindeki aracın dizini. |
|
vehicleLabel |
dize | İstek modelinden kopyalanan, araçla ilgili kullanıcı tanımlı etiket. | |
vehicleStartTime |
Zaman damgası | Aracın rotasına başladığı zaman. | |
visits[] |
nesne dizisi (Visit) |
Bu rota üzerinde araç tarafından gerçekleştirilen ziyaretlerin (teslim alma ve teslimat) sıralı dizisi. | |
Visit( ShipmentRoute kuruluşunun bünyesinde) |
detour |
Süre | Bu ziyaretin, önceki ve sonraki ziyaretler arasındaki doğrudan yola kıyasla neden olduğu ek sapma süresi. |
isPickup |
boolean (true/false) |
Bu özellik true değerine ayarlanmışsa bu ziyaret bir teslim alma işlemidir. Yanlışsa teslimattır. |
|
loadDemands |
map (key: string, value: 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 | Kargonun etiketi, ShipmentModel adresinden kopyalanır. |
|
startTime |
Zaman damgası | Ziyaretin başlamasının planlandığı saat. | |
visitLabel |
dize | Ziyaret isteğinin etiketi, modeldeki VisitRequest öğesinden kopyalanır. |
|
visitRequestIndex |
tam sayı | Bu ziyaretin karşılık geldiği, kargonun teslim alma veya teslimat listesindeki VisitRequest dizini. |
|
Transition( ShipmentRoute kuruluşunun bünyesinde) |
breakDuration |
Süre | Bu geçiş sırasında verilen araların süresi. |
delayDuration |
Süre | Bu geçiş sırasında oluşan gecikmenin süresi (ör. erken gelip zaman aralığını beklemek). | |
routePolyline |
nesne (EncodedPolyline) |
Bu belirli geçişin yolunu temsil eden kodlanmış çoklu çizgi. | |
routeToken |
dize | Rotayı izleme sırasında rotayı yeniden oluşturmak için Google Navigation SDK'ya iletilebilen opak bir jeton. | |
startTime |
Zaman damgası | Bu geçişin başlangıç zamanı. | |
totalDuration |
Süre | Seyahat, bekleme, molalar ve gecikmeler dahil olmak üzere geçişin toplam süresi. | |
trafficInfoUnavailable |
boolean (true/false) |
true ise bu geçiş için trafik verilerinin kullanılamadığını gösterir. |
|
travelDistanceMeters |
sayı | Bu geçiş sırasında katedilen mesafe (metre cinsinden). | |
travelDuration |
Süre | Bu geçiş sırasında seyahatin süresi. | |
vehicleLoads |
map (key: string, value: VehicleLoad) |
Bu geçiş sırasında araç tarafından taşınan yük, yük türüne göre anahtarlanır (ör. "weight"). | |
waitDuration |
Süre | Bir sonraki ziyaretin başlamasından önce bekleme süresi. |