- JSON gösterimi
- Gönderim
- VisitRequest
- LatLng
- Ara nokta
- Konum
- TimeWindow
- Araç
- TravelMode
- RouteModifiers
- VehicleInfo
- TrailerInfo
- HazardousGoodsType
- UnloadingPolicy
- LoadLimit
- Aralık
- DurationLimit
- DistanceLimit
- BreakRule
- BreakRequest
- FrequencyConstraint
- DurationDistanceMatrix
- Satır
- TransitionAttributes
- ShipmentTypeIncompatibility
- IncompatibilityMode
- ShipmentTypeRequirement
- RequirementMode
- PrecedenceRule
Gönderim modeli, bir grup araç tarafından gerçekleştirilmesi gereken bir dizi gönderim içerir ve toplam maliyeti en aza indirir. Bu durumda toplam maliyet, toplamda şu olur:
- araçları yönlendirme maliyeti (toplam süre başına maliyet, seyahat süresi başına maliyet ve tüm araçlar üzerindeki sabit maliyet).
- sorumlu tutulamaz.
- Gönderimlerin dünya genelindeki süresinin maliyeti
| JSON gösterimi |
|---|
{ "shipments": [ { object ( |
| Alanlar | |
|---|---|
shipments[] |
Modelde yapılması gereken gönderim grubu. |
vehicles[] |
Ziyaret yapmak için kullanılabilecek araç grubu. |
globalStartTime |
Modelin genel başlangıç ve bitiş zamanı: Bu aralık dışındaki hiçbir zaman geçerli kabul edilemez. Modelin zaman aralığı bir yıldan kısa olmalıdır.Diğer bir deyişle,
Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
globalEndTime |
Ayarlanmazsa varsayılan olarak 1 Ocak 1971, 00:00:00 UTC (ör. saniye: 31536000, nanosaniye: 0) kullanılır. Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
globalDurationCostPerHour |
Genel planın "küresel süresi", tüm araçların en erken geçerli başlangıç zamanı ile en geç geçerli bitiş zamanı arasındaki farktır. Kullanıcılar, örneğin en kısa sürede iş tamamlama için optimizasyon yapmaya çalışmak üzere bu miktara saat başına bir maliyet atayabilir. Bu maliyet, |
durationDistanceMatrices[] |
Modelde kullanılan süre ve mesafe matrislerini belirtir. Bu alan boşsa Kullanım örnekleri:
|
durationDistanceMatrixSrcTags[] |
Süre ve mesafe matrislerinin kaynaklarını tanımlayan etiketler; Etiketler |
durationDistanceMatrixDstTags[] |
Süre ve mesafe matrislerinin hedeflerini tanımlayan etiketler; Etiketler |
transitionAttributes[] |
Modele geçiş özellikleri eklendi. |
shipmentTypeIncompatibilities[] |
Uyumsuz delivery_types grupları (bkz. |
shipmentTypeRequirements[] |
|
precedenceRules[] |
Modelde uygulanması gereken öncelik kuralları kümesi. |
maxActiveVehicles |
Maksimum etkin araç sayısını kısıtlar. Rotasında en az bir gönderim yapılan araçlar etkindir. Bu, sürücü sayısının araç sayısından az olduğu ve araç filosunun heterojen olduğu durumlarda rota sayısını sınırlamak için kullanılabilir. Ardından optimizasyon, kullanılacak en iyi araç alt kümesini seçer. Tamamen olumlu olmalıdır. |
Gönderim
Tek bir öğenin, teslim alma alanlarından birinden teslimatlarına kadar gönderilmesi. Gönderimin gerçekleştirilmiş olarak kabul edilmesi için benzersiz bir aracın, teslim alma konumlarından birini ziyaret etmesi (ve yedek kapasitelerini buna göre azaltması) ve daha sonra teslimat konumlarından birini ziyaret etmesi (ve yedek kapasitelerini buna göre yeniden artırması) gerekir.
| JSON gösterimi |
|---|
{ "displayName": string, "pickups": [ { object ( |
| Alanlar | |
|---|---|
displayName |
Gönderinin kullanıcı tanımlı görünen adı. En fazla 63 karakter uzunluğunda olabilir ve UTF-8 karakterleri kullanabilir. |
pickups[] |
Kargoyla ilişkili teslim alma alternatifleri grubu. Belirtilmemişse aracın yalnızca teslimatlara karşılık gelen bir konumu ziyaret etmesi gerekir. |
deliveries[] |
Gönderimle ilişkili teslimat alternatifleri grubu. Belirtilmemişse aracın yalnızca teslim alma noktalarına karşılık gelen bir konumu ziyaret etmesi gerekir. |
loadDemands |
Sevkiyatla ilgili gereklilikler (ör. ağırlık, hacim, palet sayısı vb.) Haritadaki anahtarlar, karşılık gelen yükün türünü (tercihen birimleri de içeren) açıklayan tanımlayıcılar olmalıdır. Örneğin: "weight_kg", "volume_gallons", "pallet_count" vb. Belirli bir anahtar haritada görünmüyorsa ilgili yük geçersiz olarak kabul edilir.
|
allowedVehicleIndices[] |
Bu gönderimi gerçekleştirebilecek araç grubu. Boşsa tüm araçlar bu işlemi gerçekleştirebilir. Araçlar, |
costsPerVehicle[] |
Bu gönderim her bir araç tarafından teslim edildiğinde tahakkuk eden maliyeti belirtir. Belirtilmişse:
Bu maliyetler, |
costsPerVehicleIndices[] |
|
pickupToDeliveryAbsoluteDetourLimit |
Alınma noktasından teslimat noktasına giden en kısa yola kıyasla maksimum mutlak ek süreyi belirtir. Belirtilmişse negatif olmamalıdır ve kargo en azından bir teslim alma ve teslimat içermelidir. Örneğin, seçilen teslim alma alternatifinden doğrudan seçilen teslimat alternatifine geçmek için en kısa süre bu olmalıdır. Ardından Aynı gönderimde hem göreli hem de mutlak sınırlar belirtilirse olası her teslim alma/teslimat çifti için daha kısıtlayıcı sınır kullanılır. 2017/10 tarihi itibarıyla, yalnızca seyahat süreleri araçlara bağlı olmadığında rota değişikliği desteklenmektedir. En fazla dokuz kesirli basamak içeren ve " |
pickupToDeliveryTimeLimit |
Bir gönderinin teslim alınma başlangıcından teslimat başlangıcına kadar geçen maksimum süreyi belirtir. Belirtilmişse negatif olmamalıdır ve kargo en azından bir teslim alma ve teslimat içermelidir. Bu, teslim alma ve teslimat için seçilen alternatiflere veya aracın hızına bağlı değildir. Bu, maksimum sapma kısıtlamalarıyla birlikte belirtilebilir; çözüm her iki spesifikasyona da uyar. " |
shipmentType |
Bu gönderim için "tür" belirten boş olmayan dize. Bu özellik, Tek bir ziyaret için belirtilen |
label |
Bu gönderim için bir etiket belirtir. Bu etiket, ilgili |
ignore |
True (doğru) ise bu kargoyu atlayın, ancak Bir gönderimin göz ardı edilmesi, modelde herhangi bir
|
penaltyCost |
Gönderim tamamlanmazsa bu ceza, rotaların toplam maliyetine eklenir. Teslim alma ve teslimat seçeneklerinden biri ziyaret edilirse gönderim tamamlanmış kabul edilir. Maliyet, modeldeki maliyetle ilgili diğer tüm alanlar için kullanılan birim içinde ifade edilebilir ve pozitif olmalıdır. ÖNEMLİ: Bu ceza belirtilmezse sonsuz olarak kabul edilir. Yani gönderim tamamlanmalıdır. |
pickupToDeliveryRelativeDetourLimit |
Teslim alma ile teslimat arasındaki en kısa yola kıyasla maksimum göreli sapma süresini belirtir. Belirtilmişse negatif olmamalıdır ve kargo en azından bir teslim alma ve teslimat içermelidir. Örneğin, seçilen teslim alma alternatifinden doğrudan seçilen teslimat alternatifine geçmek için en kısa süre bu olmalıdır. Ardından Aynı gönderimde hem göreli hem de mutlak sınırlar belirtilirse olası her teslim alma/teslimat çifti için daha kısıtlayıcı sınır kullanılır. 10/2017 itibarıyla, yalnızca seyahat süreleri araçlara bağlı olmadığında dolambaçlar desteklenir. |
VisitRequest
Araç tarafından yapılabilecek bir ziyaret isteği: Aracın coğrafi konumu (veya iki tanesi aşağıya bakın), zaman aralıklarıyla gösterilen açılış ve kapanış zamanları ve hizmet süresi (ürünlerin teslim alınması veya teslim edilmesi için vardığı araç tarafından harcanan süre) belirtilmelidir.
| JSON gösterimi |
|---|
{ "arrivalLocation": { object ( |
| Alanlar | |
|---|---|
arrivalLocation |
Bu |
arrivalWaypoint |
Bu |
departureLocation |
Bu |
departureWaypoint |
Bu |
tags[] |
Ziyaret isteğine eklenen etiketleri belirtir. Boş veya yinelenen dizelere izin verilmez. |
timeWindows[] |
Ziyaret sırasında varış saatini kısıtlayan zaman aralıkları. Araç, varış saati aralığının dışında kalkabilir. Diğer bir ifadeyle, varış saatinin ve sürenin bir zaman aralığı içinde olması gerekmez. Araç
Zaman aralıkları birbirinden bağımsız olmalıdır. Yani, zaman aralıkları başka bir zaman aralığıyla çakışmamalı veya bitişik olmamalıdır ve artan sırada olmalıdır.
|
duration |
Ziyaretin süresi, yani aracın varış ile ayrılış arasında geçirdiği süre (olası bekleme süresine eklenir; " |
cost |
Araç rotasında bu ziyaret isteğini işleme alma maliyeti. Bu değer, bir gönderinin her alternatif teslim alma veya teslimat seçeneği için farklı maliyetler ödemek amacıyla kullanılabilir. Bu maliyet, |
loadDemands |
Bu ziyaret isteğinin isteklerini yükleyin. Bu,
|
visitTypes[] |
Ziyaretin türlerini belirtir. Bu, bir aracın bu ziyareti tamamlaması için gereken ek süreyi tahsis etmek amacıyla kullanılabilir ( Bir tür yalnızca bir kez görünebilir. |
label |
Bu |
LatLng
Bir enlem/boylam çiftini temsil eden nesne. Bu değer, enlem derecelerini ve boylam derecelerini temsil eden bir çift çift olarak ifade edilir. Aksi belirtilmediği sürece bu nesne WGS84 standardına uygun olmalıdır. Değerler normalleştirilmiş aralıklar içinde olmalıdır.
| JSON gösterimi |
|---|
{ "latitude": number, "longitude": number } |
| Alanlar | |
|---|---|
latitude |
Derece cinsinden enlem. [-90,0, +90,0] aralığında olmalıdır. |
longitude |
Derece cinsinden boylam. [-180,0; +180,0] aralığında olmalıdır. |
Ara nokta
Bir referans noktasını içerir. Ara noktalar, ziyaret isteklerinin varış ve kalkış konumlarını ve araçların başlangıç ve bitiş konumlarını işaretler.
| JSON gösterimi |
|---|
{ "sideOfRoad": boolean, // Union field |
| Alanlar | |
|---|---|
sideOfRoad |
İsteğe bağlı. Bu ara noktanın konumunun, aracın yolun belirli bir tarafında durmasına yönelik bir tercih olduğunu belirtir. Bu değeri ayarladığınızda rota, konumdan geçer. Böylece araç, konumun merkezine göre ağırlık verdiği yol kenarında durabilir. Bu seçenek "HAYIR" ulaşım modunda kullanılamaz. |
Birleştirme alanı location_type. Bir konumu temsil etmenin farklı yolları. location_type şunlardan yalnızca biri olabilir: |
|
location |
İsteğe bağlı bir başlık da dahil olmak üzere, coğrafi koordinatlar kullanılarak belirtilen bir nokta. |
placeId |
Referans noktasıyla ilişkilendirilen ÖY yer kimliği. |
Konum
Bir konumu (coğrafi nokta ve isteğe bağlı bir başlık) kapsar.
| JSON gösterimi |
|---|
{
"latLng": {
object ( |
| Alanlar | |
|---|---|
latLng |
Yol noktasının coğrafi koordinatları. |
heading |
Trafik akışının yönüyle ilişkili pusula istikameti. Bu değer, teslim alma ve bırakma için kullanılacak yolun kenarını belirtmek için kullanılır. Başlık değerleri 0 ile 360 arasında olabilir. 0 değeri Kuzey yönüne, 90 ise teslim edilecek Doğu başlığını vb. belirtir. |
TimeWindow
Zaman aralıkları, ziyaretin varış saati veya bir aracın başlangıç ve bitiş zamanı gibi bir etkinliğin zamanını kısıtlar.
startTime ve endTime sabit zaman aralığı sınırları, etkinliğin en erken ve en geç zamanını (startTime <= event_time <=
endTime) uygular. Yumuşak zaman aralığı alt sınırı softStartTime, etkinliğin softStartTime'dan ne kadar süre önce gerçekleştiğiyle orantılı bir maliyete neden olarak etkinliğin softStartTime'te veya sonrasında gerçekleşmesi tercihini ifade eder. Yumuşak zaman aralığı üst sınırı softEndTime, etkinliğin softEndTime'ten ne kadar süre sonra gerçekleştiğiyle orantılı bir maliyete neden olarak etkinliğin softEndTime'te veya öncesinde gerçekleşmesini tercih ettiğinizi ifade eder. startTime, endTime, softStartTime ve softEndTime, genel zaman sınırları (bkz. ShipmentModel.global_start_time ve ShipmentModel.global_end_time) içinde olmalı ve şunları karşılamalıdır:
0 <= `startTime` <= `softStartTime` <= `endTime` and
0 <= `startTime` <= `softEndTime` <= `endTime`.
| JSON gösterimi |
|---|
{ "startTime": string, "endTime": string, "softStartTime": string, "softEndTime": string, "costPerHourBeforeSoftStartTime": number, "costPerHourAfterSoftEndTime": number } |
| Alanlar | |
|---|---|
startTime |
Zorunlu zaman aralığının başlangıç zamanı. Belirtilmemesi durumunda RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip bir zaman damgası. Örnekler: |
endTime |
Sabit zaman aralığının bitiş zamanı. Belirtilmemişse Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
softStartTime |
Zaman aralığının yumuşak başlangıç zamanı. Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
softEndTime |
Zaman aralığının geçici bitiş zamanı. Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
costPerHourBeforeSoftStartTime |
Etkinlik, softStartTime'dan önce gerçekleşirse modeldeki diğer maliyetlere eklenen saat başına maliyet. Şu şekilde hesaplanır: Bu maliyet pozitif olmalıdır ve alan yalnızca softStartTime ayarlanmışsa ayarlanabilir. |
costPerHourAfterSoftEndTime |
Etkinlik Bu maliyet pozitif olmalıdır ve alan yalnızca |
Araç
Gönderim sorunu olan bir aracı modelleme. Gönderim sorunu çözüldüğünde bu araç için startLocation ile başlayıp endLocation itibarıyla biten bir rota oluşturulur. Rota, ziyaretlerden oluşan bir sıradır (ShipmentRoute bölümüne bakın).
| JSON gösterimi |
|---|
{ "displayName": string, "travelMode": enum ( |
| Alanlar | |
|---|---|
displayName |
Aracın kullanıcı tanımlı görünen adı. 63 karaktere kadar uzun olabilir ve UTF-8 karakterleri içerebilir. |
travelMode |
Aracın kullanabileceği yolları ve hızını etkileyen ulaşım şekli. Ayrıca |
routeModifiers |
Belirli bir araç için rotaların hesaplanma yöntemini etkileyen, karşılanacak bir dizi koşul. |
startLocation |
Araç, kargoyu teslim almaya başlamadan önce hangi coğrafi konumdadır? Belirtilmezse araç ilk teslim alındığında başlar. Gönderim modelinin süre ve mesafe matrisleri varsa |
startWaypoint |
Aracın herhangi bir kargoyu teslim almadan önce başladığı coğrafi konumu temsil eden yol noktası. |
endLocation |
Aracın son |
endWaypoint |
Aracın son |
startTags[] |
Aracın rotasının başına eklenen etiketleri belirtir. Boş veya yinelenen dizelere izin verilmez. |
endTags[] |
Aracın rotasının sonuna eklenen etiketleri belirtir. Boş veya yinelenen dizelere izin verilmez. |
startTimeWindows[] |
Aracın başlangıç konumundan ayrılabileceği zaman aralıkları. Bu değerler, genel zaman sınırları içinde olmalıdır ( Aynı tekrarlanan alana ait zaman aralıkları birbirinden ayrı olmalıdır. Yani hiçbir zaman aralığı başka bir zaman aralığıyla çakışamaz veya başka bir zaman aralığına bitişik olamaz. Ayrıca zaman aralıkları kronolojik sırayla olmalıdır.
|
endTimeWindows[] |
Aracın bitiş konumuna ulaşabileceği zaman aralıkları. Genel zaman sınırları dahilinde olmalıdırlar ( Aynı tekrarlanan alana ait zaman aralıkları birbirinden ayrı olmalıdır. Yani hiçbir zaman aralığı başka bir zaman aralığıyla çakışamaz veya başka bir zaman aralığına bitişik olamaz. Ayrıca zaman aralıkları kronolojik sırayla olmalıdır.
|
unloadingPolicy |
Araçta uygulanan kaldırma politikası. |
loadLimits |
Aracın kapasiteleri (ör. ağırlık, hacim, palet sayısı). Haritadaki anahtarlar,
|
costPerHour |
Araç maliyetleri: Tüm maliyetler toplanır ve Araç rotasının saatlik maliyeti. Bu maliyet, rotanın toplam süresine uygulanır ve seyahat süresi, bekleme süresi ve ziyaret süresini içerir. Yalnızca |
costPerTraveledHour |
Araç rotasının kat edilen her saati başına maliyet. Bu maliyet, yalnızca rotanın aldığı seyahat süresine ( |
costPerKilometer |
Araç rotasının kilometre başına maliyeti. Bu maliyet, |
fixedCost |
Bu araç bir gönderimi yönetmek için kullanılıyorsa sabit maliyet uygulanır. |
usedIfRouteIsEmpty |
Bu alan, yalnızca rotalarında herhangi bir sevkiyat hizmeti sunulmayan araçlar için geçerlidir. Bu durumda aracın kullanılmış olarak kabul edilip edilmeyeceğini belirtir. Doğru ise araç, herhangi bir gönderi sunmasa bile başlangıç konumundan bitiş konumuna gider ve başlangıç ile bitiş arasındaki seyahat nedeniyle oluşan zaman ve mesafe maliyetleri dikkate alınır. Aksi takdirde, başlangıç konumundan bitiş konumuna gitmez ve bu araç için |
routeDurationLimit |
Sınır, aracın rotasının toplam süresine uygulanır. Belirli bir |
travelDurationLimit |
Aracın rotasının seyahat süresine uygulanan sınır. Belirli bir |
routeDistanceLimit |
Aracın rotasının toplam mesafesine uygulanan sınır. Belirli bir |
extraVisitDurationForVisitType |
VisitTypes dizelerinden sürelere kadar olan bir haritayı belirtir. Süre, belirtilen Bir ziyaret isteği birden fazla türdeyse haritaya her tür için bir süre eklenir.
|
breakRule |
Bu araçta uygulanacak ara programını açıklar. Boş bırakılırsa bu araç için ara verme planlanmaz. |
label |
Bu araç için bir etiket belirtir. Bu etiket, yanıtta ilgili |
ignore |
Değer true ise Bir gönderim
|
travelDurationMultiple |
Bu aracın seyahat sürelerini artırmak veya azaltmak için kullanılabilecek çarpma faktörünü belirtir. Örneğin, bu değeri 2,0 olarak ayarlamak, bu aracın daha yavaş olduğu ve seyahat sürelerinin standart araçlara kıyasla iki kat daha uzun olduğu anlamına gelir. Bu katsayı, ziyaret sürelerini etkilemez. UYARI: Seyahat süreleri, bu çarpan uygulandıktan sonra ancak herhangi bir sayısal işlem yapılmadan önce en yakın saniyeye yuvarlanır. Bu nedenle, küçük bir çarpan hassasiyet kaybına neden olabilir. Aşağıdaki |
TravelMode
Araçlar tarafından kullanılabilen ulaşım şekilleri.
Bunlar, Google Haritalar Platformu Routes Preferred API seyahat modlarının bir alt kümesi olmalıdır. Şu adrese göz atın: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode.
| Sıralamalar | |
|---|---|
TRAVEL_MODE_UNSPECIFIED |
Belirtilmemiş ulaşım şekli, DRIVING ile eşdeğerdir. |
DRIVING |
Arabayla yol tariflerine karşılık gelen ulaşım şekli (araba, ...). |
WALKING |
Yürüyüş yol tariflerine karşılık gelen ulaşım şekli. |
TRUCK |
Kamyonla seyahat edin. Bu modda fiziksel ve yasal kısıtlamalar geçerli olur. |
RouteModifiers
Araç rotaları hesaplanırken uyulması gereken bir dizi isteğe bağlı koşulu içerir. Bu, Google Haritalar Platformu Routes Preferred API'sindeki RouteModifiers uygulamasına benzer. Şu adrese bakın: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteModifiers.
| JSON gösterimi |
|---|
{
"vehicleInfo": {
object ( |
| Alanlar | |
|---|---|
vehicleInfo |
Araç bilgilerini belirtir. |
VehicleInfo
Kamyon bilgileri gibi araç bilgilerini kapsar.
| JSON gösterimi |
|---|
{ "totalAxleCount": integer, "totalHeightMm": string, "totalLengthMm": string, "totalWidthMm": string, "totalWeightKg": string, "trailerInfo": [ { object ( |
| Alanlar | |
|---|---|
totalAxleCount |
Toplam dingil sayısı. 2'den büyük olmalıdır. Tetiklenmesi için kamyon veya römork olarak ayarlanmalıdır. Yalnızca |
totalHeightMm |
Takılı römorkların yükseklikleri de dahil olmak üzere aracın yüksekliği. Tetiklenmesi için kamyon veya römork olarak ayarlanmalıdır. Yalnızca |
totalLengthMm |
Takılı römorkların uzunlukları da dahil olmak üzere aracın uzunluğu. Kamyon taşıma veya fragmanların tetiklenmesi için ayarlanmalıdır. Yalnızca |
totalWidthMm |
Araca bağlı tüm römorkların genişlikleri dahil olmak üzere aracın genişliği. Tetiklenmesi için kamyon veya römork olarak ayarlanmalıdır. Yalnızca |
totalWeightKg |
Takılı römorkların ağırlıkları dahil olmak üzere aracın ağırlığı. Bu bağlamda ağırlık, ağırlık derecelendirmesini değil, gerçek ağırlığı ifade eder. Kamyon taşıma veya fragmanların tetiklenmesi için ayarlanmalıdır. Yalnızca |
trailerInfo[] |
Yalnızca |
hazardousGoodsTypes[] |
Araçta taşınan tehlikeli maddelerin listesi (varsa). |
TrailerInfo
Araca bağlı römorklarla ilgili bilgiler. Kamyon taşımacılığı için tüm treylerlerin uzunlukları sağlanmalıdır. Toplam özellik sayısı, tüm treylerlerin özelliklerini içermelidir. Örneğin, totalHeightMm her zaman trailerInfo.height_mm'ten büyük veya eşit olmalıdır.
| JSON gösterimi |
|---|
{ "lengthMm": string } |
| Alanlar | |
|---|---|
lengthMm |
Fragmanın uzunluğu |
HazardousGoodsType
Farklı tehlikeli madde türleri.
| Sıralamalar | |
|---|---|
HAZARDOUS_GOODS_TYPE_UNSPECIFIED |
Tehlikeli maddeler türü belirtilmedi. |
EXPLOSIVES |
Patlayıcı ürünler. |
GASES |
Gazlar. |
FLAMMABLE |
Yanıcı ürünler. |
COMBUSTIBLE |
Yanıcı ürünler. |
ORGANIC |
Organik ürünler. |
POISON |
Zehirli ürünler. |
RADIOACTIVE |
Radyoaktif ürünler. |
CORROSIVE |
Aşındırıcı ürünler. |
ASPIRATION_HAZARD |
Tehlikeli maddelerin solunması |
ENVIRONMENTAL_HAZARD |
Çevre için tehlikeli maddeler. |
OTHER |
Diğer ürün türleri. |
UnloadingPolicy
Araçların nasıl indirilebileceğiyle ilgili politika. Yalnızca hem teslim alma hem de teslimat seçeneği bulunan gönderiler için geçerlidir.
Diğer gönderimler, unloadingPolicy'ten bağımsız olarak rotanın herhangi bir yerinde yapılabilir.
| Sıralamalar | |
|---|---|
UNLOADING_POLICY_UNSPECIFIED |
Belirtilmemiş boşaltma politikası; teslimatlar, ilgili teslim alma işlemlerinden hemen sonra yapılmalıdır. |
LAST_IN_FIRST_OUT |
Teslimatlar, teslim alma sırası tersten yapılmalıdır |
FIRST_IN_FIRST_OUT |
Teslimatlar, teslim alma siparişleriyle aynı sırayla yapılmalıdır |
LoadLimit
Araç için geçerli olan yük sınırını tanımlar (ör. "bu kamyon en fazla 3500 kg taşıyabilir"). Şu sayfaya göz atın: loadLimits.
| JSON gösterimi |
|---|
{ "softMaxLoad": string, "costPerUnitAboveSoftMax": number, "startLoadInterval": { object ( |
| Alanlar | |
|---|---|
softMaxLoad |
Düşük bir yük sınırı. Şu sayfaya göz atın: |
costPerUnitAboveSoftMax |
Yük, bu aracın rotasında |
startLoadInterval |
Rotanın başlangıcında aracın kabul edilebilir yük aralığı. |
endLoadInterval |
Rotanın sonundaki aracın kabul edilebilir yük aralığı. |
maxLoad |
Kabul edilebilir maksimum yük miktarı. |
Aralık
Kabul edilebilir yükleme miktarlarının aralığı.
| JSON gösterimi |
|---|
{ "min": string, "max": string } |
| Alanlar | |
|---|---|
min |
Minimum kabul edilebilir yük. ≥ 0 olmalıdır. Her ikisi de belirtilmişse |
max |
Kabul edilebilir maksimum yük. ≥ 0 olmalıdır. Belirtilmemişse maksimum yük bu mesaj tarafından kısıtlanmaz. Her ikisi de belirtilmişse |
DurationLimit
Bir aracın rotanın maksimum süresini tanımlayan sınır. Sert veya yumuşak olabilir.
Yumuşak sınır alanı tanımlanırken hem yumuşak maksimum eşik hem de ilişkili maliyet birlikte tanımlanmalıdır.
| JSON gösterimi |
|---|
{ "maxDuration": string, "softMaxDuration": string, "quadraticSoftMaxDuration": string, "costPerHourAfterSoftMax": number, "costPerSquareHourAfterQuadraticSoftMax": number } |
| Alanlar | |
|---|---|
maxDuration |
Süreyi en fazla maxDuration olacak şekilde sınırlayan kesin bir sınır. " |
softMaxDuration |
Maksimum süre sınırı uygulanmayan, ancak ihlal edildiğinde rotanın ücretlendirilen bir sınırı olan sabit bir sınır. Bu maliyet, modelde tanımlanan diğer maliyetlerle (aynı birimde) toplanır. Tanımlanmışsa En fazla dokuz kesirli basamak içeren ve " |
quadraticSoftMaxDuration |
Maksimum süre sınırı uygulanmayan, ancak ihlal edildiğinde rotanın süresiyle ikinci dereceden bir maliyet doğurduğu hafif bir sınır. Bu maliyet, modelde tanımlanan diğer maliyetlerle (aynı birimde) toplanır. Tanımlanmışsa
" |
costPerHourAfterSoftMax |
Maliyet negatif olmamalıdır. |
costPerSquareHourAfterQuadraticSoftMax |
Süre eşik değerinin altındaysa ek maliyet 0'dır. Aksi takdirde maliyet, süreye bağlı olarak aşağıdaki gibidir: Maliyet negatif olmamalıdır. |
DistanceLimit
Seyahat edilebilecek maksimum mesafeyi tanımlayan bir sınır. Sert veya yumuşak olabilir.
Hafif sınır tanımlanırsa hem softMaxMeters hem de costPerKilometerAboveSoftMax tanımlanmalı ve negatif olmayan bir sayı olmalıdır.
| JSON gösterimi |
|---|
{ "maxMeters": string, "softMaxMeters": string, "costPerKilometerAboveSoftMax": number } |
| Alanlar | |
|---|---|
maxMeters |
Mesafeyi en fazla maxMeters değerine sınırlayan katı bir sınır. Sınır pozitif olmalıdır. |
softMaxMeters |
Maksimum mesafe sınırı uygulamayan ancak ihlal edildiğinde modelde tanımlanan diğer maliyetlerle aynı birimde toplanan bir maliyete neden olan yumuşak sınır. Tanımlanmışsa softMaxMeters'lar, maxMeters'tan küçük olmalı ve negatif olmamalıdır. |
costPerKilometerAboveSoftMax |
Mesafe Maliyet pozitif olmalıdır. |
BreakRule
Bir araç için ara verme zamanları (ör. öğle yemeği araları) oluşturmaya yönelik kurallar. Mola, aracın mevcut konumunda boşta kaldığı ve herhangi bir ziyaret gerçekleştiremediği kesintisiz süredir. Aşağıdaki durumlarda ara verilebilir:
- iki ziyaret arasında seyahat sırasında (ziyaretten hemen önce veya hemen sonra olan süreyi içerir ancak ziyaretin ortasını kapsamaz) ziyaretler arasındaki ilgili geçiş süresini uzatır.
- veya araç çalışmaya başlamadan önce başlar (araç, aranın ortasında başlamayabilir) ve bu durumda aracın başlangıç süresi etkilenmez.
- araç bitiş tarihinden sonra (araç bitiş zamanıyla birlikte).
| JSON gösterimi |
|---|
{ "breakRequests": [ { object ( |
| Alanlar | |
|---|---|
breakRequests[] |
Aralar dizisi. |
frequencyConstraints[] |
Birkaç |
BreakRequest
Her araç için geçerli olan araların sırası (yani sayısı ve sırası) önceden bilinmelidir. Tekrarlanan BreakRequest'ler, bu sırayı gerçekleşmeleri gereken sırayla tanımlar. Zaman aralıkları (earliestStartTime / latestStartTime) çakışmalarına rağmen siparişle uyumlu olmalıdır (bu kontrol edilir).
| JSON gösterimi |
|---|
{ "earliestStartTime": string, "latestStartTime": string, "minDuration": string } |
| Alanlar | |
|---|---|
earliestStartTime |
Zorunlu. Aranın başlangıcındaki alt sınır (dahil). RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip bir zaman damgası. Örnekler: |
latestStartTime |
Zorunlu. Aranın başlangıcındaki üst sınır (dahil). RFC3339 UTC "Zulu" biçiminde, nanosaniye çözünürlüğüne ve en fazla dokuz kesirli basamağa sahip bir zaman damgası. Örnekler: |
minDuration |
Zorunlu. Minimum ara süresi. Pozitif olmalıdır. En fazla dokuz kesirli basamak içeren ve " |
FrequencyConstraint
"12 saatte en az 1 saatlik ara verilmelidir" gibi minimum ara sıklıklarını zorunlu kılarak yukarıda belirtilen araların sıklığını ve süresini daha da kısıtlayabilirsiniz. Bunun "12 saatlik herhangi bir kayan zaman aralığında en az bir saatlik en az bir ara verilmelidir" şeklinde yorumlanabileceği varsayıldığında, bu örnek aşağıdaki FrequencyConstraint ile çevrilir:
{
minBreakDuration { seconds: 3600 } # 1 hour.
maxInterBreakDuration { seconds: 39600 } # 11 hours (12 - 1 = 11).
}
Çözümdeki araların zamanlaması ve süresi, BreakRequest politikasında önceden belirtilen zaman aralıkları ile minimum sürelere ek olarak bu tür kısıtlamalara da uyar.
FrequencyConstraint, pratikte art arda olmayan aralar için geçerli olabilir. Örneğin, aşağıdaki program "Her 12 saatte 1 saat" örneğine uyar:
04:00 vehicle start
.. performing travel and visits ..
09:00 1 hour break
10:00 end of the break
.. performing travel and visits ..
12:00 20-min lunch break
12:20 end of the break
.. performing travel and visits ..
21:00 1 hour break
22:00 end of the break
.. performing travel and visits ..
23:59 vehicle end
| JSON gösterimi |
|---|
{ "minBreakDuration": string, "maxInterBreakDuration": string } |
| Alanlar | |
|---|---|
minBreakDuration |
Zorunlu. Bu kısıtlama için minimum ara süresi. Negatif değil. En fazla dokuz kesirli basamak içeren ve " |
maxInterBreakDuration |
Zorunlu. Rotadaki, en azından kısmen En fazla dokuz kesirli basamak içeren ve " |
DurationDistanceMatrix
Ziyaret ve araç başlangıç konumlarından ziyaret ve araç bitiş konumlarına kadar bir süre ve mesafe matrisi belirtir.
| JSON gösterimi |
|---|
{
"rows": [
{
object ( |
| Alanlar | |
|---|---|
rows[] |
Süre ve mesafe matrisinin satırlarını belirtir. |
vehicleStartTag |
Bu süre ve mesafe matrisinin hangi araçlara uygulandığını tanımlayan etiket. Boşsa bu tüm araçlar için geçerli olur ve yalnızca tek bir matris olabilir. Her araç başlangıcı tam olarak bir matrisle eşleşmelidir. Diğer bir deyişle, Tüm matrislerin farklı bir |
Satır
Süre ve mesafe matrisinin bir satırını belirtir.
| JSON gösterimi |
|---|
{ "durations": [ string ], "meters": [ number ] } |
| Alanlar | |
|---|---|
durations[] |
Belirli bir satırın süre değerleri. En fazla dokuz kesirli basamak içeren ve " |
meters[] |
Belirli bir satırın mesafe değerleri. Modeldeki mesafelere atıfta bulunan hiçbir maliyet veya kısıtlama yoksa bu alan boş bırakılabilir. Aksi takdirde |
TransitionAttributes
Bir rota üzerinde art arda iki ziyaret arasındaki geçişlerin özelliklerini belirtir. Aynı geçiş için birkaç TransitionAttributes geçerli olabilir: Bu durumda, tüm ek maliyetler toplanır ve en katı kısıtlama veya sınır geçerli olur (doğal "VE" anlamının gereği).
| JSON gösterimi |
|---|
{
"srcTag": string,
"excludedSrcTag": string,
"dstTag": string,
"excludedDstTag": string,
"cost": number,
"costPerKilometer": number,
"distanceLimit": {
object ( |
| Alanlar | |
|---|---|
srcTag |
Bu özelliklerin geçerli olduğu (src->dst) geçiş grubunu tanımlayan etiketler. Kaynak ziyareti veya araç başlangıcı, |
excludedSrcTag |
Şu sayfaya göz atın: |
dstTag |
Hedef ziyareti veya araç sonu, |
excludedDstTag |
Şu sayfaya göz atın: |
cost |
Bu geçişin maliyetini belirtir. Bu değer, modeldeki diğer tüm maliyetlerle aynı birimdedir ve negatif olmamalıdır. Diğer tüm mevcut maliyetlerin üzerine uygulanır. |
costPerKilometer |
Bu geçiş sırasında kat edilen mesafeye uygulanan kilometre başına maliyeti belirtir. Araçlarda belirtilen tüm |
distanceLimit |
Bu geçiş gerçekleştirilirken katedilen mesafe için bir sınırı belirtir. 06.06.2021 itibarıyla yalnızca geçici sınırlar desteklenmektedir. |
delay |
Bu geçişi gerçekleştirirken yaşanan gecikmeyi belirtir. Bu gecikme her zaman kaynak ziyareti bittikten sonra ve hedef ziyaretin başlamasından önce gerçekleşir. En fazla dokuz kesirli basamak içeren ve " |
ShipmentTypeIncompatibility
deliveryType'a bağlı olarak, gönderimler arasındaki uyumsuzlukları belirtir. Aynı rotadaki uyumsuz gönderimlerin görünümü, uyumsuzluk moduna göre kısıtlanır.
| JSON gösterimi |
|---|
{
"types": [
string
],
"incompatibilityMode": enum ( |
| Alanlar | |
|---|---|
types[] |
Uyumsuz türlerin listesi. Listelenenler arasından farklı |
incompatibilityMode |
Uyumsuzluğa mod uygulandı. |
IncompatibilityMode
Uyumsuz gönderimlerin aynı rotada nasıl kısıtlanacağını tanımlayan modlar.
| Sıralamalar | |
|---|---|
INCOMPATIBILITY_MODE_UNSPECIFIED |
Belirtilmemiş uyumsuzluk modu. Bu değer hiçbir zaman kullanılmamalıdır. |
NOT_PERFORMED_BY_SAME_VEHICLE |
Bu modda, uyumsuz türlere sahip iki gönderim hiçbir zaman aynı aracı paylaşamaz. |
NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY |
|
ShipmentTypeRequirement
deliveryType'a göre gönderimler arasındaki şartları belirtir. Koşulun ayrıntıları, koşul moduna göre belirlenir.
| JSON gösterimi |
|---|
{
"requiredShipmentTypeAlternatives": [
string
],
"dependentShipmentTypes": [
string
],
"requirementMode": enum ( |
| Alanlar | |
|---|---|
requiredShipmentTypeAlternatives[] |
|
dependentShipmentTypes[] |
NOT: |
requirementMode |
Koşula uygulanan mod. |
RequirementMode
Bir rotadaki bağımlı gönderimlerin görünümünü tanımlayan modlar.
| Sıralamalar | |
|---|---|
REQUIREMENT_MODE_UNSPECIFIED |
Belirtilmemiş koşul modu. Bu değer hiçbir zaman kullanılmamalıdır. |
PERFORMED_BY_SAME_VEHICLE |
Bu modda, tüm "bağımlı" gönderiler, "zorunlu" gönderimlerinden en az biriyle aynı aracı paylaşmalıdır. |
IN_SAME_VEHICLE_AT_PICKUP_TIME |
Bu nedenle, "bağımlı" bir kargonun teslim alınması şunlardan birine sahip olmalıdır:
|
IN_SAME_VEHICLE_AT_DELIVERY_TIME |
"Bağımlı" gönderimlerin teslimatı sırasında araçta "zorunlu" bir gönderim olması dışında öncekiyle aynıdır. |
PrecedenceRule
İki etkinlik arasındaki öncelik kuralı (her etkinlik, bir gönderinin teslim alınması veya teslim edilmesidir): "İkinci" etkinlik, "ilk" etkinlikten en az offsetDuration sonra başlamalıdır.
Birkaç öncelik aynı (veya ilgili) etkinliklere atıfta bulunabilir. Örneğin: "B teslimatı A teslimatından sonra gerçekleşir" ve "C teslimatı B teslimatından sonra gerçekleşir".
Ayrıca, öncelikler yalnızca her iki gönderim de gerçekleştirildiğinde uygulanır ve aksi takdirde göz ardı edilir.
| JSON gösterimi |
|---|
{ "firstIsDelivery": boolean, "secondIsDelivery": boolean, "offsetDuration": string, "firstIndex": integer, "secondIndex": integer } |
| Alanlar | |
|---|---|
firstIsDelivery |
"İlk" etkinliğin yayınlama olup olmadığını belirtir. |
secondIsDelivery |
"İkinci" etkinliğin bir yayınlama olup olmadığını belirtir. |
offsetDuration |
"ilk" ve "ikinci" etkinlik arasındaki ofset. Negatif olabilir. " |
firstIndex |
"İlk" etkinliğin gönderim dizini. Bu alan belirtilmelidir. |
secondIndex |
"İkinci" etkinliğin gönderi dizini. Bu alan belirtilmelidir. |