Hangi ziyaretlerin kısıtlanması gerektiği ve nasıl kısıtlanacağı hakkında bilgiler içeren, isteğe yerleştirilen çözüm.
JSON gösterimi |
---|
{ "routes": [ { object ( |
Alanlar | |
---|---|
routes[] |
Enjekte edilecek çözümün yolları. Bazı rotalar orijinal çözümden çıkarılabilir. Rotalar ve atlanan gönderimler, |
skipped |
Enjekte edilecek çözümün atlanan gönderimleri. Bazıları orijinal çözümden çıkarılabilir. |
constraint |
Sıfır veya daha fazla araç grubu için kısıtlamaların ne zaman ve ne kadar gevşetileceğini belirtir. Bu alan boşsa boş olmayan tüm araç rotaları tamamen kısıtlanır. |
ConstraintRelaxation
Bir araç grubu için, ziyaretlerle ilgili kısıtlamaların hangi eşiklerde ve hangi düzeyde gevşetileceğini belirtir. skipped_shipment
alanında listelenen gönderimler atlanacak şekilde kısıtlanmıştır. Yani bu gönderimler gerçekleştirilemez.
JSON gösterimi |
---|
{
"relaxations": [
{
object ( |
Alanlar | |
---|---|
relaxations[] |
|
vehicle |
Ziyaret kısıtlamasının
|
Dinlenme
relaxations
boşsa routes
'teki tüm ziyaretlerin başlangıç zamanı ve sırası tamamen kısıtlanır ve bu rotalara yeni ziyaret eklenemez. Ayrıca, araç boş olmadığı sürece (ör. ziyareti yoksa ve modelde usedIfRouteIsEmpty
yanlış olarak ayarlanmışsa) aracın routes
'teki başlangıç ve bitiş zamanı tamamen kısıtlanır.
relaxations(i).level
, #j ziyaretine uygulanan ve aşağıdaki koşulları karşılayan kısıtlama gevşetme düzeyini belirtir:
route.visits(j).start_time >= relaxations(i).threshold_time
VEj + 1 >= relaxations(i).threshold_visit_count
Benzer şekilde, aşağıdaki koşulları karşılıyorsa araç çalıştırma süresi relaxations(i).level
olarak gevşetilir:
vehicleStartTime >= relaxations(i).threshold_time
VErelaxations(i).threshold_visit_count == 0
ve araç sonu, aşağıdaki koşulları karşılıyorsarelaxations(i).level
olarak gevşetilir:vehicleEndTime >= relaxations(i).threshold_time
VEroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
Bir ziyaret thresholdVisitCount
VEYA thresholdTime
koşulunu karşılıyorsa bir rahatlama düzeyi uygulamak için aynı level
ile iki relaxations
ekleyin: Biri yalnızca thresholdVisitCount
, diğeri yalnızca thresholdTime
ayarlıdır. Bir ziyaret birden fazla relaxations
koşulunu karşılıyorsa en gevşek düzey uygulanır. Sonuç olarak, araç başlangıcından rota ziyaretleri boyunca araç sonuna kadar rahatlama seviyesi daha rahat hale gelir: Yani rota ilerledikçe rahatlama seviyesi azalmaz.
Herhangi bir relaxations
'ün eşik koşullarını karşılamayan rota ziyaretlerinin zamanlaması ve sırası tamamen kısıtlanır ve bu sıralamalara ziyaret eklenemez. Ayrıca, bir aracın başlangıç veya bitiş zamanı, herhangi bir esneklik koşulunu karşılamıyorsa araç boş olmadığı sürece zaman sabitlenir.
JSON gösterimi |
---|
{
"level": enum ( |
Alanlar | |
---|---|
level |
|
threshold |
Gevşemenin Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: |
threshold |
Gevşetme
|
Seviye
Bir ziyaret için uygulanan ve eşik koşulları karşılandığında sonraki ziyaretler için uygulanan farklı kısıtlama gevşetme düzeylerini ifade eder.
Aşağıdaki liste, rahatlama düzeyinin artması sırasına göre düzenlenmiştir.
Sıralamalar | |
---|---|
LEVEL_UNSPECIFIED |
Örtük varsayılan gevşeme düzeyi: Hiçbir kısıtlama gevşetilmez, yani tüm ziyaretler tamamen kısıtlanır. Bu değer |
RELAX_VISIT_TIMES_AFTER_THRESHOLD |
Ziyaret başlangıç saatleri ve araç başlangıç/bitiş saatleri için daha esnek bir yaklaşım uygulanacak ancak her ziyaret aynı araca bağlı olmaya devam edecek ve ziyaret sırasına uyulması gerekecek: Ziyayetler arasına veya ziyaretlerden önce başka ziyaret eklenemez. |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
RELAX_VISIT_TIMES_AFTER_THRESHOLD ile aynıdır ancak ziyaret sırası da gevşetilmiştir: Ziyaretler yalnızca bu araç tarafından gerçekleştirilebilir ancak potansiyel olarak iptal edilebilir. |
RELAX_ALL_AFTER_THRESHOLD |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD ile aynıdır ancak araçta da esneklik vardır: Ziyaretler, eşik zamanda veya sonrasında tamamen ücretsizdir ve potansiyel olarak gerçekleştirilmeyebilir. |