10-mavzu. Dinamik dasturlash tamoyillari TATU TAD kafedrasi Sharipov Bahodir Reja: 1. Dinamik dasturlashning tamoyili 2. Dinamik dasturlash masalalarini yechish sxemasi. 4. Masalalar 1. Dinamik dasturlashning tamoyili Maqsad funktsiyasining koʼrinishi va oʼzgaruvchilarga qoʼyiladigan cheklanish shartlari sistemasiga koʼra matematik dasturlash asosan olti turga ajratiladi:
1. Chiziqli dasturlash. Аgar maqsad funktsiyasi va oʼzgaruvchilarga qoʼyilgan shartlar chiziqli (masalan koʼrinishda boʼlsa, u holda dasturlash chiziqli dasturlash deyiladi. Dasturlashning bu turi eng sodda va eng koʼp oʼrganilgan boʼlib, u amalda eng koʼp qoʼllaniladi.
2. Chiziqli boʼlmagan dasturlash. Аgar maqsad funktsiyasi va oʼzgaruvchilarga qoʼyilgan shartlar chiziqli boʼlmagan (masalan ) koʼrinishda boʼlsa, u holda dasturlash chiziqli boʼlmagan dasturlash deyiladi.
3. Dinamik dasturlash. Аgar oʼzgaruvchilar vaqt oʼzgarishi bilan oʼzgarsa va oldingi bosqichdagi natija undan keyingi bosqich natijasiga taʼsir koʼrsatsa, bu holda matematik dasturlash dinamik dasturlash deyiladi.
Bu turdagi dasturlar iqtisodiy masalalarda koʼp uchraydi.
Bundan tashqari yuqoridagi uch turdagi dasturlashdagi oʼzgaruvchilarning qabul qilish qiymatlariga koʼra:
1. Diskret dasturlashtirish. Bunda oʼzgaruvchilar, baʼzi diskret (uzlukli) qiymatlarini qabul qiladi.
2. Butun sonli dasturlashtirish. Bunda oʼzgaruvchilar faqat butun son qiymatlarini qabul qilib, diskret dasturlashning xususiy holidir. (masalan avtomobillar, binolar, pasajirlar).
3. Stoxastik dasturlashtirish. Аgar oʼzgaruvchilar va ularga quyilgan shartlar ehtimoli miqdorlar boʼlsa, stoxastik dasturlash deyiladi.
Dinamik dasturlash — matematikaning koʻp bosqichli eng maqbul (optimal) boshqarishga oid masalalar nazariyasi va ularni yechish usullarini oʻrganuvchi boʻlimi. Bu yerda dasturlash tushunchasi "rejalashtirish", "qaror qabul qilish", yaʼni "bir qarorga kelish" maʼnolarida ham qoʻllaniladi. Bu prinsip dinamik dasturlashning asosiy masalasini oxiridan boshlab yechishga imkon beradi. Dinamik dasturlash chekli bosqichli jarayonlardan tashqari, uzluksiz davom etadigan jarayonlar uchun ham ishlab chiqilgan. U texnika, kosmik parvozlar, xalq xoʻjaligini rejalashtirishning turli masalalarida eng maqbul yechimlar topishga imkon beradi. Dinamik dasturlash usuli elektron hisoblash mashinalari, kompyuterlar yordamida tatbiq qilinadi.
Dinamik dasturlash - bu matematik dasturlash bo'limlaridan biri bo'lib, unda yechish jarayonini alohida bosqichlarga bo'lish mumkin. Ushbu bo'lish turli xil printsiplarga muvofiq amalga oshiriladi. Ba'zi vazifalar vaqt bo’yicha, boshqalarida boshqaruv ob'ektlari bo’yicha. Ba'zan bo'linish sun'iy ravishda amalga oshiriladi. Ushbu yondashuv bizga bitta katta o'lchovli muammoni kichik o'lchamdagi ko'plab muammolarga bo’lish imkonini beradi. Bu hisoblash hajmini sezilarli darajada kamaytiradi va boshqaruv qarorlarini qabul qilish jarayonini tezlashtiradi. Dinamik dasturlash tamoyili shundaki, eng optimal yo'lning har qanday qismi optimaldir. Bu har bir bosqichda oldingi bosqichlarda topilgan yo'lning qismlaridan foydalangan holda optimal yo'lni topishga imkon beradi.
Optimallashtirishning eng taniqli usullaridan biri bu o'tgan asrning elliginchi yillarida amerikalik olim Richard Bellman tomonidan taklif etilgan dinamik dasturlashdir. Dinamik dasturlashni ko'p bosqichli qarorlar qabul qilish jarayonlarini tahlil qilishda ishlatiladigan matematik protseduralar to'plami sifatida aniqlash mumkin. O'z navbatida, qaror qabul qilishning ko'p bosqichli jarayoni umumiy maqsadga erishishga qaratilgan izchil qarorlar qabul qilinadigan faoliyat sifatida belgilanishi mumkin. Dinamik dasturlashning mohiyati optimallashtirish tamoyiliga asoslanadi. Buni shunday tariflash mumkin – optimal strategiya shunday xususiyatga egaki, dastlabki holat va yechim qanday bo'lishidan qat'iy nazar, keyingi yechimlar dastlabki qarordan keyin yuzaga keladigan holat uchun eng optimal strategiyaga ega bo'lishi kerak.