ÜNİTE LOJİSTİK YÖNETİMİ. Yrd. Doç. Dr. Ufuk KULA İÇİNDEKİLER HEDEFLER ULAŞIM FAALİYETLERİNİN OPTİMİZASYONU

Benzer belgeler
EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

Genel Graf Üzerinde Mutlak 1-merkez

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

a2 b3 cij: birim başına ulaşım maliyeti xij: taşıma miktarı

MATEMATiKSEL iktisat

TAMSAYILI PROGRAMLAMA

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

YÖNEYLEM ARAŞTIRMASI - I

Her bir polis devriyesi ancak bir çağrıyı cevaplayabilir. Bir çağrıya en fazla bir devriye atanabilir.

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR

Yöneylem Araştırması II

KISITLI OPTİMİZASYON

Fonksiyon Optimizasyonunda Genetik Algoritmalar

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I

doğrusal programlama DOĞRUSAL PROGRAMLAMA (GENEL)

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem

DOĞRUSAL PROGRAMLAMANIN ÖZEL TÜRLERİ

SONLU FARKLAR GENEL DENKLEMLER

EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER

ATAMA (TAHSİS) MODELİ

*İlk aşamada, bahsedilen problemin matematiksel modelinin kurulması gerekmektedir. İlgili modelin açık ve kapalı formunu birlikte veriniz.

ÜNİTE. MATEMATİK-1 Doç.Dr.Erdal KARADUMAN İÇİNDEKİLER HEDEFLER ÖZDEŞLİKLER, DENKLEMLER VE EŞİTSİZLİKLER

BİRİNCİ BÖLÜM: TEDARİK ZİNCİRİ YÖNETİMİNE GİRİŞ

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

Tanım 2.1. X boş olmayan bir küme olmak üzere X den X üzerine bire-bir fonksiyona permütasyon denir.

ELEKTRONİK ÇİZELGE. Hücreleri Biçimlendirme. Formülleri Kullanma. Verileri Sıralama. Grafik Oluşturma 1) HÜCRELERİ BİÇİMLENDİRME

Stok Kontrol. Önceki Derslerin Hatırlatması. Örnek (Ekonomik Sipariş Miktarı Modeli)(2) Örnek (Ekonomik Sipariş Miktarı Modeli)(1)

YÖNEYLEM ARAŞTIRMASI - III

Tedarik Zinciri Yönetimi

İkinci dersin notlarında yer alan Gepetto Marangozhanesi örneğini hatırlayınız.

Montaj Hatti Tasarımı ve Analizi - 7

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Matris Cebiriyle Çoklu Regresyon Modeli

Stok Kontrol. Ders 6. Farklı Bir Stok Yönetimi Durumu. Önceki Derslerin Hatırlatması

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

4.1. Gölge Fiyat Kavramı

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

7. BÖLÜM İÇ ÇARPIM UZAYLARI İÇ ÇARPIM UZAYLARI İÇ ÇARPIM UZAYLARI İÇ ÇARPIM UZAYLARI .= Genel: Vektörler bölümünde vektörel iç çarpım;

YÖNEYLEM ARAŞTIRMASI - III

YÖNEYLEM ARAŞTIRMASI - III

Algoritma ve Programlamaya Giriş

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler

Yrd.Doç.Dr. Safiye Turgay Doç.Dr. İsmail Erol Fulya Türkmen Abant Izzet Baysal Universitesi

Montaj Hatti Tasarımı ve Analizi - 7

Stok Kontrol. Önceki Derslerin Hatırlatması. Örnek (Ekonomik Sipariş Miktarı Modeli)(1) Örnek (Ekonomik Sipariş Miktarı Modeli)(2)

Temel Kavramlar. (r) Sıfırdan farklı kompleks sayılar kümesi: C. (i) Rasyonel sayılar kümesi: Q = { a b

Afet Yardım Operasyonlarında CBS Tabanlı Acil Müdahale Sistemi

Nokta uzayda bir konumu belirtir. Noktanın 0 boyutlu olduğu kabul edilir. Herhangi bir büyüklüğü yoktur.

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

Tedarik Zinciri Yönetimi

ARAZİ ÖLÇMELERİ. Temel Ödev I: Koordinatları belirli iki nokta arasında ki yatay mesafenin

DENKLEM DÜZENEKLERI 1

Bir Doğrusal Programlama Modelinin Genel Yapısı

EBEKE MODELLERİ. ebeke Yapısına Giriş. Konu 3

MEHMET AKİF ERSOY ÜNİVERSİTESİ ECTS YÖNETİM PANELİ KULLANIM KILAVUZU

ÜNİTE. MATEMATİK-1 Prof.Dr.Ahmet KÜÇÜK İÇİNDEKİLER HEDEFLER TÜREV VE TÜREV ALMA KURALLARI. Türev Türev Alma Kuralları

OPTIMIZASYON Bir Değişkenli Fonksiyonların Maksimizasyonu...2

GRAFİK ÇİZİMİ VE UYGULAMALARI 2

TEDARİK ZİNCİRİ YÖNETİMİ

Simpleks Yönteminde Kullanılan İlave Değişkenler (Eşitliğin yönüne göre):

YÖNEYLEM ARAŞTIRMASI - III

2. LOJİSTİK ŞEBEKESİ TASARIMI

1. GRUPLAR. c (Birleşme özelliği) sağlanır. 2) a G için a e e a a olacak şekilde e G (e ye birim eleman denir) vardır.

BÖLÜM FORMÜLLER ve OTOMATİK TOPLAM Formüller

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

Duyarlılık analizi, bir doğrusal programlama probleminde belirlenen katsayı değerlerinin

MAK 210 SAYISAL ANALİZ

İleri Yöneylem Araştırması Uygulamaları Tam Sayılı Programlama

ISK116 - Bölüm 1. Grup Teknolojisi

11.Hafta En kısa yollar I-II-III Devam. Negatif Ağırlıklı En Kısa Yollar Doğruluk Çözümleme

UFRS ANALİZ DOKÜMANI

SU DALGALARINDA GİRİŞİM

OYUN TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş. Dr. Özgür Kabak

ideal Sistem Tester Kullanım Klavuzu

VisionLink Unified Suite

Ayrık Fourier Dönüşümü

BİLGİSAYAR PROGRAMLAMA

Web Madenciliği (Web Mining)

10. DİREKT ÇARPIMLAR

STATİK KUVVET ANALİZİ (2.HAFTA)

Maksimizasyon s.t. İşçilik, saat) (Kil, kg)

YAEM 2012 Sunumu. Atık BitkiselYağların Biyodizel Üretimi İçin i Toplanmasını Modelleyen Seçici i ve Devirli Bir Envanter Rotalama Problemi

.:: BÖLÜM I ::. MATRİS ve DETERMİNANT

Doğrusal Programlama. Prof. Dr. Ferit Kemal Sönmez

ÜNİTE MATEMATİK-1 İÇİNDEKİLER HEDEFLER ÜSTEL VE LOGARİTMA FONKSİYONLARI. Prof.Dr.Ahmet KÜÇÜK. Üstel Fonksiyon Logaritma Fonksiyonu

Bu kısımda işlem adı verilen özel bir fonksiyon çeşidini ve işlemlerin önemli özelliklerini inceleyeceğiz.

Yükleme Emrinde bulunan belge numarası, kamyon plaka numarası ve şoför adının irsaliyeye taşınması,

Montaj Hatti Tasarımı ve Analizi - 8

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY)

İleri Diferansiyel Denklemler

Zeki Optimizasyon Teknikleri

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

EM302 Yöneylem Araştırması 2 TP Modelleme. Dr. Özgür Kabak

İKİNCİ DERECEDEN DENKLEMLER

Transkript:

HEDEFLER İÇİDEKİLER ULAŞIM FAALİYETLERİİ OPTİMİZASYOU Giriş Matematiksel Modelleme Örneği Ulaşım Optimizasyonu Modelleri En Kısa Yol Problemi Gezgin Satıcı Problemi Araç Rotalama Problemi LOJİSTİK YÖETİMİ Yrd. Doç. Dr. Ufuk KULA Bu üniteyi çalıştıktan sonra; Bir matematiksel modelin ne olduğunu anlayacak, Yaygın olarak karşılaşılan ulaşım problemlerine ait matematiksel modelleri yazabilecek, Bu modelleri Ecel Çözücü ile çözebilecek, Gezgin satıcı ve Araç Rotalam Probleminin çözümünde kullanılan bazı sezgisel algoritmaları öğreneceksiniz. ÜİTE 5

