logo

Bir yoki ko’p o’zgaruvchili funksiyalar uchun optimallashtirish. Optimallashtirish masalalarini yechish uchun Matlab funksiyalari OPTIMIZATION kutubxonasi

Yuklangan vaqt:

08.08.2023

Ko'chirishlar soni:

0

Hajmi:

20.8173828125 KB
Bir yoki ko’p o’zgaruvchili funksiyalar uchun optimallashtirish.
Optimallashtirish masalalarini yechish uchun Matlab funksiyalari
OPTIMIZATION kutubxonasi
Reja:
1. Funksiyalar uchun optimallashtirish masalasining qo’yilishi;
2. Funksiyalar uchun optimallashtirish masalasini yechish usullari;
3. Optimallashtirish masalasini yechish Matlab funksiyalari;
4. Optimization kutubxonasining imkoniyatlari. Misollar. 1.Funksiyalar uchun optimallashtirish masalasining qo’yilishi. Juda
ko’p nazariy va amaliy masalalarni xal qilishda bir nechta o’zgaruvchiga
bog’liq   bo’lgan   funksiyalarning   ekstremumini   (maksimum   yoki
minimum)   topish   masalasiga   duch   kelinadi   (masalan,   parametrik
identifikatsiya   masalasida).   Bunday   funksiyani   umumiy   holda   f(x
1 ,   x
2 ,
…, x
n ,)  ko’rinishida  yozib,  x=(  x
1 , x
2 ,…, x
n ,)  vektorni  kiritsak,  u  holda
f(x)   funksiya   uchun   ekstremumni   (ma’lum   bir   A   to’plamda)   topish
quyidagicha qo’yiladi:
x  vektorning   berilgan   (aniqlangan)   to’plamga   tegishli   shunday  x*
qiymatini topingki, u uchun (maksimum) max
xєA	f(x)=	f¿
  
tenglik   o’rinli   bo’lsin.   Albatta,   bu   nuqtada   f(x),   xєA,   funksiya   uchun
f(x)≤f(x*),   xєA   tengsizlik   o’rinli   bo’ladi.   Umuman   x*   nuqta
funksiyaning   maksimum   nuqtasi   deyiladi.   Xuddi   shunga   o’xshash
minimum   nuqta   haqida   ham   gapirish   mumkin.   Umuman   olganda,
maksimum va minimum masalalarda birinchisidan ikkinchisini keltirish
mumkin.   Masalan,   f(x),   xєA   funksiyani   maksimumini   topish   masalasi
g(x)=-f(x), xєA funksiyaning maksimumini topishga ekvivalentdir.
Funksiyaning   minimumini   yoki   maksimumini   topishni
optimallashtirish masalasi deb ataymiz.
2. Funksiyalar uchun optimallashtirish masalasini yechish usullari.
Matematikada   har   xil   tipdagi   funksiyalarni   optimallashtirish   usullari
juda   ham   ko’p,   lekin   ularni   masalani   yechishga   talqin   qilish   bo’yicha
ikkita guruhga ajratish mumkin.
Birinchi   guruhga   masalani   hal   qilish   uchun   qo’llaniladigan
bilvosita   usullarni   kiritish   mumkin.   Bu   holda   ko’p   o’zgaruvchili funksiyalar   uchun   x*   nuqtada   ekstremum   shartining   natijasi   bo’lgan
chiziqli   yoki   chiziqsiz   tenglamalar   sistemasini   yechimini   topishga
keltiriladi.   Bizga   ma’lumki,   ekstremum   nuqtada   funksiyaning   barcha
birinchi tartibli xususiy xosilalari nolga teng bo’ladi:
∂ f
∂ x
i ¿
x = x ¿ = 0
,   i=1,2,…,n.
Shu   tenglamalar   sistemasini   yechib   ekstremum   bo’lish   mumkin
bo’lgan   nuqta   aniqlanadi.   Undan   tashqari   birinchi   guruh   usullarga
urinmalar usulini, vatarlar usulini, Nyuton usulini va boshqalarni kiritish
mumkin.
Bu   usullarning   asosiy   kamchiliklariga   chiziqsiz   tenglamalar
sistemasini   yechishdagi   murakkabliklar   kiradi.   Shuning   uchun,
ko’pincha   optimallashtirish   masalasini   amalda   yechish   uchun   usullar
qo’llaniladi.   Bu   holda   optimallashtirish   masalasini   yechish   uchun
shunday x 0
, x 1
,…, x n
,…vektorlar ketma-ketligi tuziladiki, ular uchun
f(x 0
)< f(x 1
)<…< f(x n
)<…
tengsizlik o’rinli bo’lsin. Natijada, ma’lum qadamdan keyin ekstremum
nuqtaning   taqribiy   qiymati   topiladi.   Umuman   olganda,   boshlang’ich
nuqta x 0
  ixtiyoriy bo’lishi mumkin, lekin uni tanlashda funksiya va uni
