:::: MENU ::::
Bilgiler

TSPLIB verisini MATLAB ile işlenebilecek hale nasıl getirebiliriz?

Sayın Mustafa Servet KIRAN hocamın aşağıdaki yorumu sonucu yazı içeriği değişmiştir.

EDGE_WEIGHT_TYPE: GEO
alanı oldukça önemli, GEO ise farkı denklem ile, EUC ise öklit denklemi ile uzaklık hesaplanmalıdır. GEO’yu EUC şeklinde hesaplarsanız “optimumdan daha optimum” (!) sonuç elde edebilirsiniz.
Cevahir her zamanki gibi detaylara önem vermeden ana mantık faydalı olmaktır prensibiyle yukarıdaki paylaşımı yaptığı için böyle bir hatanın oluşması kaçınılmazdı.

Bu arada pdist fonksiyonu matlabda çiftler arasındaki öklit mesafesini hesaplar, yukarıdaki hesaplama dolayısıyla yanlıştır.

Gezgin satıcı problemine çözüm ararken, literatürde bulunan bir çok kıyas problemi üzerinde test yapılmaktadır. TSPLIB tarafından sağlanan formatın kendi çözümlerimde kullanmak üzere aşağıdaki şekilde hazırlıyorum.

Öncelikle verilen koordinatların hangi tipte olduğuna dikkat etmemiz gerekiyor. Ben genelde öklid uzayında verilmiş verilerle çalıştığımdan, yukarıdaki uyarı yorumunu o yüzden aldım. Şimdi hem öklid hem de geo nasıl hesaplanır birlikte inceleyelim.

Aşağıdaki problem (ulysses22.tsp), EDGE_WEIGHT_TYPE: GEO olduğu için, verilen koordinatlar enlem ve boylam bilgisini içermektedir.

TSPLIB kendi sayfasında bu problem için optimum değeri 7013 olarak vermiş, yani bizim hesaplamamız optimum tur değerini aldığı zaman bu değeri vermelidir.

kodunu çalıştırdığımız zaman 6971 değerini vermektedir.

Öncelikle yukarıdaki hesaplamayı TSPLIB’ın kendi sayfasından aldım.

Farklı olan derecenin radyana dönüşümü. O dönüşümden dolayı bir fark olabilir mi diye ilgili sayfadaki derece radyan dönüşümünü yaptım.

Bu dönüşüm ile yaptığım hesaplamada ise 7132 buldum.

Dikkat ederseniz RRR = 6378.388 şeklinde bir sabit, farklı kaynaklarda bu sayının farklı alındığını gördüm. O yüzden bir hesaplama farklılığı olabilir.

Şimdi gelelim öklid uzayında verilmiş bir problemin dönüştürülmesine:

eil51 problemi aşağıdaki gibidir:

Yukarıdaki koordinat bilgilerini Matlab içerisine aktarıyoruz.
a=[51×2 boyutunda koordinatların bulunduğu matris];
b=pdist(a); / Koordinatların birbirine göre uzaklıkları hesaplanıyor.
c=squareform(b); / Uzaklıkları 51×51’lik kare matris haline çeviriyoruz.

optimum 426 iken benim hesabımda 429.9833 bulunuyor. Sebebi ondalıklı sayılardan kaynaklı hassasiyettir.

Bu arada pdist fonksiyonu matlabda çiftler arasındaki öklit mesafesini hesaplar, yukarıdaki hesaplama dolayısıyla yanlıştır.

pdist komutu 2 sütun şeklinde verilen verileri de hesaplıyor.


Makale yazmak neden önemli?

Ufak veya büyük, yaptığınız araştırmanın anlamlı olabilmesi için yayınlanmış olması gerekir. Yayınlanmamış bir çalışma hiç yapılmamış gibidir. Bilim birikimseldir. Kimisi küçük bir katkı yaparken, kimisi ciddi katkılar yapabilir. Bu noktada bir bina inşaatı örneği verecek olursak, kimisi kat çıkar, kimisi tuğla örer, kimi sıva yapar, kimisi boya yapar, kimisi alçı çeker, kimisi boya yapar, kimisi o duvara asılan tabloyu yapar, kimisi o tablodaki resmin içerisindeki bir renktir 🙂 diye daha fazla uzatmadan keselim.

Bugün Bezier eğrisini araştırırken, Bezier’in bir isim olduğunu anlamakla beraber, bulunma sürecinin hikayesi beni bu yazıyı yazmaya itti.

Silindir parçalarının kesişimi üzerinde incelemeler yapan ve Citroen’de çalışan Paul de Faget de Casteljau ve Renault’da çalışan Pierre Bézier hemen hemen eşzamanlı olarak Bezier eğrisini keşfetmiş ve bugün Bezier eğrisi denmesinin sebebi, konuyla ilgili makaleyi ilk onun yazmış olmasıdır.

Özellikle günümüzde bilimsel sürece bir kat çıkarak katkı sağlayamayan ben ve benim gibiler için en önemli mesele, elde ettikleri sonuçları bir an önce yayınlamaktır. Yayınlamadığımız her saniye aleyhimize işleyen bir süreçtir.

Başarılar.



Bağıntı ve Fonksiyon Nedir? Bağıntı ile Fonksiyon arasındaki fark nedir?

Bağıntı ve Fonksiyon Nedir? Bağıntı ile Fonksiyon arasındaki fark nedir?

Tanım kümesindeki herhangi bir eleman değer kümesinde birden fazla elemana gidiyorsa fonksiyon değildir. Her fonksiyon bir bağıntıdır, her bağıntı bir fonksiyon değildir.

Detaylar için videoyu izleyebilirsiniz:


Sayfalar:1234567...25