GİRİŞ Matematiksel modeller; bir gerçek yaşam sisteminin davranışını anlamamıza, o sistemi analiz etmemize ve amaca en uygun kararları almamıza yardımcı olur. Bir lojistik sisteminde birbirinden farklı birçok faaliyet gerçekleştirilir. Bu faaliyetler arasındaki en büyük maliyet kalemi, ulaşım maliyetleridir. Yapılan çalışmalar, ulaşım maliyetlerinin toplam lojistik maliyetlerinin %50 ile 65% i arasında olduğunu göstermektedir. Dolayısıyla bir lojistik ya da tedarik zinciri yöneticisinin en önemli görevlerinden biri, ulaşım faaliyetlerini en iyi biçimde yönetmek ve ulaşım maliyetlerini azaltmaktır. Lojistik sistemlerinde gerçekleştirilen ulaşım faaliyetlerinin mümkün olan en iyi biçimde gerçekleştirilmesi için birçok matematiksel model geliştirilmiştir. Matematiksel modeller, ilgilendiğimiz gerçek yaşam sisteminin yapısal özelliklerini ve davranışlarını, matematiksel olarak ifade eden modellerdir. Bir matematiksel model, girdiler (dışsal değişken) ve çıktılar (içsel değişken) dan oluşur ( Şekil. 5.1). Girdi (Dışsal Değişkenler) Çıktı (İçsel Değişkenler) Karar Değişkenleri Parametrele r Matematiksel Model Şekil 5.1. Bir Matematiksel Modelin Girdi ve Çıktı Diyagramı Bir matematiksel modele ait girdi değişkenlerini, parametreler ve karar değişkenleri olarak ikiye ayırabiliriz. Bir gerçek yaşam sisteminin matematiksel modelini kurabilmek için girdi değişkenlerinden hangilerinin parametre, hangilerinin karar değişkeni olduğunu iyi anlamak gerekir. Parametreler, model veya karar verici (bu sizsiniz ) tarafından kontrol edilemeyen; karar değişkenleri ise model tarafından kontrol edilebilen, diğer bir deyişle karar vericinin ne değer alması gerektiğini belirlemeye çalıştığı girdi değişkenleridir. Çıktı değişkenleri ise, ne değer alacağına matematiksel modelin karar verdiği; alacağı değerler, karar değişkenlerin aldığı değerlere bağlı olan değişkenlerdir. Şekil 5.1 de gördüğünüz gibi, çıktı değişkenlerini de faaliyetler ve performans ölçütleri olarak ikiye ayırabiliriz. Faaliyetler, gerçek yaşam sisteminin nasıl işlemesi gerektiğini, diğer bir deyişle sistemde gerçekleştirilen faaliyetlerin ne miktarda olması gerektiğini gösterir. Performans ölçütleri ise, karar vericinin belirlemiş olduğu amaç veya amaçların ne ölçüde gerçekleştiğini ölçer ve böylece modellenen gerçek yaşam sisteminin davranışını sayısallaştırır. Matematiksel Modelleme Örneği Faaliyetler Performans (Başarım) Ölçütleri Bir matematiksel modelde, parametreler ve karar değişkenleri olmak üzere iki çeşit girdi değişkeni vardır. Bir matematiksel model kurabilmek için ele alınan gerçek yaşam durumuna ait önemli yapısal özelliklerin, matematiksel ilişkilere dönüştürülmesi gerekir. Bir matematiksel modelin, amaç fonksiyonu ve kısıtlar olmak üzere iki temel bileşeni vardır. Amaç fonksiyonu, matematiksel modelin gerçekleştirmesini istediğimiz amaç veya amaçların, problemdeki karar değişkenleri ve parametreler yardımı ile matematiksel olarak ifade edilmesidir. Kısıtlar ise amacı gerçekleştirmek için kullanabileceğimiz kaynak sınırlarının, sistemde gerçekleştirilen faaliyetler arasındaki ilişkilerin yine karar değişkenleri ve parametreler yardımıyla matematiksel olarak ifadesidir. Atatürk Üniversitesi Açıköğretim Fakültesi 2

Minimum Maliyet Ağ Akış Problemi Lojistik sistemlerinde alınması gereken önemli bir karar, ulaşım ağını oluşturan arz noktalarından (örneğin fabrikalar) talep noktalarına toplam sevkiyat maliyetlerini minimum yapacak sevkiyat miktarlarını belirlemektir. Bu problem Yöneylem Araştırması nda Minimum Maliyet Ağ Akış Problemi olarak bilinir. Tek Ürün Minimum Maliyet Ağ Akış Probleminde amaç, noktadan oluşan bir ağda tedarikçilerden yapılan sevkiyatlarla müşteri taleplerini karşılamaktır. Müşteri taleplerine dış akış, tedarikçilerden yapılan sevkiyatlara ise iç akış denir. Modelin girdi değişkenleri ( parametre ve karar değişkenleri ) aşağıdadır: Minimum Ağ Akış Probleminde amaç, toplam sevkiyat maliyeti minimum olacak şekilde müşteri taleplerini karşılamaktır. : i düğümünden (noktasından) j düğümüne olan yol üzerindeki akış ( sevkiyat ) miktarı c : i düğümünden j düğümüne sevk edilen bir birim ürünün maliyeti b : i düğümündeki dış akış (talep) miktarı i l : i düğümünden j düğümüne olan akış için alt sınır u : düğümünden j düğümüne olan akış için üst sınır Amacımız ağı oluşturan herhangi iki i ve j noktası arasındaki akış miktarını belirlemek olduğu için, ler karar değişkenlerimizdir. Karar verici olarak kontrolümüzde olmayan girdi değişkenleri olan; herhangi iki i ve j noktası arasındaki akışın birim maliyeti olan c ler, i düğümündeki talep miktarı b i, herhangi bir i düğümünden herhangi bir j düğümüne olan akışın alt ve üst sınırları olan l ve u ler ise problemin parametreleridir. Minimum Maliyet Ağ Akış Problemi Örneği Minimum maliyet ağ akış modelinin bir dağıtım probleminin çözümünde nasıl kullanılabileceğini anlamak için küçük bir dağıtım ağı ele alalım. Dağıtım ağı, iki fabrika, 1 depo ve 2 talep noktasından (müşteriler) oluşmaktadır. Şekil 5.2, bu dağıtım ağını göstermektedir. Minimum Maliyet Ağ Akış Probleminde, karar değişkenleri, düğümler arası akış miktarlarını temsil eden lerdir. Şekil 5.2. Bir dağıtım probleminin Minimum Maliyet Ağ Akış Problemi Formülasyonu Fabrikaları düğüm 1, düğüm 2, depoyu düğüm 3, talep noktalarını ise düğüm 4 ve düğüm 5 olarak numaralandıralım. Fabrika 1 den gönderilmesi gereken miktar 50 adet, fabrika 2 den gönderilmesi gereken miktar 40 adettir. Birinci talep noktasına (düğüm 4) gönderilmesi gereken miktar 30 adet, ikinci talep noktasına gönderilmesi gereken miktar ise 60 adettir. Fabrika 1 den, fabrika 2 ye gönderilebilecek ürün miktarının üst sınırı 10 adet, depodan ikinci müşteriye Atatürk Üniversitesi Açıköğretim Fakültesi 3

Matematiksel modellerde amaç fonksiyonu genellikle Z harfi ile gösterilir. gönderilebilecek ürün miktarının üst sınırı ise 80 adettir. Diğer yollar üzerinde herhangi bir sınırlama yoktur. c değerleri okların üzerinde verilmiştir. Önce örneğimize ait Minimum Maliyet Ağ Akış problemindeki amaç fonksiyonu yazalım: Amacımız toplam sevkiyat maliyetini çok azaltmak (minimize etmek) olduğundan önce düğüm 1 ve düğüm 2 arasındaki sevkiyatın maliyetini matematiksel olarak ifade edelim. 12, düğüm 1 den düğüm ikiye sevk edilecek miktar olduğundan, düğüm 1 den düğüm 2 ye gerçekleştirilen sevkiyatın maliyeti, c12 12 c olacaktır. Örneğimizde, 12 2 olduğundan, 1 den 2 ye gerçekleştirilecek 2 sevkiyatın maliyeti 12 olacaktır. Ağ üzerindeki diğer yollar (1-3, 1-4, 2-3, 3-5, 4-5, 4 ve 5-4) için de sevkiyat maliyetleri sırasıyla 13, 9 14, 3 23, 1 35, 345 ve 254 olacaktır. Dolayısıyla toplam sevkiyat maliyeti 212 413 914 323 35 345 254 olacaktır. Amacımız, toplam sevkiyat maliyetini en aza indirmek (minimize etmek) olduğundan, amaç fonksiyonumuz Z min(2 12 413 914 323 35 345 2 54 ) dır. Minimum Maliyet Ağ Akış probleminde, düğüme gelen toplam miktar düğümden çıkan toplam miktara eşit olmalıdır. Bu kısıtlara akış denge kısıtları denir. Akış denge kısıtları, (toplam iç akış miktarı) (toplam dış akış miktarı) şeklinde yazılır. Şimdi de kısıtlarımızı yazalım. Önce düğüm 1 i ele alalım: 1 den sevk edilecek toplam miktar olan 12 13 14 50 adet olmak zorunda olduğundan, düğüm 1 akış kısıtını 12 13 14 50 olarak ifade edebiliriz. Düğüm 2 den sevk edilmesi gereken miktar (dış akış miktarı) 23, düğüm 2 de hâlihazırda var olan 40 adet ve düğüm 1 den gönderilen 12 adet ürününün toplam miktarına eşit olacağından 23 40 12 yazabiliriz. Bu kısıtı da iç akış miktarı olan 12 ye ait katsayı -1 olacak biçimde, 12 23 40 şeklinde yazabiliriz. Düğüm 3 ne sevkiyat ne de talep düğümü olduğundan, düğüm 3 e gelen ürün miktarı, 23, düğüm 3'den gönderilen ürün miktarı olan 35 e eşit olmalıdır. 35 23 olmalıdır. Yani 35 23 0 dır. Bu kısıtı da, iç akış miktarı olan ' 23 ü ilk yazacak şekilde düzenlersek, düğüm 3 kısıtını da 23 35 0 şeklinde yazmış oluruz. Dikkat ederseniz, ilk üç düğüm için yazdığımız kısıtlarda, düğüme gelen sevkiyat miktarlarını, (iç akış) ifade eden karar değişkenlerinin katsayıları -1, düğümden dışarıya olan sevkiyat miktarlarını ifade eden karar değişkenlerin katsayıları ise 1 dir. Şimdi bir talep düğümü olan düğüm 4 kısıtını yazmaya çalışalım: Düğüm 4 e gelen sevkiyat miktarı olan 14 54 ile hem düğüm 4 talebi olan 30 birim karşılanacak, hem de düğüm 5 e 45 adet ürün gönderilecektir. Dolayısıyla 30 olmalıdır. Bu ifadeyi 14 54 45 30 olarak yazalım. İlk üç 14 54 45 düğüm kısıcında olduğu gibi, düğüm 4 kısıtını da iç akış karar değişkenlerine ait katsayılar -1 olacak biçimde yazarsak 14 54 45 30 kısıtını elde ederiz. Benzer şekilde düğüm 5 kısıcı da 35 45 54 60 olarak yazılabilir. Ayrıca düğüm 1 ile düğüm 2 arasındaki sevkiyat miktarı 10 adedi, düğüm 3 ile düğüm 5 arasındaki sevkiyat miktarı 80 âdeti geçemeyeceğinden 12 10 ve Atatürk Üniversitesi Açıköğretim Fakültesi 4