ekstremumi   haqida   barcha   ma’lumotlarni   ishlatib   x 0
ni   ekstremum
nuqtaga iloji boricha yaqin qilib tanlash maqsadga muvofiqdir.
3.Optimallashtirish   masalasini   yechish   Matlab   funksiyalari.
Optimallashtirish   masalasini   yechish   uchun   Matlab   paketi   yadrosidagi
va   maxsus   Optimization   kutubxonasidagi   (vositalar   to’plami)
funksiyalardan   foydalanish   mumkin.   Bu   funksiyalarni   ko’rishdan   avval
Matlabda ishtirok etuvchi qo’shimcha element –foptions1 massividir. Bu
massivda   <standart   parametrlar>   (< параметр ы   по   умолчанию >)   deb nomlanuvchi   va   optimizatsiya   protiduralarda   foydalaniladigan
parametrlar   saqlanadi.   Shu   massivning   har   bir   elementini   ko’rib
chiqamiz.
 options(1)-akslantirish parametric standart qiymati( по   умолчанию ) 0
ga teng, 1 qo’yilganda ba’zi natijalarni akslantiradi;
 options(2)-x   uchun   hisoblashlar   to’xtatilishining   aniqligi;   по
умолчанию  1е-4;
 options(3)-F   uchun   hisoblashlar   to’xtalishining   aniqligi;   по
умолчанию  1е-4;
 options(4)-chegara buzilishida uzish kriteriysi;  по   умолчанию  1е-6;
 options(5)-algoritm: strategiya:har doim ham ishlatilavermaydi;
 options(6)-algoritm:Optimizator: Har doim ham ishlatilavermaydi;
 options(7)-algoritm: Chiziqli qidiruv algoritmi;  по   умолчанию  0;
 options(8)-Lyambda funksiyaning qiymati;
 options(9)-Agar   foydalanuvchi   taklif   qilgan   gradiyentlarni   tekshirish
kerak bo’lsa, bu parametrga 0 qo’yiladi;
 options(10)-funksiya va chegaralarni baholashlar soni;
 options(11)-funksiya gradiyentini baholashlar soni;
 options(12)-chegaralarni baholashlar soni;
 options(13)-tenglikka qo’yilgan chegaralar soni;
 options(14)-funksiyaning maksimal baholashlar soni;
 options(15)-maqsadli funksiyani maxsus maqsadlar uchun ishlatish;
 options(16)-chekli   ayirmali   gradiyentlar   uchun   o’zgaruvchilarni
minimal o’zgarishi;
 options(17)-chekli   ayirmali   gradiyentlar   uchun   o’zgaruvchilarni
maksimal o’zgarishi;  options(18)-qadam uzunligi( по   умолчанию  ≤1);
Har   xil   optimizatsiya   jarayonlar   uchun   bu   parametrlardan   har
xillari   ishlatiladi.   Shuning   uchun   konkret   optimizatsiya   jarayon   uchun
qanday   parametr   berilgan   bo’lishi   va   qanday   param е tr   ma’lum   natijani
qaytarishi alohida aytib o’tishi kerak bo’ladi.
Parametrlar   avvaldan   aniqlab   olingandan   so’ng,   funksiyani
optimallashtirish   jarayoniga   o’tsa   bo’ladi.   Matlab   yadrosida
optimallashtirish masalasini yechish uchun 2 ta funksiya : 
fmin-bir o’zgaruvchili funksiyalar uchun ; 
fmins-ko’p o‘zgaruvchili funksiyalar uchun 
mavjuddir.   Birinchi   funksiya   fmin   bir   nechta   formulalarda
yoziladi:
 x=fmin(‘fun’,x1,x2);
 x=fmin(‘fun’,x1,x2,options);
 x=fmin(‘fun’,x1,x2,options,p1,p2);
 x=fmin(‘fun’,x1,x2,options,p1,p2,…);
 [x,options]=fmin(…)
