Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir...

18
YÖNET M VE EKONOM Y l:2003 Cilt:10 Say :2 Celal Bayar Üniversitesi . .B.F. MAN SA Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama Dr. Öznur Ç Celal Bayar Üniversitesi, Bilgisayar Ara t rma ve Uygulama Merkezi, MAN SA Prof. Dr. Serdar KORUKO LU Ege Üniversitesi, Bilgisayar Mühendisli i Bölümü, ZM R ÖZET Endüstri alanlar nda klasik programlama ve yöneylem ara t rmas teknikleri ile geli tirilen programlar yerini art k yapay zeka teknikleri kullan larak geli tirilen çal malara b rakmaktad r. Böylece planlanan üretimi art rmak ve kâr maksimize etmek için; sezgisel parametreleri kullanma, do ru analiz yapabilme ve an nda karar verme gibi insana özgü olan yetileri kullanarak karar veren veya tavsiyelerde bulunan sistemlerin geli tirilmesi ile daha h zl ve gerçekçi çözümler elde edilecektir. Halen ara t r lmakta olan genetik algoritmalar n optimizasyon problemlerinin çözümü için kullan lmas oldukça yenidir. Bu çal mada genetik algoritman n nas l çal t ve yöneylem ara t rmas problemleri aras nda yer alan gezgin sat c probleminin genetik algoritma ile çözümü üzerinde durulmu ve bunun için geli tirilen bir java program ile çözümü tan t lm t r. Ayr ca genetik algoritma çözümü ve klasik yöntemlerle çözümleri kar la t r lmaktad r. Anahtar Kelimeler: Genetik Algoritma, Yöneylem Ara t rmas , Optimizasyon, Gezgin Sat c Problemi Genetic Algoriuthm Approach and an Application in Operational Research ABSTRACT In industrial area, programs that are developed using artificial intelligence have been replacing the programs that are developed using classical programming and operational research techniques. Thus to increase the planned production and to maximize the profit; faster and realistic solutions will be obtained by developing systems that make recommendations and decide using facilities that are peculiar to human such as using intuitional parameters, making right analysis and decisions. It is very new to use genetic algorithms, which are still being researched, in solving optimization problems. In this study how genetic algorithm works and the solution of traveling salesman problem, which is among the operational research problems, using genetic algorithm are explained and a solution by a Java program is shown. Additionally solutions obtained using genetic algorithm and classical methods are compared. Key Words: Genetic Algorithm, Operation Research, Optimization, Traveling Salesman Problem. 1. G R Son y llarda optimizasyonun önemi, bir çok büyük ölçekli kombinetarol optimizasyon(combinatorial optimization) problemlerinin ve yüksek k s tl mühendislik problemlerinin günümüz bilgisayarlar ile yakla k olarak çözülebildi inden daha da artm t r. Genetik algoritmalar n(GA) amac böyle kompleks problemlerdir. Bu problemler, olas l kl algoritmalar s n f na ait olmakla birlikte rasgele algoritmalardan çok farkl d r.

Transcript of Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir...

Page 1: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

YÖNET M VE EKONOM Y l:2003 Cilt:10 Say :2 Celal Bayar Üniversitesi . .B.F. MAN SA

Genetik Algoritma Yakla m ve Yöneylem

Ara t rmas nda Bir Uygulama Dr. Öznur Ç

Celal Bayar Üniversitesi, Bilgisayar Ara t rma ve Uygulama Merkezi, MAN SA

Prof. Dr. Serdar KORUKO LU Ege Üniversitesi, Bilgisayar Mühendisli i Bölümü, ZM R

ÖZET Endüstri alanlar nda klasik programlama ve yöneylem ara t rmas teknikleri ile

geli tirilen programlar yerini art k yapay zeka teknikleri kullan larak geli tirilen çal malara b rakmaktad r. Böylece planlanan üretimi art rmak ve kâr maksimize etmek için; sezgisel parametreleri kullanma, do ru analiz yapabilme ve an nda karar verme gibi insana özgü olan yetileri kullanarak karar veren veya tavsiyelerde bulunan sistemlerin geli tirilmesi ile daha h zl ve gerçekçi çözümler elde edilecektir.

Halen ara t r lmakta olan genetik algoritmalar n optimizasyon problemlerinin çözümü için kullan lmas oldukça yenidir. Bu çal mada genetik algoritman n nas l çal t ve yöneylem ara t rmas problemleri aras nda yer alan gezgin sat c probleminin genetik algoritma ile çözümü üzerinde durulmu ve bunun için geli tirilen bir java program ile çözümü

tan t lm t r. Ayr ca genetik algoritma çözümü ve klasik yöntemlerle çözümleri kar la t r lmaktad r.

Anahtar Kelimeler: Genetik Algoritma, Yöneylem Ara t rmas , Optimizasyon, Gezgin Sat c Problemi

Genetic Algoriuthm Approach and an Application in Operational Research ABSTRACT