35 80 olmalıdır. Herhangi iki i ve j düğümü arasındaki sevkiyat negatif olamayacağından tüm i ve j çiftleri için 0 olmalıdır. Amaç fonksiyonumuzu ve tüm kısıtlarımızı, aşağıdaki gösterildiği biçimde yazarsak, örneğimize ait Minimum Maliyet Ağ Akış Modelini elde etmiş oluruz. Min. Z 2 4 9 3 3 2 Kısıtlar: 50 12 13 14 40 12 23 0 13 23 35 30 14 45 54 60 ve 35 45 54 12 35 12 13 14 23 35 45 54 10, 80, tüm 0 Model 5.1. Şekil 5.2 deki Dağıtım Problemine Ait Matematiksel Model Amaç fonksiyonu ağ üzerindeki yollarda yapılan toplam sevkiyat maliyetinin en küçük olması gerektiğini söylemekte, kısıtlar ise bize iç ve dış akış dengesinin nasıl olması gerektiğini, matematiksel olarak ifade etmektedir. Minimum Maliyet Ağ Akış Probleminin Genel Formülasyonu Amaç fonksiyonu ve kısıtların karar değişkenlerinin doğrusal bir fonksiyonu olduğu matematiksel modele Doğrusal Programlama Modeli denir. Yukarıda, Şekil 5.2 için yazdığımız minimum maliyet ağ akış problemine ait matematiksel modeli, herhangi bir ağ için genelleştirelim. Dikkat ederseniz, model 5.1 de herhangi bir düğüme olan toplam dış akış miktarından, toplam iç akış miktarını çıkarıyoruz. Örneğin düğüm 3 kısıtı olan 23 35 0 ı, toplam dış akış miktarı eksi toplam iç akış miktarı kısıtı şekline kolaylıkla getirebiliriz:. Örneğimizde yazdığımız diğer kısıtlarında da kısıtın sol tarafında, 35 23 0 toplam iç akış miktarı toplam dış akış miktarı olduğuna dikkat ediniz. Dolayısıyla herhangi bir ağ için kısıtların sol tarafında ifadesi olacaktır. Burada j1 j1 h1 ise i den dışarıya olan akış miktarını göstermektedir. hi, i düğümüne olan toplam iç akış miktarını, Dikkat ederseniz, model 5.1 de sevkiyat düğümleri olan düğüm1 ve düğüm 2 kısıtının sağ tarafında yer alan sayılar pozitif, talep düğümleri olan 4 ve 5 düğümlerine ait katsayılar ise negatiftir. Ara düğüm olan düğüm 3 kısıtının sağ tarafı ise sıfırdır. Sevkiyat düğümlerinde gerçekleşen akış (iç akışlar) pozitif, talep düğümlerinde gerçekleşen akış (dış akışlar) negatif, ara düğümlerdeki akışlar sıfır olacak şekilde, b i i düğümündeki akış miktarı olsun. Bu durumda, b hi i j1 h1 akış denge kısıtı hâline gelir. Aşağıda, Minimum Maliyet Ağ Akış Problemine ait genel matematiksel modeli verilmiştir: h1 hi Atatürk Üniversitesi Açıköğretim Fakültesi 5

Kısıtlar: Z Min c i1 j1 b i hi i j1 h1 (1) l u i, j (2) Model 5.2. Minimum Maliyet Ağ Akış Problem Formülasyonu Tek araç rotalama problemi, çoklu araç rotalama problemine göre çok daha basit bir problemdir. Model 5.1 ve Model 5.2 de amaç fonkisyonu Z ve tüm kısıtlar karar değişkenlerin doğrusal bir fonksiyonu olduğundan Doğrusal Programlama Modeli olarak adlandırılır. Doğrusal programlama modellerinin çözümü için çok hızlı yöntemler geliştirilmiştir. Günümüzde bu yöntemler çok büyük problemleri, oldukça kısa sürelerde çözebilmektedirler. Bölümün ilerleyen kısımlarında, doğrusal programlama modellerinin ecel yardımı ile nasıl çözülebileceğini ele alacağız. ULAŞIM OPTİMİZASYOU MODELLERİ Ulaşım faaliyetlerinin optimizasyonunda ortaya çıkan önemli bir problem, sevkiyatı gerçekleştirecek araçların takip edeceği rotanın belirlenmesi problemidir. Bu problem araç rotalama problemi olarak adlandırılır. Ulaşım tek araç ile sağlanıyorsa probleme tek araç rotalama problemi denir. Ulaşım tek bir araç ile sağlanıyorsa, gerçekleştirilmesi gereken sevkiyatların hangi araca atanacağına karar vermek gerekmez: Zaten tek bir araç olduğundan tüm taşımalar o araç tarafından gerçekleştirilecektir. Tek araç rotalama problemi, araç sayısının birden fazla olduğu çok araçlı rotalama problemine göre daha kolay bir problemdir. Birden fazla aracın rotalandığı problem çoklu araç rotalama problemi olarak adlandırılır. En Kısa Yol Problemi En kısa yol problemini, başlangıç düğümünden hedef düğüme 1 birim ürünün akışının en düşük maliyet ile sağlanması problemi olarak da düşünebiliriz. En kısa yol problemi, orinden ( başlangıç düğümü ) hedef düğüme giden en kısa yolun belirlenmesidir. En kısa yol problemini, başlangıç düğümünden hedef düğüme 1 birim ürünün akışının en düşük maliyet ile sağlanması problemi olarak da düşünebiliriz: En kısa yol probleminde görevimiz, tek bir aracı bir A başlangıç noktasından B hedef noktasına en kısa yoldan göndermektir. Bu görevi A başlangıç noktasından 1 adet ürünü alıp B hedef noktasına en düşük maliyetle ulaştırmak olarak düşünürsek, en kısa yol probleminin aslında minimum maliyet ağ akış probleminin yani Model 5.1 in özel bir hali olduğunu görürüz: A noktasından, B b 1 noktasına sevk edilecek bir adet ürünümüz var yani A b 1, ve B dır. Ağı b 0 oluşturan diğer tüm düğümlerde (ara düğümler) ise i dır. Düğümler arasında taşınacak miktarın alt ve üst sınır kısıtı ise olmayacaktır. Model 5.1 in parametrelerini yukarıda bahsettiğimiz biçimde değiştirirsek en kısa yol probleminin matematiksel (doğrusal ) programlama modelini elde ederiz. : i düğümünden (noktasından) j düğümüne olan yol üzerindeki akış ( sevkiyat ) miktarı. c : i düğümünden j düğümüne sevk edilen bir birim ürünün maliyeti. Atatürk Üniversitesi Açıköğretim Fakültesi 6

En Kısa yol problemini, bir Minimum Maliyet Ağ Akış Problemi olarak formüle edebiliriz. b : i düğümündeki dış akış ( talep ) miktarı. ( Başlangıç düğümü için 1, hedef i düğüm için -1, ara düğümler için 0 ) Kısıtlar: Z Min c i1 j1 hi i j1 h1 b i 0 i, j Model 5.3. En kısa yol probleminin Minimum Maliyet Ağ Akış Problemi olarak Formülasyonu (1) Şimdi bir küçük bir lojistik ağı üzerinde en kısa yol probleminin Model 5.3 ü kullanarak doğrusal modelinin nasıl yazıldığını ve bu modelin Ecel Çözücü yardımı ile nasıl çözülebileceğini gösterelim. Şekil 5.3. En Kısa Yol Problemi Örneği En Kısa Yol Problemini Ecel Çözücü ile çözebilmek için önce düğümler arası mesafeleri ve karar değişkenlerini çalışma sayfasına girmeliyiz. Şekil 5.3 de verilen ağda, başlangıç düğümü 1 den hedef düğüm 7 ye olan en kısa yol problemini, model 5.3 ü kullanarak formüle edersek, Z min 2 4 2 7 4 7 5 12 14 23 26 36 43 56 57 67 Kısıtlar: ( i=1, başlangıç düğümü akış denge kısıtı) 12 13 14 1 ( ) 0 (i=2, 2. Düğüm için akış denge kısıtı) 23 26 12 ( ) ( ) 0 (i=3, akış denge kısıtı) 35 36 13 23 43 ( ) 0 (i=4, akış denge kısıtı) 43 45 14 ( ) ( ) 0 (i=5, akış denge kısıtı) 56 57 35 45 ( ) 0 (i=6, akış denge kısıtı) 67 26 36 56 ( ) 1 (i=7, hedef düğüm akış denge kısıtı) 57 67 0 i, j Şekil 5.3 Verilen ağdaki en kısa yolu bulan en kısa yol Formülasyonu Örnek 1 i Ecel çözücü yardımı ile çözebilmek için önce bir çalışma sayfası tasarlamamız gerekir. Bu çalışma sayfasında en kısa yol probleminin parametreleri olan i ve j düğümü arasındaki mesafeleri ifade eden c ler; iki düğüm arasındaki yollar, karar değişkenleri ler ve amaç fonksiyonumuz olan toplam en kısa yol bulunmalıdır. Atatürk Üniversitesi Açıköğretim Fakültesi 7

D20 hücresine karar değişkenleri ile mesafe çarpımların toplamını hesaplayacak olan TOPLAÇARP(C5:C16; D5:D16) ifadesini yazın. Şekil 5.4. En Kısa Yol Probleminde Parametre, Karar Değişkenleri ve Kısıtlar İçin Gerekli Sayfa Düzeninin Hazırlanması Eğer Veri Sekmesi altında, en sağda çözücüyü göremiyorsanız, seçenekler menüsünden çözücüyü yükleyin. Şekil 5.4 te verilen çalışma sayfasının sol tarafında düğümler arasında mesafeler ve karar değişkenlerinin başlangıç değerleri verilmiştir. Çalışma sayfasının sağ tarafında ise kısıtlar için hazırlanan hücreler gösterilmektedir. Şekil 5.4 de gri renkli hücreler en kısa yol probleminin parametrelerini göstermektedir. Şimdi amaç fonksiyonunu çalışma sayfasında nasıl yazabileceğimizi görelim. Amaç fonksiyonumuz toplam mesafenin en küçüklenmesi (minimizasyonu) olduğundan, önce toplam mesafe olan 2 4 2 7 4 7 5 ifadesini çalışma sayfasına 12 14 23 26 36 43 56 57 67 eklemeliyiz: Şekil 4 ten de görüldüğü gibi toplam mesafe fonksiyonunu, herhangi bir hücreye, örneğin, D20 hücresine = C5*D5+...+D16*D16 şeklinde yazabiliriz. Bu ifadeyi daha kısa yazmak istersek TOPLAÇARP komutunu kullanırız. Bu durumda D20 hücresine =TOPLAÇARP(C5:C16;D5:D16) yazmamız yeterlidir. D20 hücresi bize karar değişkenlerinin bulunduğu D5 ve D16 arasındaki hücrelerdeki karar değişkenlerinin aldığı değerlere bağlı olarak toplam mesafenin ne olduğunu gösterecektir. En Kısa yol problemini çözücü ile çözmeden önce kısıtlarımızı yazmamız gerekir: Herhangi bir düğümdeki gerçekleşen net akış, G sütununa yazılmış olan miktarlara eşit olması gerektiğinden, her düğüm için gerçekleşen net akış miktarını ilgili hücreler olan H5, H6,..., H11 e yazmalıyız. Bunu ETOPLA komutunu kullanarak yapabiliriz. Başlangıç düğümü 1 den çıkan akış miktarını ETOPLA(A5:A15;F5;D5:D16) olarak yazabiliriz. Düğüm 1 e giren akış miktarını ise ETOPLA(B5:B15;F5;D5:D16) ile ifade edebiliriz. Dolayısıyla gerçekleşen net akış miktarı, ETOPLA(A5:A15;F5;D5:D16)- ETOPLA(B5:B15;F5;D5:D16) olur. Çalışma sayfamızda hazırladığımız modeli şimdi çözücü yardımı ile çözebiliriz. Çözücüyü Ecel in Veri sekmesi altında en sağda bulunan analizler kısmında bulabilirsiniz. Eğer kullandığınız Ecel programında çözücü yüklü değilse, Ecel seçeneklerinden Eklenti menüsünü açarak çözücüyü yükleyebilirsiniz. Atatürk Üniversitesi Açıköğretim Fakültesi 8

