/ / Nelinearno programiranje jedna je od komponenata matematičkog programiranja

Nelinearno programiranje je jedna od komponenti matematičkog programiranja.

Nelinearno programiranje je diomatematičko programiranje, u kojem je nelinearna funkcija predstavljena određenim ograničenjima ili ciljnom funkcijom. Glavni zadatak nelinearnog programiranja je pronaći optimalnu vrijednost zadane ciljne funkcije s određenim brojem parametara i ograničenja.

Problemi s nelinearnim programiranjem razlikuju se odzadaci s linearnim sadržajem optimalnog rezultata ne samo unutar područja koje ima određena ograničenja, već i izvan njega. Te vrste problema uključuju one zadatke matematičkog programiranja koje mogu biti predstavljene i jednakostima i nejednakostima.

Nelinearno programiranje svrstava se uovisno o raznolikosti funkcije F (x), funkciji ograničenja i dimenziji vektora rješenja x. Dakle, naziv zadatka ovisi o broju varijabli. Kada se koristi jedna varijabla, nelinearno programiranje može se izvesti pomoću neograničene jednoparametarske optimizacije. Kada je broj varijabli više od jedne, možete koristiti neograničenu optimizaciju više parametara.

Da biste riješili probleme linearnosti, upotrijebitestandardne metode linearnog programiranja (npr. simplex metoda). Ali s nelinearnom općom metodom rješenje ne postoji, ono se bira u svakom pojedinačnom slučaju, a također ovisi o funkciji F (x).

Nelinearno programiranje je uobičajeno u svakodnevnom životu. Na primjer, ovo je nerazmjerno povećanje troškova u odnosu na broj proizvedene ili kupljene robe.

Ponekad za pronalaženje optimalnog rješenja uproblemi nelinearnog programiranja pokušavaju izvršiti aproksimaciju linearnih problema. Primjer je kvadratno programiranje, u kojem je funkcija F (x) predstavljena polinomom drugog stupnja s obzirom na varijable, dok su ograničenja linearna. Drugi je primjer uporaba metode kaznenih funkcija, čija se upotreba, uz prisustvo određenih ograničenja, zadatak traženja ekstrema svodi na sličan postupak bez takvih ograničenja, što je puno lakše riješiti.

Međutim, ako ga analiziramo u cjelini, onda je nelinearnoprogramiranje je rješenje problema povećane računske složenosti. Pri njihovom rješavanju vrlo često se trebaju koristiti približne metode optimizacije. Još jedan moćan alat koji se može ponuditi za rješavanje ove vrste problema su numeričke metode koje vam omogućuju da pronađete pravo rješenje s danom točnošću.

Kao što je gore spomenuto, nelinearno programiranje zahtijeva individualni poseban pristup koji mora uzeti u obzir njegove specifičnosti.

Postoje sljedeće tehnike nelinearnog programiranja:

- Metode gradijenta temeljene na svojstvimafunkcionalni gradijent u točki. Drugim riječima, to je vektor djelomičnih izvedenica izračunatih u točki koja je uzeta kao pokazatelj smjera najvećeg povećanja funkcije u blizini ove točke.

- Monte Carlo metoda, koja određujeparalelepiped n-te dimenzije, uključujući niz planova, za naknadno modeliranje slučajnih N-točaka s jednolikom raspodjelom u ovom paralelepipedu.

- Metoda dinamičkog programiranja svedena je na višedimenzionalni problem optimizacije zadataka na nižu dimenziju.

- Konveksna metoda programiranja implementirana je upronalaženje minimalne vrijednosti konveksne funkcije ili maksimalne vrijednosti konkave na konveksnom dijelu skupa planova. U slučaju kada je skup dizajna konveksni poliedar, tada se može primijeniti metoda simpleksa.