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ı, kolayca bulunabilmesi için yalnızca üst düzey nesneleri ve ana parametreleri listeler ve kısaca açıklar. 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önderileri, 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 teslimatla ilgili konum ve kısıtlamalar.
Vehicle: Gönderim yapmak için kullanılabilen bir araç.
| Ebeveyn | Parametre | Tesis türü | Açıklama |
|---|---|---|---|
OptimizeToursRequest |
allowLargeDeadlineDespiteInterruptionRisk |
boolean (true/false) |
true ise zaman aşımı, olası sunucu kesintisi 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) |
Optimizasyona başlamak 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ı gerektiğini ve hangilerinin gevşetilebileceğini belirtir. | |
interpretInjectedSolutionsUsingLabels |
boolean (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 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ğrulayın. |
|
timeout |
Süre | Çözücünün çalışması gereken maksimum süre (ör. "30sn", "300sn"). | |
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 bir parçası) |
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 bir parçası) |
allowedVehicleIndices[] |
tam sayı dizisi | Bu gönderimi gerçekleştirmesine izin verilen araçların indeksleri. |
costsPerVehicle[] |
map (key: integer, value: number) | 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 endeksleri. |
|
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 gönderimi taşımak için gereken kapasite (ör. ağırlık, hacim). | |
penaltyCost |
sayı | Gönderi hizmete sunulmuyorsa maliyet. Ayarlanmamışsa kargo zorunludur. | |
pickups[] |
nesne dizisi (VisitRequest) |
Kargoyu 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 en fazla doğrudan seyahat süresinin 2 katı olabileceği anlamına gelir). | |
pickupToDeliveryTimeLimit |
Süre | Alım başlangıcından teslimat 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'deki pickups ve deliveries'ü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 belirli ziyaret isteği, çözümleyici tarafından seçilirse ortaya çıkan maliyet. | |
departureLocation |
nesne (LatLng) |
Kalkışın gerçekleştiği coğrafi konum, enlem/boylam koordinatları olarak. | |
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 belirtilmesini gerektirir (ör. paket bırakmak için -1). | |
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. "teslimat", "kurulum"). Araç modelinden extraVisitDurationForVisitType uygulamak için kullanılır. |
|
Vehicle( ShipmentModel kuruluşunun bir parçası) |
breakRule |
nesne (BreakRule) |
Molalarla (ör. zorunlu öğle yemeği molası) ilgili kuralları tanımlar. |
costPerHour |
sayı | Toplam rota süresinin saat başına maliyeti. | |
costPerKilometer |
sayı | Kat edilen 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üre. | |
endWaypoint |
nesne (Waypoint) |
Ara nokta (koordinatlar veya yer kimliği) kullanılarak belirlenen coğrafi bitiş konumu. | |
extraVisitDurationForVisitType |
map (key: string, value: Duration) | Ziyaretlere, visitType değerlerine göre ek süre ekler. |
|
fixedCost |
sayı | Aracın kullanılması durumunda, rotanın mesafesi veya süresi ne olursa olsun 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) |
Bir 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 hareket eder. |
Yanıt metni
Yanıt gövdesinde, sağdaki diyagramda gösterilen ve aşağıdaki tabloda listelenen şu öğeler bulunur:
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 VALIDATE_ONLY olarak ayarlanmışsa veya çözümleme sırasında hatalar oluştuysa doldurulur. |
|
Metrics( OptimizeToursResponse kuruluşunun bir parçası) |
aggregatedRouteMetrics |
nesne (AggregatedMetrics) |
Toplam seyahat mesafesi, toplam süre ve bekleme süreleri gibi tüm rotalardaki toplu istatistikler. |
costs |
map (key: string, value: number) | Maliyetlerin türe göre dağılı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 dağılı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 bir parçası) |
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"), değerler ise 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ığı zaman. | |
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 bir parçası) |
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 cihazından 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 bir parçası) |
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 seyahat 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. "ağırlık"). | |
waitDuration |
Süre | Bir sonraki ziyaretin başlamasından önce bekleme süresi. |