Birinchi   ko’rinishdagi   x=fmin(‘fun’,x1,x2)   Matlab   funksiyasi
fun(x)   funksiyaning   x1<x<x2   oraliqdagi   minimumga   erishtiruvchi   x
ning qiymatini aniqlaydi;
x=fmin(‘fun’,x1,x2,options)-funksiyasi   esa   xuddi   yuqoridagidek
vazifani bajarib, unda qo’shimcha boshqarish parametrlarini ishlatadi;
x=fmin(‘fun’,x1,x2,options,p1,p2,…)-funksiya ham yuqoridagidek
vazfani   bajaradi,   lekin   bunda   fun(x)   funksiyaga   parametrlar   sifatida
p1,p2,…, larning qiymatlarini kiritadi, natijada fun(x,p1,p2,…) funksiya
olinadi. [x,options]=fmin(…)-funksiya   options(10)   parametrda   bajarilgan
qadamlar sonini chiqaradi. Yuqoridagi funksiyalarda options boshqarish
parametrlari   vektori   bo’lib   18   ta   komponentdan   faqat   uchtasigina
ishlatiladi;
 options(1)-agar 0 bo’lmasa, masala yechilishidagi qadamlarni
ko’rsatadi.  По   умолчанию -0;
 options(2)-hisoblashlarni   to’xtatish   aniqligi.   По   умолчанию
1е-4;
 options(14)-qadamlarning   makimal   soni.   По   умолчанию
(berilmasa-500);
Ko’p   o’zgaruvchili   funksiyalar   uchun   yaratilgan   fmins   funksiya
ham bir nechta formatlarga ega:
 x=fmin(‘fun’,x0)
 x=fmin(‘fun’,x0,options)
 x=fmin(‘fun’,x0,options,[ ],p1,p2,…)
 [x,options]=fmins(…)
x=fmin(‘fun’,x0)-bu   funksiya   fun(x)   funksiyaning   x0   nuqta
atrofidagi lokal minimumga qiymatini beruvchi x vektorni chaqiradi.
  x=fmin(‘fun’,x0,options)-xuddi yuqoridagi funksiya kabi vazifani
bajarib,   undan   farqi   qo’shimcha   boshqarish   parametrlaridan
foydalaniladi.
x=fmin(‘fun’,x0,options,[ ],p1,p2,…)-bu ham xuddi yuqoridagidek
vazifani   bajarib,   bunda   fun(x)   funksiyaga   parametrlar   sifatida   p1,p2,…
larning qiymatlarini kiritadi, natijada fun(x,p1,p2,…) funksiya olinadi.
[x,options]=fmins(…)-bu   komanda   formatida   options(10)
parametrida bajarilgan qadamlar sonini chiqaradi; fmin funksiya argumentlari:
xo-boshlang’ich vektor;
p1,p2,…,-fun funksiyaga beriladigan argumenlar.
[   ]-Opimization   kutubxonasidagi   fminu   funksiya   bilan
birgalikdalikni ta’minlovchi argument;
 options(1)-agar   bu   parameter   nolga   teng   bo’lmasa   yechish
protsessidagi oraliq qadamlar ko’rsatiladi. Aytilmasa 0 bo’ladi;
 options(2)   va   option(3)-hisoblashlarni   to’xtatish   aniqligi   (x   va
function(x) uchun). Aytilmagan bo’lsa ikkala qiymat 1е-4;
 options(14)-qadamlarning maksimal soni. Aytilmasa-500;
4.Optimization   kutubxonasining   imkoniyatlari.   Misollar.
Optimization kutubxonasida chiziqli va chiziqli bo’lmagan funksiyalarni
optimallashtirishga   mo’ljallangan   bo’lib,   bu   kutubxona   quyidagi
xossalarga ega:
-chiziqli bo’lmagan funksiyalarni shartsiz optimallashtirish;
-kichik kvadratlar usuli va chiziqli bo’lmagan interpolyatsiya;
-chiziqli bo’lmagan tenglamalar yechimi;
-chiziqli dasturlash;
-kvadratik dasturlash;
-chiziqli bo’lmagan funksiyalarni shartli minimizatsiya qilish;
-minimaks usuli;
-ko’p kriteriyli optimallashtirish;
Bu kutubxonada quyidagi algoritmlar ishlatiladi:
-shartsiz optimallashtirish: Nelder-Mid simpleks qidiruv usuli;
-shartli ko’p kriteriyli optimallashtirish va minimaks usuli: ketma-
ket   kvadratik dasturlash usulining har xil variantlari: -chiziqli va kvadratik dasturlash usullari: proyeksiyalar usuli;
-optimallashtirish   usuli   va   chiziqli   qidiruv   strategiyasini   tanlash
imkoniyati borligi.
Undan   tashqari,   kutubxonada   bitta   masalani   bir   nechta   usullar
yordamida yechish mumkinligini ko’rsatuvchi misollar ham mavjuddir.

