Etiket arşivi: optimizasyon

Rota Planlama – Optimizasyon – Bölüm 1

Araç Rotalama Problemi (ARP), bir merkezden coğrafi olarak dağılmış çeşitli talep noktalarına dağıtım veya toplama rotalarının, araç filosunun kat ettiği toplam mesafeyi minimize edilecek şekilde bulunmasdir. Araç Rotalama Problemi, Tedarik Zincirinde ve aynı zamanda Tedarik Zincirinin parçası olarak Lojistikte yer alan ana karar alanlarından olan taşıma ile doğrudan ilişkilidir. Gerçek dünya uygulamalarında birçok değişik kısıtlar ve farklılıklar Araç Rotalama Problemlerinde çeşitliliği de beraberinde getirmiş, literatürde ve uygulamalarda farklı özellik ve kısıtlara sahip Araç Rotalama Problemlerinin incelenmesine yol açmıştır.

Araç Rotalama Problemi, en az maliyetle verilen belirli sayıda noktayı dolaşmayı sağlamayı hedefleyen bir kombinasyonel eniyileme problemidir. Çözümü için birçok alanda kullanılmakta olan çok sayıda sezgisel algoritma geliştirilmiştir. Sezgisel algoritmaların geliştirilmesinin nedeni Araç Rotalama probleminin NP-hard (herhangi bir algoritmayla optimal sonuca ulaşılamayan problem) olmasından kaynaklanmaktadır. Rota Planlamayı polinom zamanda optimize etmek güçtür ve sezgisel algoritmalar yardımıyla optimum yakın sonuçlar bulunabilmektedir.

Aslında Rota Planlama probleminin optimum sonucunu bulmak teorik olarak mümkündür. Fakat problem kombinasyonel  olduğu için talep noktalarının 15-20’yi geçmesi durumunda optimuma ulaşmak mevcut teknoloji ile zorlaşmaktadır.

Araç Rotalama Problemleri şirketlerin ihtiyaçlarına göre farklılık göstermektedir. En büyük farklılık, problemin Açık ve Kapalı uçlu olmasıdır. Yani yollanan aracın tekrar merkeze geri dönmesi ya da dönmemesidir. Diğer bir farklılık, Geri Toplaması olan Rotalama Problemidir. Literatürde Milk Run olarak geçer. Milk Run, dağıtımla birlikte aynı zamanda aynı yerden toplama yapılmasıdır.

Bunun dışında, Araçların farklı kapasitelere sahip olması, birden fazla merkez deponun bulunması, aynı mağaza/müşteriye birden fazla aracın gitmesi, talebin belirsiz olması (marketler) gibi durumlar da söz konusudur.

Bir Araç Rotalama Probleminde çeşitli amaç fonksiyonları olabilir?
Minimum Kilometre : Araçların en kısa mesafeyi kat ederek ürün ya da hizmeti müşteri/mağazaya ulaştırmasıdır.
Minimum Zaman : En kısa mesafeye çok benzerdir. Çoğu durumda en kısa mesafeyle aynı sonucu verir. Fakat mikro dağıtım yapılıyorsa bu değişkenlik gösterebilir.
Minimum CO2 emisyonu: Minimum kilometreye çok benzerdir. Kullanılan araçların hepsi aynı ise aynı sonucu verir. Araçlar değişiklik gösterirse farklılaşır.
Minimum Araç Sayısı : Araçların kapasitelerinin (hacim ya da ağırlık) en verimli şekilde kullanarak en az sayıda araç kullanılmasını sağlar. Genelde araç başına ücret verildiği ya da boş gitmenin cezası olduğu durumlarda kullanılır.

Rota Planlama probleminin temel bileşenleri aşağıdaki gibidir.

  • Kaç kamyon kullanılmalı?
  • Hangi mağazalara hangi kamyon atanmalı?
  • Her kamyonun mağaza sıralaması nasıl olmalı?

rotalama

Bir işletme ve bu işletmenin 40 mağazası olduğunu varsayalım. Bu mağazalara maksimum 7 araç kullanarak günlük sevkiyat yapıldığını ve araçların rota planlamasının optimizasyonla yapılmak istendiğini düşünelim.

depovemagazalar

Hangi mağazalara hangi kamyon atanmalı?
Bu işletmede ortalama her bir araç 5-6 mağazaya sevkiyat yapmaktadır. Eğer tüm araçlar 5 mağazaya  sevkiyat dağıttığını düşünürsek her bir aracın hangi mağazaları içereceği 40’ın 5’li kombinasyonu şeklinde olacaktır.