In industrial area, programs that are developed using artificial intelligence have been replacing the programs that are developed using classical programming and operational research techniques. Thus to increase the planned production and to maximize the profit; faster and realistic solutions will be obtained by developing systems that make recommendations and decide using facilities that are peculiar to human such as using intuitional parameters, making right analysis and decisions.

It is very new to use genetic algorithms, which are still being researched, in solving optimization problems. In this study how genetic algorithm works and the solution of traveling salesman problem, which is among the operational research problems, using genetic algorithm are explained and a solution by a Java program is shown. Additionally solutions obtained using genetic algorithm and classical methods are compared.

Key Words: Genetic Algorithm, Operation Research, Optimization, Traveling Salesman Problem.

1. G R

Son y llarda optimizasyonun önemi, bir çok büyük ölçekli kombinetarol optimizasyon(combinatorial optimization) problemlerinin ve yüksek k s tl mühendislik problemlerinin günümüz bilgisayarlar ile yakla k olarak çözülebildi inden daha da artm t r. Genetik algoritmalar n(GA) amac böyle kompleks problemlerdir. Bu problemler, olas l kl algoritmalar s n f na ait olmakla birlikte rasgele algoritmalardan çok farkl d r.

Page 2: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Ö. çi-S. Koruko lu / Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama

192

GA do adaki evrim yöntemlerini kullanan bir arama yöntemidir. Genetik algoritma tekni i, Michigan Üniversitesinde yer alan John Holland ve arkada lar n n liderli inde ki çal malar sonucu 1970 li y llarda ortaya ç km ve 1975 de Holland Do al ve Yapay Sistemlerin Uygulanmas adl kitab n yay nlam t r. Mekanik ö renme konusunda çal an Holland, Darwin in evrim kavram ndan etkilenerek canl larda ya anan genetik süreci bilgisayar ortam nda gerçekle tirmeyi dü ündü. 1985 te Holland n ö rencisi olarak doktoras n veren David E. Goldberg adl in aat mühendisi 1989 da konusunda bir klasik say lan kitab n yay nlayana dek genetik algoritmalar n pek yarar olmayan bir ara t rma konusu oldu u dü ünülüyordu.

Bugün bilgisayar yöntemleri biyolojik de erlendirmeden esinlenerek evrimsel hesaplama olarak adland r lan bir emsiye alt nda grupland r lm t r. Evrimsel hesaplaman n ana elemanlar

a a da tan mlanmaktad r (Karr ve Freeman, 1999:5):

(1) De erlendirme stratejileri (2) Evrimsel programlama (3) Genetik algoritmalar

Bu üç tekni in her biri do al de erlendirmedeki gözlemlenen süreci taklit eder ve verilen problem için aday çözümlerin de erlendirme populasyonlar yla etkili arama motorlar sa lar. GA lar genel olarak evrimsel hesaplama alan ndaki en göze çarpan teknik olarak dü ünülebilir.

GA evrimsel programlaman n en yayg n ve en çok kullan lan dal d r. Türkiye dahil dünyada pek çok ara t rmac bu konuda çal maktad r. Son y llarda genetik algoritmalara ilgi büyüyerek artmaktad r. Bu konu üzerine bir çok kitap bas lm ve buna ek olarak y lda iki kez genetik algoritmalar üzerine konferanslar yap lmaktad r.

GA hem problem çözmek hem de modelleme için kullan lmaktad r. Günümüzde genetik algoritmalar n uygulama alanlar geni lemektedir. Bunlardan baz lar : Atölye Çizelgeleme, Yapay Sinir A lar Tasar m , Görüntü Kontrolü, Elektronik Devre Tasar m , Optimizasyon, Uzman Sistemler, Paketleme Problemleri, Makine ve Robot Ö renmesi, Gezgin Sat c Problemi, Ekonomik Model Ç karma v.b say labilir(Mitchell ve Forest,1994:3).

Canl lar n yap lar nda var olan bir tak m özellikler sanal ortamlarda taklit edilerek modeller geli tirilmeye ve bu modellerle de kar la lan problemlere çözümler bulunmaya çal lmaktad r. Bu modellerin birisi olan genetik algoritmalar canl lar n çevreye uyum ve genetik özelliklerinin ara t r lmas yla geli tirilmi tir(Kömür ve Altan,2001:194).

GA geleneksel sezgisel yöntemlerinden daha etkili ve çözüm yakla m nda yap lacak küçük de i ikliklerle halledilebildiklerinden dolay da daha esnektirler.

Bu sebeple, GA ara t r c lar n ilgisini çekmektedir. Bilindi i üzere optimizasyondaki temel amaç optimal bir noktaya ula abilmek, daha do rusu

Page 3: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Yönetim ve Ekonomi 10/2(2003) 191-208

193

mümkün oldukça yakla makt r. Bunu gerçekle tirmek için bilinen pek çok klasik yöntem vard r. Bu yöntemlerin ba ar s optimal noktaya ula p ula mad klar veya ne kadar ula abildikleri ile ölçülür. Genetik algoritmalar, klasik optimizasyon algoritmalar ndan dört temel noktada ayr l r(O uz ve Akba ,1997:8):