Bir yoki ko’p o’zgaruvchili funksiyalar uchun optimallashtirish. Optimallashtirish masalalarini yechish uchun Matlab funksiyalari OPTIMIZATION kutubxonasi Reja: 1. Funksiyalar uchun optimallashtirish masalasining qo’yilishi; 2. Funksiyalar uchun optimallashtirish masalasini yechish usullari; 3. Optimallashtirish masalasini yechish Matlab funksiyalari; 4. Optimization kutubxonasining imkoniyatlari. Misollar.

1.Funksiyalar uchun optimallashtirish masalasining qo’yilishi. Juda ko’p nazariy va amaliy masalalarni xal qilishda bir nechta o’zgaruvchiga bog’liq bo’lgan funksiyalarning ekstremumini (maksimum yoki minimum) topish masalasiga duch kelinadi (masalan, parametrik identifikatsiya masalasida). Bunday funksiyani umumiy holda f(x 1 , x 2 , …, x n ,) ko’rinishida yozib, x=( x 1 , x 2 ,…, x n ,) vektorni kiritsak, u holda f(x) funksiya uchun ekstremumni (ma’lum bir A to’plamda) topish quyidagicha qo’yiladi: x vektorning berilgan (aniqlangan) to’plamga tegishli shunday x* qiymatini topingki, u uchun (maksimum) max xєA f(x)= f¿ tenglik o’rinli bo’lsin. Albatta, bu nuqtada f(x), xєA, funksiya uchun f(x)≤f(x*), xєA tengsizlik o’rinli bo’ladi. Umuman x* nuqta funksiyaning maksimum nuqtasi deyiladi. Xuddi shunga o’xshash minimum nuqta haqida ham gapirish mumkin. Umuman olganda, maksimum va minimum masalalarda birinchisidan ikkinchisini keltirish mumkin. Masalan, f(x), xєA funksiyani maksimumini topish masalasi g(x)=-f(x), xєA funksiyaning maksimumini topishga ekvivalentdir. Funksiyaning minimumini yoki maksimumini topishni optimallashtirish masalasi deb ataymiz. 2. Funksiyalar uchun optimallashtirish masalasini yechish usullari. Matematikada har xil tipdagi funksiyalarni optimallashtirish usullari juda ham ko’p, lekin ularni masalani yechishga talqin qilish bo’yicha ikkita guruhga ajratish mumkin. Birinchi guruhga masalani hal qilish uchun qo’llaniladigan bilvosita usullarni kiritish mumkin. Bu holda ko’p o’zgaruvchili

funksiyalar uchun x* nuqtada ekstremum shartining natijasi bo’lgan chiziqli yoki chiziqsiz tenglamalar sistemasini yechimini topishga keltiriladi. Bizga ma’lumki, ekstremum nuqtada funksiyaning barcha birinchi tartibli xususiy xosilalari nolga teng bo’ladi: ∂ f ∂ x i ¿ x = x ¿ = 0 , i=1,2,…,n. Shu tenglamalar sistemasini yechib ekstremum bo’lish mumkin bo’lgan nuqta aniqlanadi. Undan tashqari birinchi guruh usullarga urinmalar usulini, vatarlar usulini, Nyuton usulini va boshqalarni kiritish mumkin. Bu usullarning asosiy kamchiliklariga chiziqsiz tenglamalar sistemasini yechishdagi murakkabliklar kiradi. Shuning uchun, ko’pincha optimallashtirish masalasini amalda yechish uchun usullar qo’llaniladi. Bu holda optimallashtirish masalasini yechish uchun shunday x 0 , x 1 ,…, x n ,…vektorlar ketma-ketligi tuziladiki, ular uchun f(x 0 )< f(x 1 )<…< f(x n )<… tengsizlik o’rinli bo’lsin. Natijada, ma’lum qadamdan keyin ekstremum nuqtaning taqribiy qiymati topiladi. Umuman olganda, boshlang’ich nuqta x 0 ixtiyoriy bo’lishi mumkin, lekin uni tanlashda funksiya va uni ekstremumi haqida barcha ma’lumotlarni ishlatib x 0 ni ekstremum nuqtaga iloji boricha yaqin qilib tanlash maqsadga muvofiqdir. 3.Optimallashtirish masalasini yechish Matlab funksiyalari. Optimallashtirish masalasini yechish uchun Matlab paketi yadrosidagi va maxsus Optimization kutubxonasidagi (vositalar to’plami) funksiyalardan foydalanish mumkin. Bu funksiyalarni ko’rishdan avval Matlabda ishtirok etuvchi qo’shimcha element –foptions1 massividir. Bu massivda <standart parametrlar> (< параметр ы по умолчанию >) deb

