SkippedShipment

Bir çözümdeki gerçekleştirilmemiş gönderimlerin ayrıntılarını belirtir. Önemsiz durumlarda ve/veya atlamanın nedenini belirleyebiliyorsak nedeni burada bildiririz.

JSON gösterimi
{
  "index": integer,
  "label": string,
  "reasons": [
    {
      object (Reason)
    }
  ],
  "penaltyCost": number,
  "estimatedIncompatibleVehicleRatio": number
}
Alanlar
index

integer

Dizin, kaynak ShipmentModel'teki gönderinin dizinine karşılık gelir.

label

string

Shipment'da belirtilmişse ilgili Shipment.label öğesinin kopyası.

reasons[]

object (Reason)

Gönderimin neden atlandığını açıklayan nedenlerin listesi. Reason numaralı yoruma bakın. Bir gönderimin neden atlandığını anlayamazsak neden ayarlanmaz.

penaltyCost

number

Bu, atlanan bir gönderimin önemini daha kolay görebilmeniz için buraya eklenen Shipment.penalty_cost belgesinin bir kopyasıdır.

Deneysel: Bu alanın davranışı veya varlığı gelecekte değişebilir.

estimatedIncompatibleVehicleRatio

number

Aşağıdaki nedenlerden en az biri nedeniyle bu gönderimi gerçekleştiremeyen araçların tahmini oranı. Not: Bu alan yalnızca nedenler bir araçla ilgili olduğunda doldurulur.

Deneysel: Bu alanın davranışı veya varlığı gelecekte değişebilir.

Neden

Gönderimin neden atlandığını açıklayabildiysek nedenler burada listelenir. Neden tüm araçlar için aynı değilse reason öğesinde birden fazla öğe bulunur. Atlanan gönderimlerde, exampleVehicleIndex hariç tüm alanların aynı olduğu kopya nedenler olamaz. Örnek:

reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 1
  exampleExceededCapacityType: "Apples"
}
reasons {
  code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
  exampleVehicleIndex: 3
  exampleExceededCapacityType: "Pears"
}
reasons {
  code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
  exampleVehicleIndex: 1
}

Atlanan gönderim tüm araçlarla uyumlu değildir. Nedenler tüm araçlar için farklı olabilir ancak en az bir aracın "Elma" kapasitesi aşılmış olur (1. araç dahil), en az bir aracın "Armut" kapasitesi aşılmış olur (3. araç dahil) ve en az bir aracın mesafe sınırı aşılmış olur (1. araç dahil).

JSON gösterimi
{
  "code": enum (Code),
  "exampleVehicleIndices": [
    integer
  ],
  "exampleExceededCapacityType": string,
  "exampleVehicleIndex": integer
}
Alanlar
code

enum (Code)

Kodun yorumlarına bakın.

exampleVehicleIndices[]

integer

Tanımlanmış birden fazla aracın listesi sağlandığı dışında exampleVehicleIndex ile aynıdır. Bu liste tam kapsamlı olmayabilir. Bu değer yalnızca [fill_example_vehicle_indices_in_skipped_reasons][] doğruysa doldurulur.

Deneysel: Bu alanın davranışı veya varlığı gelecekte değişebilir.

exampleExceededCapacityType

string

Neden kodu DEMAND_EXCEEDS_VEHICLE_CAPACITY ise aşılmış bir kapasite türünü gösterir.

exampleVehicleIndex

integer

Neden, gönderim aracıyla ilgili bir uyumsuzlukla ilgiliyse bu alanda ilgili bir aracın dizini sağlanır.

Kod

Neden türünü tanımlayan kod. Buradaki sıra anlamsız. Özellikle, her ikisi de geçerliyse belirli bir nedenin çözümde diğerinden önce görünüp görünmeyeceğine dair hiçbir gösterge vermez.

Sıralamalar
CODE_UNSPECIFIED Bu yöntem hiçbir zaman kullanılmamalıdır.
NO_VEHICLE Modelde, tüm gönderimlerin uygulanamaz hale gelmesine neden olan bir araç yok.
DEMAND_EXCEEDS_VEHICLE_CAPACITY Gönderinin talebi, bir aracın bazı kapasite türleri (bunlardan biri exampleExceededCapacityType) için kapasitesini aşıyor.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT

Bu gönderimi gerçekleştirmek için gereken minimum mesafe (yani aracın startLocation noktasından gönderimin teslim alınma ve/veya teslimat konumlarına ve aracın bitiş konumuna olan mesafe) aracın routeDistanceLimit değerini aşıyor.

Bu hesaplama için jeodezik mesafeleri kullandığımızı unutmayın.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT

Seyahat süresi, bekleme süresi ve servis süresi dahil olmak üzere bu gönderimi gerçekleştirmek için gereken minimum süre, aracın routeDurationLimit değerini aşıyor.

Not: Seyahat süresi, en iyi durum senaryosuna göre hesaplanır. Yani jeodezik mesafe x 36 m/sn (yaklaşık 130 km/sa) olarak hesaplanır.

CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT Yukarıdakiyle aynıdır ancak yalnızca minimum seyahat süresini ve aracın travelDurationLimit değerini karşılaştırırız.
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS Araç, en erken başlangıç zamanında başlarsa en iyi senaryoda (zaman hesaplaması için CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT bölümüne bakın) bu gönderimi gerçekleştiremez: Toplam süre, aracın en geç bitiş zamanından sonra bitmesine neden olur.
VEHICLE_NOT_ALLOWED Gönderinin allowedVehicleIndices alanı boş değil ve bu araç bu alana ait değil.
VEHICLE_IGNORED

Aracın ignore alanı doğru.

Deneysel: Bu alanın davranışı veya varlığı gelecekte değişebilir.

SHIPMENT_IGNORED

Gönderinin ignore alanı doğru.

Deneysel: Bu alanın davranışı veya varlığı gelecekte değişebilir.

SKIPPED_IN_INJECTED_SOLUTION_CONSTRAINT

Gönderim, injectedSolutionConstraint'te atlandı.

Deneysel: Bu alanın davranışı veya varlığı gelecekte değişebilir.

VEHICLE_ROUTE_IS_FULLY_SEQUENCE_CONSTRAINED

injectedSolutionConstraint içinde belirtilen araç rotası esnekliği, herhangi bir ziyaretin eklenmesine izin vermiyor.

Deneysel: Bu alanın davranışı veya varlığı gelecekte değişebilir.

ZERO_PENALTY_COST

Gönderimin ceza maliyeti sıfırdır. Bu, gelişmiş bir modelleme seçeneği olarak yararlı olabileceği gibi, bir gönderimin neden atlandığını da sonradan açıklayabilir.

Deneysel: Bu alanın davranışı veya varlığı gelecekte değişebilir.