(i) GA parametrelerin kendileri ile de il, parametre tak m n n kodlanm bir haliyle u ra rlar.

(ii) GA aramaya tek bir noktada de il, bir nokta ailesinden ba larlar. Dolay s yla yerel bir optimuma tak lmadan çal abilirler.

(iii) GA amaç fonksiyonunun (objective function) türevlerini ve bir tak m ek bilgileri de il, do rudan amaç fonksiyonunun kendisini kullan rlar.

(iv) GA da deterministik de il rastlant sal geçi kurallar kullan l r.

GA lar n parametreleri; çaprazlama oran , mutasyon oran , populasyon büyüklü ü, seçim, kodlama(encoding), çaprazlama ve mutasyon tipi gibi genel parametrelerdir. Çaprazlama oran yüksek olmal d r. Buna kar l k mutasyon oran çok dü ük olmal d r. a rt c olan çok büyük populasyon büyüklü ü genellikle GA de erini artt rmaz (Çözüm bulma h z anlam nda). yi populasyon büyüklü ü yakla k olarak 20-30 olmal d r, bununla birlikte bazen 50-100 daha iyi sonuç verebilir. Seçim için genellikle rulet tekerle i kullan l r, bunun yan s ra rank seçimi, kararl durum(steady state) ve elitizm gibi seçim yöntemleri de kullan lmaktad r.

GA yöntemi, y llar boyu süregelen genetik mühendisli i ve biyoloji alan nda yap lan çal malar sonucu ortaya at lm bir tekniktir ve her sisteme uygulanamaya bilir(Portman,1996:2). Standart bir GA yöntemi a a daki gibi verilebilir:

(i) Ba lang ç populasyonunu rastlant sal olarak üret. (ii) Populasyon içindeki tüm kromozomlar n amaç fonksiyonu

de erlerini hesapla. (iii) Tekrar üreme, çaprazlama ve mutasyon operatörlerini uygula. (iv) Olu turulan her yeni kromozomun amaç fonksiyonu de erlerini

bul. (v) Amaç fonksiyonu de erleri kötü olan kromozomlar

populasyondan ç kar. (vi) 3-5 aras ndaki ad mlar tekrar et.

GA çal mas n aç klamaya yönelik pek çok çal ma yap lm t r. Bu çal malardan en çok bilineni John Holland taraf ndan ortaya at lan ema (schema ya da schemata) kuram d r. ema ikili dizileri göstermek için kullan lan bir gösterimdir. Holland bu kuram ikili diziler üzerinde temel bir genetik algoritma için tan mlam t r. Bu yönteme göre genetik algoritma iyi yap lar ortaya ç kar r, ço alt r ve birle tirir. Holland n ema teoremi hala genetik algoritmalar n

Page 4: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Ö. çi-S. Koruko lu / Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama

194

ba ar s n aç klamak için en ba ar l teorem olarak kullan l r. Genel olarak bir genetik algoritma ikili kodlama (binary strings) sistemi üzerinde çal r. Bu kodlamalar do al sistemlerdeki kodlamalar ile ilgilidir. Genetik algoritmalar do al genetiklerden kelimeleri ödünç al r.

Genetik algoritmalarda olu an ba ar l bireyler incelenirse, bu bireyler aras ndaki benzerlikler bulunabilir. Bu benzerliklerden yola ç karak emalar olu turulabilir. kili dizi kodlamas için a a daki yöntem önerilebilir: 0,1 ve * ( * o konumda 0 veya 1 olmas n n önemsiz oldu unu gösterir). Örnek olarak ikinci ve dördüncü bitleri 1, alt nc biti 0 olan çözümlerin ba ar l oldu u bir toplumda u ema olu turulabilir :

* 1 * 1 * 0

Bu emaya uygun a a daki ikili diziler yaz labilir :

010100, 010110, 011100, 011110, 110100, 110110, 111100, 111110

Görüldü ü gibi emalar n kat lmas ikili dizilerle gösterilen arama aral n büyütmektedir. Arama aral n n büyümesinin sonucun bulunmas n zorla t rmas beklenir ancak durum böyle de ildir.

2. GENET K ALGOR TMA NASIL ÇALI IR? Genetik algoritman n çal mas n a a daki ad mlarla özetleyebiliriz

(O uz ve Akba ,1997:5): 1. Ad m : Olas çözümlerin kodland bir çözüm grubu olu turulur.

Çözüm grubuna biyolojideki benzerli i nedeniyle populasyon, çözümlerin kodlar da kromozom olarak adland r l r. Bu ad ma populasyonda bulunan birey say s n belirleyerek ba lan r. Bu say için bir standart yoktur. Genel olarak önerilen 100-300 aral nda bir büyüklüktür. Büyüklük seçiminde yap lan i lemlerin karma kl ve araman n derinli i önemlidir. Populasyon bu i lemden sonra rasgele olu turulur.