H Gerçekleşen Akış 5 =ETOPLA(A5:A15;F5;D5:D16)- ETOPLA(B5:B15;F5;D5:D16) 6 =ETOPLA(A5:A15;F6;D5:D16)- ETOPLA(B5:B15;F6;D5:D16) 7 =ETOPLA(A5:A15;F7;D5:D16)- ETOPLA(B5:B15;F7;D5:D16) 8 =ETOPLA(A5:A15;F8;D5:D16)- ETOPLA(B5:B15;F8;D5:D16) 9 =ETOPLA(A5:A15;F9;D5:D16)- ETOPLA(B5:B15;F9;D5:D16) 10 =ETOPLA(A5:A15;F10;D5:D16)- ETOPLA(B5:B15;F10;D5:D16) 11 =ETOPLA(A5:A15;F11;D5:D16)- ETOPLA(B5:B15;F11;D5:D16) Modelin kısıtlarını Ekle butonu yardımı ile Çözücüye girin. Şekil 5.5. En kısa Yol Problemi Akış Dengesi Kısıtlarının Yazılması Şekil 5.7 da çözücü parametrelerinin Ecel e girildiği ekran gösterilmektedir. Ekranın sol üst köşesinde Hedef Hücre kutucuğuna en iyilemek istediğimiz hücrenin ne olduğunu girmemiz gerekmektedir. Şekil 4 ten toplam mesafe fonksiyonunu D20 hücresine yazmış olduğumuzu görmekteyiz. Dolayısı ile Hedef hücre kutucuğuna D20 yazmamız gerek. Bunu, imleç hedef hücre içerisinde iken çalışma sayfasında D20 ye giderek yapabiliriz. Ele aldığımız problem en küçükleme (minimize) problemi olduğundan Min seçimini yapalım. Şekil 5.6. Çözücü Parametrelerinin Girilmesi Karar değişkenlerimiz D5:D16 arasında olduğundan değiştirmemiz gereken hücreler D5:D16 hücreleridir. Kısıtları eklemek için ekle düğmesini kullanırız. Ekle düğmesine bastıktan sonra karşımıza aşağıdaki gibi bir ekran görüntüsü gelecektir: Atatürk Üniversitesi Açıköğretim Fakültesi 9

Kısıtları, Şekil 5 te gösterildiği biçimde H5- H11 hücrelerine yazın. Şekil 5.7. Çözücü Kısıt Ekleme Ekranı Kısıt ekleme ekranın solundaki kutucuğa gerçekleşen akış sütununa daha önce yazdığımız net akışları, sağ tarafına ise yine daha önce çalışma sayfasına yazdığımız tedarik/talep miktarlarını yazmamız gerekmektedir. Her bir düğüm için gerçekleşen akış miktarı, o düğümdeki tedarik veya talebe eşit olacağından, seçmemiz gereken ilişki işareti = olmalıdır. Düğüm 1 için gerekli akış denge kısıtını aşağıdaki gibi yazabiliriz: Çözümde, 1 değeri alan karar değişkenlerinin ne olduğuna bakarak en kısa yolu bulabiliriz: 1->2->3->5->6->7 Diğer 6 kısıtı da ekledikten sonra çözücü ekranı aşağıdaki gibi olmalıdır: Şimdi çözücü seçeneklerinden karar değişkenlerinin 0 veya sıfırdan büyük ve tamsayı olarak seçelim. Çözücü seçenekleri ekranını kapatıp çözücü parametreleri ekranına geri dönüp çöz düğmesine bastığımızda karşımıza Şekil 5.8 deki ekran çıktısı çıkacaktır: Gezgin satıcı probleminde amaç, toplam seyahat mesafesi en az olacak şeklide satıcının şehirleri hangi sıra ile ziyaret edeceğinin belirlenmesidir. Atatürk Üniversitesi Açıköğretim Fakültesi 10

Şekil 5. 8. Ecel Çözücünün bulduğu En Kısa Yol Problemi çözümü Çözücü bize tüm kısıtların sağlandığını ve optimal çözümün bulunduğunu bildirmektedir. Çalışma sayfasında, karar değişkenlerinin yer aldığı hücrelerden en kısa yolun ne olduğunu görebiliriz: Optimal çözümde 1 değerleri alan karar değişkenleri 12, 23, 35, 56 ve 67 dir. Amaç fonksiyonunun değeri ise 13 olarak bulunmuştur. Dolayısı ile düğüm 1 den, düğüm 7 ye olan en kısa yol, 1->2 -> 3 -> 5 -> 6 ->7 yoludur ve toplam uzunluğu 13 birimdir. Gezgin Satıcı Problemi Bir matematiksel modelin çözümünde kullanılan yönteme algoritma denir. Algoritmalar kesin ve sezgisel olarak ikiye ayrılır. Tek araç rotalama probleminde, tüm müşterilere (varış noktaları) tek bir araç ile hizmet verildiğinden daha önce bahsetmiştik. Eğer araç, en son müşteriden tekrar başlangıç noktasına geri dönüyorsa problem gezgin satıcı problemi olarak adlandırılır. Gezgin satıcı problemini şöyle ifade edebiliriz. Evinden çıkan bir gezgin satıcı, ziyaret edeceği şehirlerin her birini sadece bir kez ziyaret ederek toplam seyahat mesafesi en küçük olacak şekilde, tekrar evine dönmek istemektedir. Bu satıcı şehirleri hangi sıra ile ziyaret etmelidir?. Gezgin satıcı problemi (GSP), yöneylem araştırmasının en çok çalışılmış problemlerinden biridir. GSP nin tanımı ve ne yaptığını açıklamak kolay olsa da hâlen problem için etkin bir çözüm algoritması bulunmamıştır ve muhtemelen hiçbir zaman bulunamayacaktır. GSP, orta büyüklükte problemlere bile kesin çözüm bulmanın çok zor olduğu bir problem sınıfına (P-Zor Sınıfı) aittir. Ancak bu algoritmaları karşılaşan problemlere uyarlamak zor olduğundan, lojistik ve tedarik zinciri planlamada çalışan kişilerin kullanabilmeleri için makul bir sürede, makul bir hata ile çözüm elde eden sezgisel algoritmalar geliştirilmiştir. GSP nin matematiksel formülasyonunu vermeden önce matematiksel modellerin çözümünde kullanılan algoritmalar ile ilgili bazı önemli noktalara değinmek yerinde olacaktır. Algoritma edir? Bir algoritmanın kısa sürede çözüm bulması, algoritmanın çalışma süresinin, problem boyutunun polinomyal bir fonksiyonu olması demektir. Bir matematiksel modelde karar değişkenlerinin en iyi (optimal) değerlerini bulmak için bir çözüm yöntemine ihtiyaç vardır. Karar değişkenlerinin en iyi değerlerinin belirlenmesine modelin çözülmesi ve kullanılan çözüm yöntemine ise çözüm algoritması ya da kısaca algoritma denir. Eğer bir çözüm algoritması kısa süre içersinde bir çözüm buluyor ise o algoritmaya etkin denir. Bir algoritmanın kısa sürede çözüm bulması, algoritmanın çalışma süresinin, problem boyutunun polinomyal bir fonksiyonu olması demektir. Büyük boyutlu problemlerin etkinliği, algoritmanın koşum süresi mertebe fonksiyonu ile tahmin edilir. Bir Algoritmanın Etkinliğinin Ölçüsü: Mertebe Fonksiyonu n elimizdeki problemin büyüklüğünün bir ölçüsü (örneğin lojistik ağındaki tesis sayısı) ve çözüm için kullanılan bir algoritmada bilgisayar tarafından yapılması k k1 gereken hesaplama sayısı a n a n... a n a olsun. Burada a 0 dır. k k1 1 0 k Atatürk Üniversitesi Açıköğretim Fakültesi 11

