Ek planlama (eski sürüm)

Excel şablonlarıyla çalışırken veya ek planlama ilkesini öğrenmek için kullanılır. Bu yöntem desteklenmektedir ancak artık geliştirilmemektedir. Ek planlama görevlerini otomatikleştirmek için periyodik ek planlama kullanmanızı öneririz (API üzerinden çalışırken).

Siparişlerin sırasını sabitleme

Sıralamanın korunması gerekiyorsa, vehicles.visited_locations alanını kullanın. Yeni siparişler herhangi bir sırada eski siparişlerle karıştırılabiliyorsa, vehicles.planned_route alanını kullanın. Listelerde yalnızca siparişleri değil, aynı zamanda kurye tarafından rota üzerinde ziyaret edilecek ek yükleme için depolar da gösterilebilir.

Kuryenin mevcut konumu

Kurye depoda ise, bir sorgu oluşturmak için bilinmesi gerekenler:

  • her araç için halihazırda tahsis edilmiş siparişler;

  • son planlamadan bu yana alınan yeni siparişler.

Her araç için yeni ek planlama talebinde, planned_route (visited_locations) alanına önceden tahsis edilmiş siparişlerin (önceki planlama aşamasından) tanımlayıcılarını (locations veya id) girin.

Kurye yoldaysa, bir sorgu oluşturmak için bilmeniz gerekir:

  • her araç için halihazırda tahsis edilmiş siparişler;

  • her bir aracın ek planlama sırasındaki konumu (bu aynı zamanda son teslim edilen sipariş veya sıradaki olabilir);

  • halihazırda tamamlanmış siparişlerin bir listesi;

  • son planlamadan bu yana alınan yeni siparişler.

Ek planlama için yeni sorguda :

  1. Her araç için yeni ek planlama talebinde, planned_route (visited_locations) alanına önceden tahsis edilmiş, ancak ek planlama anında yerine getirilmemiş siparişlerin (önceki planlama aşamasından) tanımlayıcılarını (locations veya id) girin.

  2. Sipariş listesinde, her araç için geçerli konum noktalarına karşılık gelen hayali siparişleri ekleyin. Mevcut konum noktası en son teslim edilen veya sıradaki siparişin konum noktası ise bu atlanabilir.

  3. Her araç için, visited_locations alanındaki ilk öğe olarak mevcut konum noktasının tanımlayıcısını ve başlangıç zamanını girin.

    Bir noktadan hareket zamanını ayarlamak için planned_route.start_time (veya visited_locations.N.time) parametresini kullanın.

    Saati belirtmek için olası biçimler:

    • göreceli: [D.]HH[:MM[:SS]], burada D rotanın başlangıç tarihine göre tarih kaymasıdır;
    • mutlak: ISO 8601 formatında (örneğin 2018-09-06T10:15:00+03:00).
    Örnek

    Bu durumda, 1001 numaralı rota noktasından saat 10.20’de hareket planlanacaktır.

    "visited_locations": [
        {
            "id": "1001",
            "shift_id": "1",
            "time": "10:20"
        },
    ...
    ]
    

    Not

    Daha önce kullanılmamış araçlar için doğru kalkış parametrelerini ayarlamanız gerekir: ya vardiya başlangıç zamanı kaydırılmalı ya da depodaki mevcut konum visited_locations’de belirtilmelidir.

  4. Tamamlanmış siparişleri sipariş listesinden silin (2. maddeyi dikkate alarak: son teslim edilen sipariş geçerli konum noktası olarak kullanılıyorsa, onu silmenize gerek yoktur).

Örnekler

Temel görev

Görevde 70 sipariş ve 9 kurye bulunmakta, dengeleme seçeneği balanced_groups kullanılır.

Çözüm için 5 kurye elde ediyoruz.

Planlamanın sonucu:

Kurye

Sipariş miktarı

Sipariş sırası

Kurye 3

15

27, 70, 53, 64, 65, 40, 60, 4, 43, 28, 29, 49, 33, 56, 48

Kurye 4

13

45, 31, 58, 52, 24, 54, 39, 47, 19, 30, 44, 16, 63

Kurye 5

10

14, 41, 8, 10, 1, 12, 13, 22, 9, 46

Kurye 6

15

11, 3, 23, 51, 42, 55, 36, 68, 66, 61, 25, 7, 67, 57, 62

Kurye 7

17

18, 37, 38, 17, 2, 59, 35, 34, 32, 26, 20, 69, 5, 50, 15, 21, 6

API isteği (JSON)API yanıtıHaritada aç

Daha sonra, temel probleme göre ek planlama yapmanın farklı yollarına bakalım.

Örnek 1

Depoda ek planlama ile rotalarda sipariş sıralamasında değişiklik.

Sorguda 110 sipariş (40 tanesi temel göreve göre yeni) ve 9 mevcut kurye belirledik. 5 kuryede, planned_route’deki temel çözümden dağıtımı belirtiyoruz. Ayrıca dengeleme balanced_groups seçeneğini de kullanıyoruz.

Çözüm için 7 kurye elde ediyoruz.

Planlamanın sonucu:

Kurye

Sipariş miktarı

Temel göreve göre sipariş sıralaması

Kurye 1

14

Yeni rota

Kurye 3

19

4 sipariş eklendi: 27, 70, 53, 64, 65, 40, 99, 60, 4, 43, 28, 95, 29, 49, 33, 56, 88, 48, 84

Kurye 4

16

