Thursday, April 17, 2008

Servis Güzergahı Nasıl Belirlenir

İş yerine servisle giden insanlar mutlaka insanların nereden alınacağı sorunu ile karşılaşmıştır. Servis güzergahı belirlenirken sabah herkes evine en yakın yerden ve mümkün olan en geç saatte alınmalıdır. Servisin iş yerine ulaşma saati de en geç 8:30 olmalıdır. Akşam ise herkes yine evine en yakın yerde ama bu sefer mümkün olan en erken saatte bırakılmalıdır.

Doğal olarak "ben evime çok uzak yerden alınıyorum", "eve çok geç ulaşıyorum", "X kişisini almak için neden bu kadar dolaşıyoruz, yürüsün ana yola çıksın" şikayetleri olacaktır. Şikayetleri gidermek için genellikle yarı mantıklı, yarı nabza göre şerbet yöntemleri izlenir.

Nabza göre şerbet usulleri gerginlik yaratır çünkü kurallar belirsizdir, konjonktüre göre değişebilir. İnsanlar kendini haksızlığa uğramış hisseder. Yapılması gereken kişiden bağımsız, servisin toplam iyiliğini hedefleyen kurallar kullanmak ve herkesin kuralları anlamasını sağlamaktır.

Basit kural [06.03.2014]: Bir yolcuyu almak için servis güzergahının uzatılması gündemde ise uzama miktarına t, bu uzamadan etkilenen kişi sayısına n, uzama sonucu söz konusu yolcunun yürüme süresindeki kısalma dt olsun. Güzergahın uzatılması için dt >= n*t olmalıdır. Yani bir kişinin süre kazancı diğer kişilerin toplam kaybından az olmamalıdır. Örnek: Diyelim Ali'nin 10 dakika daha az yürümesi için önerilen güzergah Ali'den önceki kısmı 5 dakika uzatıyor olsun. Ali'den önceki kişi sayısı 3 ise toplam kayıp 3*5 = 15 dakika > 10 olacağından güzergahın kısa halde tutulup Ali'nin 10 dakika daha fazla yürümesi gerekir.

Sabah güzergah belirleme işini bir optimizasyon problemi olarak formüle edecek olursak:
* İş yerine ulaşma saati 8:30
* İnsanların evlerinden alındıkları mesafeyi minimize et. Yokuş çıkılacaksa dy/dx'e bağlı ağırlık ver.
* Alınacak kişinin devamlılığını (kaç yıldır o adreste oturduğunu) dikkate al.
* Geçilen trafik lambası miktarını minimize et.
* Toplam yolculuk süresini minimize et.
* Mahalle arası dolaşma miktarını (dönüş sayısını) minimize et. Diyelim birini almak için iki rota seçeneği var. Birinci seçenek alınacak kişinin (adı Dartanyan) 5 dakika geç, ikinci seçenek 7 dakika erken binmesine neden oluyor. Dartanyan'ı almak için servis içerisinde bulunan üç kişi (Atos, Portos, Aramis) ikinci seçeneğe göre 3'er dakika erken binmek zorunda kalıyor, yani 9 dakika kaybediyor olsun. O zaman birinci seçenek +5-9 = -4, ikinci seçenek -7+9=2 dakika sağlıyor, dolayısı ile servisin toplam çıkarı düşünüldüğünde ikinci seçenek mantıklı oluyor. Genellikle Dartanyan böyle düşünmeyecek, mantık dışındaki seçenekleri (duygu sömürüsü, tahakküm vb.) zorlayacaktır. O zaman ne yapılacağı Atos, Portos ve Aramis'in kararlılığına bağlıdır.

Servis dolaşırken harcanan süreler trafik ve yol durumuna bağlı olduğundan birkaç gün boyunca ölçüm yapıp ortalama almak lazım. Bir de servise her yeni eleman eklendikçe veya belediye bir yolu tek yön yaptıkça tüm ölçüm ve hesaplama işini tekrarlamak gerek.

Problem bir algoritma olarak ifade edilebilir görünüyor. O zaman da yazarız güzel bir bilgisayar programı, çözeriz meseleyi. Programın sahip olması gereken özellikler:
* Herkesin evinin koordinatları girilmeli
* Olası rotalar ve o rotada geçen süreler girilmeli
* İş yerine en geç ne zaman ulaşılacağı girilmeli

Program bu bilgilerle optimum rotayı çıkarmalı. Duyarlılık (sensitivity) analizi ile çözümün esneklik payını bulmalı.

Güncelleme 17 Kasım 2016: Tek yönlü yollar nedeniyle sabah ve akşam güzergahlarını farklı yapmak servistekilerin ortalama iyiliği için daha iyi olabilir.

6 comments:

Umut DURAK said...

Güzargah planlama:) Hazır elinin altında kamil var, bir süredir aynı problemin, başka bir "wording"i ile uğraşmakta.

Serendipity said...

Burası Ankara. Dolayısıyla servis güzergahı planlanırken belirli bir yönde tek yön olan yollar iki gün sonra diğer istikamete dönebilir. System halted hatası orataya çıkabilir. Ya da bizim iş yerimizde olduğu gibi fabrika işçilerinin mesaisine uygun olarak çalışan servisler nedeniyle 8:30 da başlayan mesaiye ahali 7:50 de getirilir. Arabası olan 9:30 a dek salınır.

Samil Korkmaz said...

Umut: Benim de aklımda Kamil'den tiyo almak var.

Didem: Sistemi kendi başına bırakınca ne halt edeceği belli olmuyor. Bizler "System Hacked" ile karşılık vericiiz.

ArdA said...

eskişehir'den selamlar...
yazdıklarını okuyunca işe başlama ile ilgili hevesim biraz törpülendi açıkçası :)
Servis konusu acayip sinir bozucu oluyor bazen. Özellikle Ayrancı.
Allah sabır versin... ne diyim...
ben dönünce ne olacak acaba? ve kaç kişi var şu anda serviste?

Personel Taşımacılığı said...

yukarıda anlattığınıza benzer bir yazılım var. rotaban.com adresinden yazılımın detaylarına ulaşabilirsiniz.

Adnan K. said...

Bu bir nevi Travelling Salesman problemi gibi.