Bu algoritmaya n k k mertebesinden der ve On ( ) ile gösteririz. Gereken hesaplama sayısının nasıl bulunduğu oldukça karmaşıktır ve bu bölümde ele alınmayacaktır. Aşağıdaki tabloda çeşitli mertebedeki algoritmaların koşum süreleri verilmiştir. Tablo 5.2 deki ilk iki algoritma polinomiyal (P) dır ve problem boyutu n arttıkça algoritmanın koşum süresi çok az artar. Tablo 5.2 de verilen son algoritma ise 2 n mertebesindedir. Bu tür algoritmalara üstel veya polynomiyal olmayan (P) algoritmalar denir. Bu tür algoritmaların koşum süresi, n artıkça çok çabuk artar ve en güçlü bilgisayarlarla bile çözülemeyecek hâle gelir. Tablo 5.2: Algoritmaların Koşum Süreleri Örneğin Tablo 5.2 deki 2 n mertebesindeki bir algoritmanın n=80 boyutundaki bir problemi çözmesi için gereken süre 37,43 milyon yıldır. Bir ulaşım problemini çözmede kullanılacak algoritmanın kolay ya da zor olduğunu bilmek önemlidir. Kolay algoritmaların koşum süreleri düşük polinomiyal artış gösterir. Kolay algoritmalara verilebilecek en yaygın örnek doğrusal programlama modelleridir. Doğrusal programlama çözücüleri ile çok büyük boyutlu problemler var olan DP çözücüleri ile optimal olarak çözülebilmektedir. Zor algoritmaların koşum süreleri, n ile üstel olarak artar (Bakınız Tablo 5.2, son algoritma). Bu nedenle makul sürelerde sadece küçük boyutlu problemleri optimal olarak çözmek mümkündür. Eğer bir algoritma, mümkün olan en iyi çözümü veriyor ise, bu algoritmaya optimal ya da kesin algoritma, eğer iyi, ancak optimal olduğu garanti edilemeyen bir çözüm veriyorsa, bu algoritmaya ise sezgisel ya da yaklaşık algoritma denir. Gezgin Satıcı Problemi Modeli GSP nin üretim ve lojistik sistemlerinde birçok uygulaması vardır. Gezgin satıcı probleminin üretim ve lojistik sistemlerinde birçok uygulama alanı vardır. Bunlar arasında sipariş toplama problemi, araçların boya sırasının belirlenmesi, bir bilgisayarın ana kartı üzerine delik delme sırasının belirlenmesi, müşterilere gönderilen siparişlerin teslim sırasının belirlenmesi ve çoklu araç rotalama problemi sayılabilir. Model 5.4 te, Asimetrik Gezgin Satıcı Probleminin matematiksel (AGSP) modeli verilmiştir. Asimetrik Gezgin Satıcı Probleminin ortaya çıktığı duruma örnek olarak i düğümünden j düğümüne olan seyahat mesafesi veya maliyet c nin; j düğümünden, i düğümüne olan mesafe veya maliyet c ji ye eşit olmadığı durum verilebilir. AGSP, şehir içi ulaşımda yaygın olarak kullanılır. Bunun nedeni şehir içi ulaşımda, tek yön caddelerin varlığı nedeni ile i den j ye olan mesafenin, j den i ye olan mesafeye çoğu zaman eşit olmamasıdır. Aşağıda AGSP de kullanılacak notasyon verilmiştir: : Problemdeki düğümlerin kümesi ve : Problemdeki düğüm sayısı : Eğer ile i den j ye gidliyor ise 1, aksi hâlde 0 c : i den j ye olan mesafe veya maliyet Atatürk Üniversitesi Açıköğretim Fakültesi 12

S : Problemdeki düğümlerin herhangi bir alt kümesi ve S, S kümesindeki düğüm sayısı Asimetrik GSP de, i den j ye olan mesafe j den i ye olan mesafeye eşit değildir. Yani, c c ji Model 5.4 de (1) no'lu kısıt kümesi her j düğümüne sadece ve sadece bir i düğümü atanması gerektiğini, (2) no'lu kısıt kümesi ise her i düğümüne sadece tek bir j düğümü atanabileceğini ifade etmektedir. (3) no'lu kısıt kümesi alt-tur eleme kısıtları olarak bilinir ve başlangıç ve varış noktası dışındaki düğümler arasında tur oluşmasını engeller. Kısıtlar: i1 j1 is js i1 j1 1 j (1) 1 i (2) {0,1} Z Min c S 1 S, S 2 (3) i, j (4) Model 5.4: Asimetrik Gezgin Satıcı Problemi Alt tur eleme kısıtları, satıcının ziyaret edeceği şehirleri tek bir tur yaparak gezmesini sağlar. Tek başına (1) ve (2) no'lu kısıtlar kümesi, Şekil 5.9 da gösterilen durumun ortaya çıkmasını engellemez. Şekil 5.9 un sol tarafında verilen gösterimde, i->j->k yolu takip edilerek k düğümüne ulaşılmış, tekrar i düğümüne dönülmüş ve dolayısıyla i ve k düğümleri arasında bir alt tur oluşmuştur. Sağdaki gösterimde ise m düğümünden n düğümüne gidilmiş ve n den tekrar m ye dönülmüş ve yine bir alt tur oluşmuştur. Şekil 5.9. AGSP de alt tur oluşumunun gösterimi GSP nin mertebesi 2 n dir. Dolayısıyla GSP Pzor bir problemdir. Dikkat edilirse, herhangi bir düğüm alt kümesinde alt tur (Şekil 9, i, j ve k dan oluşan üç elemanlı bir alt küme ve m ve n düğümlerinden oluşan iki elemanlı bir alt kümeyi göstermektedir.) oluşmaması için alt küme içerindeki yol sayısı, alt kümenin eleman sayısından bir eksik olmalıdır. Örneğin, S { i, j, k} alt kümesinde, i, j ve k yı bağlayan iki yol olmalı, daha sonra üçüncü bir yol, kümenin herhangi bir elemanını küme dışındaki bir düğüme bağlamalıdır. Benzer şekilde S { mn, } alt kümesinde m ve n düğümlerini birbirlerine bağlayan tek bir yol olmalı, ikinci yol ise m veya n yi S { mn, } dışındaki başka bir düğüme bağlamalıdır. Alt-tur eleme kısıtı, modeli, S alt kümesindeki düğümler arasında en Atatürk Üniversitesi Açıköğretim Fakültesi 13

fazla S -1 yol seçmeye zorlar. Şekil 9 da verilen alt kümeler için alt-tur eleme kısıtlarını, S { i, j, k}, S 3 için 2, jk ki kj ik S { mn, }, S 2 için 1 şeklinde yazabiliriz. mn nm GSP sezgiselleri, başlangıç turu oluşturma, düğüm ekleme ve çözüm iyileştirme aşamalarından oluşur. Gördüğünüz gibi alt-tur eleme kısıtlarının yazılması oldukça basittir. AGSP de zorluk bu kısıtların yazılması değil, kısıt sayısının fazlalığıdır. düğümlü bir ağdaki tüm alt kümelerin sayısı 2-1 dir (boş kümeyi saymazsak) dir. Bu sayıdan ağın tümünü oluşturan düğümler kümesini ve tek elemanlı alt kümelerin sayısı olan yi çıkardığımızda, yazılması gereken alt-tur eleme kısıtı sayısının 2-2 olduğunu görürüz. Dolayısıyla, 10 düğümden oluşan bir problemde yazılması gereken alt-tur kısıt sayısı 2 10 10-2=1012 dir. Eğer düğüm sayısı 60 ise yazılması gereken kısıt sayısı yaklaşık 1,15310 18 dir. Bu kadar fazla kısıtı olan bir problemi hiçbir çözücü çözemez. Bu nedenle, sadece optimal çözümü etkileyen alt-tur eleme kısıtlarını göz önünde bulunduran karmaşık algoritmalar geliştirilmiştir. Ancak bu algoritmalar bu bölümün konusu dışındadır. Model 5.4 te asimetrik gezgin satıcı problemine ait modeli inceledik. Simetrik gezgin satıcı problemi (SGZP), gezgin satıcı probleminin (GSP) bir başka versiyonudur. Simetrik gezgin satıcı probleminde i düğümünden j düğümüne gitmenin maliyeti (mesafesi) ile j den i ye gitmenin maliyeti aynıdır. Simetrik gezgin satıcı problemi daha çok şehirlerarası rota belirlemede kullanılır. SGSP de maliyetler simetrik olduğundan iki düğüm arasında sadece bir yol bulunur. Dolayısıyla herhangi bir i düğümü ile biri i ye gelen yol, diğeri ise i den çıkan yol olmak üzere sadece iki yol vardır. Model 5.5 te, simetrik gezgin satıcı problemine ait matematiksel model verilmiştir. Model 5.5. Simetrik Gezgin Satıcı Problemi (SGSP) Kısıtlar: j1 j1 ji1 is js 1 Z Min c i1 ji1 + =2 j (1) S 1 S, S 2 (2) {0,1} i, j (3) GSP nin çözümü için geliştirilen sezgiseller genelde üç aşamadan oluşur: Başlangıç turu oluşturma, düğüm ekleme ve tur iyileştirme. GSP nin Çözümü İçin Kullanılan Sezgisel Algoritmalar Gezgin satıcı problemi P-zor sınıfına ait olduğundan orta büyüklükteki problemlerde bile kesin çözüm veren algoritmaların koşum süreleri çok uzundur. iyi çözüm (optimale yakın) veren birçok sezgisel algoritma geliştirilmiştir. Geliştirilen sezgisel algoritmalar üç temel aşamadan oluşur. Bu aşamalar, başlangıç turu oluşturma, düğüm ekleme ve çözüm iyileştirme aşamalarıdır. Atatürk Üniversitesi Açıköğretim Fakültesi 14

