Netiesinis programavimas yra vienas iš matematinio programavimo komponentų

Netiesinė programavimas yra dalismatematinis programavimas, kai nelinijinė funkcija yra vaizduojama tam tikrais apribojimais arba objektyvia funkcija. Pagrindinis netiesinio programavimo uždavinys yra rasti optimalią tam tikros objektyvios funkcijos vertę su tam tikru parametrų ir apribojimų skaičiumi.

Netiesinio programavimo problemos skiriasi nuoproblemos, linijinės su optimalaus rezultato turiniu ne tik tam tikroje teritorijoje, kuri turi tam tikrų apribojimų, bet ir už jos ribų. Šios užduoties rūšys apima tas matematinio programavimo užduotis, kurios gali būti pateiktos lygybės ar nelygybės.

Netiesinė programavimaspriklausomai nuo funkcijos F (x) įvairovės, apribojimo funkcijos ir tirpalo vektoriaus x dydžio. Taigi užduoties pavadinimas priklauso nuo kintamųjų skaičiaus. Naudojant vieną kintamąjį, nelinijinis programavimas gali būti atliekamas naudojant besąlygišką vieno parametro optimizavimą. Naudojant keletą kintamųjų, daugiau nei vieną, galima naudoti besąlyginę daugiaparametrinę optimizaciją.

Mes sprendžiame tiesumo problemasstandartiniai linijiniai programavimo metodai (pavyzdžiui, simplekso metodas). Bet netiesinio bendrojo sprendimo metodo atveju nėra sprendimo, kiekvienas atskirai pasirenka savarankiškai ir taip pat priklauso nuo funkcijos F (x).

Netiesinė programavimas vyksta kasdieniame gyvenime gana dažnai. Pavyzdžiui, tai yra neproporcingai padidėja pagamintos arba įsigytos prekes sąnaudų kiekio.

Kartais, siekiant rasti optimalų sprendimąNelinijinio programavimo problemos bando atlikti artėjimą prie linijinių problemų. Pavyzdys yra kvadratinis programavimas, kuriame funkcija F (x) yra pavaizduotas antrojo laipsnio polinomu kintamųjų atžvilgiu, o apribojimų tiesiškumas yra stebimas. Antrasis pavyzdys yra bausmių funkcijų, kurių taikymas, taikant tam tikrus apribojimus, naudojimas sumažina užduoties surasti ekstremalumą panašioje procedūroje be tokių apribojimų, kuriuos galima išspręsti daug lengviau.

Tačiau, jei mes analizuojame apskritai, tai yra netiesinėprogramavimas yra problemų, susijusių su padidėjusiu skaičiavimo sunkumu, sprendimas. Labai dažnai jų sprendimo metu turime naudoti apytikrius optimizavimo metodus. Kitas galingas įrankis, kuris gali būti pasiūlytas spręsti tokios rūšies problemą, yra skaitiniai metodai, leidžiantys rasti tinkamą sprendimą su tam tikru tikslumu.

Kaip jau minėta, nelinijinis programavimas reikalauja individualaus specialaus požiūrio, į kurį reikia atsižvelgti į jo specifiškumą.

Yra tokie nelinijiniai programavimo metodai:

- Gradiento metodai, pagrįsti nuosavybegradientas funkcija taške. Kitaip tariant, dalinių išvestinių priemonių vektorius apskaičiuojamas taške, kuris laikomas didžiausio indekso kryptimi vis funkcijas šiame punkte apylinkės.

- Monte Karlo metodas, kuriamen-ojo dimensijos paralelinio nugarėlio, apimančio keletą planų, vėlesniam atsitiktinių N taškų modeliavimui su vienodu pasiskirstymu tam pačiam lygiagrečiui.

- Dinaminio programavimo metodas mažina daugialypę užduotį optimizuoti užduotis iki mažesnio matmens.

- Iškilioji programavimo metodas yra įdiegtasApatinės dalies išgaubtos funkcijos arba maksimalios planų vertės nustatymas išgaubtos dalies sumos nustatymas. Tais atvejais, kai planų rinkinys yra išgaubtas daugiasluoksnis, gali būti taikomas paprastas metodas.

Patinka:
0
Java programavimo kalba
Vizualinis verslo procesų programavimas
Kaip išmokti programą nuo nulio iki
Linijinis programavimas
Matematinis programavimas yra tiesa
Kokia yra programavimo sistema
Homorio metodas. Sprendžiant sveikas skaičių problemas
Modulinis programavimas
Kokios naudojamos programavimo kalbos?
Populiariausi pranešimai
aukštyn