Kombinasyon bir nesne grubu içerisinden sıra gözetmeksizin yapılan seçimlerdir. Nesne grubunun tekabül ettiği kümenin alt kümeleri olarak da tanımlanabilir. Çünkü alt kümelerde sıra önemli değildir.
Bir A kümesinin herhangi bir alt kümesine A kümesinin bir kombinasyonu denir. Mesela 52 iskambil kartı arasından seçilen dört kart, kartları seçme sırası önemli olmadığından bir kombinasyon problemidir. (Wikipedia)

kombinasyon

Bizim problemimizdeki tüm ihtimaller C(40,5) şeklinde olacaktır.
Birkaç örnek yazacak olursak,

komb_tablo

komb_sonuc

Bu yaptığımız hesaplamalar neden bir rotalama probleminin optimizasyon ile çözülmesinin çok zor olduğunu anlatmak içindir.
Kombinasyon her bir araç için 5 mağaza olması durumundaki tüm ihtimalleri verir. Bu aşamada klasik ARP’de olan kısıtları hatırlamakta fayda vardır.

Araç kapasiteleri : Her bir aracın bir kapasitesi vardır. Kapasiteyi en verimli kullanmak gerekir. Bazı durumlarda boş göndermeniz durumunda ceza ödemek zorunda kalırsınız.
Zaman kısıtları : Mağazaların, müşterilerin gönderdiğiniz ürün ya da hizmeti almak için zaman kısıtları mevcuttur. Örneğin bir AVM’de ise saat 10:00’dan önce ürünleri kabul etmek isteyecektir.
Yol kısıtları (Köprü Kısıtları) : Kullanılmayan yollar, saatlik kapalı yollar (Köprüler vs.), belli araçların giremeyeceği yollar gibi.
Araç kullanım süreleri: Aracın bir günde maksimum kaç saat kullanılabilecğeini gösterir.

Bu kısıtlara göre yukarıda hesapladığımız ihtimaller azalabilir. Örneğin; 3, 4, 7, 8, 9 nolu mağazaların demandlerinin toplamı bir kamyonun kapasitesinden büyük ise bu rut otomatik olarak elenir.

Her kamyonun mağaza sıralaması nasıl olmalı?
Elemlerin ardından elimizdeki ihtimaller sadece hangi kamyona hangi mağazaların konu olacağını vermektedir. Bu araç dolulukları ile ilgilidir. ARP’deki en önemli amaç fonksiyonlarından biri olan minumum kilometrenin sağlanması için her bir ihtimalin içindeki mağazaların sıralamalarının denenmesi gerekir.
Bu da Permütasyon anlamına gelmektedir.

Matematikte permütasyon, her sembolün sadece bir veya birkaç kez kullanıldığı sıralı bir dizidir.
1’den 10’a kadar olan doğal sayıları içeren n elemanlı kümede r = 4 olarak alınırsa permütasyonların sayısı {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} kümesinden sırayı da gözetmek suretiyle oluşturulabilecek dört değişik elemanlı kümelerin sayısını ifade eder. (Wikipdia)

permutasyon

Bizim yukarıda oluşturduğumuz her bir 40’ın 5’li kombinasyonların permütasyonlarını bulmalı ve bunların mesafelerini ölçmeli ve bunların da en düşük mesafeli olanlarını seçmeliyiz.

Örneğin yukarıda oluşturduğumuz kombinasyonlardan 1, 2, 3, 4, 5’in permütasyonlarını bulalım.

perm_tablo

perm_sonuc

Sonuç olarak bu problemde 40 mağazanın 5’erli olarak araçlara yerleştirilmesi sonucundaki değişken sayısı;

sonuc

Bu durumda bile problemin bir çözümü olabilir. Fakat aynı araca 5’ten fazla mağaza/müşteri konu olabilir. Aşağıda bir araca konu olan mağaza/müşteri sayısı bulunmaktadır. Rakamları gördükten sonra neden bu problemin optimizasyonla çözülemeyeceğini siz de anlayacaksınız.

40magaza

Mağaza sayısı arttığı zaman problem çok daha zorlaşmakta ve karar değişken sayısı çözülemeyecek kadar artmaktadır.

80magaza

Bu sebeple ARP probleminin çözümü için, literatürde optimizasyon yerine çeşitli heuristic (sezgisel) ve metaheuristic (ileri-sezgisel) yöntemler ortaya çıkmıştır. Bu yöntemler doğru uygulandığında optimuma çok yakın sonuçlar verebilmektedir.

