КампутарыПраграмаванне

Нелінейнае праграмаванне - адна з складнікаў матэматычнага праграмавання

Нелінейнае праграмаванне з'яўляецца часткай матэматычнага праграмавання, у якім нелінейная функцыя прадстаўлена пэўнымі абмежаваннямі або мэтавай функцыяй. Асноўнай задачай нелінейнага праграмавання з'яўляецца знаходжанне аптымальнага значэння зададзенай мэтавай функцыі з вызначанай колькасцю параметраў і абмежаванняў.

Задачы нелінейнага праграмавання адрозніваюцца ад задач лінейнага утрыманнем аптымальнага выніку не толькі ў межах вобласці, якая мае пэўныя абмежаванні, але і за яе межамі. Да такіх тыпах задач ставяцца тыя заданні матэматычнага праграмавання, якія могуць быць прадстаўлены як роўнасць, так і няроўнасці.

Класіфікуецца нелінейнае праграмаванне ў залежнасці ад разнавіднасці функцыі F (x), функцыі абмежаванняў і памернасці вектара рашэнняў x. Так, назва задачы залежыць ад колькасці зменных. Пры выкарыстанні адной зменнай нелінейнае праграмаванне можа быць выканана з дапамогай безумоўнай однопараметрической аптымізацыі. Пры ліку зменных звыш адной можна выкарыстоўваць безумоўную многопараметрическую аптымізацыю.

Для вырашэння задач лінейнасці выкарыстоўваюць стандартныя метады лінейнага праграмавання (напрыклад, сімплекс-метад). А вось пры нелінейных агульнай спосабу рашэння не існуе, выбіраецца ў кожным асобным выпадку сваё і яно таксама залежыць ад функцыі F (x).

Нелінейнае праграмаванне сустракаецца ў штодзённым жыцці даволі часта. Напрыклад, гэта непрапарцыйны рост выдаткаў колькасці вырабленых або закупленых тавараў.

Часам для знаходжання аптымальнага рашэння ў задачах нелінейнага праграмавання імкнуцца выканаць набліжэнне да лінейным задачам. Прыкладам могуць служыць квадратычны праграмаванне, у якім функцыя F (x) прадстаўлена полиномом другой ступені ў адносінах да пераменным, пры гэтым выконваецца лінейнасць абмежаванняў. Другім прыкладам служыць выкарыстанне метаду штрафных функцый, прымяненне якіх пры наяўнасці пэўных абмежаванняў зводзіць заданне пошуку экстрэмуму да аналагічнай працэдуры без такіх абмежаванняў, вырашаемай значна прасцей.

Аднак калі аналізаваць ў цэлым, то нелінейнае праграмаванне ўяўляе сабой рашэнне задач падвышанай вылічальнай цяжкасці. Вельмі часта падчас іх вырашэння даводзіцца выкарыстоўваць набліжаныя метады аптымізацыі. Яшчэ адно магутнае сродак, якое можа быць прапанавана для вырашэння такога тыпу задач - лікавыя метады, якія дазваляюць знайсці правільнае рашэнне з зададзенай дакладнасцю.

Як ужо было сказана вышэй, нелінейнае праграмаванне патрабуе індывідуальнага асаблівага падыходу, які павінен улічваць яго спецыфіку.

Існуюць наступныя метады нелінейнага праграмавання:

- градыентныя метады, заснаваныя на ўласцівасці функцыянальнага градыенту ў кропцы. Іншымі словамі, гэта вектар прыватных вытворных, вылічаны ў пункце, прынятай у якасці паказальніка напрамкі найбольшага павелічэння функцыі ў ваколіцах гэтага пункту.

- Метад Монтэ-Карла, пры якім вызначаецца паралелепіпед n-ой памернасці, які ўключае ў сябе мноства планаў, для наступнага мадэлявання выпадковых N-кропак з раўнамерным размеркаваннем у дадзеным паралелепіпеда.

- Метад дынамічнага праграмавання зводзіцца да шматмернай задачы аптымізацыі заданняў да меншай памернасці.

- Метад выпуклага праграмавання рэалізуецца ў пошуку мінімальнага значэння выпуклай функцыі або максімальнага значэння ўвагнутай на выпуклай часткі мноства планаў. У выпадку, калі мноства планаў ўяўляе сабой выпуклы шматграннік, тады можа быць ужыты сімплексным метад.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.birmiss.com. Theme powered by WordPress.