3 sipariş eklendi: 45, 31, 58, 52, 87, 24, 54, 39, 100, 47, 19, 30, 44, 16, 102, 63

Kurye 5

13

3 sipariş eklendi, sıralama büyük ölçüde yeniden düzenlendi: 46, 80, 71, 12, 1, 10, 8, 41, 83, 14, 13, 22, 9

Kurye 6

17

2 sipariş eklendi: 11, 3, 23, 79, 51, 42, 55, 36, 68, 66, 61, 25, 7, 108, 67, 57, 62

Kurye 7

18

1 sipariş eklendi: 18, 37, 38, 17, 2, 59, 35, 34, 32, 26, 20, 69, 104, 5, 50, 15, 21, 6

Kurye 9

13

Yeni rota

Not

Temel çözümde planlanan siparişler aynı kuryelere atanmış kaldı, ancak:

  • temel çözümden gelen kuryelere, diğer yol noktalarının yanı sıra yeni siparişler eklenmiştir;

  • temel çözümden gelen kuryelerin önceden planlanan sipariş sırasını değişmiştir;

  • iki yeni rota eklenmiştir.

API isteği (JSON)API yanıtıHaritada aç

Örnek 2

Rotalardaki siparişlerin sırasını değiştirmeden** depoda** ek planlama.

Sorguda 110 sipariş (40 tanesi temel göreve göre yeni) ve 9 mevcut kurye belirledik. 5 kuryede, visited_locations’deki temel çözümden dağıtımı belirtiyoruz. Ayrıca dengeleme balanced_groups seçeneğini de kullanıyoruz.

Çözüm için 7 kurye elde ediyoruz.

Planlamanın sonucu:

Kurye

Sipariş miktarı

Temel göreve göre sipariş sıralaması

Kurye 3

19

4 sipariş eklendi: 27, 70, 53, 64, 65, 40, 60, 4, 43, 28, 29, 49, 33, 56, 48, 84, 88, 96, 85

Kurye 4

15

2 sipariş eklendi: 45, 31, 58, 52, 24, 54, 39, 47, 19, 30, 44, 16, 63, 102, 89

Kurye 5

14

4 sipariş eklendi: 14, 41, 8, 10, 1, 12, 13, 22, 9, 46, 80, 71, 79, 108

Kurye 6

15

Rota değişmedi: 11, 3, 23, 51, 42, 55, 36, 68, 66, 61, 25, 7, 67, 57, 62

Kurye 7

17

Rota değişmedi: 18, 37, 38, 17, 2, 59, 35, 34, 32, 26, 20, 69, 5, 50, 15, 21, 6

Kurye 8

14

Yeni rota

Kurye 9

16

Yeni rota

Not

Temel çözümde planlanan siparişler aynı kuryelere atanmış kaldı, ancak:

  • temel çözümden gelen kuryelerin rotasının sonuna yeni siparişler eklendi;

  • iki yeni rota eklenmiştir.

API isteği (JSON)API yanıtıHaritada aç

Örnek 3

Kuryeler depodan gittikten sonra ek planlama (rotalarda siparişlerin sırasını değiştirmeden).

Planlama anında, 15 siparişin teslim edildiğini var sayıyoruz (temel görevdeki 5 kuryenin her biri için 3 sipariş) ve bunları ek planlama görevinden çıkarıyoruz.

Bunun sonucunda sorguda toplam 100 sipariş (40 yeni sipariş, temel görevden 55 henüz teslim edilmemiş sipariş, 5 kurye başlangıç noktası dahil) ve 9 müsait kurye belirledik. 5 kuryede, visited_locations’deki temel çözümden dağıtımı belirtiyoruz. Ayrıca dengeleme balanced_groups seçeneğini de kullanıyoruz.

Çözümde 8 kuryemiz oluyor (depodan başlayan 3 yeni kurye dahil).

Planlamanın sonucu:

Kurye

Sipariş miktarı*

Temel göreve göre sipariş sıralaması

Kurye 2

9

Yeni rota

Kurye 3

13

Rota değişmedi: 27, 70, 53 (tamamlanan siparişler), 1003 (başlangıç noktası), 64, 65, 40, 60, 4, 43, 28, 29, 49, 33, 56, 48

Kurye 4

11

1 sipariş eklendi: 45, 31, 58 (tamamlanan siparişler), 1004 (başlangıç noktası), 52, 24, 54, 39, 47, 19, 30, 44, 16, 63, 101

Kurye 5

10

3 sipariş eklendi: 14, 41, 8 (tamamlanan siparişler), 1005 (başlangıç noktası), 10, 1, 12, 13, 22, 9, 46, 80, 71, 79

Kurye 6

13

1 sipariş eklendi: 11, 3, 23 (tamamlanan siparişler), 1006 (başlangıç noktası), 51, 42, 55, 36, 68, 66, 61, 25, 7, 67, 57, 62, 108

Kurye 7

14

Rota değişmedi: 18, 37, 38 (tamamlanan siparişler), 1007 (başlangıç noktası), 17, 2, 59, 35, 34, 32, 26, 20, 69, 5, 50, 15, 21, 6

Kurye 8

12

Yeni rota

Kurye 9

13

Yeni rota

* – tamamlanmışları ve başlangıç noktasını dikkate almadan.

Not

Bu çözümde, tüm kuryeler saat 11.00’de başlar ve yeni siparişler rotanın sonuna eklenir.

API isteği (JSON)API yanıtıHaritada aç

Destek birimine yaz