Nelineāra programmēšana - kas tas ir, definīcija un jēdziens 2021. gads

Satura rādītājs:

Nelineāra programmēšana - kas tas ir, definīcija un jēdziens 2021. gads
Nelineāra programmēšana - kas tas ir, definīcija un jēdziens 2021. gads
Anonim

Nelineārā programmēšana ir metode, ar kuras palīdzību tiek optimizēta mērķa funkcija, maksimizējot vai samazinot. Tas, ņemot vērā dažādos dotos ierobežojumus. To raksturo tāpēc, ka mērķa funkcija vai daži no ierobežojumiem var būt nelineāri.

Nelineāra programmēšana ir process, kurā maksimizējamā funkcija vai kāds no ierobežojumiem atšķiras no lineārā vai pirmās pakāpes vienādojuma, kur mainīgie tiek paaugstināti līdz jaudai 1.

Mums jāatceras, ka lineārais vienādojums ir matemātiskā vienādība, kurai var būt viens vai vairāki nezināmie. Tādējādi tam ir šāda pamata forma, kur a un b ir konstantes, bet x un y ir mainīgie:

cirvis + b = y

Jāpiebilst, ka ne visi elementi, kas veido šāda veida programmēšanu, neatbilst šim raksturlielumam. Piemēram, var būt, ka mērķa funkcija ir otrās pakāpes vienādojums un viens no mainīgajiem ir kvadrātā, izpildot šādu formu:

y = cirvis2+ bx + c

Tagad, izmantojot nelineāru programmēšanu, šo funkciju varēja optimizēt, atrodot y maksimālo vai minimālo vērtību. Tas, ņemot vērā, ka uz x attiecas noteikti ierobežojumi.

Nelineārās programmēšanas elementi

Nelineārās programmēšanas galvenie elementi ir šādi:

  • Mērķa funkcija: Tieši funkcija tiek optimizēta, maksimāli palielinot vai samazinot tās rezultātu.
  • Ierobežojumi: Tie ir tie nosacījumi, kas jāievēro, optimizējot mērķa funkciju. Tas var būt algebriskie vienādojumi vai nevienādības.

Nelineārā programmēšanas vingrinājums

Apskatīsim, kā pabeigt, nelineāru programmēšanas uzdevumu.

Pieņemsim, ka mums ir šāda funkcija:

y = 25 + 10x-x2

Mums ir arī šāds ierobežojums:

y = 50-3x

Kā redzam grafikā, mērķa funkcija un ierobežojums krustojas divos punktos, bet kur y tiek maksimizēts, tad, kad x = 2,3, kur y = 43 (decimāldaļas ir aptuvenas).

Griezuma punktus var atrast, pielīdzinot abus vienādojumus:

25 + 10x-x2= 50-3x

0 = x2-13x + 25

Tad iepriekšējam kvadrātvienādojumam ir divi risinājumi vai saknes, kurus var atrast ar šādām formulām, kur a = 1, b = -13 un c = 25.

Tādējādi mēs konstatējam, ka x1 = 2,3467 (y = 43) un x2 = 10,653 (y = 18).

Mums jābrīdina, ka šāda veida programmēšana ir sarežģītāka nekā lineāra, un tiešsaistē nav pieejams tik daudz rīku, lai atrisinātu šāda veida optimizāciju. Parādītais piemērs ir ļoti vienkāršots gadījums.