Bir sonraki yazımızda bu yöntemleri ve LC Waikiki’nin Rota Planlama problemini nasıl çözdüğünü anlatmaya çalışacağım.

İş Analisti, İş Analitiği, İş Geliştirme, İş Zekası Hakkında Özlü Yazılar 1

“Uzun zamandır yazı yazamıyorum” diye başlayan bir yazı ile tekrar karşınızdayım. Defalarca başlayıp yazı yazma girişimlerim başarısız olunca ben de farklı bir konseptte yazı yazarak işin kolayına kaçmaya karar verdim.

Sabri.suyunu.com sitesinin iletişim bölümünü kullanarak benimle çeşitli kişiler iletişim kuruyor. Bu kişiler genelde öğrenciler oluyor. Öğrencilerin sorduğu sorulara dilim döndüğünce cevap vermeye sorularını yanıtlamaya çalışıyorum. Tabi bazen iş yoğunluğundan dolayı gecikmeler yaşanmıyor değil 🙂

Bu yazıyı yazmamdaki bir amaç da öğrencilerin genel olarak sorduğu soruları burada cevaplayarak bilgilendirme yapmak. Umarım faydalı olur.

Yazı dizisinin devamı gelecektir. Beni takip etmeye devam edin 🙂

Bu yazışma 2011 yılının sonunda gerçekleşmiştir.

Merhaba Sabri bey,
Marmara üniversitesi Endüstri müh. son sınıfa geçmiş ne yapacağına karar vermeye çalışan yardıma muhtaç bir gencim.
Araştırmalarım doğrultusunda “iş analistliğini” tanımak istediğimi fark ettim. Size birkaç sorum olacak..
İş analistliği için yazılım anlamında ne gibi bir temele ihtiyaç var?
Genel olarak ne gibi niteliklere sahip olmak gerek, yani şu tarzda bir insan bu işi çok iyi yapar yada şu özellikteki biri bu işi yapamaz gibi..?
Şimdilik aklıma takılanlar bunlar..
İlginiz için teşekkürler, iyi çalışmalar..

Merhaba XXX Bey,

Öncelikle iş yerindeki yoğunluktan dolayı mesajınıza biraz geç cevap verdim. Bu yüzden kusura bakmayın.
Sorularınıza elimden geldiğince cevap vermeye çalışayım.

Biraz kavram karmaşası var ve bu çok normal. Çünkü ülkemizde hala net olarak yerine oturmamış bazı pozisyonlar var. Ve bunlar genelde Analist olarak geçiyor. Neler bunlar. Sistem Analisti, İş Analisti. Bunlara ek olarak İş Analitiği ve İş Zekası Uzmanı var. Gariptir, çalıştığım şirketlerde tüm bu pozisyonlarda azar azar çalıştım.

Bir birine benzeyen bu unvanları dilim döndüğünce anlatmak isterim.

İş Analisti, Sistem Analisti, Sistem Geliştirme Uzmanı: Sorunların nasıl çözüleceğini, yeni geliştirmelerin nasıl yapılması gerektiğini, işin gereğini analiz eder. Analiz dokümanı hazırlar. Çalışma onaylanırsa yazılımcılarla beraber değişikliği gerçekleştirirler. Daha sonra test edip müşteriye yükleme yapılmasını takip ederler. (Alıntı) Bir nevi Müşteri ile yazılımcı arasında dekoderlik yapar. Hem müşteriyi anlar hem yazılımcıyı anlar ve ikisinin iletişimini sağlar. Yazılım haricinde, süreç dokümantasyonu gibi görevlerde yer alırlar. Süreçleri katkıları belli bir seviyede olur. Sistem Geliştirme Uzmanı olarak görev aldıklarında da aynı ismi alabilirler. Ya da Sistem Analisti. Genel olarak görevleri aldıkları süreçleri iyileştirmek ve bilgi işlem departmanına anlatmaktır. Bol bol dokümantasyon yazarsın. Son kullanıcıyla muhatap olursun. İşi öğrenmek için işin içinde olman gerekir. Hem müşteriyi hem de yazılımcıyı memnun edecek sonuca ulaşman lazım. (Genelde kimse memnun olmaz) Tecrübe çok önemlidir. Çok farklı departmanlar gördüğün için çok tecrübe kazanırsın ama hiçbir alanda uzmanlaşamazsın (Bunu bir yerden hatırlıyorum:) İş değiştirmek istediğinde yaptığın işi anlatmakta zorlanabilirsin.