Başlangıç Turu Oluşturma Sezgiselleri Başlangıç turu oluşturma sezgiselleri, elimizdeki maliyet verilerini kullanarak bir başlangıç turu oluştururlar. Başlangıç turu oluşturmak için geliştirilmiş birçok sezgisel vardır. Biz bu bölümde, kullanımı en yaygın olan iki sezgisel algoritmayı, en yakın komşu, ve süpürme algoritmasını ele alacağız. Yaygın olarak kullanılan diğer bir algoritma da tasarruf (tasarruf algoritmasına Clark ve Wrigth algoritması da denir) dır. En Yakın Komşu Sezgiseli En yakın komşu sezgiseli anlaması en kolay sezgisellerden biridir. Bu sezgisel herhangi bir başlangıç noktasından başlar ve tüm noktalar tura eklenene dek tura eklenmemiş düğümleri ekleyerek devam eder. Tura eklenmemiş nokta kalmadığında algoritma durur. En yakın komşu sezgiselinde farklı başlangıç noktaları farklı çözümler verir. En yakın komşu algoritmasının koşum süresi çok kısadır. Sezgiselin bilgisayar uygulamalarında, farklı başlangıç düğümleri seçilerek farklı başlangıç çözümleri elde edilir ve en kısa tur başlangıç turu olarak seçilir. En Yakın Komşu Sezgiseli ile Başlangıç Turu Oluşturma En yakın komşu sezgiseli ağdaki tüm düğümleri tura ekler, dolayısıyla ayrıca bir düğüm ekleme aşamasına gerek yoktur. Tablo 5.3, gezgin satıcı probleminin çözümünde kullanacağımız sezgiselleri anlatmak için kullanacağımız örneğe ait verileri göstermektedir. Örneğimizde ağı oluşturan 6 tesis vardır. Şekil 10 da tesislerin coğrafi konumları ve ve y koordinatları verilmiştir. Şekil 5.10. GSP örneğinde tesislerin coğrafi konumları ve koordinatları Örneğimizde düğüm 1, başlangıç düğümüdür ve orin olarak seçilmiştir. Dolayısıyla ( 1 =0, y 1 =0) dır. Düğüm i ile düğüm j arasındaki mesafe d, Öklid bağıntısını kullanılarak aşağıdaki gibi ölçülebilir: En yakın komşu sezgiselinde farklı başlangıç noktaları seçerek oluşturulan turların en kısası seçilebilir. d ( ) ( y y ) 2 2 i j i j Yukarıdaki formülü kullanılarak Şekil 10 da verilen tesisler arasındaki mesafe hesaplanabilir. Örneğin, düğüm 3 ile düğüm 5 arasındaki mesafe d dir. Diğer tesisler arasındaki mesafe 2 2 35 (400 900) (400 400) 500 Tablo 5.3 te verilmiştir. Atatürk Üniversitesi Açıköğretim Fakültesi 15

Tablo 5.3. GSP Örneği Tesis Mesafeleri 1 2 3 4 5 6 1 0 608 566 860 985 1204 2 608 0 361 412 825 762 3 566 361 0 316 500 640 4 860 412 316 0 500 361 5 985 825 500 500 0 510 6 1204 762 361 361 510 0 Örneğimiz üzerinde en yakın komşu sezgiselinin nasıl çalıştığını inceleyelim. Başlangıç düğümü olarak düğüm 3 ü seçelim. Ziyaret edeceğimiz bir sonraki düğüm 3 düğümüne en yakın olan düğüm olacaktır: min 566,361,316,500, 640 316 ( düğüm4). İkinci adımda 4 e en yakın düğüm tura eklenecektir: min860, 412,500,361 361 (düğüm 6). Üçüncü adım: 6 ya en yakın düğüm: min1204, 762,510 510 (düğüm 5). Dördüncü adım: 5 e en yakın düğüm: min 1204, 762 762 (düğüm 2). Beşinci adım: tura eklenmeyen tek düğüm, düğüm 1 de tura eklenir ve başlangıç düğümü olan 3 ile birleştirilir. Oluşan gezgin satıcı turu, 3->4->6->5->2->1->3 dür ve toplam tur uzunluğu, (316+361+510+825+608+566)=3186 dır. Süpürme Sezgiseli Süpürme sezgiselinde düğümler, bir rotasyon noktası etrafında döndürülen bir ışının düğümleri ziyaret sırasına göre tura eklenir. Süpürme algoritmasında bir rotasyon noktası etrafında dönen bir ışının ziyaret ettiği noktalar sırasıyla tura eklenir. Bunu yapabilmek için önce rotasyon noktasının belirlenmesi gerekir. Bu noktanın koordinatlarını bulmak için genellikle merkez nokta koordinatları ya da ortalama koordinatlar kullanılır. Merkez nokta koordinatları, en küçük ve y koordinatları ile en büyük ve y koordinatlarının ortasıdır. Merkez koordinatları, 1 1 rot ma i min i, yrot ma yi min yi şeklinde 2 2 hesaplanır. Ortalama koordinat hesaplama formülleri ise y rot 1 yi dir. i 1 rot 1 i ve i 1 Yukarıdaki formül çiftlerinden biri kullanılarak bulunan rotasyon noktası etrafında döndürülen bir ışın yardımı ile düğümler tura eklenir. Düğümlerin eklenme sırası, ışının düğümleri ziyaret sırasına göre belirlenir. Işının hangi yöne döndürüldüğünün ve ışının başlangıç yönünün oluşacak başlangıç turu üzerinde etkisi yoktur. Süpürme Sezgiseli ile Başlangıç Turu Oluşturma En yakın komşu sezgiseli için kullandığımız örneği kullanarak süpürme sezgiselinin nasıl çalıştığını görelim. Örneğimiz için merkez noktasının koordinatlarını ortalama koordinat hesaplama formüllerini kullanarak bulalım: 1 rot (0 100 400 500 900 800) 450 6 1 yrot (0 600 400 700 400 900) 500 6 Atatürk Üniversitesi Açıköğretim Fakültesi 16

Şekil 11 de merkez nokta c ile gösterilmiştir. Ele aldığımız örnek için ışının işaret ettiği başlangıç yönü olarak kuzey ve rotasyon yönü olarak da saat yönünün tersi seçilmiştir (Siz isterseniz başka bir işaret ve rotasyon yönü seçerek de başlayabilirsiniz). Eğer ışın aynı dönme açısında birden fazla noktayı ziyaret ederse bu noktaları istediğimiz sıra ile tura ekleyebiliriz. Ancak bu durumlarda genellikle noktalar rotasyon noktasına olan uzaklıklarına göre ( en yakın, ilk önce) tura eklenir. Örneğimizde tura eklenen ilk düğüm 2 dir. Işın daha sonra düğüm 1 i ziyaret ettiğinden tura eklenen ikinci nokta düğüm 2 dir. Düğüm 1 ile düğüm 2 arasındaki mesafe 608 olduğundan, oluşan tur uzunluğu 608 dir. Işın düğüm 2 den sonra düğüm 3 ü ziyaret eder, bu da tura 361 birimlik bir mesafe ekler. Düğüm 3 ten sonra ziyaret edilen nokta düğüm 5 tir ve tura eklenen mesafe 500 dür. Bir sonraki eklenen nokta ise düğüm 6, eklenen mesafe ise 510 dur. Son olarak tura 4 düğümü ve oluşan tur mesafesine 361 eklenir. Turu tamamlamak için tura son eklenen nokta olan düğüm 4 ile tura eklenen ilk eklenen düğüm 2 birleştirilerek tur tamamlanır. Süpürme algoritması kullanılarak oluşturulan tur, 2->1->3->5->6 ->4->2 ve toplam tur uzunluğu 2957 dir. Şekil 5.11. En Yakın Komşu (Soldaki Tur) Ve Süpürme Algoritması İle Oluşturulan Gsp Turları Düğüm Ekleme Sezgiselleri Tüm düğümlerin ağa eklenmediği turları tamamlamak için düğüm ekleme sezgiselleri kullanılır. Başlangıç turu oluşturmakta kullanılan bazı sezgiseller ağda bulunan tüm düğümleri tura eklemezler. Düğüm ekleme sezgiselleri, bu tür sezgisellerin tura eklemeden bıraktıkları serbest düğümleri bulunan tura eklemekte kullanılırlar. Düğüm ekleme sezgiselleri temel olarak iki şeye karar verir. Bu kararlar, ilk önce hangi noktanın düğüme ve bu düğümün hangi iki düğüm arasındaki hangi yola ekleneceğidir. Birçok düğüm ekleme sezgiseli vardır. Biz bu bölümde sadece en ucuz ekleme sezgiselini ele alacağız. En Ucuz Ekleme Sezgiseli En ucuz ekleme en sık kullanılan sezgisellerden biridir. Sezgisel, önce her c c c ye karar serbest noktaların nereye ekleneceğine yani min k ik kj verir. Herhangi serbest nokta k nın, (i,j) yoluna eklenmesinin maliyeti k, eklemenin maliyeti olan cik ckj den i ve j arasındaki yolun maliyetinin çıkarılması ile bulunur ve k serbest noktası ekleme maliyeti en düşük olan herhangi iki i ve j noktası arasına eklenir. Tüm serbest noktalar için aynı işlem tekrarlanır ve ekleme Atatürk Üniversitesi Açıköğretim Fakültesi 17 i, j

maliyeti en düşük olan serbest nokta k ve nereye eklenmesi gerektiği bulunmuş olur. Bu da min k cik ckj c i, j i, j nin k ya göre minimum alınarak bulunur: min min k cik ckj c. İlk düğüm ekleme işlemi gerçekleştirildikten k sonra, tüm düğümler tura eklenene dek devam edilir. İyileştirme Sezgiselleri İyileştirme Sezgisellerinin amacı oluşturulan başlangıç gezgin satıcı turunun uzunluğunu azaltmaktır. Turun uzunluğu düğümler arasındaki iki ya da daha fazla yolun yerlerinin değiştirilmesi ile yapılır. Birçok iyileştirme sezgiseli geliştirilmiştir. Biz bu bölümde sadece ikili yer değiştirme sezgiselini ele alacağız. İkili Yer Değiştirme Sezgiseli İkili yer değiştirmede amaç, turda bulunan komşu olmayan iki yol çıkarıp yerine yeni iki yol koyarak turu tamamlamaktır. Şekil 12 de ikili değiştirmenin nasıl yapıldığı gösterilmektedir. Görüldüğü gibi ( kn) ve ( li) yolları ( kl) ve ( in) yolları İyileştirme sezgisellerinin amacı oluşturulan başlangıç gezgin satıcı turunun uzunluğunu azaltmaktır. Şekil 5.12. İkili Değiştirme Sezgiseli nin Gösterimi ile değiştirilmiştir. Bu ikili değiştirmeden elde edilen tasarruf miktarı, s d d d d şeklinde hesaplanır. Tasarruf miktarı pozitif ise değişiklik kn li kl ni yapılır. Pozitif tasarruf kalmayıncaya dek değişiklere devam edilir. Araç Rotalama Problemi Araç filosu yönetiminde, araç kapasiteleri, teslimat zamanı, müşteri öncelikleri, hizmet ve seyahat süreleri göz önünde bulundurulmalıdır Ulaştırma planlamada karşılaşılan en önemli problemlerden biri, ulaşım hizmetlerini gerçekleştirecek araç filosunun yönetimi problemidir. Ulaştırma faaliyeti sırasında mal veya yolcuların bir noktadan alınması ve başka bir noktaya teslimi gerçekleştirilir. Ulaşım faaliyetlerinin gerçekleşmesinde çeşitli kısıtlar vardır. Uygulamada en sık karşılaşılan kısıtlar, araç kapasitesi, seyahat süresi ve teslim zamanı sınırlamaları, öncelik ve hizmet kısıtlarıdır. Araç kapasite kısıtları ağırlıksal, hacimsel ya da her ikisi birlikte olabilir. Teslimat zamanı kısıtlarına zaman penceresi kısıtları denir. Zaman aralığı kısıtları teslimatların gün içerisinde hangi zaman aralıklarında yapılabileceği ile ilgilidir. Öncelik kısıtları, bazı noktalardaki yükleme veya teslimatların diğer bazı noktalardakilerden önce yapılmasını gerektirir. Hizmet kısıtları ise belirli bir zaman periyodunda (örneğin bir ayda) belirli sayıda teslimat yapılması ile ilgidir. Araç rotalama kararları, operasyonel ve taktik olmak üzere iki farklı düzeyde verilir. Operasyonel düzeyde verilen kararlar: 1) Müşteri ya da ulaştırma isteklerinin bir araca atanması, 2) Her araç için yükleme ve teslimat sırasının belirlenmesi. Atatürk Üniversitesi Açıköğretim Fakültesi 18