2. Ad m : Her kromozomun ne kadar iyi oldu u bulunur. Kromozomlar n ne kadar iyi oldu unu bulan fonksiyona uygunluk fonksiyonu denir. Bu fonksiyon i letilerek kromozomlar n uygunluklar n n bulunmas ise hesaplama( evalution) ad verilir. Bu fonksiyon genetik algoritman n beynini olu turmaktad r. GA da probleme özel çal an tek k s m bu fonksiyondur. Ço u zaman GA n n ba ar s bu fonksiyonun verimli ve hassas olmas na ba l olmaktad r.

3. Ad m : Bu kromozomlar e leyerek yeniden kopyalama ve de i tirme operatörleri uygulan r. Bu sayede yeni bir populasyon olu turulur. Kromozomlar n e lenmesi kromozomlar n uygunluk de erlerine göre yap l r. Bu seçimi yapmak için rulet tekerle i seçimi, turnuva seçimi gibi seçme yöntemleri vard r.

4. Ad m : Yeni kromozomlara yer açmak için eski kromozomlar ortadan kald r l r. Eski kromozomlar ç kart larak sabit büyüklükte bir populasyon sa lan r.

5. Ad m : Tüm kromozomlar n uygunluklar tekrar hesaplan r. Tüm kromozomlar yeniden hesaplanarak yeni populasyonun ba ar s bulunur.

Page 5: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Yönetim ve Ekonomi 10/2(2003) 191-208

195

6. Ad m : GA defalarca çal t r larak çok say da populasyon olu turulup hesaplan r. E er zaman dolmam sa 3. ad ma gidilir.

7. Ad m : O ana kadar bulunan en iyi kromozom sonuçtur. Çünkü populasyonlar n hesaplanmas nda en iyi bireyler saklanm t r.

3. GENET K OPERATÖRLER Kullan lan genetik operatörler, varolan populasyon üzerine uygulanan

i lemlerdir. Bu i lemlerin amac daha iyi özelli e sahip yeni nesiller üretmek ve arama algoritmas n n alan n geni letmektir. Farkl uygulamalarda farkl operatörler kullan lmakla birlikte genetik algoritmada 3 standart operatör kullan l r. Bu operatörler:

-Yeniden Üretim (Reproduction) -Çaprazlama (Crossover) -Mutasyon (Mutation)

(i) Yeniden Üretim (Reproduction) Nesil Üretimi ( Genarational Reproduction ): Varolan nesilin yerine

yeniden nesil olu turmak. Daha sonra aç klanacak olan gezgin sat c probleminde bu üretim kural kullan lm t r.

Kararl Durum Üretimi( Steady-State Reproduction): Sadece nesildeki birkaç birey yeni bireylerle yer de i tirir. Yeniden üretim sonucunda elde edilen ara nesil, çaprazlama ve mutasyon genetik operatörleri kullan larak yeni nesil elde etmede kullan l r.

(ii) Çaprazlama (Crossover) Çaprazlama operatörü GA lardaki en önemli operatördür. ki çözümün

yap lar kullan larak yeni bir çözüm olu turulmas esas na dayan r. Çaprazlama i lemi genel olarak ikili dizilerin parçalar n n de i toku u eklinde gerçekle tirilir. Farkl uygulamalarda farkl kodlama yöntemleri kullan ld için farkl çaprazlama yöntemleri kullan l r, tek noktal çaprazlama, iki noktal çaprazlama, ve üniform çaprazlama gibi.

Çaprazlama Noktas Çaprazlama Noktas

Aile 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0

Çocuk 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0

ekil 1 : Tek Noktal Çaprazlama

Page 6: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Ö. çi-S. Koruko lu / Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama

196

Amaç, Aile(parent) kromozom genlerinin yerini de i tirerek Çocuk(child) kromozomlar üretmek ve böylece varolan uygunluk de eri daha yüksek olan kromozomlar elde etmektedir.

(iii) Mutasyon (Mutation) Mutasyon GA lardaki operasyonda karar verici olarak ikinci derecede rol

oynar. Amaç, varolan bir kromozomun genlerinin bir ya da bir kaç n n yerlerini de i tirerek yeni kromozom olu turmakt r. Yeniden ve sürekli yeni nesil üretimi sonucunda belirli bir süre sonra nesildeki kromozomlar birbirini tekrarlama konumuna gelebilir ve bunun sonucunda farkl kromozom üretimi durabilir veya çok azalabilir. te bu sebeple nesildeki kromozomlar n çe itlili ini artt rmak için kromozomlardan baz lar mutasyona u rat l r.

Mutasyon Noktas

Çocuk 1 0 1 0 0 1 0 0 1 0

Mutasyona 1 0 1 0 1 1 0 0 1 0 U ram Çocuk

ekil 2 : Tek Bir Mutasyon

4. GENET K ALGOR TMA LE GEZG N SATICI PROBLEM N N ÇÖZÜLMES

GA kullan larak çözülen problemlerden en günceli gezgin sat c problemi (travelling salesman problem) dir. Her ne kadar bu problem ve benzerleri için çok say da çözüm yöntemi önerilse de bu tür problemleri

