O`ZBEKISTON RESPUBLIKASI OLIY VA O`RTA MAXSUS TA`LIM VAZIRLIGI TOSHKENT DAVLAT TRANSPORT UNIVERSITETI «Transportda axborot tizimlari va texnologiyalari» kafedrasi 8-LABORATORIYA ISHI Fanning nomi: Sonli usullar va MatLab tizimida dasturlash Mavzu: Optimization kengaytmasi bilan ishlash. AT-3 guruh F.I.SH. Bajardi: Nashirov.S Qabul qildi: Azimov.A SANA Toshkent – 2024. BAHO IMZO Optimization kengaytmasi bilan ishlash. Ishning maqsadi: 1. Talabalarda optimallashtirish haqida tushunchalarini shakllantirish, optimallashtirish masalalarini yechish uchun mo‘ljallangan funksiyalardan foydalanish ko‘nikmalarini shakllantirish. 2. Talabalarda bir va ko‘p o‘zgaruvchili funksiyalarni optimallashtirish va shartli optimallashtirish bo‘yicha bilimlarni singdirish; MatLab tizimida Toolbox Optimization kengaytmasi funksiyalari bilan ishlash ko‘nikmalarini rivojlantirish. Nazariy qism. Bir o‘zgaruvchili funksiyaning ekstremumlarini qidirish Optimizatsiya masalalarini yechishda lokal (chegaralari ko‘rsatilgan) va global maksimum (minimum) holatlar ajratiladi. MatLab tizimida bir o‘zgaruvchili funksiyaning lokal mininmumini topish uchun [x, y]=fminbnd(name, a, b, options) funksiyadan foydalanish mumkin. Bu yerda: name – funksiya nomi, a, b – qidiruv chegaralari, options – yechimni boshqaruvchi kattaliklari, x, y – minimal nuqtaning koordinatalari. Ko‘p o‘zgaruvchili funksiyaning ekstremumlarini qidirish. Ko‘p o‘zgaruvchili z=f(x1, x2, …, xn) funksiyaning minimumini topish MatLab tizimida mavjud [X, Z]=fminsearch(name, x0, options) funksiya orqali amalga oshiriladi. Bu yerda: name - m-funksiya bo‘lib, z=f(x1, x2, …, xn) berilgan funksiyani hisoblaydi; х0 – n elementli vektor bo‘lib, boshlang‘ich yaqinlashish nuqtasining koordinatalaridan tashkil topgan; options - yechimni boshqaruvchi kattaliklari; Х – n elementli vektor bo‘lib, z=f(x1, x2, …, xn) funksiyaga minimal qiymat beradigan o‘zgaruvchilarning qiymatidan iborat; Z – funksiyaning minimal qiymati. Ko‘p o‘zgaruvchili funksiyaning minimumini topish uchun Optimization Toolbox kengaytmasidagi fminunc va lsqnonlin funksiyalaridan ham foydalansa bo‘ladi. Mazkur funksilarning birinchisida optimset buyrug‘i bilan 2 oldindan berilgan maqsad funksiyasining quymati uchun yaqinlashish chegarasi, options.gradobj - gradiyentlar vektori, Gess matritsasi, Gess matritsasiga ko‘paytirish funksiyasi yoki siyraklashgan Gess matritsasining grafigidan foydalanish imkonini beradi. Ikkinchi funksiya esa – eng kichik kvadratlar usulini amalga oshirib, minimallashtirish jarayonida, odatda eng kichik iteratsiyalar sonini beradi. Topshiriqlar: 1. Minimallashtirish masalalari yechimini ta’minlovchi x1 va x2 o‘zgaruvchilar qiymatlarini aniqlang: Dasturi: % Berilgan funksiya funksiya = @(x) -12*x(2) + 4*x(1)^2 + 4*x(2)^2 - 4*x(1)*x(2); % Boshlang'ich nuqta (x0) x0 = [-0.5; 0]; % Minimallashtirish [x, fval] = fminunc(funksiya, x0); % Natija chiqarish disp('Minimallashtirilgan x qiymati:'); disp(x); disp('Funksiyaning minimum qiymati:'); disp(-fval); Natija: 3 3-rasm. Dastur natijsi. 2. Berilgan oraliqda funksiyani tekshiring. fminbnd funksiyasi yordamida minimumni aniqlang: 2x^2+7x a=-5,b=1 Dasturi: % Berilgan funksiya funksiya = @(x) 2*x^2 + 7*x; % Oraliqning pastki va yuqoridagi qiymatlari a = -5; b = 1; % fminbnd funksiyasi yordamida minimumni aniqlash [x_min, fval_min] = fminbnd(funksiya, a, b); % Natijani chiqarish disp('Minimum qiymatli nuqta:'); disp(x_min); disp('Minimum qiymat:'); disp(fval_min); Natija: 4 4-rasm. Dastur natijasi. 5 Xulosa. Optimizatsiya kengaytmasini o'rganishning yaxshi usuli amaliy mashqlar va misollar ustida amal qilishdir. Bu xususiyatlar, funksiyalarning va natijalarining tushunilmasiga yordam beradi. Masalalar yechilishi, funksiyalarning optimallashtirish kengaytmasi yordamida amaliy misollar orqali o'rganilishi yaxshi bo'ladi. To'g'ri yo'lga yo'naltirish, ko'p amaliy mashqlar va misollar ustida amal qilish, optimizatsiya kengaytmasini o'rganish uchun eng yaxshi yo'l bo'lishi mumkin. Bu, optimal yechimlarni topishda va yechimlarni sinashda tajribani oshiradi. 6