Автор работы: Пользователь скрыл имя, 15 Апреля 2013 в 21:15, реферат
Динамикалық бағдарламалау басқару шешімдерінің ең ұтымды кезектілігін анықтауға бағытталған есептерді шешуге арналған оңтайландыру әдісі болып табылады. Басқаша айтсақ, динамикалық бағдарламалау әдістерімен нақты есептерді шешу бірнеше кезеңді қамтиды, бұл кезеңдердің әрқайсысында есептің бір бөлігінің шешімі табылады. Әр кезеңдегі есептің нәтижелері барлық кезең аралығында максималды нәтижеге қол жеткізілетіндей болып байланыстырылуы керек. «Динамикалық бағдарламалау» термині есептердің жеке типін емес, оларды шешудің әдістерін бейнелейді.
Динамикалық бағдарламалау басқару шешімдерінің ең ұтымды кезектілігін анықтауға бағытталған есептерді шешуге арналған оңтайландыру әдісі болып табылады. Басқаша айтсақ, динамикалық бағдарламалау әдістерімен нақты есептерді шешу бірнеше кезеңді қамтиды, бұл кезеңдердің әрқайсысында есептің бір бөлігінің шешімі табылады. Әр кезеңдегі есептің нәтижелері барлық кезең аралығында максималды нәтижеге қол жеткізілетіндей болып байланыстырылуы керек. «Динамикалық бағдарламалау» термині есептердің жеке типін емес, оларды шешудің әдістерін бейнелейді. Бұл жағдайда статикалық сипаттағы көптеген есептер динамикалық бағдарламалау есептері ретінде де қарастырыла алады, ал динамикалық сипаттағы кейбір есептер сызықтық не сызықтық емес бағдарламалау әдістерінің көмегімен шешіледі.
Динамикалық бағдарламалаудың бір ерекшелігі көп сатылы үрдістер арқылы шешімдер қабылдау үрдісі бірегей шешім емес, бір-бірімен байланысты шешімдер кешені ретінде қарастырылады. Шешімдер қабылдаудың мұндай кезектілігін стратегия деп атайды. Оңтайлы жоспарлаудың мақсаты – таңдалған критерийге сәйкес ең жақсы нәтижені қамтамасыз ететін стратегияны таңдау. Мұндай стратегия оңтайлы деп аталады.
Динамикалық бағдарламалаудың маңызды ерекшелігі кезекті қадамда қабылданған оңтайлы шешімнің одан алдыңғы жағдайдан тәуелсіздігі, яғни оңтайландырылушы үрдістің осы күйге қалайша жеткендігінен. Оңтайлы шешім үрдістің осы сәттегі күйін сипаттайтын факторларды есепке ала отырып таңдалады.
Динамикалық бағдарламалау кезінде әр сатыда оңтайлы шешімді таңдау оның болашақтағы салдарын есепке ала отырып жүргізілуі керек. Осылайша, динамикалық бағдарламалау дегеніміз – болашақты есепке ала отырып жоспарлау. Көпсатылы үрдісті кезеңдер бойынша жоспарлау әр қадам жүзеге асқаннан кейін алынатын нәтижені есепке алатындай болып емес, үрдіс аяқталғаннан кейін алынатын жалпы нәтижені есепке алатындай болып жасалынуы тиіс, яғни оңтайлы жоспарлау жиынтық нәтижеге қатысты жүргізіледі. Динамикалық бағдарламалауда шешім қабылдаудың бұл принципі негізгі болып саналады және Беллманның оңтайлылық принципі деп аталады, ол өз пікірін қысқаша келесідей айқындайды : «Кезекті қадам алдында жүйенің күйі қандай болмасын, осы қадамда басқару шешімін қабылдау осы және келесі қадамдардағы ұтыстардың қосындысы максималды болатындай етіп жүзеге асырылуы тиіс».
Сонымен, динамикалық бағдарламалау әдісі арқылы оңтайландыру есептерін шешу барысында осы сәтте қабылданатын шешімдер болашақта қандай нәтижеге соқтыратындығын ескеру қажет. Бұл тал соңғыдан алдыңғы қадам қалай аяқталуы мүмкін еді аптан тек соңғы қадам ғана тыс қалады. Егер жоспар дұрыс жасалса, онда соңғы қадам өздігінен максималды табыс әкелуі тиіс.
Бірақ соңғы қадамда оңтайлы шешім қабылдау үшін соңғыдан алдыңғы қадам қалай аяқталуы мүмкін еді деген сұраққа жауап беру қажет. Яғни, соңғыдан алдыңғы қадам қалай аяқталуы мүмкін еді деген сұраққа түрлі болжамдар жасалынып, олардың әрқайсысына соңғы қадамда маскималды нәтиже әкелетіндей шешімдер іздестіріледі. Алдыңғы қадамның тиісінше аяқталуы шартымен табылған оңтайлы шешім шартты-оңтайлы деп аталады.
Соңғыдан алдыңғы қадам үшін де шешім осылайша оңтайландырылады, яғни одан алдыңғы қадам немен аяқталынуы мүмкін еді деген болжамдар құрылып, олардың әрқайсысына соңғы екі қадамдағы (олардың соңғысы оңтайландырылған) нәтиже максималды болатындай шешім таңдалады және солай жалғаса береді.
Осылайша, оңтайлылық принципіне сәйкес әр қадамда осы сәттегі жағдайды ескере отырып, үрдістің болашақта оңтайлы дамуын қамтамасыз ететін шешім іздестіріледі. Егер оңтайландырушы үрдістің соңынан басына қарай әр қадам үшін шартты-оңтайлы шешімдер анықталып, тиісті нәтиже есептелген болса, онда тек барлық үрдісті тіке бағытта «жүріп өтіп» , бізді қызықтыратын оңтайлы стратегияны анықтау ғана қалады.
Динамикалық бағдарламалау
әдісі көмегімен есептің
Шешу барысында динамикалық
бағдарламалау әдісі
Динамикалық бағдарламалаудың бір ерекшелігі мұндай есептердің барлығын компьютер көмегімен шешуге мүмкіндік беретін әмбебап бағдарлама жасау мүмкіндігінің жоқтығында. Сол себепті бұл әдіспен шешілетін есептер тобының әрқайсысына арнайы бағдарламалар құрастыру керек.