Araç Rotalama Probleminin Tanımı Araçların dağıtım merkezinden çıkıp tekrar dağıtım merkezine döndüğü turların her birine rota denir. Klasik araç rotalama problemi birden fazla aracın olduğu durumlarda kullanılabilecek modeller içerisinde en basit olanıdır. Bu problemde tek bir dağıtım merkezi (depo) ve müşteri vardır. Her bir müşteriye teslim edilecek miktar (talep) kesin olarak bilinmektedir. Teslimatları gerçekleştirmek için birbirinin aynı K adet araç vardır. Her bir araç, dağıtım merkezinden yola çıkar, turunu tamamlar ve dağıtım merkezine geri döner. Aracın dağıtım merkezinden çıkıp tekrar dağıtım merkezine geri döndüğü tura rota denir. Klasik araç rotalama probleminde bir müşteriye (noktaya) sadece tek bir araç uğrayabilir yani birden fazla aracın aynı müşteriye uğramasına izin verilmez. Amaç, müşteri taleplerini en düşük maliyetle karşılamaktır. Bir araç rotalama problemini çözmeden önce belirlenmesi gereken ilk şey tüm müşteri sevkiyatlarını gerçekleştirmek için gerekli minimum rota sayısının belirlenmesidir. Bir ARP probleminin çözümü olabilmesi için araç sayısının gereken minimum rota sayısına eşit veya fazla olması gerekir. Eğer araç filosundaki araçlar birbirinin aynı ise, yani tüm araçların kapasiteleri eşit ise, müşteri sayısını, d, i müşterisinin talebi ve C araç i kapasitesi olmak üzere, minimum rota sayısını aşağıdaki formül ile hesaplayabiliriz. minimum rota sayısı di C i1 Formülde, e eşit veya daha büyük en küçük tamsayıyı ifade etmektedir. Örneğin, 1,2 2 dir. Araç Rotalama Problem Örneği Bir araç rotalama probleminde kullanılması gereken araç sayısı, en az minimum rota sayısı kadar olmalıdır. Araç rotalama probleminde (ARP) kullanılan algoritmalardan bahsederken aşağıdaki örneği kullanacağız. Örneğimizde 8 talep noktası (müşteri) bulunmaktadır. Tablo 5.6 da bu müşterilerin ve dağıtım merkezinin (DM) konumlarına ait ve y koordinatları verilmiştir. Tablo 5.6 da verilen koordinat verileri kullanarak Öklid normu yardımı ile tesisler arasında mesafeler hesaplanmış ve Tablo 5.7 de verilmiştir. Örneğimizde kullanılabilecek maksimum araç sayısı üç ve her birinin kapasitesi 120 dir. Tablo 5.6. ARP Örneği Müşteri Verileri Atatürk Üniversitesi Açıköğretim Fakültesi 19

Gerekli Araç Sayısının Hesaplanması Şimdi, örneğimizde verilen ARP problemi için gereken araç sayısını yukarıdaki formülden hesaplayalım: di i1 295 minimum rota sayısı 2, 46 3 C 120 Tablo 5.7. ARP Örneği Tesis (Müşteri) Mesafeleri Araç özellikleri ve kapasiteleri farklı ise gerekli araç sayısı, Filo Büyüklüğü Belirleme Modeli Yardımı ile hesaplanabilir. Araç kapasitelerini ve toplam müşteri talebini göz önünde bulundurarak minimum rota sayısını üç olarak hesapladık. Dolayısıyla gerekli araç sayısı en az üçtür. Elimizde kullanabileceğimiz araç sayısı üç olduğundan, araç sayısı yeterlidir. Üç araç kullanılacağı için ortalama araç doluluk oranı 2,46/3=0,82 olacaktır. Yukarıdaki formül sadece araç kapasiteleri aynı ise kullanılabilir. Eğer araç kapasiteleri birbirinden faklı ise gerekli araç sayısı Model 6 da verilen filo büyüklüğü belirleme modeli çözülerek bulunabilir. Bu modelde, d : i ninci müşteri tesisine sevk edilmesi gereken miktar, i 1,..., i C k : k aracının kapasitesi, k 1,..., K. Burada K kullanılabilecek maksimum araç sayısıdır. z : Eğer i müşterisi k aracına atanmış ise 1, aksi hâlde 0 ik z : Eğer k aracı kullanılmış ise 1, aksi hâlde 0 k Model 6 da kısıt (1), eğer k aracı çözümde kullanılacaksa, bu k aracına atanacak müşterilerin toplam talep miktarından az olması gerektiğini, kısıt (2) ise herhangi bir i müşterisine sadece bir araç atanabileceğini ifade etmektedir. Filo Büyüklüğü Belirleme Modeli nde, kullanılabilecek maksimum araç sayısı K dır. Model 5.6. Filo Büyüklüğü Belirleme Modeli min i1 k 1 K k 1 Kısıtlar: K z k k d. z C. z k (1) z i ik k k ik z 1 i (2) 0,1, z 0,1 ik Atatürk Üniversitesi Açıköğretim Fakültesi 20

Filo büyüklüğü belirleme modelinin amaç fonksiyonu ise, araç sayısını en azlamaktır. Model 5.6 yı ARP örneğimize uyarlarsak aşağıdaki Tamsayı Programlama Modeli ni elde ederiz. Problemimizde karar değişkenleri 0 veya 1 olduğundan, Çözücü kısıtlarına (D3:F1)=bin ifadesini eklemeyi unutmayınız. Şekil 13 te Ecel çözücüde çözülen problemin çözüm ekranı verilmiştir. Şekil 13 ten görebileceğiniz üzere tüm z k değişkenleri 1 değer almıştır. Dolayısıyla kullanılması gereken araç sayısı 3 tür. Karar değişkenlerinin 0 veya 1 olduğunu belirtmek için Çözücü kısıtlarına (D3:F1)=bin yazın. min Kısıtlar: 1 2 3 23z 28z 32z 37z 31z 57z 46z 41z 120z 11 21 31 41 51 61 71 81 1 23z 28z 32z 37z 31z 57z 46z 41z 120z 12 22 32 42 52 62 72 82 2 23z 28z 32z 37z 31z 57z 46z 41z 120z 13 23 33 43 53 63 73 83 2 z z z 1 z 11 12 13 z 21 22 z z z 23 31 32 33 1 z z z 1 z 0,1 z Şekil 5.13. Filo Büyüklüğü Belirleme Probleminin Optimal Çözümünde Karar Değişkenlerinin Aldığı Değerler Filo büyüklüğü belirleme probleminin çözümü aynı zamanda rotaları (müşteri kümeleri) da verir. 2 no'lu araca atanan müşteriler ise 1, 3 ve 4 dür ve kullanılan araç kapasitesi 92 birimdir. 3 no'lu araç ise müşteri 7 ve 8 in sevkiyatlarını gerçekleştirecektir ve araç kapasitesinin 87 birimlik kısmı kullanılacaktır. Filo büyüklüğü belirleme probleminin çözümü aynı zamanda müşterilerin nasıl kümelenmesi gerektiğini göstermektedir. Oluşan müşteri kümeleri {2, 5, 6}, {1, 3, 4} ve {7,8} dir. Daha önce ARP probleminin bu aşamasına kümeleme aşaması dendiğini belirtmiştik. Dikkate edilirse bu kümelerin oluşturulmasında müşteri tesisleri arasındaki mesafeler amaç fonksiyonunda dikkate alınmamıştır. ARP probleminin çözümünün tamamlanması için bundan sonraki aşama olan rotalama aşamasında her bir kümedeki müşteriler için bir rota belirlenmesi gerçekleştirilmelidir. Örneğin {2, 5, 6} kümesindeki müşterilerin, dağıtım merkezinden (DM) başlamak üzere ve tekrar dağıtım merkezine dönmek üzere en kısa turu oluşturacak sıranın belirlenmesi gerekir. Bu ise gezgin satıcı problemidir. Atatürk Üniversitesi Açıköğretim Fakültesi 21

