Bölge planlaması, küçük ölçekte basit görünen ve büyüdükçe olağanüstü karmaşık hale gelen sorunlardan biridir. 100 müşteriyi kapsayan 10 temsilciniz olduğunda, bölgeleri harita üzerinde elle çizebilir ve makul bir sonuç alabilirsiniz. Değişen yol ağları, trafik kalıpları ve müşteri yoğunluklarına sahip bir ülke genelinde 300.000 müşteriyi kapsayan 500 temsilciniz olduğunda, manuel bölge planlaması imkansız hale gelir. Kombinatoryal alan çok büyük, kısıtlamalar çok fazla ve suboptimal bölgelerin sonuçları çok pahalıdır.
Bölge planlamasının temel amacı aldatıcı şekilde basittir: müşteri tabanınızı bölgelere ayırın öyle ki her bölge bir temsilci veya ekip tarafından verimli şekilde hizmet verilebilsin, iş yükü bölgeler arasında dengeli olsun, her bölge içindeki seyahat süresi minimum olsun ve önemli müşteriler uygun ziyaret sıklığı alsın. Zorluk, tüm bu hedefleri aynı anda karşılamadadır çünkü sıklıkla birbiriyle çelişirler.
Coğrafi kümeleme başlangıç noktasıdır. Algoritma, coğrafi mesafe (düz hat mesafesi değil, seyahat süresiyle ölçülen) ve müşteri yoğunluğunun kombinasyonunu kullanarak yakın müşterileri mekansal kümelere gruplar. Yoğun kentsel alanlar birkaç kilometre kare içinde yüzlerce müşteriye sahip olabilirken, kırsal alanlar geniş mesafelere yayılmış müşterilere sahiptir. Kümeleme algoritması bu yoğunluk varyasyonunu zarif bir şekilde işlemeli, çok müşterili kompakt kentsel bölgeler ve daha az ama daha dağınık müşterili daha büyük kırsal bölgeler oluşturmalıdır.
Mesafe matrisi hesaplama temelidir. 300K müşteri ölçeğinde bölge planlaması için, aynı bölgede olabilecek her müşteri çifti arasında seyahat süresi tahminlerine ihtiyacınız vardır. Tam 300K x 300K mesafe matrisi hesaplamak 90 milyar mesafe hesaplaması gerektirir ki bu açıkça pratik değildir. Bunun yerine sistem hiyerarşik yaklaşım kullanır: önce coğrafyayı idari sınırlar veya grid hücreleri kullanarak kaba bölgelere ayırır, bölgeler arası mesafeleri hesaplar, ardından müşteri-müşteri mesafelerini yalnızca aday bölgeler içinde hesaplar. Bu, hesaplamayı birkaç mertebe azaltır.
İş yükü dengeleme, bölge başına müşteri saymaktan öte gider. 200 bakkallı bölge, 50 süpermarketli olandan farklı çaba gerektirir. Sistem, müşteri sayısı, müşteri başına beklenen ziyaret sıklığı (segment ve kademeye göre), ziyaret başına ortalama hizmet süresi (mağaza tipi ve sipariş karmaşıklığına göre değişir), duraklar arası seyahat süresi ve idari yükü hesaba katan iş yükü puanlama modeli kullanır. Bölgeler, kişi sayısına değil toplam iş yükü puanına göre dengelenir ve gerçek işin adil dağılımını sağlar.
Optimizasyon, kısıtlamalı atama problemi olarak formüle edilir. Her müşteri tam olarak bir bölgeye atanmalıdır. Bölge iş yükleri yapılandırılabilir tolerans bandı içinde kalmalıdır (genellikle ortalamanın artı eksi %15'i). Hiçbir bölgenin izole müşteri adaları olmaması için coğrafi bitişiklik korunmalıdır. Yüksek öncelikli müşteriler uygun ziyaret sıklığı kapasitesine sahip bölgelerde olmalıdır. Mevcut temsilci-müşteri ilişkileri aksamayı minimize etmek için mümkünse korunmalıdır.
Bunu ölçekte çözmek, kesin yöntemler yerine metasezgisel optimizasyon gerektirir. Sistem, başlangıç uygun çözümünden (coğrafi kümeleme ile oluşturulan) başlayan ve müşterileri bölgeler arasında taşıyarak iteratif olarak iyileştiren adaptif büyük komşuluk araması kullanır. Her hareket, ağırlıklı maliyet fonksiyonu kullanılarak tüm hedeflere karşı aynı anda değerlendirilir. Arama, belirli problem örneği için hangi türde hareketlerin en verimli olduğunu otomatik olarak öğrenen adaptif operatör seçimi ile yönlendirilir.
300.000 müşteriye ölçeklemenin hesaplama zorluğu önemlidir. Optimizasyonun her iterasyonu yüzlerce potansiyel müşteri hareketini değerlendirir ve her biri iş yükü yeniden hesaplaması ve seyahat süresi tahmini gerektirir. Naif uygulama saatler sürer. Sistem artımlı hesaplama kullanır: her hareket her şeyi sıfırdan yeniden hesaplamak yerine etkilenen bölge puanlarını günceller, yalnızca taşınan müşteri ve komşuları için seyahat etkilerini yeniden hesaplayan delta mesafe hesaplamaları, birden fazla CPU çekirdeğinde bağımsız hareketlerin paralel değerlendirmesi ve hareketlerin açıkça iyileştirici olmadığında erken sonlandırma.
Bu optimizasyonlarla, 300K müşterili bölge planlama problemi genellikle 5 ile 10 dakika içinde yüksek kaliteli çözüme yakınsar. Bu, müşteri tabanındaki değişikliklere, temsilci müsaitliğine veya iş önceliklerine göre bölgelerin ayarlandığı haftalık yeniden planlama döngüleri için yeterince hızlıdır.
Mevcut bölgeleri yeniden dengelemek, sıfırdan oluşturmaktan daha nüanslıdır. Yeni bölge planı oluşturulduğunda, sistem kaç müşterinin bölge atamasını değiştirdiğini ölçen bir aksama puanı hesaplar. Ardından gereksiz yeniden atamaları cezalandıran bir yapışkanlık kısıtlaması uygular. Sonuç, yerleşik temsilci-müşteri ilişkilerinde toptan aksamaya neden olmadan mevcut bölge yapısını iyileştiren bir plandır.
Görselleştirme ve onay iş akışları benimseme için kritiktir. Bölge planlayıcıları önerilen bölgeleri haritada görmeli, bölge başına iş yükü dökümlerini incelemeli, önerilen planı mevcut planla karşılaştırmalı ve onaylamadan önce manuel ayarlamalar yapabilmelidir. Sistem bunu, planlayıcıların algoritmik atamaları geçersiz kılabildiği, müşterileri bölgeler arasında sürükleyebildiği ve iş yükü dengesi üzerindeki etkiyi gerçek zamanlı görebildiği interaktif harita tabanlı araçlarla destekler.
Optimize edilmiş bölgelerin iş etkisi günlük olarak bileşik büyür. 500 temsilci genelinde seyahat süresindeki her yüzde puanlık azalma, ayda binlerce ek müşteri ziyaretine dönüşür. İş yükü dengesindeki her iyileştirme temsilci tükenmişliğini ve cironu azaltır. Coğrafi bitişiklikteki her artış yakıt maliyetlerini ve araç yıpranmasını düşürür. Bölge planlaması tek seferlik bir alıştırma değil, saha ekibinizin yolda olduğu her gün kâr payı ödeyen sürekli bir optimizasyon fırsatıdır.