büyüklükleri ne olursa olsun

çözebilecek kesin bir yöntem bulunamad . Bu nedenle ara t rmac lar bilgisayarlar daha etkin kullanmak amac yla baz sezgisel yöntemler geli tirdiler. Evrimsel programlama yöntemlerinden GA larda bu yöntemlerden birisidir. Problemin çözümünde genel olarak genetik algoritma esas al nsa da uygulamada farkl l klar oldu undan dikkat çekilmesi gerekir. Çözümün esas genetik operatörlerin kullan lmas d r fakat, bu operatörler özüne ba l kal narak de i ik ekilde kullan lm t r.

Gezgin sat c problemi, ba lad noktaya tekrar geri dönmek ko ulu ile n-1 say da ba ka yerle im yerlerine u rayan sat c ile ilgilidir. Amaç, say s n olan yerlerden bir sat c n n n-1 say daki kente en k sa sürede u rayarak ba lad kente dönmesini sa layacak bir gezi plan n haz rlamakt r. Tüm ehirler birbirine ba l ve sat c istedi i ehirden ba layabilir. Bu durumda problemin çözümü için n! kadar dizili olmas gerekir. Örne in 5 ehir varsa tek yap lmas gereken 5! = 120 tane dizili ç karmak ve uzunluklar tek tek hesaplamakt r (Lalena,1998:1). Genetik algoritma daha k sa zamanda çözüm bulmak için kullan labilir. Muhtemelen en iyi çözümü bulmamas na ra men bir dakikadan daha k sa

Page 7: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Yönetim ve Ekonomi 10/2(2003) 191-208

197

zamanda mükemmele yak n bir sonuç bulabilir. Sunulan çözümde her harf bir çözümü göstermek üzere (Doyranl ,1999:7):

A : Adana B : Bursa D : Diyarbak r I : stanbul . . .

Üretilen kromozomlar n yap s örne i u ekilde olsun: STYPKMNVDZES

Problemin tan m u ekildedir: Her ehre sadece bir kere u ranmal

ve ba lang ç ehrine geri dönüldü ünde kullan lacak yol en k sa mesafe olmal d r.

(i) Yeniden Üretim Problemin çözümünde ilk olarak ba lang ç populasyonu olu turulmal d r.

Ba lang ç populasyonunu olu turmada kullan lan yöntem a a da aç klanm t r. Ba lang ç ehri belirlendikten sonra, kromozomlar n yap s u ekilde olacakt r. S ba lang ç ehri olmak üzere kromozomun ilk ve son genine bu ehir yerle tirilir ve aradaki ehirler de rasgele ve sadece kromozomda bir kez yer alacak ekilde istenen populasyon say s kadar rasgele olu turulur.

STYPKMNVDZES SZPMVDYNETKS SYMETZPVNKDS . . . SMYEZTNVDKPS

Bilindi i gibi kromozomlar yeniden olu turulurken bir uygunluk fonksiyonuna göre seçilir ve yeni nesile aktar l r burada kullan lacak olan uygunluk: En küçük de ere sahip olan kromozomdur. Kromozomun uygunlu u tur mesafesi yani ehirler aras ndaki uzakl klar n toplam d r (Doyranl ,1999:5).

Page 8: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Ö. çi-S. Koruko lu / Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama

198

S Y M E T Z P V N K D S

ehirler Aras ndaki Mesafeleri Topla

Kromozomlar n

Uygunluk De eri

Bu ekilde Üretilen Bir Kromozomun Olu turdu u Yol Grafi i

ekil 3: En K sa Yol Problemi

Bir sonraki populasyonu elde etmek için kullan lan yöntem: E er, en iyi uygunluk de erine sahip olan ve yeni nesli de kullan lmak istenen kromozom say s 0 dan farkl olarak belirtildiyse, yeni populasyona ilk olarak istenen say daki kromozom hiçbir genetik operatöre tabi tutulmada aktar l r. Birkaç üretimden sonra uygunluk de eri yüksek populasyon üyeleri elde edilmek isteniyorsa bu de er s f rdan farkl girilmelidir. Fakat bunun bir sak ncas da belli bir süre sonra populasyon üyelerinin birbirine benzeme olas l n n artmas d r ki bu durum optimum çözümü bulmay zorla t racakt r. Böyle bir durumdan kurtulmak için yap lmas gereken çaprazlama ve mutasyona u rama yüzdesini büyük tutmakt r.

En iyi kromozomlar seçildikten sonra bir önceki populasyondaki di er kromozomlar verilen çaprazlama ve mutasyona u rama yüzdelerine ba l olarak bu iki i lem ile yeniden yeni bir populasyon üretilir. Unutulmamas gereken bir önemli nokta da bir kromozomun ya da kromozom çiftinin verilen olas l klar dahilinde herhangi bir genetik operatöre u ramadan yeni populasyona aktar laca d r.

Yeniden üretimde, yeni populasyon olu turmak için kullan lan yöntem yüzde alanl tekerlek çevirme yöntemidir. Eski populasyondan seçilecek olan

