III. GENETIK ALGORITMLARNI GENETIC ALGORITHM TOOL
DASTURIDA TADBIQ QILINISHI.
3.1. Funksiyalarni approksimatsiyalashning algoritmlarini ishlab chiqishni
tashkil etish.
Endi esa bu algoritmlarni ishlash jaroyonini ko’rib chiqamiz. Buning uchun matlab
dasturidan foydalanamiz va matlab dasturining quydagi oynasini ochib olamiz.
3.1.1 -rasm. Matlab dasturining daslabki ko’rinishi.
Approksimasiya- berilgan qiymatlar asosida funksiyani tiklash. (masalan OXY
o’qida x nuqtani qiymatlari berilgan) berilgan qiymatlarga asoslanib, funksiyani
topib olish.
Approksimasiyani yechish ussullari eng kichchik kvadratlar usuli, genetik
algoritmlar orqali amalga oshriladi.
Yechish ussullari haqiqiy yechimlar bilan analitik yechimlarni farqini topamiz.
Ya’ni haqiqiy yechimlar bilan analitik yechimlarni farqini minimumga keltiramiz.
Minimumga keltirilgan funksiylarni yechishda biz genetik algoritmlarni
qo’llaymiz.
Approksimasiya ( lotinca
proxima
– yaqinlashtirish) yoki yiriklashtirish-ilmiy
usul, bir ob’ektni boshqa bir qandaydir yaqinroq bo’lgan chiquvch ob’ektga
almashtirishdir [18].
Approksimasiya (Yondashish) oddiy yoki qulayroq muassasalani o'rganishga
muammoni kamaytirish, bir raqamli xususiyatlari va ob'ektni sifatli xususiyatlarini
o'rganish imkonini beradi (masalan, bunday xususiyatlar osonlikcha hisoblab yoki
xususiyatlari allaqachon ma'lum bo'lgan).
Matlab matematik paketida genetik algoritm bilan ishlash uchun 4ta asosiy
funktsiya mavjud:
ga- maqsad funksiyani minumini topish uchun funktsiya;
gaoptimget - ishlatiladigan GA parametrlarini qaytaradi;
gaoptimset - GA parametrlarini sozlash;
gatool - Genetika Algoritm vositasi oynasini ochadi.
Boshqa optimallash usullari bilan genetik algoritm va uning kombinatlarini
Direct Search Toolbox bo'limida topishingiz mumkin. Buni amalga oshirish uchun
buyruq qatorida psearchtool (poll search tool- buyurtma izlash vositasi) yozishingiz
kerak.
GAni topshirilgan ob'ektiv funktsiyani qo'llash uchun, avval uni M-faylga
yozishingiz va joriy papkaga saqlashingiz kerak.
Genetic Algorithm Tool ishga tushirish uchun
gatool buyrug'ini Matlab buyruq
qatoridan boshqaring. Shundan so'ng genetik algoritmlar to'plami ishga tushadi va
ekranda asosiy dastur oynasi ko'rinadi (5-rasm). Fitnes funktsiyasi sohasida
optimallashtiriladigan funktsiya @fitnessfun formasida belgilanadi, bu erda
fitnessfun.m - M-fayl nomi, u erda optimallashtirilgan funktsiya oldin tasvirlangan.
Misol uchun funksiyani yozilishi
my_fun
da M-fayl:
function
z = my_fun(x)
z = x(1)^2-2*x(1)*x(2)+2*x(1)+x(2)^2-3*x(2);
end
3.1.2 -rasm. Matlab dasturining gatool oynasini ko’rinishi.
Bu erda Number of variables maydonida optimallashtirilgan funksiyaning
kirish vektorining uzunligini belgilaydi [16].
Constraints panelida cheklashlar yoki chegara chiziqli funksiyani tanlashingiz
mumkin. Linear in equalities sohasida, shaklning tengsizligi bilan chiziqli taqiqlash
belgilanadi:
𝐴 ∗ 𝑥 ≤ 𝑏.
Linear equalities sohasida, chiziqli cheklovlar tenglik bilan belgilanadi:
𝐴 ∗
𝑥 = 𝑏.
Bu erda ikkala holatda ham A matritsa, b vektor.
Bounds maydonida, vektor shaklida o'zgaruvchining pastki va yuqori
chegaralari ko'rsatilgan, va Nonlinear constraint function bo‘limida chiziqli
bo'lmagan cheklash funksiyasini tanlashingiz mumkin.
Muayyan vazifada cheklashlarni belgilashingiz kerak bo'lmasa, Cheklovlar
panelidagi barcha maydonlar bo'sh qoladi. Xuddi shunday qolgan bo‘limlarini xam
o‘z bajaradigan vazifalari mavjud.
GATool-dagi asosiy parametrlar quyidagilardir:
populyasiya ( Population);
kattalashtirish (Fitness Scaling);
operatorni tanlash (Selection);
reproduksiya operatori (Reproduction);
mutatsiya operatori (Mutation);
skreshivaniya operatori (Crossover);
gibrid funksiyasi (Hybrid function).
Bir nechta o'zgaruvchining funktsiyalarini yaqinlashtirish muammolari uzoq
tarixga ega va hatto XX asr boshida D.Hilbert tomonidan yaratilgan matematikaning
23 ta muammolarining bir qismini tashkil etadi. Amaliyot nuqtai nazaridan, bugungi
kunda bu muammoning muhimligi asosan bu bilan aniqlanadi haqiqiy hodisalarni
tavsiflovchi matematik modellarning murakkabligi, ulardagi murakkab ko'p
martabali funktsiyalar paydo bo'lishiga olib keladi, bu hisob-kitoblar og'ir
algoritmlarni va sezilarli hisoblash xarajatlarini talab qiladi.
Biz qo‘yida keltirilgan fnksiyani bir nechta usullar orqali approksimatsiya
qilish yo‘llarnini ko‘rib chiqamiz.
3x
4
+4x
3
-12x*x+1=0
Birinchi usul: Eng kichkina kvadratchalar usuli.
Ikkinchi usul: Stirling usuli.
Chiziqli algebrik tenglamalar usuli: teskari matritsa usuli.
Integratsiya usuli: Nьyutona-Kotesa (n=6) usuli.
Tugundagi setkalar soni: 12, 16, 25.
Funksiya grafigini qurishda yaqinlashtirish uchun yechimlarini izlash:
Do'stlaringiz bilan baham: |