İş analisti ve türevleri sektörde şu aralar popüler. Yeni mezunlar için iş analistliği pozisyonu bir fırsat olabilir çünkü bu pozisyondaki kişileri her yere koşturman gerekir. Tecrübeli yok mu? Var ama tecrübe genelde burada iş analistiliği tecrübesi değil sektör tecrübesi ön plana çıkıyor. Çünkü işi ne kadar iyi bilirsen o kadar iyi anlatırsın. İş analistliği güzeldir. Peki ben iş analisti miyim? Hayır.

İş Analitiği: Google a iş analitiği nedir diye sorsan sana çok fazla cevap veremez. Çünkü Türkiye’de İş analitği alanında belli sektörler dışında hiç bir şey yapılmamaktadır. Belki ihtiyaç duyulmamakta belki değeri anlaşılmamaktadır. İş Analitği, bir mühendisin anlayacağı terimlerle anlatmak gerekirse, Optimizasyon, simulasyon ve veri madenciliğin araç olarak kullanıldığı bir departmandır. Bu süreçler ile ilgili yazılımlar kullanılır ve şirketin kritik kararlar vermesinde destek birimi olarak görev yapar. Aynı zamanda AR-GE departmanıdır. Ek olarak süreçleri otomatik hale getirerek sistemi kullanıcıdan bağımsız hale getirmeye çalışır. Veriye direkt ulaşımı vardır ve istediği veriyi kod yazarak çıkarıp alır. İş analitiğini anlatmak için çok kısa bir tanım oldu ama kısaca mühendislik demektir.

İş Zekası hakkında Google daha çok sonuç verebiliyor. “Rekabet dünyasında, çalışanların ve yöneticilerin daha verimli işlere zaman ayırabilmesini sağlayan sistemlerdir. Türkiye henüz olayın ehemmiyetini kavrayamamış olsa da personelin ve zamanın tasarruflu kullanılmaması sonucu elde edilen zararları azaltmaya yönelik raporlama, analizleme, görüntüleme, geliştirme konularında yardımcı olurlar” İş Zekası ikiye ayrılır. Database tarafında Veriambari ve OLAP’lar ile çalışanlar, Veriyi süreçlerin daha verimli olması için geliştirme amaçlı kullananlar. Genelde ilk söylediğim bilgisayar mühendisleri diğeri ise sistem ve endüstri mühendisleri tarafından tercih edilir.

Raporlama Uzmanı hepsinden bağımsız, şirketlerin rapor ihtiyaçlarını karşılamak için kurulmuş departmanlarda çalışır.

Bu kadar bilgi verdikten sonra Bu ddepartmanlarda nasıl insanlar çalışır.

İş analisti, iletişim gücü yüksek ve analitik yönü gelişmiş olması gerekir. Yani resmin tamamını görebilen ve gelecekteki ihtiyaçları tahmin edebilen bir yapıda olması gerekir. Pratik Zekası yüksek, matematik ile arası iyi olanlar bu işi yapabilir. Yazmayı seven, öğrenmeyi seven, düşündüklerini rahat anlatabilen biri olmalıdır.

İş analitiği, Analitik yönü çok gelişmiş, Kod yazmayı seven, Bilgisayar başında saatlerini geçirecek (günde 6-7 saat), soyut işlerle uğraşmayı seven, kendinden motivasyonlu, çabuk sinirlenmeyen, sosyal kaygısı olmayan kişiler olmalıdır. Zor bulunur çünkü çok çabuk moralin bozulur bu departmanda. Çünkü yaptığın işi kimseye anlatamazsın 🙂

Neler bilmeli: Bence İş Analistinin bir şey bilmesine gerek yoktur. Office bilmesi yeterlidir. İş analitiği uzmanı ise veriye ulaşması için gerekli olan dillerden en az birini bilmelidir. En geçerli olanı SQL’dir. İş analistlerininde SQL bilmesi artıdır ama her iş analistine direkt veri okuma yetkisi vermezler. İş Analitiği uzmanı aynı zamanda süreçlere uygun programları bilmesi gerekir. Optimizasyon için ILOG, Lindo, Lingo, Tara vs, Similasyon için Arena, Promodel vs. İstatistik analizleri için SPSS, SAS, Minitab vs. gibi. Office saymadım bile zaten o olmazsa olmaz. Office deyince tabiki Excel kastediyorum. Uzman seviyede Excel bilinmeli.

Umarım faydalı olmuştur.
Başarılar.
Sabri Suyunu