kromozom bu yöntem ile belirlenerek ve çaprazlama ve mutasyon yüzdeleri göz önüne al narak yeni populasyona eklenir.

Page 9: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Yönetim ve Ekonomi 10/2(2003) 191-208

199

Populasyon say s 5 için a a da uygunluk de erleri verilmektedir:

Kromozomlar Uygunluk De eri Seçim

STYPKMNVDZES K1 3500 km %13,75 SZPMVDYNETKS K2 4759 km %18,60 SYMETZPVNKDS K3 5970 km %23,45 SMYEZTNVDKDS K4 8637 km %33,93 SZPEVTNMDKYS K5 2591 km %10,18

Toplam Uygunluk De eri = K1+K2+K3+K4+K5 = 25457

Uygunluk Yüzdesi = Uygunluk De eri / Toplam Uygunluk De eri

oldu una göre her bir kromozomun tekerlekte yer alma yüzdeleri en küçük uygunluk de eri en yüksek yüzdeye sahip olacak ekilde tekerle e yerle tirilir.

Seç

ekil 4: Rulet Tekerle i Örne i

Rulet Tekerle i seçimi a a da aç klanm t r:

-Tüm bireylerin uygunluk de erleri bir tabloya yaz l r, -Bu de erler toplan r, -Tüm bireylerin uygunluk de erleri toplama bölünerek [0,1] aral nda say lar elde edilir. Bu say lar bireylerin seçilme olas l klar d r.

K1

K4

K3

K5

K2

Page 10: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Ö. çi-S. Koruko lu / Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama

200

-Seçilme olas l klar n tuttu umuz tablodaki say lar birbirine eklenerek rasgele bir say ya kadar ilerlenir. Bu say ya ula ld nda ya da geçildi inde son eklenen say n n ait oldu u çözüm seçilmi olur.

Yeni populasyona kromozom seçimi bu tekerlek döndürülerek yap l r. Seç oku hangi kromozom yüzde alan na geldi ise o kromozom seçilerek ve genetik operatörler kullan larak yeni populasyona eklenir. Daha önceden de bahsedildi i gibi çaprazlama genelde gezgin sat c probleminin çözümünde uygulanmayan bir yöntemdir. Fakat burada farkl bir genetik operatöre ayk r olamayan çaprazlama kullan lm ve etkili bir yöntem oldu u belirlenmi tir.

(ii) Çaprazlama(Crossover) Yüzde tekerlek yöntemi ile seçilen iki kromozom e er çaprazlama yüzdesi

nedeni ile çaprazlamaya u rayaca na karar verildiyse çaprazlamaya girecektir. ki kromozomun çaprazlamas ve bundan yeni bir çocuk kromozomun elde

edilmesi u ekilde olmaktad r .

- Kromozom boyu ile ayn uzunlukta s f r ve birlerden olu an bir bit katar rasgele (ilk ve son gen 1 olmak art ile) üret,

- Üretilen bu bit katar ile ana(aile1) kromozomu e le. Ana kromozomda 1 lere kar l k gelen genleri ayn pozisyonda olacak ekilde çocuk kromozoma kopyala, 0 lara kar l k gelenleri ayn pozisyonda olacak ekilde çocuk kromozoma kopyala, 0 lara kar l k gelenleri çocuk kromozomda ayn s rada bo b rak,

- lk ana kromozomdaki 0 lara denk gelen genlerden bir s ral dizi olu tur, - Bu dizide yer alan genlerin s ras n ikinci ana kromozomda (aile2)

göründü ü ekilde yer de i tir, -Yeni s rada olu an listeyi ayn s radan çocuk kromozomda bo b rak lan

genlere yerle tir.

Çaprazlama için Aile 1 ve Aile 2 a a daki ekilde verilmi olsun,

Aile 1 : S E G T H L P O B M S Aile 2 : S B T P E M G L H O S Üretilen : 1 0 1 0 1 1 0 0 1 0 1

kinci ad mdan sonra :

Çocuk : S-G-HL- -B-S

Dizi : E T P O M Aile 2 ye göre yer de i tirir T P E M O ve yer de i tirilen bu diziyi çocuk kromozoma ayn s rada yerle tir. Bu durumda çaprazlama sonucu olu an yeni kromozom ;

Page 11: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Yönetim ve Ekonomi 10/2(2003) 191-208

201

Çocuk : S T G P H L E M B O S

eklinde olacakt r.

Kullan lan bu çaprazlama yöntemi ile olu an yeni kromozomda ayn ehire sadece bir kez u rama art da sa lanm t r. Çaprazlamada ilk ve son genler kullan lmas bunu sa lam t r.

(iii) Mutasyon(Mutation) Bir genin mutasyona u ramas herhangi iki genin yer de i tirmesidir.

Algoritmada kullan lan yöntemde, bir kromozomun birden fazla geni mutasyona u rayabildi i gibi mutasyon yüzdesinden dolay bir kromozom mutasyona u ramadan yeni populasyona eklenebilir.