ARP nin Çözümünde Kullanılan Algoritmalar ARP sezgiselleri rota oluşturma ve rota iyileştirme algoritmaları olarak iyiye ayrılabilir. ARP de gezgin satıcı problemi gibi P-zor bir problemdir. Uygulamada karşılaşılan ARP problemleri oldukça büyük boyutlu problemlerdir. Bu nedenle ARP problemlerin çözümünde sezgisel algoritmaların kullanımı yaygındır. Gezgin Satıcı Probleminde olduğu gibi ARP sezgiselleri de rota oluşturma ve rota iyileştirme algoritmaları olarak ikiye ayrılabilir. Rota oluşturma algoritmaları, kullanılabilecek araç sayısı, kapasiteleri ve müşteri taleplerini göz önünde bulundurarak her araç için bir rota oluşturur. Rota oluşturma, genellikle iki farklı aşamada gerçekleştirilir. Bu aşamalardan birinde, müşteri talepleri ve araç kapasiteleri göz önünde bulundurularak sevkiyat noktaları (müşteri tesisleri) araçlara atanır. ARP nin bu aşamasına kümeleme ya da atama aşaması denir. Diğer aşamada ise araç kapasiteleri ve müşteri talepleri göz önünde bulundurulmaz ve sadece tesisler arasındaki mesafeler göz önüne alınarak rotalama yapılır. Bu aşamaya ise rotalama veya sıralama aşaması denir. Bazı ARP algoritmalarında önce kümeleme sonra rotalama aşamaları, bazılarında ise önce rotalama sonra kümeleme aşamaları gerçekleştirilir. ARP için Rota Oluşturma Sezgiselleri Bu bölümde rota oluşturmak için kullanılan sezgisellerden en yakın komşu ve süpürme algoritmalarını ele alacağız. İlk ele alacağımız sezgisel olan en yakın komşu sezgiseli, kümeleme ve rota oluşturmayı tek bir aşamada gerçekleştirir. En Yakın Komşu Sezgiseli En yakın komşu sezgiseli kümeleme ve rotalamayı aynı anda gerçekleştirir. En yakın komşu sezgiseli, yeni bir rota oluşturmaya dağıtım merkezinden başlar ve en yakındaki ziyaret edilmemiş müşteriyi, eğer araç kapasitesi yeterli ise yeni rotaya ekler ve araç bir sonraki en yakın noktaya gider. Eğer aracın kalan kapasitesi, bu noktanın talebini taşımak için yeterli ise bu nokta rotaya eklenir. Eğer aracın kalan kapasitesi yeterli değil ise, araç dağıtım merkezine geri döner. Maksimum rota sayısına (maksimum araç sayısı) erişilmemiş ise dağıtım merkezinden yeni bir rota oluşturmaya başlanır. ARP örneğinin En Yakın Komşu Sezgiseli ile Çözümü Tablo 7 de verilen ARP örneğini en yakın komşu sezgiseli ile çözelim. DM ye en yakın müşteri 8 dir ve DM ye uzaklığı 672 dir. Müşteri 8 i ziyaret ettikten sonra aracın yükü 41 olur. Müşteri 8 e en yakın müşteri ise müşteri 4 tür ve uzaklığı 1407 dir. Müşteri 4 ün talebi 37 dir, ve dolayısıyla araç müşteri 4 e gittiğinde toplam yük 41+37=78 olacaktır. Bu da araç kapasitesi olan 120 yi aşmamaktadır. Dolayısıyla rotaya müşteri 4 ü ekleriz. Müşteri 4 e en yakın nokta 7 dir, uzaklığı 1169, talebi ise 46 dır. Müşteri 7 rotaya eklenirse kamyon kapasitesi aşılacağından müşteri 7 rotaya eklenmez ve araç DM ye geri döner. Bu durumda oluşan rota DM->8->4->DM ve uzunluğu 672+1407+1032=3111 dir (bkz. Tablo 7). Oluşturulabilecek maksimum rota sayısı olan üçe ulaşılmadığından, yeni bir rota bir rota oluşturulur. Algoritma tüm müşteriler bir rotaya atanana dek devam eder. Tablo 8, en yakın komşu sezgiselinin sonraki adımlarında oluşturulan üç rotayı, araç yüklerini ve rota uzunluklarını göstermektedir. Süpürme Algoritması ( Önce Rotala-Sonra Kümele ) Süpürme algoritmasının iki farklı versiyonu vardır. Birincisi önce kümelesonra rotala, ikincisi ise önce rotala-sonra kümeleme versiyonlarıdır. Biz bu bölümde süpürme algoritmasının önce rotala- sonra kümele versiyonunu ele alacağız. Atatürk Üniversitesi Açıköğretim Fakültesi 22

Süpürme algoritmasının önce rotala-sonra kümele versiyonunda, algoritma önce tüm müşterileri tek bir rotada toplar ve ziyaret sıralarını oluşturur. Daha önce süpürme algoritmasının müşterilerin turdaki ziyaret sırasını, bir ışını belirli bir yönde (saat yönü ya da tersi) döndürdüğümüzde, ışının müşterileri ziyaret sırasına göre sıraladığını belirtmiştik. Tablo 5.8. ARP nin En Yakın Komşu Algoritması İle Çözümü Süpürme algoritmasını bilgisayarda programlayabilmek için tüm müşterilerin DM ye olan göreceli polar koordinatlarını hesaplamak ve müşterilerin rotaya en küçük polar koordinattan en büyüğe doğru sıralanması gerekir. Işının başlangıç açısı kullanıcı tarafından belirlenen bir girdi parametresidir. Müşteri i nin DM ye göre polar açısı, arctan(, y y ) başlangıç açısı i i DM i DM formülü ile hesaplanabilir. Eğer formül sonucunda elde edilen açı negatif ise, nın 0,2 arasında olması için açı değeri sıfırdan büyük olana dek i ye 2 eklenir. Şekil 14, Ecel ATA2() fonksiyonu kullanılarak polar koordinatların hesaplanıp küçükten büyüğe doğru sıralandığı Ecel çalışma sayfasını göstermektedir. i Süpürme algoritmasını bilgisayarda programlayabilmek için polar koordinatlar kullanılır. ARP probleminin Süpürme Algoritması ile Çözümü Başlangıç açısı olarak 0 seçelim (Işının yönünü DM orin olmak üzere doğu seçelim). Şekil 5.14 ten oluşan müşteri sırasının {1, 2, 5, 3, 7, 4, 6, 8} olduğu görülmektedir. Araç kapasitesinin aşılmaması için oluşturmuş olduğumuz tur, daha küçük turlara bölünmelidir. Şekil 5.14 te verilen Birikimli Talep sütunundan 1, 2, 5 ve 3 no müşterilerin toplam talebinin 114 olduğu görülmektedir. Rotaya bir sonra eklenmesi gereken müşteri 7 ve talebi 46 dır. Araç kapasitesi olan 120 aşılacağı için müşteri 7 yi rotaya ekleyemeyiz. Dolayısıyla ilk rota {DM->1->2->5-3-DM} ve uzunluğu 8220 dir. Diğer iki rota ise { DM->7->4->DM} ve { DM->6->8->DM} dir. Bu rotaların uzunlukları ise sırası ile 4064 ve 5142 dir. Şekil 5.15 de süpürme algoritması tarafından oluşturulan Şekil 5.14. Polar Koordinatlar Yardımı İle Müşteri Ziyaret Sıralarının Belirlenmesi Atatürk Üniversitesi Açıköğretim Fakültesi 23

ARP rotaları gösterilmiştir. Müşteri talepleri parantez içerisinde gösterilmiştir. Şekil 5.15. ARP Örneğinin Süpürme Algoritması Kullanarak Elde Edilen Çözümü Rota İyileştirme Algoritmaları Rota iyileştirmede, rota içi ve rotalar arası olmak üzere iki farklı yaklaşım kullanılabilir. Rota iyileştirme algoritmaları, oluşturulan rotayı iyileştirmede kullanılır. Rota iyileştirme algoritmaları iki farklı yaklaşıma dayanır. Birinci yaklaşım, rota içi iyileştirme yaklaşımıdır. Rota içi iyileştirmede oluşturulmuş olan tek bir rotanın uzunluğu, bu rota üzerinde yapılan yol değiştirmeler yardımı ile kısaltılmaya çalışılır. Rota içi iyileştirme yaklaşımında kullanılan algoritmalar, GZP de kullanılan iyileştirme sezgiselleridir. Rota içi iyileştirmede en sık olarak kullanılan iyileştirme sezgiselleri 2 li yer değiştirme ve 3 lü yer değiştirme sezgiselleridir. 2 li yer değiştirme sezgiselini TSP de ele almıştık. İkinci yaklaşım ise rotalar arası iyileştirme yaklaşımıdır ve bu bölümde ele alınmayacaktır. ARP probleminin 2 li Yer Değiştirme ile iyileştirilmesi ARP örneğimizin en yakın komşu algoritması ile çözümü Tablo 5.8 de verilmişti. Şimdi, en yakın komşu algoritması ile elde ettiğimiz rotaları, bir rota-içi iyileştirme sezgiseli olan 2 li yer değiştirme yardımı ile iyileştirelim: 2 li yer değiştirmeyi bir rotaya uygulayabilmek için rota en az 4 yoldan oluşmalıdır. Sadece rota 2 bu özelliği taşıdığından, 2 li iyileştirmeyi sadece rota 2 ye uygulayabiliriz. En fazla tasarrufu, (5-1) yolu ile (3-DM) yollarını, (5-3) ve (1- DM) yolları ile değiştirdiğimizde elde ederiz: 894+2600-1461-1600=443. Rota 2 nin toplam uzunluğu ise 17681 den 17248 e düşmüştür. Atatürk Üniversitesi Açıköğretim Fakültesi 24

Özet Ödev Ulaşım Faaliyetlerinin Optimizasyonu Şekil 2'de verilen dağıtım problemine ait minimum maliyet ağ akış problemine ait matematiksel modeli çözmek için bir Ecel Çalışma sayfası hazırlayın ve Ecel Çözücü yardımı ile çözün. Optimal akışın ne olduğunu açıklayın. Hazırladığınız ödevi sistemde ilgili ünite başlığı altında yer alan ödev bölümüne yükleyebilirsiniz. Bir matematiksel modelde, amaç fonksiyonu ve kısıtlardan oluşur. Amaç fonksiyonu, ele aldığımız sistemin amacının parametre ve karar değişkenler ve parametreler yardımı ile matematiksel olarak ifade edilmesidir. Kısıtlar ise kaynak sınırlarını ve faaliyetler arasındaki ilişkileri ifade eder. Ulaşım faaliyetleri optimizasyonunda en sık karşılaşılan problemlerden biri tek ve çoklu araç rotalama problemidir. En kısa yol problemi ve gezgin satıcı problemi (GSP) tek araç rotalama problemleridir. GSP, P-zor bir problem olduğundan yaklaşık çözüm için bir çok sezgisel geliştirilmiştir. GSP sezgiselleri, genel olarak başlangıç turu oluşturma, düğüm ekleme ve tur iyileştirme olmak üzere,üç aşamadan oluşur. ARP, çoklu araç rotalama problemidir ve kısıt sayısı, problem boyutu arttıklça üstel olarak artar, dolayısı ile P-zor bir problemdir. ARP algoritmaları, rota oluşturma ve rota iyileştirme sezgiselleri olark ikiye ayrılır. Atatürk Üniversitesi Açıköğretim Fakültesi 25