Genetic algorithms in engineering optimization - Demirel, Levent (Institute of Science and Technology, 1999)
Bu çalışmada, mühendislik optimizasyon problemlerinin çözümünde yeni bir yaklaşım olan Genetik Algoritma ile Optimizasyon yöntemi önerilmiştir. Bu bağlamda, doğal seleksiyonun ve genetiğin mekanizmalarına dayanan bir arama yöntemi olan ve mühendislik optimizasyon problemleri açısından daha güvenilir ve kuvvetli olduğu gösterilen Genetik Algoritmaların kuramı, işleyişi ve uygulamaları tanıtılmıştır. Genetik Algoritmalar kısaca doğal seçim ve doğal genetik temellerine dayanan bir arama algoritmasıdır. Temel fikri doğanın kendi içinde kullandığı ana optimizasyon yaklaşımı olan "Güçlü olan hayatta kalır"dır. Ancak doğadakinin rastgele bilgi alışverişi sayesinde daha da hızlandırılmış bir halidir. Genetik Algoritma ile her yeni nesilde yeni bir set suni yaratıklar meydana getirilmekte ( 0 ve l'lerden oluşan diziler ) ve her dizinin dayanıklılığı hesaplanmaktadır. Eğer bu diziler bir sonraki nesilde yaşayabilecek kadar dayanıklılarsa, onların genetik bilgisi daha sonraki nesillerde daha dayanıklı bireyler elde edebilmek amacıyla diğer dayanıklı bireylerle bilgi alışverişi yapılarak sonraki nesillere aktarılır. GA, halihazırda kullanılmakta olan tekniklerden temel olarak aşağıda anlatıldığı şekilde farklılıklar göstermektedir: 1. GA parametre kümesinin kendisi ile değil parametrelerin kodlanmış şekilleri ile çalışır. 2. GA tek bir noktadan arama yapmaz, noktalar populasyonu içerisinde arama yapar. 3. GA, optimize edilecek fonksiyonun kendisini kullanır, türevlerini veya yardımcı bilgilerini değil. 4. GA deterministik kuralları değil, olasılık kurallarım kullanır. MU Basit bir Genetik Algoritmanın genel işleyişi bir el hesaplaması ile gösterilmiştir. Bu hususta basit bir Genetik Algoritmanın temel operatörleri de açıklanmıştır.Bunlar: 1. Üreme 2. Çaprazlama 3. Mutasyon Genetik Algoritmalar doğanın ana optimizasyon kuralı olan "Güçlü olan yaşar" kuralından ilham almış olmasma rağmen sadece zekice bir uygulama değildir. Bütün işleyişi GA teorisyenleri tarafindan derinlemesine araştırılmış ve açıklanmış olan matematiksel olarak ispatlanmış teorilerle desteklenmektedir. Bu bağlamda GA Temel Teorisi ve matematiksel temelleri de detaylı olarak ele alınarak. Bu yaklaşımın gerçek anlamda her türlü ortamda yanılmadan global optimuma ulaştığı ispatlanmıştır. Yukarıda anlatılan bilgiler ışığında Genetik Algoritmalar kullanarak optimizasyon yapan bir Fortran yazılımı, GALED, yapılandırılmıştır. GALED, rastgele örnek bireylerden meydana gelen bir topluluk yaratarak bu bireyleri GA yaklaşımı ile optimizasyonda kullanır. Kullanılan seleksiyon metodu Turnuva Selekisyon Metodu denilen bir yöntemdir. Kodlama çeşiti olarak binary dizileri kullanır ve bunları mutasyon ve çaprazlama operatörleri ile geliştirir. Çaprazlama operatörü için iki seçenek vardır: Tek- Noktadan Çaprazlama ve Uniform Çaprazlama. Uniform çaprazlamada rastgele seçilen ebeveynlerden birisi tekrar bir sonraki nesile aktarılır. Ayrıca ileri düzey GA tekniklerinden olan paylaşım, elitizm ve GA yöntemlerinden bir olan Micro GA da yazılıma eklenerek GA kullanılarak yapılan optimizasyonun en zayıf noktası olan erken yakınsamanın önlenmesi amaçlanmıştır. GA programlarını test etmek için kullanılan multi modal bir test fonksiyonu ile program test edilmiştir. Bununla beraber GA progamının temel parametrelere karşı verdiği cevaplara ilişkin analizler yapılmış ve analiz sonuçalan yorumlan ile beraber sunulmuştur.

In this study a new approach to the engineering optimization problems, Optimization via Genetic Algorithms, has been proposed. At that context, the theory, operation and applications of Genetic Algorithms, search algorithms based on mechanics of natural selection and genetics, have been introduced as a more robust and reliable technique for engineering optimization problems. Genetic Algorithms are, in brief, search algorithms based on the mechanics of natural selection and natural genetics. Their basic idea is what lies behind the nature itself, "Survival of the Fittest", thus a very fastened form than it is in the nature and supported by randomized information exchange to form a search algorithm. In GA in every generation a new set of artificial creatures (strings) are created using bits (Os or Is) and fittest of every string is calculated. If they are strong enough to survive to the next generation then, their genetic information is exploited to the new generation thus exchanging its information in order to seek for new and fitter strings in the preceding generations. Genetic Algorithms are different in some fundamental ways from the conventional techniques stated as follows: 1. GA work with a coding of a parameter set not the parameters themselves. 2. GA search from a population of points, not a single point. 3. GA use objective function information (Cost Function), not derivatives or auxiliary knowledge. 4. GA use probabilistic transition rules, not deterministic rules The general mechanism of a Simple Genetic Algorithm has been explained with an easy simulation; GA calculated by hand. At that point the main operators of a simple Genetic Algorithm has been introduced stated as follows; 1. Reproduction 2.Crossover 3. Mutation Although Genetic Algorithms were inspired by the nature's main rule of optimization "Survival of the Fittest", GA is not a clever application of an on-going process, besides it has mathematical foundations and a various number of theorem exist which have been deeply investigated and proven by a number of GA theorizers. The Fundamental Theory and mathematical foundations of the Genetic Algorithms were presented in order to prove that this approach really works to find the global optimum in every kind of environment. In the respect of the above-mentioned studies, a Fortran code using Genetic Algorithms for optimization, the GALED, has been presented. GALED, initializes a random sample of individuals with different parameters to be optimized using the genetic algorithm approach. The selection method that has been applied in the code is the tournament selection with a shuffling technique for choosing random pairs for mating. The code includes binary coding string individuals with the genetic operators; mutation and crossover. Two choices are available for the crossover: single-point crossover and uniform crossover. At the uniform crossover, for each chromosome in the population, randomly one of the parents is chosen. An option for niching, elitism and an advanced GA method, the Micro GA, has been included so as to avoid the main pitfall of GA; premature convergence. A general multimodal test function has been used to test the program for convenience, besides a number cases have been studied and an analysis of the performance of the GA has been presented.
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 1999
Keywords: genetik algoritmalar; optimizasyon; Genetic algorithms; Optimization