Aile 1 : S E G T H L P O B M S

Mutasyon Çocuk : S E B T H L P O G M S

Daha öncede söz edildi i gibi mutasyonun amac optimum yolu bulmaya çal rken populasyondaki kromozom çe itlili ini sa layarak arama uzay n

yaymak, geni letmektir.

Genetik algoritma yöntemi ile çözüm için TSP Solver program kullan lmaktad r.

Ekte verilen ilk örnek dikkate al n rsa,

X : 27 49 30 23 59 Y : 35 41 68 85 73

Generation: 2600 Value: 155 olarak bulunmu tur. Tablo 1 de verilen uzakl klar matrisi a a daki gibi hesaplanm t r.

.

.

.

80,2252036484)4135()4927(x 2212

14,33109810899)6835()3027(x 2213

95,3714401296144)7385()5923(x 2245

Page 12: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Ö. çi-S. Koruko lu / Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama

202

Tablo 1: Uzakl klar Matrisi

- 22,80 33,14 50,16 49,68 22,80 - 33,01 51,12 33,53 33,14 33,01 - 18,38 29,43

50,16 51,12 18,38 - 37,95 49,68 33,53 29,43 37,95 -

Gezgin sat c problemi için optimale yak n sonuç veren yöntemlerden biri

en yak n yakla m yöntemidir(Öztürk,2001:244). Tablo 1 de verilen uzakl klar matrisi kullan larak bulunan en yak n yakla m yöntemi ile çözümü a a da verilmi tir. 1. Ad mda en yak n yakla m yönteminde maliyet matrisindeki bo gözelere M gibi çok büyük bir de er atan r. Maliyet matrsindeki en küçük de erli eleman Tablo 2 de 18,38 de eri gezi plan n n halkas na eklenir bunun sat r nda ve sütünundaki di er de erlerin yerine M yerle tirilerek yeni maliyet matrisi olu turulur. 2. Ad m olarak Tablo 3 de en küçük de er 22.80 de eri gezi plan na eklenerek yine bunun sat r ve sütununa kar l k gelen de erlere M atan r. Benzer i lemler yap ld ktan sonra elde edilen optimal çözüm Tablo 4 de verilmektedir.

Tablo 2: En Yak n Yakla m Yöntemi 1.Ad m

- 22,80 33,14 M 49,68 22,80 - 33,01 M 33,53 M M - 18,38 M 50,16 51,12 18,38 - 37,95 49,68 33,53 29,43 M -

Tablo 3: En Yak n Yakla m Yöntemi 2.Ad m

- 22,80 M M M 22,80 - 33,01 M 33,53

M M - 18,38 M 50,16 M 18,38 - 37,95

49,68 M 29,43 M -

Tablo 4: En Yak n Yakla m Yöntemi Optimal Çözüm

- 22,80 M M M M - M M 33,53 M M - 18,38 M

50,16 M M - M M M 29,43 M -

Page 13: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Yönetim ve Ekonomi 10/2(2003) 191-208

203

En yak n yakla m yöntemi ile 1 2 5 3 4 1 (22,80+33,53+18,38+50,16+29,43=154,3) sonucu elde edilmi tir.

Gezgin sat c probleminin WinQsb paket program çözümleri;

En yak n kom u heuristik çözüm, en ucuz ekleme heuristik çözüm, iki-yollu de i im geli tirme heuristik çözüm, dal ve s n r yöntemidir.

Tablo 5: En Yak n Kom u Heuristik Çözüm (Nearest Neigbor Heuristic)

Tablo 5 de WinQsb paket program ile en yak n kom u heuristik çözüm 161,82 olarak bulunmu tur.

Tablo 6: En Ucuz Ekleme Heuristik Çözüm (Cheapest Insertion Heurisitic):

Tablo 6 da WinQsb paket program ile en ucuz ekleme heuristik çözüm 145,80 elde edilmektedir.

Tablo 7: ki-Yollu De i im Geli tirme Heuristik Çözüm (Two-way Exchange Improvement Heuristic)

WinQsb paket program ile iki-yollu de i im geli tirme heuristik çözüm sonucu, en ucuz ekleme heuristik çözümde oldu u gibi 145,80 olarak bulunmu tur.

Page 14: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Ö. çi-S. Koruko lu / Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama

204

Tablo 8: Dal ve S n r Yöntemi (Branch and Bound Method)

Tablo 8 de WinQsb paket program ile dal ve s n r çözüm yöntemi ile yine 145,80 sonucu elde edilmektedir.

GA çözüm için Tablo 1 de verilen uzakl klar matrisi kullan lmaktad r. Ek de 5 nokta için ekil olarak da görülmektedir. Problemi aç klamak için sadece 5 nokta seçilmi tir. Seçilen 5 nokta için klasik yöntemler ve genetik algoritma çözümü birbirine yak n sonuçlar vermektedir. GA özellikle nokta say s artt kça daha k sa sürede optimale yak n bir çözüm bulmak amac yla kullan labilmektedir. Ekte 12, 30, 50 ve 75 nokta için bulunan çözümler verilmektedir. Jenerasyon say s artt kça daha iyi sonuçlar da bulunabilmektedir fakat, belli bir süre sonra daha iyi sonuç bulamayaca için jenerasyon say s n n artmas sonucu de i tirmeyecektir.

5. SONUÇ GA lar sezgisel bir teknik olarak, yöneylem ara t rmas problemlerinde

kullan m giderek artmaktad r. GA lar yakla mlar n n kullan lmas yla yöneylem ara t rmas alan nda ortaya ç kan en iyileme problemlerinin çözümüne ili kin alternatif yöntemler ortaya at lm ve bu yeni yöntemlerin baz problemlerin çözümünde kullan lmas , uygulamaya aç k olan di er problemlere de farkl bir boyut kazand rm t r.

Has erbetçi(1997) yöneylem ara t rmas nda yer alan klasik problemlerin çözümleri için kullan lan GA lar içeren bir çok çal ma olmas na kar n, pratikte kar la lan yöneylem ara t rmas problemlerinin çözümünde GA tekni inin performans n n hala yeterli olmad n ifade etmi tir. Birbirleri ile ili kilendirilmi küçük çapl problemlerde, deneysel ara t rmaya dönük çal malar GA tekni i baz al narak uygulanmaya ba lam t r.

Yukar daki örnekte de görüldü ü gibi genetik algoritma çözümü ile optimuma yak n sonuç bulunabilmektedir. Özellikle nokta say s artt kça k sa sürede çözüm bulabilmek için bu yöntem daha etkili sonuçlar verebilmektedir. GA lar problemin kendisi hakk nda az bilgiye ihtiyaç duydu undan caziptirler, bu algoritmalara dayanan çözümler karma k dinamik yap lar n optimizasyonu için daha uygundurlar.

Page 15: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Yönetim ve Ekonomi 10/2(2003) 191-208

205

KAYNAKLAR CHAMBERS, L.D. (1999), Practical Handbook of Genetic Algorithms :Complex Coding Systems

Volume III, CRC Press, 572 p. DOYRANLI, .(1999), Genetik Algoritmalar ile Seyahat Eden Sat c Probleminin

Çözülmesi,<http://www.doruk~.net.tr/Ãrifprogramlar/delphiT> GOLDBERG, D. E. (1989), Genetic Algorithms in Search, Optimization, and Machine Learning

Reading, MA : Addison-Wisley, 412 p. HAS ERBETÇ , H., K. (1997), Genetik Algoritmalar n Yöneylem Ara t rmas nda Kullan lmas ,

Yüksek Lisans Tezi, .Ü letme Bölümü, 53 s. KAYA, M.(1999), Genetik Algoritma ve Gezgin Sat c Probleminin Çözümü, F rat Üniversitesi FBE

Yüksek Lisans Tezi. KARR, L. C., FREEMAN L. M. (1999), Industrial Applications of Genetic Algorithms, CRC Prees.

350 p. KÖMÜR, M. ve ALTAN, M.(2001), Betonarme Bir Kiri ve Kolonun Genetik Algoritma ile

Optimum Tasar m , Mühendislikte Modern Yöntemler Sempozyum Kitab . LALENA, M.(1998), Travelling Salesman Problem Using Genetic Algorithms <

http://www.lalena.com/ai/tsp/> M CHALEW CZ, Z. (1992), Genetic Algorithms + Data Structures = Evolution Programs,

Springer-Verlag, 250 p. M TCHELL, M. VE FOREST S.(1994), Genetic Algorithms and Artificial Life. Vol. 1, No. 3, pp.

267-289. Reprinted in C. G. Langton (Ed.) Artificial Life: an Overview, MIT Press, Cambridge, MA (1995).

OB TKO, M., (1998), Introduction to Genetic Algorithms, <http://cs.felk.cvut.cz/~xobitko/ga/>

O UZ, M. ve AKBA , S.(1997), Genetik Algoritmalar, YTÜ Endüstri Mühendisli i, Bitirme Tezi. <http:// artemis.efes.net/moguz/>

ÖZTÜRK, A.(2001), Yöneylem Ara t rmas , Geni letilmi 7. Bas m, Ekin Kitabevi Yay nlar , Bursa.

PORTMANN M.C.(1996), Genetic Algorithms and Scheduling, A State of Art and Some Propositions, Workshop on Production Planning and Control, Mons, Belçika.

Page 16: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Ö. çi-S. Koruko lu / Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama

206

EKLER

Page 17: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Yönetim ve Ekonomi 10/2(2003) 191-208

207

Page 18: Genetik Algoritma Yaklam ve Yöneylem Aratrmasnda Bir Uygulamayonetimekonomi.cbu.edu.tr/dergi/pdf/C10S22003/oisk.pdf · evrimsel hesaplama olarak adlandrlan bir emsiye altnda gruplandrlmtr.

Ö. çi-S. Koruko lu / Genetik Algoritma Yakla m ve Yöneylem Ara t rmas nda Bir Uygulama

208