nomlanuvchi va optimizatsiya protiduralarda foydalaniladigan parametrlar saqlanadi. Shu massivning har bir elementini ko’rib chiqamiz.  options(1)-akslantirish parametric standart qiymati( по умолчанию ) 0 ga teng, 1 qo’yilganda ba’zi natijalarni akslantiradi;  options(2)-x uchun hisoblashlar to’xtatilishining aniqligi; по умолчанию 1е-4;  options(3)-F uchun hisoblashlar to’xtalishining aniqligi; по умолчанию 1е-4;  options(4)-chegara buzilishida uzish kriteriysi; по умолчанию 1е-6;  options(5)-algoritm: strategiya:har doim ham ishlatilavermaydi;  options(6)-algoritm:Optimizator: Har doim ham ishlatilavermaydi;  options(7)-algoritm: Chiziqli qidiruv algoritmi; по умолчанию 0;  options(8)-Lyambda funksiyaning qiymati;  options(9)-Agar foydalanuvchi taklif qilgan gradiyentlarni tekshirish kerak bo’lsa, bu parametrga 0 qo’yiladi;  options(10)-funksiya va chegaralarni baholashlar soni;  options(11)-funksiya gradiyentini baholashlar soni;  options(12)-chegaralarni baholashlar soni;  options(13)-tenglikka qo’yilgan chegaralar soni;  options(14)-funksiyaning maksimal baholashlar soni;  options(15)-maqsadli funksiyani maxsus maqsadlar uchun ishlatish;  options(16)-chekli ayirmali gradiyentlar uchun o’zgaruvchilarni minimal o’zgarishi;  options(17)-chekli ayirmali gradiyentlar uchun o’zgaruvchilarni maksimal o’zgarishi;

 options(18)-qadam uzunligi( по умолчанию ≤1); Har xil optimizatsiya jarayonlar uchun bu parametrlardan har xillari ishlatiladi. Shuning uchun konkret optimizatsiya jarayon uchun qanday parametr berilgan bo’lishi va qanday param е tr ma’lum natijani qaytarishi alohida aytib o’tishi kerak bo’ladi. Parametrlar avvaldan aniqlab olingandan so’ng, funksiyani optimallashtirish jarayoniga o’tsa bo’ladi. Matlab yadrosida optimallashtirish masalasini yechish uchun 2 ta funksiya : fmin-bir o’zgaruvchili funksiyalar uchun ; fmins-ko’p o‘zgaruvchili funksiyalar uchun mavjuddir. Birinchi funksiya fmin bir nechta formulalarda yoziladi:  x=fmin(‘fun’,x1,x2);  x=fmin(‘fun’,x1,x2,options);  x=fmin(‘fun’,x1,x2,options,p1,p2);  x=fmin(‘fun’,x1,x2,options,p1,p2,…);  [x,options]=fmin(…) Birinchi ko’rinishdagi x=fmin(‘fun’,x1,x2) Matlab funksiyasi fun(x) funksiyaning x1<x<x2 oraliqdagi minimumga erishtiruvchi x ning qiymatini aniqlaydi; x=fmin(‘fun’,x1,x2,options)-funksiyasi esa xuddi yuqoridagidek vazifani bajarib, unda qo’shimcha boshqarish parametrlarini ishlatadi; x=fmin(‘fun’,x1,x2,options,p1,p2,…)-funksiya ham yuqoridagidek vazfani bajaradi, lekin bunda fun(x) funksiyaga parametrlar sifatida p1,p2,…, larning qiymatlarini kiritadi, natijada fun(x,p1,p2,…) funksiya olinadi.