Osnove linearnog programiranja

Začeci linearnog programiranja sežu u 19. stoljeće i vezni su uz rani Fourierov rad na sustavima linearnih nejednadžbi. Ipak, linearno programiranje doživljava intenzivniji razvoj od 1940-ih godina, a upotreba linearnog programiranja intenzivira se s razvojem računalne potpore te Dantzigovog razvoja simpleks metode (1951). Štoviše, linerano programiranje osnova je razvoja brojnih drugih metoda, poput numeričke analize, simboličke komputacije, kombinatorijske optimizacije i drugih metoda optimizacije (Chandru i Rao, 1997).

Što je optimizacija? Općenito, optimizacija je sustavni proces pronalaženja najboljeg mogućeg rješenja ili načina djelovanja unutar zadanih ograničenja. Cilj optimizacije najčešće je maksimizirati ili minimizirati određenu funkciju (npr. profit, trošak, vrijeme) tako da se zadovolje određeni uvjeti ili ograničenja. Optimizacija se koristi u različitim područjima, uključujući poslovanje, industriju, inženjering, medicinu i svakodnevni život, pružajući metodološki okvir za donošenje odluka temeljem rezultata modela.

Što je linearno programiranje? Linearno programiranje je matematička metoda optimizacije koja omogućuje pronalaženje najboljeg mogućeg rješenja za određeni problem unutar zadanih ograničenja, gdje su svi odnosi i uvjeti opisani linearnim jednadžbama i nejednadžbama. Ova metoda pruža strukturu za analizu relativno složenih problema i pronalaženje optimalnih rješenja uz ograničene resurse. Pruža mogućnost kreiranja jasne strukture i rješavanje problema pomoću numeričkih algoritama, što ga čini primjenjivim na raznovrsne situacije, a samim time i korisnim alatom u procesima donošenja odluka u poslovanju, znanosti i svakodnevnom životu.

Što su optimalna rješenja? S obzirom da je riječ o optimizaciji, tražimo optimum. U kontekstu linearnog programiranja, optimum predstavlja najbolje moguće rješenje problema, odnosno maksimalnu ili minimalnu vrijednost, ostvarenu u datim uvijetima i ograničenjima.

Dakle, kao jedna od jednostavnijih i relativno lako primjenjivih metoda optimizacije, koristi se u brojnim područjima. Na primjer, pri optimizaciji:

  • upravljanja energijom (Polat i Gürtuna, 2018; Pérez-Rúa i Cutululis, 2019.),
  • upravljanja resursima (Ahmad et al., 2014; Asadi i Sadjadi, 2017; Bouajaja i Dridi, 2017),
  • upravljanja otpadom (Juul et al., 2013),
  • u poljoprivredi (Alotaibi, Nadeem, 2021),
  • u nutricionizmu (Van Dooren, 2018),
  • u rasporedu procesa (Floudas i Lin, 2005),
  • u transportu (Pradana i Noche, 2019; Acuna, 2017),
  • u arhitekturi (Gero, 1975),
  • u arheologiji (Reidhead, 1979),
  • u proizvodnji (Díaz-Madroñero et al., 2014; Bagshaw, 2019),
  • distribucije i lanca opskrbe (Manopiniwes, 2014; Nunes et al., 2020).

Uz navedene primjere, moguće je naći i brojne druge, koristeći na primjer, Google Scholar ili neke druge arhive članaka.

Kako bi se problem riješio u okviru linearnog programiranja, potrebno je strukturirati problem. Strukturiranje problema vezano je uz prve tri faze rješavanja problema i donošenja odluka (ako ste zaboravili, pogledajte sliku Rješavanje problema i odlučivanje iz Uvoda u OI ). Vrši se putem definiranja cilja i ograničenja. S obzirom da je u pitanju korištenje kvantitativnih metoda, utvrđuju se:

  • varijable odluke (nepoznanice),
  • funkcija cilja koja može biti minimizacija ili maksimizacija te
  • ograničenja koja se izražavaju jednadžbama ili nejednadžbama. Ograničenja predstavljaju skup jednadžbi ili nejednadžbi u kojima se javljaju nepoznanice.

Funkcija cilja je matematički izraz koji predstavlja glavni cilj optimizacijskog problema, poput maksimizacije profita, minimizacije troškova ili postizanja optimalne učinkovitosti. To je osnovna komponenta modela koja definira što se nastoji postići unutar zadanih ograničenja. Funkcija cilja uključuje varijable odluke i njihovu povezanost s ciljem, a njezina optimizacija vodi do najboljeg mogućeg rješenja problema. Na primjer, u problemima poslovnog odlučivanja funkcija cilja može predstavljati ukupni prihod, dok u inženjerskim aplikacijama može opisivati minimizaciju potrebne energije ili maksimizaciju performansi sustava.

  • Maksimizacija je proces pronalaženja najveće moguće vrijednosti funkcije cilja unutar zadanih ograničenja. U kontekstu optimizacije, maksimizacija se najčešće odnosi na povećanje željenih rezultata, poput profita, proizvodnje, učinkovitosti ili bilo kojeg drugog pozitivnog ishoda. Cilj je odabrati vrijednosti varijabli odluke na način da funkcija cilja dostigne svoju najveću moguću vrijednost, dok se istovremeno poštuju svi uvjeti i resursna ograničenja definirana modelom.

  • Minimizacija je proces pronalaženja najmanje moguće vrijednosti funkcije cilja unutar zadanih ograničenja. U kontekstu optimizacije, minimizacija se često odnosi na smanjenje troškova, vremena, otpada, rizika ili drugih negativnih aspekata procesa ili sustava. Cilj je odabrati vrijednosti varijabli odluke tako da funkcija cilja postigne svoju najmanju moguću vrijednost, uz istovremeno poštivanje svih uvjeta i ograničenja modela.

Varijable odluke predstavljaju osnovne elemente modela koji definiraju ono što želimo odrediti ili kontrolirati kako bismo pronašli optimalno rješenje problema. One kvantificiraju odluke koje treba donijeti, poput količine proizvoda koje treba proizvesti, resursa koje treba raspodijeliti ili vremena koje treba uložiti u određenu aktivnost. Varijable odluke su obično numeričke i jasno povezane s problemom koji se rješava, omogućujući formalno matematičko izražavanje odnosa između različitih komponenti sustava i ciljeva koji se nastoje postići.

Ograničenja su uvjeti ili pravila koja definiraju granice unutar kojih se varijable odluke mogu kretati u optimizacijskom modelu. Ta pravila odražavaju stvarna ograničenja resursa, tehnička, operativna ili organizacijska pravila koja se moraju poštivati u rješavanju problema. Ograničenja mogu biti izražena u obliku jednakosti ili nejednakosti, ovisno o tome zahtijevaju li strogu raspodjelu resursa ili dopuštaju određeni stupanj fleksibilnosti. Ipak, potrebno ih je pažljivo definirati.

Geometrijski, ograničenja kreiraju skup hiperploha ili hiperravnina n-dimenzionalnog prostora. Pomoću tih ploha ili prostora određuje se područje definicije, iz koje se biraju takve vrijednosti varijabli odluka uz koje se postižu ekstremne vrijednosti funkcije cilja. Proturječna ograničenja (ograničenja koja ne mogu istovremeno biti ispoštovana, na primjer, x≥100 i x<50) onemogućuju utvrđivanje rješenja. U situaciji u kojoj ograničenja nisu proturječna, ali nisu niti ograničena (na primjer sva ograničenja sadrže <, uz minimizaciju funkcije cilja), moguće je utvrditi rješenje samo ako je funkcija cilja omeđena u području definicije i ako funkcija poprima ekstremnu vrijednost u tom području.

Općeniti zapis modela u linearnom programiranju je:

Funkcija cilja

\[ \text{Min ili Max } z = c_0 + c_1 x_1 + \dots + c_n x_n \]

Ograničenja

\[ a_{i1}x_1 + a_{i2}x_2 + \dots + a_{in}x_n \, \begin{array} \\ \geq \\ = \\ \leq \end{array} \, b_i, \] \[ x_j \, \geq, 0, \]

za: \[ i = 1, \dots, m, \, j = 1, \dots, n. \]

Smatra se da je model standardne forme

  • ako se radi o maksimizaciji,

  • postoje samo jednakosti i

  • sve su varijable odluke ograničene na nenegativne vrijednosti.

Jednostavni model s dvije nepoznanice može biti zadan, na primjer, na sljedeće načine, ovisno radi li se o maksimizaciji ili minimizaciji:

Maksimizacija:

\[ \text{Max } z = c_1 x_1 + c_2 x_2, \] \[ a_1 x_1 + a_2 x_2 \leq b_1, \]

\[ a_3 x_1 + a_4 x_2 \leq b_2, \]

\[ x_1 \geq 0, \, x_2 \geq 0. \]

Minimizacija:

\[ \text{Min } z = c_1 x_1 + c_2 x_2, \]

\[ a_1 x_1 + a_2 x_2 \geq b_1, \]

\[ a_3 x_1 + a_4 x_2 \geq b_2, \]

\[ x_1 \geq 0, \, x_2 \geq 0. \]

Gdje su:

\[ a_1, a_2, a_3, a_4, b_1, b_2, c_1, c_2 \in \mathbb{R}. \]

odnosno, to bi u kontekstu moglo biti:

  • \(c_1\) i \(c_2\): koeficijenti funkcije cilja. Oni predstavljaju vrijednosti koje doprinose konačnoj vrijednosti funkcije cilja po jedinici varijabli odluke \(x_1\) i \(x_2\). Na primjer, ako je cilj maksimizirati profit, \(c_1\) i \(c_2\) mogu predstavljati profit po jedinici \(x_1\) i \(x_2\). Ili, ako je cilj minimizirati troškove, \(c_1\) i \(c_2\) mogu predstavljati troškove po jedinici \(x_1\) i \(x_2\).

  • \(a_1\),\(a_2\),\(a_3\),\(a_4\): koeficijenti ograničenja. Oni definiraju koliko svaka jedinica \(x_1\) i \(x_2\) koristi resurse ili doprinosi ograničenjima. Na primjer, \(a_1\) može predstavljati količinu resursa potrebnu za proizvodnju jedne jedinice \(x_1\), dok \(a_2\) predstavlja resurse potrebne za proizvodnju \(x_2\).

  • \(b_1\) i \(b_2\): desna strana ograničenja. Predstavljaju ukupnu dostupnost resursa ili gornju/donju granicu ograničenja. Na primjer, \(b_1\) može označavati maksimalnu količinu dostupnog resursa koji se koristi u prvom ograničenju, dok \(b_2\) označava ograničenje za drugi resurs.

  • \(x_1\) i \(x_2\): varijable odluke. Predstavljaju vrijednosti koje treba odrediti kako bi se optimizirala funkcija cilja. Na primjer, \(x_1\) i \(x_2\) mogu predstavljati broj proizvedenih jedinica dva različita proizvoda.

Iako je ovdje dan općeniti zapis, radi ilustracije, kroz dane primjere možemo zamisliti što bi takvi modeli mogli predstavljati. Dakle, ovi jednostavni primjeri mogli bi opisivati problem maksimizacije profita, odnosno minimizacije troška. Napomena: to ne znači da će ovi koeficijenti uvijek imati takvo značenje. Značenje i interpretacija prilagođavaju se kontekstu problema koji se rješava.

Još jedan jednostavan primjer, pretpostavimo da \(x_1\) predstavlja broj proizvedenih stolova, a \(x_2\) broj proizvedenih stolica. \(c_1=100\), \(c_2=50\) predstavljaju profit u eurima po proizvodu. Ograničenja su \(a_1=2\), \(a_2=1\), \(b_1=300\), što znači da proizvodnja zahtijeva dva sata rada za izradu jednog stola i jedan sat rada za izradu stolice, uz ukupno 300 sati dostupnih sati rada koji se mogu rasporediti na izradu stolova i stolica. Funkcija cilja postaje:

\(Max\ 100x_1+50x_2\)

uz ograničenja:

\(2x_1+x_2≤300\)

\(x_1≥0\)

\(x_2≥0\)

Općenitije, u linearnom programiranju model se može zapisati u matričnom obliku:

\[ \text{Max } z = c^T x, \]

\[ Ax = b, \]

\[ x \geq 0. \]

Gdje su:

\[ c = \begin{bmatrix} c_1 \\ \vdots \\ c_n \end{bmatrix}, \, b = \begin{bmatrix} b_1 \\ \vdots \\ b_m \end{bmatrix}, \, x = \begin{bmatrix} x_1 \\ \vdots \\ x_n \end{bmatrix}, A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1m} \\ a_{21} & a_{22} & \cdots & a_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nm} \end{bmatrix}\]

Ovdje je:

  • \(z\): funkcija cilja,
  • \(c^T\): transponirani vektor koeficijenata funkcije cilja,
  • \(A\): matrica dimenzija \(n \times m\),
  • \(b\): vektor desne strane ograničenja,
  • \(x\): vektor varijabli odluka.

Naravno, funkcija cilja može se postaviti i kao minimizacija.

Pogledajmo kako to izgleda kroz primjer. Neka je zadan sljedeći model:

\[ \text{Min } z = c^T x, \]

\[ Ax \geq b, \]

\[ x \geq 0, \]

Gdje su:

\[ c = \begin{bmatrix} 2 \\ 3 \end{bmatrix}, \, A = \begin{bmatrix} 1 & 1 \\ 3 & 2 \\ 1 & 2 \end{bmatrix}, \, b = \begin{bmatrix} 2 \\ 4 \\ 3 \end{bmatrix}, \, x = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}. \]

Navedeno se može zapisati kao:

\[ \text{Min } z = 2x_1 + 3x_2, \] \[ x_1 + x_2 \geq 2, \]

\[ 3x_1 + 2x_2 \geq 4, \]

\[ x_1 + 2x_2 \geq 3, \]

\[ x_1, x_2 \geq 0. \]


U sklopu ovog kolegija, kontinuirano ćemo koristiti oba načina zapisa. Nadalje, bilo koji model u linearnom programiranju može biti sveden na standardnu formu ili kanonski zapis dodavanjem dodatnih i dopunskih varijabli (više o tome nešto kasnije).

U nastavku ćemo se posvetiti struktriranju problema temeljem opisa problema. To se svodi na pravilno iščitavanje i zapis u obliku matematičkog modela. Svaki od sljedećih 11 primjera bit će malo drugačije objašnjen s ciljem temeljitog razumijevanja kako iščitati elemente problema, koncipirati problem i strukturirati ga (zbog toga što možda opis iz jedne perspektive raščlanjivanja problema neće svakom odgovarati, pa će opis iz druge perspektive pomoći; uostalom, ovo pomaže pri razvoju fleksibilnosti i omogućuje fokusiranje na osnovne elemente, neovisno iz koje im perspektive pristupamo). Svakim primjerom dodatno ćete razvijati sposobnost analitičkog razmišljanja i strukturiranog pristupa rješavanju problema, što će vam pomoći u prepoznavanju ključnih elemenata problema u stvarnom svijetu.

Osim toga, ovdje će se naći jednostavniji i kompleksniji primjeri. Možda će vam neki od ovih primjera biti i previše kompleksan u početku, no možete se onda usmjeriti na jednostavnije primjere i uvijek ćete se moći naknadno vratiti na zahtjevnije primjere. Dakle, ovisno o svom trenutnom razumijevanju, slobodno preskočite primjere koji vam djeluju preteško ili vam tematika nije zanimljiva i vratite im se kasnije kada budete spremni.

Također, važno je odmah napomenuti da će primjeri u nastavku pripadati različitim područjima, a smisao toga jest naglasiti prenosivost koncepta i interdisciplinarnost operacijskih istraživanja. Primjeri su osmišljeni kako bi ilustrirali stvarne i realistične situacije u različitim područjima – od poljoprivrede i prehrane do tehnologije i industrije – pokazujući kako linearno programiranje može biti alat za rješavanje različitih izazova. Na taj način, moći ćete bolje savladati osnovne koncepte i njihovu primjenjivost i prenosivost na različite problemske situacije. To znači da ćete naučeno moći primjenjivati neovisno u kojoj industriji na kraju završite raditi.






Ključni pojmovi:

  • Optimizacija
  • Linearno programiranje
  • Optimum
  • Varijabla odluke
  • Funkcija cilja
  • Ograničenja
  • Strukturiranje problema





1. primjer

Jedna mala tvrtka za hosting aplikacija ima dva servera, Server A i Server B. Hosting je usluga koja omogućava pohranjivanje i pristup web stranicama, aplikacijama ili drugim digitalnim sadržajima putem interneta. Hosting aplikacija odnosi se na pružanje prostora i resursa na serverima (računalnim sustavima) gdje su aplikacije smještene i pokrenute. Kada koristite neku aplikaciju, poput web trgovine, servisa za streaming, ili poslovne aplikacije, ona je najčešće smještena na udaljenim serverima koji omogućuju njezino funkcioniranje. Tvrtke koje pružaju hosting usluge osiguravaju da aplikacije rade 24/7, budu dostupne korisnicima, i imaju odgovarajuću podršku u slučaju problema.

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

U ovom slučaju, serveri pružaju procesorsko vrijeme za hosting aplikacija klijenata. Procesorsko vrijeme označava količinu vremena koju server koristi za obradu zadataka aplikacije. Svaki put kada korisnik otvori aplikaciju, unese podatke ili koristi njezine funkcionalnosti, server koristi svoje procesore za obradu tih zahtjeva. Procesorsko vrijeme mjeri se u satima i predstavlja jedan od ključnih resursa koje hosting tvrtke nude klijentima. Više procesorskog vremena znači i veći trošak za klijenta.

Procesorsko vrijeme mjeri se u satima i predstavlja resurs kojim tvrtka mora pažljivo upravljati. Svaki sat rada servera donosi prihod tvrtki: Server A generira 40 eura po satu, dok Server B, zbog svoje veće snage i učinkovitosti, generira 50 eura po satu. Tvrtka želi maksimizirati prihod od prodaje procesorskih sati, no suočava se s nekoliko operativnih ograničenja koja utječu na njihovo planiranje.

Server B, iako pouzdan, zahtijeva redovno održavanje kako bi zadržao visoku razinu performansi. Zbog toga ne može raditi više od 8 sati dnevno. Server A nema takvo specifično ograničenje, ali oba servera dijele zajednički energetski sustav. Ograničenja napajanja dopuštaju kombinirani rad oba servera od maksimalno 28 sati dnevno. Ovo znači da tvrtka mora pažljivo odlučiti koliko će sati dnevno svaki server raditi, uzimajući u obzir njihovu maksimalnu iskoristivost i ograničene resurse.

Tvrtka se suočava s izazovom kako rasporediti dostupne sate između ova dva servera na način koji će donijeti najveći mogući prihod, dok istovremeno poštuje ograničenja održavanja i energetskih resursa.


1.1. Strukturiranje problema


Na početku strukturiranja problema, često će nam biti korisno kreirati tablicu kroz koju možemo lakše popratiti odnose navedene u tekstu. Na primjer, serveri mogu biti zadani u recima, što znači da će ostali podaci biti navedeni u stupcima, a u ovom slučaju to su, prihodi po satu i dostupni sati rada dnevno.

Server Prihod po satu (EUR) Maksimalno sati rada dnevno
Server A 40 24 *
Server B 50 8
Ukupno max 28 (kombinirano)

* iako nije navedeno u tekstu zadatka, možemo logički zaključiti da je moguće dnevno raditi najviše 24 sata.


Varijable odluke

Varijable odluke u ovom slučaju definiraju ključne odluke koje tvrtka za hosting aplikacija mora donijeti kako bi postigla optimalno rješenje problema, uzimajući u obzir postavljena ograničenja i poslovne ciljeve. One predstavljaju osnovne nepoznanice u problemu koje želimo odrediti, a u ovom slučaju odnose se na broj sati rada svakog servera dnevno. One zapravo odgovaraju na pitanje “kako rasporediti dostupne sate između ova dva servera na način koji će donijeti najveći mogući prihod?”

Kako iščitavamo varijable odluke u ovom slučaju?

Identifikacija ključnih resursa:

  • Ključni resurs u ovom problemu je procesorsko vrijeme servera, izraženo u satima. Tvrtka želi maksimizirati prihod, što znači da broj sati rada svakog servera predstavlja odluku koju treba optimizirati. Serveri su fizički ograničeni u pogledu dostupnog vremena rada, što direktno povezuje varijable odluke s tehničkim i operativnim ograničenjima.

  • Server A može generirati 40 eura prihoda po satu rada, dok Server B generira 50 eura po satu rada. Prihod koji svaki server ostvaruje direktno je proporcionalan broju sati koje provede u radu. Stoga je broj sati rada na svakom serveru ključna odluka koja utječe na ukupni prihod tvrtke.

  • Tvrtka mora odlučiti koliko će sati dnevno svaki server raditi, uzimajući u obzir tehnička ograničenja:

    • Server B može raditi najviše 8 sati dnevno zbog održavanja.
    • Server A nema pojedinačno ograničenje, ali kombinirano vrijeme rada oba servera ne smije premašiti 28 sati dnevno zbog ograničenja napajanja.

Formulacija varijabli odluke

  • Varijable odluke definiramo kako bismo izrazili ove odluke matematički:

    • \(x_1\): Broj sati dnevno koje Server A provede u radu.
    • \(x_2\): Broj sati dnevno koje Server B provede u radu.

Vrijednosti varijabli odluka predstavljaju koliko će sati rada tvrtka dodijeliti svakom serveru u jednom danu. Varijable odluke osnova odakle uvijek krećemo, jer predstavljaju srž problema – upravo na temelju njih tvrtka može optimizirati korištenje svojih resursa (procesorskog vremena) kako bi ostvarila najveći mogući prihod, uz poštivanje svih tehničkih i operativnih ograničenja.

Bez pravilne definicije i razumijevanja varijabli odluke, matematički model problema ne bi imao jasno značenje niti praktičnu vrijednost.

Dakle, ove varijable pokrivaju dvije ključne odluke koje tvrtka mora donijeti – koliko sati dnevno dodijeliti svakom serveru. Matematički, \(x_1\) i \(x_2\) su veličine koje želimo odrediti kako bismo maksimizirali prihod (ovo će biti funkcija cilja), a istovremeno su vezane uz ograničenja. Zato \(x_1\) i \(x_2\) predstavljaju varijable odluke.

Napomena: Varijable u modelima linearnih programa ne moraju biti nužno nazvane kao \(x_1,x_2,…,\) iako je to najčešći i standardizirani način u matematičkom kontekstu. Nazivi varijabli mogu biti fleksibilni i prilagođeni specifičnom problemu, sve dok su:

  • Jedinstveni – Svaka varijabla mora imati jedinstven naziv.
  • Jasni – Imena trebaju jasno odražavati ulogu varijable u modelu kako bi povećala čitljivost i razumljivost.

U nekim situacijama ćete radije koristiti i druga slova, primjerice \(a, b, c,...\). Varijable mogu nositi imena koja opisuju njihovu funkciju ili značenje, na primjer, u proizvodnom modelu: \(broj_{Stolova},broj_{Stolica},broj_{Ormara}\). Ako imate više sličnih varijabli, možete koristiti kombinacije slova i brojeva za grupiranje, npr: \(p_1,p_2,p_3\) za različite proizvode i \(k_1,k_2\) za kapacitete različitih skladišta. Varijable možete imenovati koristeći skraćenice povezane s problemom: \(trosak_{HR}\) za troškove u Hrvatskoj ili \(prodaja_{SAD}\) za prodaju u SAD-u.

Jednostavna pravila za nazive varijabli:

  • Kratki nazivi su poželjni za lakše izražavanje matematičkih modela, posebno kada je model velik.
  • Uvijek konzistentno koristite način imenovanja kroz cijeli model (isti naziv varijable kroz model)
  • Jasan naziv - varijable s jasnim nazivima smanjuju potrebu za dodatnim objašnjenjem
  • Nazivi varijabli ne smiju se duplirati unutar jednog modela (svaka varijabla ima jedinstven naziv unutar modela)


Funkcija cilja

Funkcija cilja u problemima linearnog programiranja izražava osnovni cilj koji želimo postići. U ovom slučaju, funkcija cilja definirana je time što tvrtka za hosting aplikacija želi postići – maksimizirati ukupan prihod ostvaren prodajom procesorskih sati dvaju servera. Detaljno objašnjenje kako iščitavamo funkciju cilja iz problema povezano je s kontekstom poslovanja tvrtke, prirodom resursa i odnosima između varijabli.

Identifikacija osnovnog cilja

  • Iz teksta zadatka jasno je da je osnovni cilj tvrtke ostvariti maksimalan (najveći mogući) prihod od rada dvaju servera, Servera A i Servera B.
  • Prihod se generira prodajom procesorskog vremena klijentima, izraženog u satima rada svakog servera.
  • Dakle, funkcija cilja mora maksimizirati ukupan prihod, a prihod ovisi o broju sati rada (\(x_1\) za Server A, \(x_2\) za Server B) i prihodima po satu za svaki server (40 eura za Server A i 50 eura za Server B).

Identifikacija elemenata funkcije cilja (iliti idemo sad to raščlaniti na elemente)

Prihod po satu rada:

  • Server A: Svaki sat rada Servera A donosi tvrtki 40 eura prihoda.
  • Server B: Svaki sat rada Servera B donosi tvrtki 50 eura prihoda.

Varijable odluke:

  • \(x_1\): Broj sati dnevno koje Server A radi.
  • \(x_2\): Broj sati dnevno koje Server B radi.

Ukupan prihod za pojedini server izračunava se kao umnožak broja sati rada i prihoda po satu:

  • Server A: Prihod od Servera A iznosi \(40x_1\).
  • Server B: Prihod od Servera B iznosi \(50x_2\).

Definiranje ukupnog prihoda za oba servera

  • Ukupan prihod, koji tvrtka želi maksimizirati, je zbroj prihoda ostvarenih radom oba servera
  • Ukupan prihod = Prihod od Servera A + Prihod od Servera B, odnosno \(40x_1+50x_2\)
  • Stoga, funkcija cilja, koja mora maksimizirati ovaj prihod, postaje: \(max\ 40x_1 + 50x_2\)
  • gdje: \(40x_1\) i \(50x_2\) predstavljaju doprinose svakog servera ukupnom prihodu.

Kontekst poslovanja:

  • Tvrtka se bavi pružanjem hosting usluga, pri čemu se klijentima naplaćuje procesorsko vrijeme servera.
  • Maksimizacija prihoda je poslovno mjerilo uspjeha

Prihod po satu:

  • Razlika u prihodima po satu (40 eura za Server A i 50 eura za Server B) odražava različite kapacitete ili performanse rada svakog servera.
  • Server B, koji generira veći prihod po satu, predstavlja vrijedniji resurs, što model implicitno favorizira kroz koeficijent 50 u funkciji cilja.

Varijable odluke:

  • Vrijednosti varijabli \(x_1\) i \(x_2\) (sati rada svakog servera) izravno utječu na ukupni prihod.
  • Povećanje sati rada bilo kojeg servera povećava vrijednost funkcije cilja, no sati rada moraju biti usklađeni s ograničenjima, poput dopuštenog broja sati rada ili zajedničkog kapaciteta.

Zašto je funkcija cilja važna?

  • Funkcija cilja omogućuje matematički zapis cilja optimizacije.
  • Jasno definira kako različite varijable odluke (vrijednosti \(x_1\) i \(x_2\)) utječu na ukupni prihod i omogućuje analitički pristup za pronalaženje optimalnog rješenja.
  • Bez funkcije cilja, matematički model ne bi imao smislen krajnji cilj – optimizacija bi bila nemoguća jer ne bismo znali što želimo postići.


Ograničenja

Ograničenja u problemu linearne optimizacije definiraju granice i pravila unutar kojih se rješenje mora nalaziti. U situaciji gdje ne bi postojala ograničenja resursa, maksimizacija funkcije cilja mogla bi poprimiti beskonačno velike vrijednosti, no to ne bi bilo realistično - što god da radimo, to činimo pomoću određenih resursa i ti resursi su ograničeni.

U ovom slučaju, ograničenja se odnose na radne sate servera i njihov kombinirani rad zbog tehničkih, operativnih i resursnih uvjeta. Evo kako ta ograničenja iščitavamo iz zadatka i povezujemo ih s kontekstom:

  1. Maksimalno vrijeme rada Servera B
  • Iz teksta zadatka: “Server B može raditi najviše 8 sati dnevno zbog ograničenja održavanja”.
  • Ovo ograničenje odražava tehničke zahtjeve za održavanje servera, koji mogu uključivati hlađenje, servisiranje ili ažuriranja softvera.
  • Matematički zapis: \(x_2 \leq 8\), gdje je \(x_2\) broj sati rada Servera B dnevno.
  • Kontekst: Čak i ako postoji dodatna potreba za hostingom aplikacija, Server B ne može raditi više od 8 sati dnevno zbog tehničkih ograničenja. Ovo ograničenje osigurava da se plan rada pridržava fizičkih kapaciteta servera.
  1. Maksimalno vrijeme rada Servera A
  • Iako nije navedeno u tekstu zadatka, možemo logički zaključiti da je moguće maksimalno dnevno raditi 24 sata.
  • Server A nema tehnička ograničenja kao Server B, pa može raditi svih 24 sata dnevno ako kombinirana ograničenja to dopuštaju.
  • Matematički zapis: \(x_1 \leq 24\), gdje je \(x_1\) broj sati rada Servera A dnevno.
  • Kontekst: Ovo je implicitno ograničenje koje osigurava da matematički model ne dodijeli više sati rada nego što fizički postoji u jednom danu. Ipak, ovo ograničenje je potrebno definirati, jer sam model je matematički i “ne zna” za postojanje 24 sata u danu, pa “mu mi to moramo prepričati” pomoću jednadžbi ili nejednadžbi. Na primjer, ako ovo ograničenje izostavimo, model bi možda mogao dodijeliti 28 sati rada dnevno ovom serveru, što nije izvedivo, ali model to ne može “znati” bez našeg inputa. Isto će vrijediti i pri korištenju softvera. Ovo ilustrira kako matematički model “razmišlja” (odnosno, pruža rješenja) samo u okvirima postavljenih ograničenja, što nas podsjeća da je precizna formulacija nužna za točnost rješenja. Dakle, čak i kad mislimo da se neki uvjet podrazumijeva, pri modeliranju to nije tako i moramo ga zapisati.
  1. Kombinirani rad Servera A i B
  • Iz teksta zadatka: “Kombinirani rad Servera A i B ne smije premašiti 28 sati dnevno zbog ograničenja napajanja”.
  • Ovo ograničenje odražava operativna ograničenja, kao što su kapacitet napajanja ili drugi resursi koji oba servera koriste istovremeno.
  • Matematički zapis: \(x_1 + x_2 \leq 28\), gdje \(x_1\) i \(x_2\) predstavljaju sate rada Servera A i B dnevno.
  • Kontekst: Iako svaki server ima svoj maksimalni kapacitet rada, ukupni broj sati rada oba servera zajedno ne može premašiti 10 sati dnevno. Ovo ograničenje zahtijeva pažljivo raspoređivanje resursa između servera kako bi se maksimalno iskoristila njihova produktivnost unutar dostupnih kapaciteta.
  1. Uvjet nenegativnosti
  • Iz općih postavki linearnog programiranja
  • Matematički zapis: \(x_1 \geq 0\), \(x_2 \geq 0\).
  • Kontekst: Nenegativnost osigurava da broj sati rada ne može biti negativan, što bi bilo matematički pogrešno i fizički nemoguće. Ovo je standardno ograničenje u linearnom programiranju koje osigurava realističnost rješenja.

Kako ograničenja pomažu u strukturiranju problema?

  • Tehnička ograničenja: Ograničenja za Server A (\(x_2 \leq 8\)) i Server B (\(x_1 \leq 24\)) definiraju fizičke kapacitete servera, osiguravajući da plan rada bude izvediv unutar tehničkih mogućnosti svakog servera.
  • Operativna ograničenja: Kombinirano ograničenje (\(x_1 + x_2 \leq 28\)) dodaje sloj složenosti, prisiljavajući optimizaciju da balansira korištenje oba servera kako bi se maksimalno iskoristili unutar ograničenih resursa.
  • Podrška funkciji cilja: Ograničenja određuju prostor mogućih rješenja u kojem funkcija cilja (\(max\ 40x_1 + 50x_2\)) može tražiti optimalnu kombinaciju sati rada kako bi ostvarila najveći mogući prihod.
  • Povezivanje ograničenja s kontekstom osigurava da model ne samo da rješava matematički problem, već i pruža smisleno i primjenjivo rješenje u stvarnom poslovnom okruženju.


1.2. Model


Funkcija cilja

\[max\ 40x_1 + 50x_2\]

Ograničenja

\[x_2 \leq 8\]

\[x_1 \leq 24\]

\[x_1 + x_2 \leq 28\]

\[x_1 \geq 0\]

\[x_2 \geq 0\]


Ovaj primjer predstavlja jednostavan, ali intuitivan model linearnog programiranja koji se koristi za optimizaciju resursa u kontekstu poslovanja. Kroz definiranje varijabli odluka, funkcije cilja i ograničenja, jasno se ilustrira kako strukturirati problem kako bi se maksimizirao prihod od servera, unatoč tehničkim i operativnim ograničenjima. Rješenje modela osigurava racionalnu i optimalnu alokaciju resursa, olakšavajući donošenje poslovnih odluka.

Ovaj primjer pokazuje da čak i jednostavan model može imati značajan utjecaj na poslovne operacije, pružajući smjernice za maksimizaciju učinka dostupnih resursa unutar zadanih ograničenja. Korištenjem analitičkog pristupa, tvrtka može izvući maksimalnu korist iz svojih kapaciteta, što je ključno za povećanje profitabilnosti i operativne učinkovitosti.

Prikazivanje problema kroz tablicu i detaljno raščlanjivanje svakog aspekta (varijable odluke, funkcije cilja i ograničenja) pomaže razumijevanju kako apstraktni matematički koncepti imaju praktičnu primjenu u stvarnom poslovanju. Jasno objašnjenje funkcije cilja i ograničenja također pokazuje da je optimizacija resursa ključna za povećanje efikasnosti i maksimizaciju koristi. Osim toga, ovaj primjer pokazuje kako linearno programiranje može biti koristan alat za rješavanje problema optimizacije, čak i u jednostavnim situacijama. Iako je ovaj model bitno pojednostavljen, s dvije varijable i nekoliko ograničenja, i dalje prenosi osnovnu ideju – matematičko strukturiranje problema može omogućiti bolje donošenje odluka.

Sposobnost formuliranja i rješavanja ovakvih problema može biti izuzetno korisna vještina u različitim industrijama, uključujući IT, logistiku, proizvodnju i financije. Primjer također ilustrira interdisciplinarnu prirodu optimizacije – razumijevanje tehničkih, operativnih i poslovnih aspekata omogućava stvaranje modela koji su praktični i primjenjivi. Ovaj primjer nam služi kao polazišna točka za razvijanje vještina optimizacije i analitičkog razmišljanja koje su primjenjive u stvarnom svijetu.






2. primjer

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

Zaposleni ste kao manager tvrtke Tab d.o.o., koja je proizvođač tableta (prijenosnih elektroničkih uređaja). Procjenjujete ulazak na tržište srednje i visoke kvalitete tableta.

Temeljem unutarnje kontrole, utvrđeno je da se proizvodnja sastoji od sljedećih proizvodnih operacija: pripreme materijala, izrade kućišta, izrade elektroničkih dijelova i izrade maske.

Tablično je prikazano potrebno vrijeme po aktivnosti za tablete srednje, odnosno visoke kvalitete. Tab d.o.o. ima ograničen broj zaposlenika, a time i radnih sati mjesečno na raspolaganju, i to: 630 sati u odjelu za pripremu materijala, 600 sati u odjelu za izradu kućišta, 708 sati u odjelu za izradu elektroničkih dijelova i 135 sati za izradu maski.

U računovodstvu su procijenili cijene obje vrste tableta, koje bi trebale doprinijeti profitu po jedinici proizvoda: 90 eura tableti srednje kvalitete i 100 eura tableti visoke kvalitete. Temeljem dobivenih podataka, kao manager proizvodnje, morate procijeniti mjesečnu količinu proizvodnje tableta srednje i visoke kvalitete uz korištenje dostupnih resurse odjela i maksimizaciju profita.

Aktivnost/tablet Srednja kvaliteta Visoka kvaliteta
Priprema materijala 0.7 sati 1 sat
Izrada kućišta 0.5 sati 0.8 sati
Izrada elektroničkih dijelova 1 sat 0.6 sati
Izrada maske 0.1 sat 0.25 sati


2.1. Strukturiranje problema


Podaci iz tablice iščitavaju se na sljedeći način:

  • Za proizvodnju jedne jedinice tableta srednje kvalitete, potrebno je 0.7 sati u odjelu pripreme materijala, 0.5 sati u odjelu izrade kućišta, 1 sat u odjelu izrade elektroničkih dijelova i 0.1 sat u odjelu izrade maski.

  • Za proizvodnju jednog tableta visoke kvalitete, potreban je 1 sat u odjelu pripreme materijala, 0.8 sati u odjelu izrade kućišta, 0.6 sati u odjelu izrade elektroničkih dijelova i 0.25 sati u odjelu izrade maski.

Podaci iz tablice mogu se iščitavati i vodoravno. Tako je vrijeme u odjelima moguće rasporediti po zadanim vremenima proizvodnje, uz uvjet da se poštuje raspodjela s obzirom na izradu tableta srednje i visoke kvalitete.

  • U odjelu za pripremu materijala, potrebno je 0.7 sati za pripremu materijala za tablet srednje kvalitete, a 1 sat za tablet visoke kvalitete. U odjelu za izradu kućišta, tablet srednje kvalitete iziskuje 0.5 sati za izradu, a visoke 0.8 sati.

  • U odjelu za izradu elektroničkih dijelova, za komad proizvoda srednje kvalitete potrebno je utrošiti 1 sat, a za proizvod visoke kvalitete 0.6 sati. Naposljetku, u odjelu izrade maske potrebno je 0.1 sat za izradu maske tableta srednje kvalitete i 0.25 sati za izradu maske tableta visoke kvalitete.

Varijable odluke

Veličine koje tražimo predstavljaju varijable odluke:

  • „procijeniti mjesečnu količinu proizvodnje tableta srednje i visoke kvalitete“ – odnosno, traži se koliko je potrebno proizvesti tableta srednje kvalitete, a koliko tableta visoke kvalitete.
  • neka je \(x_1\) količina tableta srednje kvalitete, a \(x_2\) količina tableta visoke kvalitete.

Funkcija cilja

Cilj koji se ostvaruje putem tih varijabli odluka zapisuje se funkcijom cilja (minimizacija ili maksimizacija; u ovom slučaju tražimo „maksimizaciju profita“). Ponekad je funkciju cilja potrebno deducirati iz opisa slučaja. Ako je u pitanju dobit, onda će se raditi o maksimizaciji. Ako su u pitanju trošak ili rizik, tada će u pitanju biti minimizacija.

Ukoliko varijable odluke (ono što se traži) nisu eksplicitno navedene u opisu problema, tada je to moguće deducirati s obzirom na postavljenu funkciju cilja (varijable odluke su, uz koeficijente, elementi funkcije cilja). U ovom slučaju u pitanju je maksimizacija profita. Profit (prema dostupnim podacima) ovisi o doprinosu profitu po jedinici proizvoda i količini proizvoda (u ovim situacijama pojednostavljujemo odnose i pretpostavljamo da će sva proizvedena količina biti prodana).

Funkcija cilja je maksimizacija ukupnog profita, odnosno zbroja doprinosa profita po jedinici proizvoda za obje vrste tableta:

\(max\ 90x_1 + 100x_2\).

Ograničenja

Ograničenja su uvjeti koji moraju biti ispoštovani pri utvrđivanju varijabli odluke. U ovom slučaju, ograničenja se odnose na dostupne sate rada po odjelima. Sati rada su resursi koje poduzeće može (i treba) koristiti pri optimizaciji proizvodnje. Ipak, ti resursi nisu neograničeni – u svakom odjelu zaposlen je određen broj djelatnika i samim time dostupan je određen broj sati rada. Na primjer, u odjelu za pripremu materijala dostupno je 630 radnih sati mjesečno i to znači da je moguće iskoristiti 630 ili manje radnih sati u tom odjelu. To je vrijeme potrebno rasporediti na izradu dva proizvoda, pri čemu će do 630 dostupnih sati rada biti raspoređeno uzimajući u obzir da je potrebno po 0.7 sati za izradu svakog tableta srednje kvalitete, a po 1 sat za izradu svakog tableta visoke kvalitete.

U odjelu za pripremu materijala, imamo na raspolaganju do 630 sati rada mjesečno, a ti sati se troše po 0.7 sati pri proizvodnji svakog tableta srednje kvalitete i 1 sat pri proizvodnji tableta visoke kvalitete. To možemo zapisati na sljedeći način:

  • \(0.7x_1 + x_2 \leq 630\)

U odjelu za izradu kućišta, imamo na raspolaganju do 600 sati rada mjesečno, a ti sati se troše po 0.5 sati pri proizvodnji svake jedinice \(x_1\) i 0.8 sat pri proizvodnji svake jedinice \(x_2\). To možemo zapisati na sljedeći način:

  • \(0.5x_1 + 0.8x_2 \leq 600\)

U odjelu za izradu elektroničkih dijelova, imamo na raspolaganju do 708 sati rada mjesečno, a ti sati se troše po 1 sat pri proizvodnji svakog komada tableta srednje kvalitete i 0.6 sati pri proizvodnji svakog komada tableta visoke kvalitete. To možemo zapisati na sljedeći način:

  • \(x_1 + 0.6x_2 \leq 708\)

U odjelu za izradu maskica, imamo na raspolaganju do 135 sati rada mjesečno, a ti sati se troše po 0.1 sat pri proizvodnji svakog komada tableta srednje kvalitete i 0.25 sati pri proizvodnji svakog komada tableta visoke kvalitete. To možemo zapisati na sljedeći način:

  • \(0.1x_1 + 0.25x_2 \leq 135\)

Osim toga, moramo uvjetovati da varijable ne smiju poprimiti negativne vrijednosti: \(x_1, x_2 \geq 0\).

Navedeno iščitavanje i razmišljanje o odnosima u primjeru potrebno je sumirati i zapisati u obliku linearnog programa. Potrebno je odrediti preporučene količine proizvodnje tableta srednje kvalitete (što ćemo označiti s \(x_1\)) i tableta visoke kvalitete (što ćemo označiti s \(x_2\)) uz koje dolazi do maksimizacije profita uz dana ograničenja. Dakle, \(x_1\) i \(x_2\) su varijable odluke. S obzirom da se utvrđuju količine, važno je definirati i da one ne mogu poprimiti negativne vrijednosti.


2.2. Model


Funkcija cilja:
\[ \text{Max } 90x_1 + 100x_2 \quad \text{(maksimizacija profita)} \]

Ograničenja:
\[ \begin{aligned} 0.7x_1 + x_2 &\leq 630 \quad \text{(priprema materijala)} \\ 0.5x_1 + 0.8x_2 &\leq 600 \quad \text{(izrada kućišta)} \\ x_1 + 0.6x_2 &\leq 708 \quad \text{(izrada elektroničkih dijelova)} \\ 0.1x_1 + 0.25x_2 &\leq 135 \quad \text{(izrada maske)} \\ x_1, x_2 &\geq 0 \quad \text{(uvjet ne-negativnosti)} \end{aligned} \]


Ovako zadan model u okviru matematičkog programiranja naziva se program. Ako su zadane funkcije i ograničenja linearni (varijable na prvu potenciju), tada se radi o linearnom programu. Elementi ovog modela su varijable odluke (količine proizvoda srednje i visoke kvalitete), jednadžbe ili nejednadžbe (ograničenja) te funkcija cilja (maksimizacija profita).

U ovom primjeru vidjeli smo kako analizirati proizvodni proces i povezati ključne elemente problema s matematičkim modelom. Ključne točke su identifikacija varijabli odluke (broj tableta svake kvalitete), pravilno postavljanje funkcije cilja (maksimizacija profita) i definiranje ograničenja na temelju raspoloživih resursa.






3. primjer

Obiteljsko poljoprivredno gospodarstvo (OPG) „Zemljani radovi“ stoji pred izazovom kako najbolje iskoristiti svojih 100 hektara zemlje u nadolazećoj sezoni sadnje. Tradicionalno, OPG se bavi uzgojem tri glavne kulture: kukuruza, pšenice i soje. Svaka od ovih kultura ima svoju tržišnu vrijednost, trošak proizvodnje i specifične potrebe koje su vezane uz uvjete sadnje i obrade.

Do nedavno, u Hrvatskoj je šparoga pretežno znana kao povrće koje se bere u inozemstvu radi zarade. No, posljednjih godina šparoga je postala sve popularnija kao domaća kultura, naročito u Vukovarsko-srijemskoj županiji. Iako je šparoga zahtjevna kultura koja zahtijeva stalno održavanje, mnogi poljoprivrednici su prepoznali njenu veću isplativost u odnosu na pšenicu i kukuruz, prema izvještaju portala poslovni.hr. Ova situacija postavlja pitanje kako optimalno rasporediti raspoložive površine između ove tri kulture kako bi se maksimizirala ukupna dobit.

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

  • Kukuruz je ključna kultura za OPG jer postoji stalna potražnja od strane lokalnih kooperativa s kojima gospodarstvo ima dugogodišnje ugovore. Svaki hektar zasađen kukuruzom može donijeti dobit od 700 eura po hektaru.
  • Pšenica je također važna kultura, ali je manje profitabilna s dobiti od 500 eura po hektaru. Osim toga, postoji ograničenje maksimalne površine koja se može zasaditi pšenicom zbog ograničenih resursa i opreme potrebne za njezinu obradu.
  • Soja je druga najprofitabilnija kultura s dobiti od 1000 eura po hektaru, ali ima specifične potrebe kad je riječ o rotaciji usjeva, stoga postoji gornje ograničenje na površinu koja se može koristiti za njezin uzgoj.
  • Šparoge još nisu sađene na zemlji OPG-a, a moguće je ostvariti dobit od 3200 eura.

Uz financijske parametre, OPG također mora uzeti u obzir razne ugovorne obveze, tržišnu potražnju i agronomske prakse kako bi osiguralo najveći mogući prinos i dobit:

  • Ukupno dostupna površina za sadnju je 100 hektara.
  • Minimalna površina koja se mora koristiti za kukuruz zbog ugovora s lokalnim kooperativama je 20 hektara.
  • Maksimalna površina koja se može koristiti za soju zbog specifičnih potreba za rotacijom usjeva iznosi 40 hektara.
  • Gospodarstvo želi posaditi barem 10 hektara više kukuruza nego pšenice zbog tržišne potražnje.
  • Ograničenje zbog potrebne opreme i resursa za obradu pšenice, uvjetuje najviše 35 hektara za pšenicu.
  • Zbog velike potražnje za sjemenom šparoge, dostupno je sjemena za sadnju do 45 hektara šparugama.
  • Izazov je kako optimalno rasporediti svaki hektar zemlje kako bi se postigla najveća moguća ukupna dobit, uz poštivanje svih navedenih ograničenja.


3.1. Strukturiranje problema


Varijable odluke

  • Iz teksta zadatka: “kako optimalno rasporediti svaki hektar zemlje”

  • Varijable odluke predstavljaju površinu (u hektarima) koja će biti zasađena svakom od četiri kulture:

    • Površina zasađena šparogama (\(x_1\) u hektarima).
    • Površina zasađena pšenicom (\(x_2\) u hektarima).
    • Površina zasađena kukuruzom (\(x_3\) u hektarima).
    • Površina zasađena sojom (\(x_4\) u hektarima).
  • Ove varijable su odabrane jer izravno utječu na funkciju cilja – maksimizaciju ukupne dobiti – i moraju zadovoljiti sva ograničenja vezana uz uvjete sadnje i obrade. Varijable odluke predstavljaju odluke koje OPG mora donijeti o tome kako rasporediti ukupno dostupnu površinu od 100 hektara između različitih kultura.


Funkcija cilja

  • Iz teksta zadatka: “kako optimalno rasporediti svaki hektar zemlje kako bi se postigla najveća moguća ukupna dobit”

  • Funkcija cilja definira što OPG želi postići. U ovom slučaju, cilj je maksimizirati ukupnu dobit od zasađenih kultura. Dobit po hektaru za svaku kulturu navedena je u opisu problema:

    \(3200x_1\): dobit po hektaru za šparoge iznosi 3200 eura.

    \(500x_2\): dobit po hektaru za pšenicu iznosi 500 eura.

    \(700x_3\): dobit po hektaru za kukuruz iznosi 700 eura.

    \(1000x_4\): dobit po hektaru za soju iznosi 1000 eura.

  • kako se radi o ukupnoj dobiti, onda moramo sve to zbrojiti, pa dobivamo \(3200x_1 + 500x_2 + 700x_3 + 1000x_4\)

  • Cilj je maksimizirati ukupnu dobit, odabirući optimalne vrijednosti za \(x_1\),\(x_2\),\(x_3\) i \(x_4\). Koeficijenti (3200, 500, 700, 1000) reflektiraju relativnu profitabilnost svake kulture po hektaru, omogućujući OPG-u da preferira kulture s višim koeficijentima (poput šparoga i soje). Dakle, funkcija cilja je: \(max\ 3200x_1 + 500x_2 + 700x_3 + 1000x_4\)


Ograničenja

Ograničenja osiguravaju da odluke koje donosimo budu izvedive i u skladu s praktičnim uvjetima i resursima. U ovom modelu, ograničenja povezuju raspoloživu površinu, tržišne zahtjeve, agronomske prakse i ugovorne obveze kako bi se osigurala održivost i maksimalna korist za OPG.

Ukupna dostupna površina

  • Iz teksta zadatka: “Ukupno dostupna površina za sadnju je 100 hektara”
  • Ukupna površina koju OPG ima na raspolaganju iznosi 100 hektara. Površina zasađena svim kulturama zajedno ne smije premašiti taj iznos:\(x_1+x_2+x_3+x_4=100\)
  • Ograničenje \(x_1+x_2+x_3+x_4=100\) reflektira ukupni raspoloživi kapacitet zemlje. Svaka varijabla (\(x_1\),\(x_2\),\(x_3\),\(x_4\)) predstavlja dio te zemlje, odnosno površine zemlje, a njihova suma mora odgovarati ukupnoj površini od 100 hektara, čime se osigurava da nijedan hektar ne ostane neiskorišten ili dvostruko dodijeljen.

Minimalna površina za kukuruz

  • Iz teksta zadatka: “Minimalna površina koja se mora koristiti za kukuruz zbog ugovora s lokalnim kooperativama je 20 hektara”
  • Zbog ugovora s kooperativama, OPG mora posvetiti najmanje 20 hektara za uzgoj kukuruza, a hektari kukuruza su \(x_3\), pa je to: \(x_3≥20\)
  • Ovo ograničenje osigurava da se poštuju postojeći ugovori, što je ključno za održavanje dugoročnih poslovnih odnosa.

Maksimalna površina za soju

  • Iz teksta zadatka: “Maksimalna površina koja se može koristiti za soju zbog specifičnih potreba za rotacijom usjeva iznosi 40 hektara”
  • Zbog potreba za rotacijom usjeva, maksimalna površina za soju (\(x_4\)) ograničena je na 40 hektara: \(x_4≤40\)
  • Ovo ograničenje odražava agronomske zahtjeve, sprječavajući dugoročna oštećenja tla ili prekomjernu iscrpljenost resursa.

Odnos kukuruza i pšenice

  • Iz teksta zadatka: “Gospodarstvo želi posaditi barem 10 hektara više kukuruza nego pšenice zbog tržišne potražnje”
  • Zbog veće tržišne potražnje za kukuruzom, OPG mora posaditi barem 10 hektara više kukuruza (\(x_3\)) nego pšenice (\(x_2\)), odnosno: \(x_3≥x_2+10\), odnosno, ako to zapišemo na način da sve varijable odluke budu s lijeve strane (kao što i trebaju biti), onda je to \(x_3 - x_2 ≥ 10\)
  • Ovo ograničenje odražava strateške ciljeve OPG-a u odgovoru na tržišne zahtjeve, usklađujući proizvodnju s potražnjom.

Maksimalna površina za pšenicu

  • Iz teksta zadatka: “Ograničenje zbog potrebne opreme i resursa za obradu pšenice, uvjetuje najviše 35 hektara za pšenicu”
  • Zbog ograničenja opreme i resursa za obradu pšenice, maksimalna površina koja se može posvetiti pšenici (\(x_2\)) iznosi 35 hektara: \(x_2≤35\)
  • Ovo ograničenje osigurava da se resursi optimalno koriste i sprječava neefikasnost.

Maksimalna površina za šparoge

  • Iz teksta zadatka: “Zbog velike potražnje za sjemenom šparoge, dostupno je sjemena za sadnju do 45 hektara šparugama”
  • Zbog dostupnosti sjemena, maksimalna površina koja se može posvetiti šparogama (\(x_1\)) ograničena je na 45 hektara: \(x_1≤45\)
  • Ovo ograničenje odražava praktične uvjete dostupnosti resursa i planiranja proizvodnje.

Nenegativnost površina

  • Površina zasađena svakom kulturom mora biti ne-negativna: \(x_1,x_2,x_3,x_4≥0\)
  • Ovo ograničenje osigurava da su odluke realne i izvedive – ne možemo posaditi negativnu površinu kulture.


3.2. Model


Funkcija cilja (maksimizacija dobiti po hektaru):

\(Z = 3200x_1 + 500x_2 + 700x_3 + 1000x_4\)

Ograničenja:

\(x_1 + x_2 + x_3 + x_4 = 100\) (ukupna dostupna površina je 100 hektara)

\(x_3 \geq 20\) (minimalna površina za kukuruz zbog ugovora s kooperativama)

\(x_4 \leq 40\) (maksimalna površina za soju zbog rotacije usjeva)

\(x_3 - x_2 \geq 10\) (barem 10 hektara više kukuruza nego pšenice)

\(x_2 \leq 35\) (ograničenje za pšenicu zbog opreme i resursa)

\(x_1 \leq 45\) (maksimalna površina za šparoge zbog dostupnosti sjemena)

\(x_1, x_2, x_3, x_4 \geq 0\) (površine zasađene svakom kulturom moraju biti ne-negativne)






4. primjer

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

Financijski savjetnici upravljaju sredstvima brojnih kompanija i imućnih klijenata. Financijska strategija kroji se prema potrebama klijenata. Novi klijent je ovlastio financijskog savjetnika za investiranje iznosa do 1.2 milijuna eura u dva investicijska fonda: dionički i novčani fond.

Udjel u dioničkom fondu košta 50 €, a prosječni rast cijene je 10%. Udjel u novčanom fondu stoji 100 € uz prosječni rast od 4%. Klijent želi minimizirati rizik uz uvjet minimalnog godišnjeg prihoda od investicije od 60 000 €. Prema analizi softvera za procjenu rizika, indeks rizičnosti dioničkog fonda je 8, dok za novčani fond taj indeks iznosi 3.

Klijent je specificirao i to da želi minimalno 300 000 € uložiti u novčani fond. Koliko bi kojih udjela trebalo kupiti kako bi se minimizirao rizik uz dana ograničenja? Koliko će godišnjeg prihoda tako raspoređena investicija generirati? Financijskog savjetnika zanima i kakva bi bila raspodjela investicija kad bi glavni kriterij bila maksimizacija profita?

Na početku se pristupa strukturiranju problema. Pri tome će pomoći tablični zapis podataka iz opisa problema.

Kategorija Dionički fond Novčani fond Novac na raspolaganju
Ograničenje 1 - cijena 50,00 100,00 1.200.000,00
Ograničenje 2 - prihod 0,10 0,04 60.000,00
Ograničenje 3 - minimalni ulog 1,00 300.000,00
Ograničenje 4 - rizik 8,00 3,00 min


4.1. Strukturiranje problema


U problemu su navedeni ključni dijelovi: ciljevi, ograničenja, i informacije potrebne za definiranje matematičkog modela. Evo kako svaki dio teksta povezujemo s elementima LP:


Varijable odluke:

  • Iz opisa problema: „Koliko bi kojih udjela trebalo kupiti…?“

  • Ovdje tražimo broj udjela koji treba kupiti u dioničkom fondu (\(x_1\)) i novčanom fondu (\(x_2\)).

  • Varijable odluke su upravo ti brojevi udjela jer o njima ovisi ispunjenje ciljeva klijenta (minimizacija rizika ili maksimizacija profita) i njihovo raspoređivanje mora zadovoljiti zadana ograničenja.

  • Dakle, varijable odluke \(x_1\) i \(x_2\) predstavljaju broj udjela koji treba kupiti u dioničkom i novčanom fondu. One su direktno uključene u:

    • Ispunjavanje ciljeva (minimizaciju rizika ili maksimizaciju profita).
    • Poštivanje ograničenja (raspoloživi kapital, minimalni prihod, minimalno ulaganje u novčani fond).
  • Zašto su baš to varijable odluke?

    • Opis problema jasno specificira da je cilj odrediti optimalnu raspodjelu ulaganja u dva fonda.
    • Broj udjela omogućava izravno modeliranje kako ulaganja utječu na rizik, prihod i raspoloživi kapital.


Ograničenja:

Ukupno ulaganje: „Klijent želi investirati iznos do 1.2 milijuna eura.“

  • Ovo ograničenje osigurava da klijent ne uloži više od raspoloživog iznosa (1.2 milijuna €).
  • Svaki udio ima svoju cijenu: udio u dioničkom fondu košta 50 €, udio u novčanom fondu košta 100 €.
  • Stoga, ukupna vrijednost svih kupljenih udjela u oba fonda mora biti manja ili jednaka ukupnom kapitalu od 1.2 milijuna eura.
  • Svaki kupljeni udio u dioničkom fondu košta 50 €, pa je ukupno ulaganje u dionički fond dano kao \(50x_1\), gdje je \(x_1\) broj kupljenih udjela.
  • Svaki kupljeni udio u novčanom fondu košta 100 €, pa je ukupno ulaganje u novčani fond dano kao \(100x_2\), gdje je \(x_2\) broj kupljenih udjela.
  • Ukupno ulaganje je zbroj ulaganja u dionički fond (\(50x_1\)) i ulaganja u novčani fond (\(100x_2\)).
  • Ovdje se postavlja ograničenje na ukupnu vrijednost ulaganja u oba fonda: \(50x_1+100x_2≤1200000\).
  • Smjer nejednakosti je \(≤\), jer ukupna ulaganja ne mogu premašiti raspoloživa sredstva (ne možemo uložiti ono što nemamo).

Minimalni prihod: „Uz uvjet minimalnog godišnjeg prihoda od 60000 €.“

  • Klijent traži minimalni godišnji prihod od 60000 €.
  • Ovo znači da ulaganje u oba fonda mora generirati prihod koji zadovoljava ili premašuje ovaj iznos.
  • Prihod od ulaganja dolazi od prinosa po jedinici ulaganja pomnoženog s brojem kupljenih udjela (\(x_1\) i \(x_2\)).
  • Dionički fond ima prinos po jedinici ulaganja 10%. Cijena jednog udjela u dioničkom fondu je 50 €, pa je prihod od npr., jednog udjela \(0.1⋅50⋅1=5\) eura.
  • Ukupan prihod iz dioničkog fonda za \(x_1\) udjela iznosi: \(0.1⋅50⋅x_1\)
  • Novčani fond ima prinos po jedinici ulaganja 4%. Cijena jednog udjela u novčanom fondu je 100 €, pa je prihod od jednog udjela: \(0.04⋅100⋅1=4\) eura.
  • Ukupan prihod iz novčanog fonda za \(x_2\) udjela iznosi: \(0.04⋅100⋅x_2\)
  • Prihod dolazi iz ulaganja u oba fonda. Da bi ukupni prihod bio ispravno modeliran, potrebno je zbrojiti prinose oba fonda. Prihod se računa kao umnožak prinosa i ulaganja, kao kombinirani prihod iz oba fonda izražava se kao zbroj prihoda iz dioničkog i novčanog fonda.
  • Ovo daje uvjet: \(0.1⋅50⋅x_1+0.04⋅100⋅x_2≥60000\).
  • Smjer nejednakosti je \(≥\), jer prihod mora biti barem 60000 €.

Minimalni ulog u novčani fond: „Minimalno 300000 € uložiti u novčani fond.“

  • Klijent zahtijeva da najmanje 300000 € bude uloženo u novčani fond.
  • Broj udjela u novčanom fondu \(x_2\)​ pomnožen s cijenom jednog udjela (100) mora biti najmanje 300000 €: \(100x_2≥300000\), što se pojednostavljuje u \(x_2≥3000\).
  • Smjer nejednakosti je \(≥\), jer klijent traži minimalno toliko ulaganje u novčani fond.

Ne-negativnost varijabli: „Koliko bi kojih udjela trebalo kupiti?“

  • Najmanji broj udjela koji se mogu “kupiti” je 0, tj. udjeli se mogu ne kupiti.
  • Brojevi udjela \(x_1\) i \(x_2\) ne mogu biti negativni: \(x_1,x_2≥0\).


Funkcija cilja

Minimizacija rizika: „Klijent želi minimizirati rizik“

  • Rizik je zadan indeksom rizika za svaki fond: 8 za dionički fond i 3 za novčani fond.
  • Indeksi rizika (8 i 3) određuju doprinos svake varijable za ukupnom riziku.
  • Rizik se generalno percipira kao negativna stvar koja se želi smanjiti ili minimizirati, pa se ovdje traži kombinacija vrijednosti varijabli odluka koje daju minimum.
  • Funkcija cilja postaje: \(Min\ 8x_1+3x_2\).

Maksimizacija prinosa: „Kolika bi bila raspodjela investicija kad bi glavni kriterij bila maksimizacija profita?“

  • Prinos je godišnji prihod od ulaganja.
  • Prinos se računa na temelju prinosa svakog fonda: \(0.1⋅50⋅x_1\) za dionički fond \(0.04⋅100⋅x_2\) za novčani fond.
  • Prinosi od ulaganja (10% i 4%) definiraju doprinos svake varijable.
  • Prinos se općenito percipira kao pozitivna pojava i želi se da bude što veći, odnosno maksimalan.
  • Funkcija cilja postaje: \(Max\ 0.1⋅50⋅x_1+0.04⋅100⋅x_2\)


4.2. Model 1:


Raspodjela udjela s obzirom na minimizaciju rizika

Funkcija cilja:

\[ \text{Min } 8x_1 + 3x_2 \]

Ograničenja:

\[ \begin{aligned} 50x_1 + 100x_2 &\leq 1200000 \\ 0.1 \cdot 50 \cdot x_1 + 0.04 \cdot 100 \cdot x_2 &\geq 60000 \\ x_2 &\geq \frac{300000}{100} \\ x_1, x_2 &\geq 0 \end{aligned} \]


4.3. Model 2:


Raspodjela udjela s obzirom na maksimizaciju profita

Funkcija cilja:

\[ \text{Max } 0.1 \cdot 50 \cdot x_1 + 0.04 \cdot 100 \cdot x_2 \]

Ograničenja:

\[ \begin{aligned} 50x_1 + 100x_2 &\leq 1200000 \\ 0.1 \cdot 50 \cdot x_1 + 0.04 \cdot 100 \cdot x_2 &\geq 60000 \\ x_2 &\geq \frac{300000}{100} \\ x_1, x_2 &\geq 0 \end{aligned} \]


Ovaj primjer ilustrira kako povezati financijske ciljeve klijenta s matematičkim modelom. Poseban fokus stavljen je na varijable odluke (broj udjela u fondovima), funkciju cilja (minimizacija rizika ili maksimizacija prihoda) te ograničenja vezana uz budžet i minimalni prihod. Naučili smo kako različiti ciljevi zahtijevaju prilagodbu funkcije cilja, dok ograničenja ostaju jasno definirana iz problema.

Uz malo istraživanja, možete kreirati sličan model za alokaciju vlastite štednje i investicija. Takav model može vam pomoći u donošenju informiranih financijskih odluka i optimizaciji vašeg kapitala za postizanje ciljeva, poput minimizacije rizika ili povećanja povrata.






5. primjer

Poduzeće ElektroX d.o.o. proizvodi SSD M.2 komponente koje imaju namjeru distribuirati preko četiri kanala distribucije: trgovačih putnika, distributera za poduzeća, maloprodajnih dućana unutar države i on-line prodajom.

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

Profit ostvaren od prodaje jednog SSD-a preko trgovačkih putnika iznosi 65 €, potreban trošak oglašavanja iznosi 9 € po prodanom proizvodu, a prodajni predstavnici potroše 3 sata na prodaju jednog proizvoda. Profit ostvaren od prodaje jednog SSD-a preko distributera za poduzeća iznosi 76 €, potreban trošak oglašavanja iznosi 8 € po prodanom proizvodu, a prodajni predstavnici potroše 3 sata na po prodaji proizvoda. Profit ostvaren od prodaje jednog SSD-a preko maloprodajnih dućana unutar države iznosi 75 €, potreban trošak oglašavanja iznosi 10 € po prodanom proizvodu, a prodajni predstavnici potroše 4 sata na prodaju jednog proizvoda. Profit ostvaren od prodaje jednog SSD-a preko on – line prodaje iznosi 68 €, potreban trošak oglašavanja iznosi 11 € po prodanom proizvodu, dok nema naknade prodajnim predstavnicima. ElektroX d.o.o. ima na raspolaganju budžet od 7200 € za oglašavanje i može pokriti maksimalno 2000 sati rada prodajnih predstavnika.

Menadžment je odlučio proizvoditi točno 800 proizvoda ove proizvodne linije. S obzirom na postojeći ugovor s maloprodajnim dućanima unutar države, obvezani su ih opskrbiti s minimalno 100 proizvoda. Menadžment ElektroX d.o.o. mora donijeti odluku o alokaciji proizvoda po distribucijskim kanalima koja će dovesti do maksimizacije profita, poštujući zadana ograničenja.


5.1. Strukturiranje problema


Ovdje tablica nije dana u tekstu zadatka, ali nam može biti korisna pri sistematizaciji dostupnih podataka, pa ju možemo kreirati sami.

Kanal distribucije Profit po SSD-u (€) Trošak oglašavanja po SSD-u (€) Vrijeme prodajnog predstavnika po SSD-u (sati) Minimalni broj SSD-ova
Trgovački putnici 65 9 3 0
Distributeri za poduzeća 76 8 3 0
Maloprodajni dućani 75 10 4 100
On-line prodaja 68 11 0 0
Ukupno / dostupno max 7200 2000 800

Varijable odluke

  • Iz opisa problema: “Kako raspodijeliti 800 proizvoda između distribucijskih kanala?”

  • Varijable odluke predstavljaju broj proizvoda distribuiranih kroz svaki kanal:

    • \(x\): broj proizvoda za trgovačke putnike.
    • \(y\): broj proizvoda za distributere za poduzeća.
    • \(z\): broj proizvoda za maloprodajne dućane.
    • \(w\): broj proizvoda za on-line distribuciju.

Zašto su \(x,y,z,w\) varijable odluke?

  • Raspodjela proizvoda po kanalima direktno utječe na funkciju cilja (profit) i vezana je uz ograničenja.
  • Iz opisa jasno proizlazi da je zadatak optimizirati raspodjelu između kanala, pri čemu svaka varijabla odluke ima različite doprinose profitu, troškovima i resursima.
  • Što se oznaka varijabli odluke tiče, one su proizvoljne, bitno je da jasno naznačimo na što se koja odnosi i da ih konzistentno koristimo kroz model.


Funkcija cilja

Iz opisa problema:

  • Cilj je maksimizacija profita od prodaje SSD-ova kroz četiri distribucijska kanala.

  • Profit za svaki kanal po prodanom proizvodu:

    • Trgovački putnici: 6565 €.
    • Distributeri za poduzeća: 7676 €.
    • Maloprodajni dućani: 7575 €.
    • On-line prodaja: 6868 €.
  • Ukupan profit izražava se kao: \(Max\ 65x+76y+75z+68w\)

  • \(x, y, z\), i \(w\) predstavljaju broj proizvoda distribuiranih kroz trgovačke putnike, distributere za poduzeća, maloprodajne dućane i on-line prodaju.

  • Koeficijenti (65,76,75,68) predstavljaju profit po proizvodu za svaki kanal.

  • Zašto maksimizacija? Profit je primarni cilj poduzeća, općenito se smatra pozitivnim aspektom koji se želi maksimizirati.


Ograničenja

Svaki kanal distribucije ima svoj trošak oglašavanja po proizvodu:

  • Trgovački putnici: 9 €.

  • Distributeri za poduzeća: 8 €.

  • Maloprodajni dućani: 10 €.

  • On-line prodaja: 11 €.

  • Ukupni trošak oglašavanja izražava se kao zbroj proizvoda (\(x,y,z,w\)) pomnoženih s njihovim pojedinačnim troškovima:

    • \(9x\): trošak oglašavanja za proizvode prodane putem trgovačkih putnika.
    • \(8y\): trošak oglašavanja za proizvode prodane putem distributera za poduzeća.
    • \(10z\): trošak oglašavanja za proizvode prodane kroz maloprodajne dućane.
    • \(11w\): trošak oglašavanja za proizvode prodane putem on-line kanala.
  • \(x, y, z\), i \(w\) predstavljaju broj proizvoda distribuiranih kroz trgovačke putnike, distributere za poduzeća, maloprodajne dućane i on-line prodaju. Ukupan trošak je \(9x+8y+10z+11w≤7200\)

  • Zašto \(≤7200\)? Budžet za oglašavanje je ograničen na 7200 €, što predstavlja gornju granicu.

Potrebni sati rada prodajnih predstavnika po proizvodu:

  • Trgovački putnici: 3 sata.

  • Distributeri za poduzeća: 3 sata.

  • Maloprodajni dućani: 4 sata.

  • On-line prodaja: 0 sati.

  • Ukupni broj sati rada izražava se kao zbroj:

    • \(3x\): sati rada po proizvodu prodanom putem trgovačkih putnika.
    • \(3y\): sati rada po proizvodu prodanom putem distributera za poduzeća.
    • \(4z\): sati rada po proizvodu prodanom kroz maloprodajne dućane.
    • Ukupni sati rada: \(3x+3y+4z≤2000\)
  • Zašto \(≤2000\)? Dostupno je maksimalno 2000 sati rada prodajnih predstavnika, što je gornja granica.

Ukupna proizvodnja - Poduzeće je proizvelo točno 800 proizvoda:

  • \(x, y, z\), i \(w\) predstavljaju broj proizvoda distribuiranih kroz trgovačke putnike, distributere za poduzeća, maloprodajne dućane i on-line prodaju, što znači da u kontekstu ovog ograničenja te količine moraju biti jednake ukupnom broju proizvedenih proizvoda. To je onda \(x+y+z+w=800\)
  • Zašto \(=800\)? Ukupni broj proizvoda (svi proizvodi) mora se rasporediti kroz distribucijske kanale.

Ugovorna obveza s maloprodajnim dućanima

  • Maloprodajni dućani moraju dobiti minimalno 100 proizvoda
  • Broj proizvoda za maloprodajne dućane označen je varijablom odluke \(z\)
  • To je onda \(z≥100\)
  • Zašto \(≥100\)? Poduzeće je ugovorom obvezano isporučiti barem 100 jedinica maloprodajnim dućanima.

Ne-negativnost varijabli

  • Broj proizvoda ne može biti negativan: \(x,y,z,w≥0\)


5.2. Model


Funkcija cilja:

\[\text{max } 65x + 76y + 75z + 68w\]

Ograničenja:

  1. Trošak oglašavanja:

\[9x + 8y + 10z + 11w \leq 7200\]

  1. Radni sati prodajnih predstavnika:

\[3x + 3y + 4z \leq 2000\]

  1. Ukupna proizvodnja:

\[x + y + z + w \leq 800\]

  1. Minimalna isporuka za maloprodajne dućane:

\[z \geq 100\]

Uvjet ne-negativnosti:

\[x, y, z, w \geq 0\]


Ovdje smo istražili problem distribucije proizvoda kroz različite kanale, gdje su varijable odluke (broj proizvoda po kanalu) osnova za optimizaciju profita. Ograničenja odražavaju realna poslovna ograničenja, poput radnih sati i budžeta za oglašavanje. Primjer naglašava važnost razumijevanja resursa i njihovog odnosa prema funkciji cilja, te pokazuje kako ograničenja oblikuju model i osiguravaju realističnost rješenja.

Ovaj način razmišljanja može se primijeniti na brojne vrste alokacija – od planiranja marketinških kampanja u vašem budućem poslu, do odlučivanja kako podijeliti vrijeme između studija i slobodnih aktivnosti.






6. primjer

U današnjem ubrzanom načinu života, mnogi ljudi prepoznaju potrebu za zdravom prehranom. Veganska prehrana, koja isključuje konzumaciju životinjskih proizvoda, postala je popularna zbog svojih zdravstvenih i etičkih prednosti. No, kako stvoriti nutritivno uravnotežen veganski obrok unutar ograničenog proračuna?

U ovom slučaju, nutricionist sudjeluje u kulinarskom natjecanju i mora stvoriti hranjiv veganski ručak s ograničenim proračunom od 7 eura. Ručak mora sadržavati određenu količinu proteina, vitamina, minerala, vlakana i kalorija. S obzirom na različite troškove i nutritivne vrijednosti pojedinih sastojaka, važno je odabrati optimalnu kombinaciju koja će klijentu pružiti sve potrebne nutrijente uz što niže troškove. Pritom, obrok također treba osigurati raznolikost u teksturi i okusu kako bi žiri bio zadovoljan.

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

Ručak koji treba kreirati mora zadovoljiti sljedeće kriterije:

  • Sadržavati minimalno 25g proteina kako bi zadovoljio dnevne potrebe za proteinima.
  • Ne smije prelaziti 600 kalorija kako bi klijent održao zdravu tjelesnu težinu.
  • Sadržavati barem 15g vlakana zbog važnosti vlakana za probavu.
  • Uključiti najmanje 100g brokule kako bi se osigurao dovoljan unos vitamina, posebno vitamina C.
  • Uključiti minimalno 50g avokada koji je bogat kalijem, mineralom važnim za zdravlje srca.
  • Ukupna težina ručka ne smije prelaziti 500g kako bi obrok bio pogodan za konzumaciju u jednom obroku.
  • Ručak mora uključiti i minimalno 50g leće kako bi obogatio ukus ručka i osigurao raznolikost okusa.
  • Također, obrok treba sadržavati najmanje 60g tofu-a kako bi se osigurala specifična tekstura i dodatni izvor proteina.

Dopušteni sastojci koji se uzimaju u obzir prilikom kreiranja ovog obroka su kvinoja, leća, brokula, avokado i tofu. Ne postoji nikakvo ograničenje po pitanju začina, pa oni nisu specificirani u opisu problema. Svaki od ovih sastojaka donosi svoje nutritivne vrijednosti, ali i ima svoju cijenu po gramu.

Opis sastojaka:

  • Kvinoja: Ovaj super sastojak poznat je kao kompletni protein jer sadrži sve esencijalne aminokiseline. Osim toga, bogat je vlaknima i mineralima. Kvinoja košta 0.02€ po gramu i pruža 0.14g proteina te 4 kalorije po gramu.
  • Leća: Leća je odličan izvor proteina i vlakana te je temeljni dio mnogih vegetarijanskih i veganskih jela. Po gramu košta 0.01€, sadrži 0.25g proteina i pruža 3.3 kalorije.
  • Brokula: Ovo zeleno povrće bogato je vitaminima, posebno vitaminom C. Također sadrži vlakna i proteine. Brokula stoji 0.005€ po gramu, pruža 0.037g proteina, 0.55 kalorije i 0.05g vlakana.
  • Avokado: Poznat po svom bogatom okusu, avokado je također izvor vlakana i kalija. Po gramu košta 0.03€, sadrži 0.02g proteina, pruža 2 kalorije i 0.10g vlakana.
  • Tofu: Ovaj sastojak napravljen od soje ključan je izvor proteina u mnogim veganskim obrocima. Tofu stoji 0.025€ po gramu, pruža 0.15g proteina i 1.5 kalorije.

Ovom kombinacijom sastojaka, nutricionist treba kreirati obrok koji će zadovoljiti sve nutritivne potrebe unutar zadanog proračuna. Osim toga, potrebno je uzeti u obzir i ukupnu težinu obroka, raznolikost okusa i teksturu kako bi obrok bio ukusan i privlačan. Izazov je stvoriti obrok koji je ujedno i ekonomski prihvatljiv, koristeći optimalne količine svakog sastojka.


6.1. Strukturiranje problema


Prvo, ovdje moramo jasno naznačiti da ćemo se usmjeriti na nutritivne vrijednosti obroja i da apsolutno nikako ne možemo jamčiti za okus. :)

Nutricionist se suočava s izazovom optimizacije nutritivno bogatog obroka unutar zadanog proračuna. Problem uključuje odabir optimalnih količina različitih sastojaka kako bi se zadovoljili prehrambeni zahtjevi, poput minimalnog unosa proteina, vlakana i vitamina, dok se održava raznovrsnost i ukupan trošak ostaje unutar proračuna od 7€. Ovaj problem možemo riješiti pomoću linearne optimizacije.


Varijable odluke:

Varijable odluke predstavljaju količine svakog sastojka (izražene u gramima) koje će nutricionist koristiti za kreiranje obroka:

  • Grami kvinoje (\(x_1\)).
  • Grami leće (\(x_2\)).
  • Grami brokule (\(x_3\)).
  • Grami avokada (\(x_4\)).
  • Grami tofu-a (\(x_5\)).


Funkcija cilja

  • Cilj je odabrati kombinaciju sastojaka s najnižim troškovima uz zadovoljavanje svih ograničenja nutritivnih vrijednosti.
  • Dakle, u pitanju je minimizacija troška.
  • Trošak po gramu za kvinoju, leću, brokulu, avokado i tofu (0.02, 0.01, 0.005, 0.03, 0.025) tako će postati koeficijenti u funkciji cilja.
  • Za kvinoju, trošak se računa kao \(0.02x_1\), za leću \(0.01x_2\), i tako dalje za sve namirnice.
  • ukupni trošak dobivamo zbrajanjem, pa je to: \(0.02x_1 + 0.01x_2 + 0.005x_3 + 0.03x_4 + 0.025x_5\)
  • s obzirom da je funkcija cilja minimizacija, potpuni zapis je: \(min\ 0.02x_1 + 0.01x_2 + 0.005x_3 + 0.03x_4 + 0.025x_5\)


Ograničenja

Minimalni unos proteina

  • Iz teksta zadatka: “Ručak mora sadržavati minimalno 25g proteina kako bi zadovoljio dnevne potrebe za proteinima.”

  • Svaki sastojak doprinosi unosu proteina u količini definiranoj koeficijentima:

    • Kvinoja: 0.14g proteina po gramu (\(0.14x_1\)),
    • Leća: 0.25g proteina po gramu (\(0.25x_2\)),
    • Brokula: 0.037g proteina po gramu (\(0.037x_3\)),
    • Avokado: 0.02g proteina po gramu (\(0.02x_4\)),
    • Tofu: 0.15g proteina po gramu (\(0.15x_5\)).
  • Ukupni unos proteina je suma ovih vrijednosti, a ograničenje osigurava da ukupna količina proteina bude barem 25g: \(0.14x_1 + 0.25x_2 + 0.037x_3 + 0.02x_4 + 0.15x_5 \geq 25\)

Maksimalni broj kalorija

  • Iz teksta zadatka: “Ručak ne smije prelaziti 600 kalorija kako bi klijent održao zdravu tjelesnu težinu.”
  • Svaki sastojak doprinosi kalorijama u količini definiranoj koeficijentima:
    • Kvinoja: 4 kalorije po gramu (\(4x_1\)),
    • Leća: 3.3 kalorije po gramu (\(3.3x_2\)),
    • Brokula: 0.55 kalorija po gramu (\(0.55x_3\)),
    • Avokado: 2 kalorije po gramu (\(2x_4\)),
    • Tofu: 1.5 kalorije po gramu (\(1.5x_5\)).
  • Ukupne kalorije su suma ovih vrijednosti, a ograničenje osigurava da obrok ostane unutar zadanih kalorijskih granica: \(4x_1 + 3.3x_2 + 0.55x_3 + 2x_4 + 1.5x_5 \leq 600\)

Minimalni unos vlakana

  • Iz teksta zadatka: “Ručak mora sadržavati barem 15g vlakana zbog važnosti vlakana za probavu.”

  • Samo brokula i avokado doprinose vlaknima:

    • Brokula: 0.05g vlakana po gramu (\(0.05x_3\)),
    • Avokado: 0.10g vlakana po gramu (\(0.10x_4\)).
  • Ovo ograničenje osigurava da ukupna količina vlakana bude barem 15g, što je važno za probavno zdravlje: \(0.05x_3 + 0.10x_4 \geq 15\)

Minimalna količina brokule

  • Iz teksta zadatka: “Ručak mora uključiti najmanje 100g brokule kako bi se osigurao dovoljan unos vitamina, posebno vitamina C.”
  • Varijabla \(x_3\)​ predstavlja količinu brokule u gramima.
  • Ovo ograničenje postavlja minimalnu količinu brokule u obroku kako bi se zadovoljile potrebe za vitaminima: \(x_3 \geq 100\)

Minimalna količina avokada

  • Iz teksta zadatka: “Ručak mora uključiti minimalno 50g avokada koji je bogat kalijem, mineralom važnim za zdravlje srca.”
  • Varijabla \(x_4\) predstavlja količinu avokada u gramima.
  • Ovo ograničenje osigurava dovoljan unos kalija, ključnog minerala za zdravlje srca: \(x_4 \geq 50\)

Maksimalna težina obroka

  • Iz teksta zadatka: “Ukupna težina ručka ne smije prelaziti 500g kako bi obrok bio pogodan za konzumaciju u jednom obroku.”
  • Varijable \(x_1, x_2, x_3, x_4, x_5\) predstavljaju težine sastojaka u gramima.
  • Ovo ograničenje osigurava da ukupna težina svih sastojaka ne prelazi 500g: \(x_1 + x_2 + x_3 + x_4 + x_5 \leq 500\)

Proračun

  • Iz teksta zadatka: “Proračun za obrok je 7€.”

  • Svaki sastojak ima određeni trošak po gramu:

    • Kvinoja: 0.02€/gram (\(0.02x_1\)),
    • Leća: 0.01€/gram (\(0.01x_2\)),
    • Brokula: 0.005€/gram (\(0.005x_3\)),
    • Avokado: 0.03€/gram (\(0.03x_4\)),
    • Tofu: 0.025€/gram (\(0.025x_5\)).
  • Ukupni trošak sastojaka mora biti manji ili jednak proračunu od 7€: \(0.02x_1 + 0.01x_2 + 0.005x_3 + 0.03x_4 + 0.025x_5 \leq 7\)

Minimalna količina leće

  • Iz teksta zadatka: “Ručak mora uključiti minimalno 50g leće kako bi obogatio ukus ručka i osigurao raznolikost okusa.”
  • Varijabla \(x_2\) predstavlja količinu leće u gramima.
  • Ovo ograničenje osigurava da obrok sadrži dovoljno leće za dodatnu raznolikost okusa: \(x_2 \geq 50\)

Minimalna količina tofu-a

  • Iz teksta zadatka: “Obrok treba sadržavati najmanje 60g tofu-a kako bi se osigurala specifična tekstura i dodatni izvor proteina.”
  • Varijabla \(x_5\) predstavlja količinu tofu-a u gramima.
  • Ovo ograničenje osigurava specifičnu teksturu obroka i okus (zamislit ćemo da je u pitanju dimljeni tofu): \(x_5 \geq 60\)

Nenegativnost varijabli

  • Varijable odluke ne mogu biti negativne jer je nemoguće koristiti negativnu količinu bilo kojeg sastojka: \(x_1, x_2, x_3, x_4, x_5 \geq 0\)
  • Ovo ograničenje osigurava realističnost modela.


6.2. Model


Funkcija cilja (minimizacija troška):

\(min\ 0.02x_1 + 0.01x_2 + 0.005x_3 + 0.03x_4 + 0.025x_5\)

Ograničenja:

\(0.14x_1 + 0.25x_2 + 0.037x_3 + 0.02x_4 + 0.15x_5 \geq 25\) - Minimalno 25g proteina

\(4x_1 + 3.3x_2 + 0.55x_3 + 2x_4 + 1.5x_5 \leq 600\) - Maksimalno 600 kalorija

\(0.05x_3 + 0.10x_4 \geq 15\) - Minimalno 15g vlakana

\(x_3 \geq 100\) - Barem 100g brokule za vitamine

\(x_4 \geq 50\) - Barem 50g avokada za kalij

\(x_1 + x_2 + x_3 + x_4 + x_5 \leq 500\) - Maksimalna težina ručka je 500g

\(0.02x_1 + 0.01x_2 + 0.005x_3 + 0.03x_4 + 0.025x_5 \leq 7\) - Proračun je 7€

\(x_2 \geq 50\) - Minimalno 50g leće za raznolikost okusa

\(x_5 \geq 60\) - Minimalno 60g tofu-a za teksturu i okus

\(x_1, x_2, x_3, x_4, x_5 \geq 0\) - nenegativnost


U ovom primjeru demonstrirali smo kako se linearno programiranje može koristiti za rješavanje izazova nutritivnog planiranja unutar ograničenog proračuna. Definiranjem varijabli odluka, funkcije cilja i niza ograničenja, stvorili smo model koji omogućava nutricionistu da odabere optimalne količine sastojaka kako bi zadovoljio sve prehrambene potrebe, ostao unutar zadanih troškova i osigurao ukupan uspjeh u kulinarskom natjecanju. Posebna vrijednost ovog modela je u njegovoj sposobnosti da u obzir uzme i praktične uvjete, poput težine obroka i raznolikosti sastojaka, čime se rješenje dodatno približava stvarnim zahtjevima.

Linearno programiranje nije korisno samo u poslovnim i proizvodnim procesima već i u svakodnevnom životu. Ovaj primjer jasno pokazuje kako možete koristiti iste alate za rješavanje problema poput planiranja nutritivno bogatih obroka, upravljanja budžetom ili maksimiziranja resursa. Ako jednog dana budete radili u prehrambenoj industriji, zdravstvenom sektoru ili se jednostavno suočite s osobnim izazovima poput kreiranja ekonomičnih, zdravih obroka, ovakav model može vam biti od velike koristi. Uz relativno jednostavne prilagodbe, isti pristup može se primijeniti u različitim scenarijima – od planiranja obroka za bolnice i škole, do izrade posebnih dijeta za sportaše ili osobe s posebnim zdravstvenim potrebama.






7. primjer

Obitelj Horvatić nastoji optimizirati svoj mjesečni budžet od 3000 eura kako bi uspješno pokrili sve svoje mjesečne troškove, a istovremeno i uštedjeli određenu svotu novca.

Troškovi obitelji uključuju hranu, prijevoz, zabavu i slobodno vrijeme, obrazovanje, kao i druge različite troškove. Specifični ciljevi i ograničenja obitelji Horvatić obuhvaćaju sljedeće:

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

  • Ukupni mjesečni troškovi, uključujući najam stana od 500 eura i uštedu, ne smiju premašiti budžet od 3000 eura.
  • Troškovi hrane trebaju biti minimalno 600 eura kako bi se osigurala adekvatna prehrana.
  • Troškovi prijevoza moraju biti najmanje 200 eura kako bi se pokrili troškovi povezani s gorivom, održavanjem i javnim prijevozom.
  • Troškovi za zabavu i slobodno vrijeme ne smiju prelaziti 400 eura, osiguravajući kontrolu troškova u ovoj kategoriji.
  • Troškovi obrazovanja trebaju biti između 100 i 500 eura, što uključuje knjige, tečajeve i ostale edukativne materijale.
  • Ostali troškovi, uključujući odjeću i ljekove, trebaju biti najmanje 150 eura.
  • Zbroj troškova hrane i prijevoza treba biti unutar 1,000 eura kako bi se održala kontrola nad ovim osnovnim troškovima.
  • Kombinirani troškovi za zabavu i obrazovanje trebaju biti manji od 800 eura.
  • Troškovi hrane, prijevoza i ostalih kategorija zajedno ne smiju premašiti 1500 eura.
  • Obitelj želi osigurati minimalnu mjesečnu uštedu od 200 eura.

Cilj obitelji Horvatić je pronaći optimalnu raspodjelu budžeta među različitim kategorijama troškova kako bi se postigla najveća moguća ušteda uz istovremeno zadovoljavanje svih navedenih ograničenja.


7.1. Strukturiranje problema


Varijable odluke

  • \(x_1\): Troškovi hrane u eurima.
  • \(x_2\): Troškovi prijevoza u eurima.
  • \(x_3\): Troškovi za zabavu i slobodno vrijeme u eurima.
  • \(x_4\): Troškovi obrazovanja u eurima.
  • \(x_5\): Ostali troškovi u eurima.


Funkcija cilja

  • Funkcija cilja predstavlja ukupne mjesečne troškove, koje obitelj želi minimizirati.
  • Koeficijenti svih varijabli (\(x_1, x_2,x_3,x_4,x_5\)) su 1, jer svaka varijabla izravno doprinosi ukupnim troškovima: \(min\ x_1+x_2+x_3+x_4+x_5\)
  • Napomena: Funkcija cilja ne uključuje iznos za najam stana jer je on fiksan i nije predmet optimizacije.


Ograničenja

Ukupni troškovi

  • Iz teksta zadatka: “Ukupni mjesečni troškovi, uključujući najam stana od 500 eura, ne smiju premašiti budžet od 3000 eura.”
  • Ukupni iznos svih troškova (\(x_1+x_2+x_3+x_4+x_5\)) plus fiksni trošak za najam (500 €) mora biti manji ili jednak budžetu (3000 €):
  • \(x_1+x_2+x_3+x_4+x_5+500≤3000\), ili, ako konstantu prebacimo na desnu stranu: \(x_1+x_2+x_3+x_4+x_5≤2500\)
  • Ovo ograničenje osigurava da obitelj ostaje unutar svojih financijskih mogućnosti.

Troškovi hrane

  • Iz teksta zadatka: “Troškovi hrane trebaju biti minimalno 600 eura kako bi se osigurala adekvatna prehrana.”
  • Ovo ograničenje osigurava da obitelj zadovoljava osnovne prehrambene potrebe: \(x_1≥600\)

Troškovi prijevoza

  • Iz teksta zadatka: “Troškovi prijevoza moraju biti najmanje 200 eura kako bi se pokrili troškovi povezani s gorivom, održavanjem i javnim prijevozom.”
  • Ovo ograničenje osigurava da su troškovi prijevoza adekvatni: \(x_2\geq 200\)

Troškovi za zabavu i slobodno vrijeme

  • Iz teksta zadatka: “Troškovi za zabavu i slobodno vrijeme ne smiju prelaziti 400 eura.”
  • Ovo ograničenje uvodi gornju granicu za troškove zabave: \(x_3≤400\)

Troškovi obrazovanja

  • Iz teksta zadatka: “Troškovi obrazovanja trebaju biti između 100 i 500 eura.”
  • Ovo ograničenje definira donju i gornju granicu za obrazovne troškove: \(100≤x_4≤500\)
  • Odnosno, kad to budemo zapisivali u model, imat ćemo dva ograničenja: \(x_4\geq100\) i \(x_4≤500\)

Ostali troškovi

  • Iz teksta zadatka: “Ostali troškovi, uključujući odjeću i lijekove, trebaju biti najmanje 150 eura.”
  • Ovo ograničenje osigurava minimalnu potrošnju na odjeću, lijekove i druge osnovne troškove: \(x_5≥150\)

Troškovi hrane i prijevoza zajedno

  • Iz teksta zadatka: “Zbroj troškova hrane i prijevoza treba biti unutar 1000 eura kako bi se održala kontrola nad ovim osnovnim troškovima.”
  • Ovo ograničenje postavlja gornju granicu na kombinirane troškove hrane i prijevoza: \(x_1+x_2≤1000\)

Troškovi za zabavu i obrazovanje

  • Iz teksta zadatka: “Kombinirani troškovi za zabavu i obrazovanje trebaju biti manji od 800 eura.”
  • Ovo ograničenje uvodi gornju granicu za zabavu i obrazovanje zajedno: \(x_3+x_4<800\)

Troškovi hrane, prijevoza i ostalih troškova

  • Iz teksta zadatka: Troškovi hrane, prijevoza i ostalih kategorija zajedno ne smiju premašiti 1500 eura.
  • Ovo ograničenje osigurava kontrolu nad kombiniranim troškovima ovih kategorija: \(x_1+x_2+x_5≤1500\)

Minimalna ušteda

  • Iz teksta zadatka: Obitelj želi osigurati minimalnu uštedu od 200 eura.
  • Ukupni troškovi (x₁ + x₂ + x₃ + x₄ + x₅) moraju ostaviti najmanje 200 eura za štednju unutar budžeta:\(x_1+x_2+x_3+x_4+x_5≤2500-200\)

Uvjet nenegativosti:

  • Nenegativnost je nužna jer nema smisla da troškovi za hranu, prijevoz, zabavu, obrazovanje ili ostale kategorije budu negativni. Negativne vrijednosti bi značile da obitelj Horvatić “prihoduje” iz tih kategorija, što nije u skladu s realnošću budžetskog problema.
  • Kako se uvjet koristi u modelu? Ovaj uvjet osigurava da varijable odluke ostanu unutar fizički i ekonomski mogućih granica. Bez ovog uvjeta, matematički model bi mogao dopustiti nerealan rezultat, što bi učinilo rješenje neprimjenjivim.
  • \(x_1, x_2, x_3, x_4, x_5 \geq 0\)


7.2. Model


Funkcija cilja (minimizacija):

\[min\ x_1+x_2+x_3+x_4+x_5\]

Ograničenja

Ukupni troškovi ne smiju premašiti budžet: \[x_1+x_2+x_3+x_4+x_5≤2500\]

Troškovi hrane ne smiju biti manji od 600 eura: \[x_1≥600\]

Troškovi prijevoza ne smiju biti manji od 200 eura: \[x_2\geq 200\]

Troškovi za zabavu ne smiju premašiti 400 eura: \[x_3≤400\]

Troškovi obrazovanja moraju biti veći od 100 eura: \[x_4\geq100\]

Troškovi obrazovanja moraju biti manji od 500 eura: \[x_4≤500\]

Ostali troškovi ne smiju biti manji od 150 eura: \[x_5≥150\]

Troškovi hrane i prijevoza zajedno ne smiju premašiti 1000 eura: \[x_1+x_2≤1000\]

Troškovi za zabavu i obrazovanje zajedno moraju biti manji od 800 eura: \[x_3+x_4<800\]

Troškovi hrane, prijevoza i ostalih troškova ne smiju premašiti 1500 eura: \[x_1+x_2+x_5≤1500\]

Minimalna ušteda mora biti 200 eura: \[x_1+x_2+x_3+x_4+x_5≤2300\]

Uvjet nenegativnosti: \[x_1, x_2, x_3, x_4, x_5 \geq 0\]


U linearnoj optimizaciji ponekad se pojavljuju ograničenja koja iz različitih aspekata reguliraju istu stvar. Neka od tih ograničenja su suvišna jer ih druga, stroža ograničenja već obuhvaćaju. U analizi modela je korisno identificirati koja su ograničenja zaista potrebna za rješavanje problema, a koja se mogu eliminirati bez gubitka informacije, jer na taj način pojednostavljujemo model i brže dolazimo do rješenja.

Primjer eliminacije redundantnog ograničenja

  • Dva ograničenja koja reguliraju ukupne troškove:
    • Ukupni troškovi ne smiju premašiti budžet: \(x_1+x_2+x_3+x_4+x_5≤2500\)
    • Minimalna ušteda mora biti 200 eura: \(x_1+x_2+x_3+x_4+x_5≤2300\)
    • Ograničenje \(x_1+x_2+x_3+x_4+x_5≤2300\) je strože jer zahtijeva veću uštedu (minimalno 200 eura, umjesto implicitne uštede od 500 eura kod budžeta od 2500 eura). Stoga se ograničenje \(x_1+x_2+x_3+x_4+x_5≤2500\) može eliminirati jer ga strože ograničenje već nadjačava.

Zašto neka ograničenja treba zadržati

  • Kombinacije troškova: Iako ograničenje minimalne uštede postavlja granicu za ukupne troškove, ono ne specificira kako se ti troškovi raspodjeljuju među kategorijama. Zbog toga ograničenja poput:

    • \(x_1+x_2≤1000\) (hrana i prijevoz zajedno),
    • \(x_3+x_4<800\) (zabava i obrazovanje zajedno),
    • \(x_1+x_2+x_5≤1500\) (hrana, prijevoz i ostali troškovi zajedno),
    • pružaju dodatnu kontrolu i specificiraju strukturu troškova. Bez njih, rješenje bi moglo alocirati troškove u način koji nije u skladu s planiranom strukturom budžeta.
  • Ponekad se čini da su dva ograničenja redundantna, ali zapravo služe različitim svrhama:

  • Na primjer, \(x_1+x_2≤1000\) (kombinirani troškovi hrane i prijevoza) i \(x_1+x_2+x_5≤1500\) (kombinirani troškovi hrane, prijevoza i ostalih troškova) oba reguliraju dijelove budžeta. Iako prvo ograničenje djeluje strože, drugo dodaje informaciju o ostalim troškovima i treba ga zadržati.

  • Kombinacija strožih i komplementarnih ograničenja omogućuje precizno definiranje problema i osigurava da rješenje bude realno i u skladu s prioritetima.

Ovaj primjer pruža realističan scenarij optimizacije resursa, koji je lako razumljiv jer se odnosi na svakodnevni život. Obitelj Horvatić suočava se s izazovima planiranja svog budžeta, što je iskustvo koje mnogi ljudi dijele. Model jasno pokazuje kako linearno programiranje može pomoći u donošenju odluka i omogućiti ravnotežu između potreba i ograničenja. Ipak, ne možemo jamčiti za provedbu - to ovisi o discipliniranosti članova obitelji Horvatić.

Sposobnost strukturiranja i optimizacije ovakvih problema nije korisna samo u osobnom životu nego se prenosi i na profesionalne situacije, poput upravljanja projektima, planiranja resursa ili donošenja strateških odluka. Ovaj primjer pokazuje kako linearno programiranje može imati praktičnu vrijednost u svakodnevnom životu, pružajući uvid u to kako alokacija ograničenih resursa može maksimizirati korist i omogućiti donošenje racionalnih odluka.






8. primjer

Start-up IronCoden razvija inovativnu mobilnu aplikaciju koja povezuje korisnike s mentorima iz različitih područja, poput karijere, zdravlja i osobnog razvoja. Na pragu lansiranja aplikacije, tim se suočava s ključnim izazovom – kako osigurati financijska sredstva potrebna za finalizaciju razvoja, pokretanje marketinške kampanje i pokrivanje operativnih troškova. Kao moderna tehnološka tvrtka, IronCoden istražuje alternativne oblike financiranja, poput crowdfundinga, venture capital ulaganja i poslovnih anđela.

Svaka opcija financiranja donosi različite uvjete. Na primjer, crowdfunding omogućuje prikupljanje sredstava bez ustupanja vlasničkog udjela, ali ovisi o atraktivnosti same aplikacije i marketingu. S druge strane, venture capital investitori nude značajna sredstva, ali zahtijevaju vlasnički udio i često sudjeluju u strateškim odlukama tvrtke. Tim također razmatra mikrokredite, koji su fleksibilniji, ali ograničeni u iznosu sredstava, i obveznice, koje zahtijevaju obvezu vraćanja s kamatama.

Izvor financiranja Maksimalna količina sredstava (u dolarima) Godišnja kamatna stopa Postotak vlasničkog udjela
Crowdfunding 200,000 5% 0%
Venture Capital 500,000 8% 3%
Mikrokrediti 150,000 3% 0%
Poslovni Anđeli 250,000 7% 1.5%
Obveznice 400,000 4% 0%

Tablica prikazuje različite opcije financiranja koje IronCode, startup za razvoj aplikacija, može koristiti kako bi prikupio potreban kapital od 1000000 dolara za razvoj i rast. Svaka od opcija ima specifične karakteristike koje je važno razumjeti:

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

  • Izvor financiranja: Ovo predstavlja različite financijske mehanizme koje startup može koristiti. Svaka opcija ima različite uvjete i pogodnosti.
  • Maksimalna količina sredstava (u dolarima): Ovaj stupac prikazuje koliko maksimalno sredstava svaki izvor može ponuditi. Na primjer, Crowdfunding omogućuje prikupljanje najviše 200.000 dolara, dok Venture Capital može osigurati do 500.000 dolara.
  • Godišnja kamatna stopa: Ovaj stupac prikazuje koliko će startup morati platiti godišnje u obliku kamate za korištenje tih sredstava. Na primjer, sredstva prikupljena putem mikrokredita imaju najnižu kamatnu stopu od 3%, dok Venture Capital nosi veću implicitnu cijenu s kamatom od 8%.
  • Postotak vlasničkog udjela: Neke opcije financiranja zahtijevaju da startup ustupi dio vlasništva u zamjenu za financijsku podršku. Na primjer, Venture Capital zahtijeva ustupanje 3% vlasničkog udjela za sredstva koja osigurava, dok Crowdfunding, Mikrokrediti i Obveznice ne zahtijevaju nikakav vlasnički udio.
  • Crowdfunding nudi mogućnost prikupljanja kapitala bez odricanja vlasništva, ali s umjereno visokim kamatama (5%).
  • Venture Capital omogućava veće iznose (do 500.000 dolara), ali startup gubi značajan postotak vlasništva (3%) i suočava se s najvišim kamatama (8%).
  • Mikrokrediti imaju najnižu kamatnu stopu (3%) i ne zahtijevaju ustupanje vlasništva, ali nude ograničenu maksimalnu količinu (150.000 dolara).
  • Poslovni Anđeli nude srednje iznose (250.000 dolara) uz kamatu od 7% i manji gubitak vlasničkog udjela (1.5%).
  • Obveznice predstavljaju povoljnu opciju s niskom kamatnom stopom (4%) i bez ustupanja vlasništva, uz maksimalno dostupnih 400.000 dolara.

Kako bi postigli svoje ciljeve, IronCoden mora pažljivo odabrati kombinaciju izvora financiranja koja će omogućiti potrebnih milijun dolara, uz minimalne troškove i zadržavanje kontrolnog udjela u tvrtki. Ova odluka predstavlja važnu prekretnicu za budućnost startupa i lansiranje aplikacije koja ima potencijal promijeniti industriju.

Ključno je da IronCoden nađe ravnotežu između dobivanja potrebnih sredstava i zadržavanja većinskog udjela u tvrtki. Odlučili su da za potrebe prikupljanja sredstava ne žele ustupiti više od 30% udjela u tvrtci. Također, bitno je proučiti i maksimalne količine sredstava koje svaki izvor može ponuditi.

Tvrtki je potrebno točno 1 000 000 dolara kako bi ostvarili planirani poslovni rast. Žele prikupiti sredstva uz minimalne troškove.


8.1. Dodatni kontekst

U stituacijama u kojima ne znamo dovoljno o kontekstu ili nam se u problemu pojavljuju pojmovi koje ne razumijemo dovoljno, moramo potražiti o čemu se radi. Ovo je prikladan primjer za ilustraciju kako ipak moramo donekle poznavati kontekst da bismo mogli pravilno postaviti problem.

Crowdfunding označava prikupljanje sredstava od velikog broja pojedinaca, obično putem digitalnih platformi. Ljudi koji podrže projekt ili ideju često ne očekuju povrat sredstava, već dobivaju simboličke nagrade, poput proizvoda ili usluga. Ovo je popularna opcija za startupe ili kreativne projekte jer ne zahtijeva ustupanje vlasničkog udjela ili vraćanje kamata, ali često ovisi o atraktivnosti ideje i marketingu.

Venture capital (VC) odnosi se na ulaganja fondova ili pojedinaca u rizične, ali potencijalno vrlo profitabilne projekte, poput tehnoloških startupa. VC ulagači često traže značajan vlasnički udio i uključuju se u donošenje strateških odluka unutar poduzeća. Iako ovakav oblik financiranja može omogućiti značajan rast, podrazumijeva dijeljenje kontrole i profita s investitorima.

Mikrokrediti su mali zajmovi, obično namijenjeni malim poduzećima ili pojedincima koji nemaju pristup tradicionalnim bankarskim uslugama. Ovi krediti često dolaze s nižim kamatnim stopama i fleksibilnijim uvjetima otplate, čime su privlačni za tvrtke u ranoj fazi razvoja koje trebaju ograničena sredstva za pokretanje ili proširenje poslovanja.

Poslovni anđeli su pojedinci s velikim osobnim kapitalom koji ulažu u rane faze poslovanja poduzeća. Osim financijskih sredstava, često nude svoje znanje, iskustvo i kontakte kako bi pomogli poduzeću da uspije. Kao i VC, poslovni anđeli obično traže vlasnički udio, ali su fleksibilniji i više usmjereni na podršku nego na strogi nadzor.

Obveznice su dugoročni financijski instrumenti kojima poduzeća prikupljaju kapital posuđujući novac od ulagača uz obvezu vraćanja glavnice i plaćanja kamata. Obveznice su atraktivan izvor financiranja jer ne zahtijevaju ustupanje vlasničkog udjela, ali poduzeće mora biti sigurno u svoju sposobnost da pravovremeno vraća dug i isplaćuje kamate.


8.2. Strukturiranje problema


Varijable

  • Varijable odluka predstavljaju količinu sredstava dobivenih iz svakog od pet ponuđenih izvora financiranja:

    • \(CF\) - Količina sredstava dobivena putem Crowdfundinga
    • \(VC\) - Količina sredstava dobivena putem Venture Capital-a
    • \(MK\) - Količina sredstava dobivena putem Mikrokredita
    • \(PA\) - Količina sredstava dobivena putem Poslovnih Anđela
    • \(OB\) - Količina sredstava dobivena putem Obveznica


Funkcija cilja

  • Funkcija cilja definira cilj optimizacije u problemu.

  • Funkcija cilja u ovom problemu predstavlja minimizaciju ukupnih godišnjih troškova financiranja, koji se izražavaju kroz kamatne stope za svaki izvor financiranja

  • Koeficijenti (0.05, 0.08, 0.03, 0.07, 0.04) predstavljaju kamatne stope za svaki izvor financiranja zapisane u obliku proporcije, odnosno trošak po jedinici sredstava (1 dolar) dobivenih iz određenog izvora, ili preciznije:

    • \(0.05CF\): trošak financiranja putem crowdfundinga (\(5\)% kamate na prikupljeni iznos \(CF\)).
    • \(0.08VC\): trošak financiranja putem VC (\(8\)% kamate na prikupljeni iznos \(VC\)).
    • \(0.03MK\): trošak financiranja putem mikrokredita (\(3\)% kamate na prikupljeni iznos \(MK\)).
    • \(0.07PA\): trošak financiranja putem poslovnih anđela (\(7\)% kamate na prikupljeni iznos \(PA\)).
    • \(0.04OB\): trošak financiranja putem obveznica (\(4\)% kamate na prikupljeni iznos \(OB\)).
  • Cilj je pronaći optimalnu kombinaciju vrijednosti varijabli \(CF\), \(VC\), \(MK\), \(PA\), \(OB\) koja minimizira ukupne troškove.

  • Kad povežemo (tj. pomnožimo) koeficijente koji predstavljaju kamatne stope po izvoru financiranja s varijablama i zbrojimo, dobivamo: \(min (0.05CF + 0.08VC + 0.03MK + 0.07PA + 0.04OB)\)

  • Funkcija cilja jasno reflektira poslovni cilj tvrtke IronCoden – minimizaciju troškova financiranja uz očuvanje operativne održivosti.

  • Koeficijenti (kamatne stope) odražavaju relativni trošak svakog izvora financiranja, omogućujući tvrtki da preferira povoljnije izvore (poput mikrokredita i obveznica) gdje je to moguće.


Ograničenja

Ograničenja u modelu definiraju uvjete i pravila koja tvrtka IronCoden mora zadovoljiti pri odabiru izvora financiranja. Svako ograničenje povezano je s poslovnim okolnostima i izravno utječe na varijable odluka.

Ograničenje budžeta

  • Tvrtka treba točno 1000000 USD za poslovni rast i pokrivanje operativnih troškova. Ovo ograničenje osigurava da iznos sredstava prikupljenih iz svih izvora zadovoljava tu potrebu.

    • Varijable odluka \(CF\), \(VC\), \(MK\), \(PA\), i \(OB\) označavaju koliko će novca biti prikupljeno iz svakog izvora financiranja.
    • Jednadžba uvjetuje da ukupna kombinacija tih iznosa mora iznositi 1000000 USD.
    • Iz toga slijedi: \(CF + VC + MK + PA + OB = 1,000,000\)

Ukupni vlasnički udjel

  • Venture capital (VC) i poslovni anđeli (PA) zahtijevaju ustupanje vlasničkog udjela u zamjenu za financiranje. Postavljeni uvjet osigurava da tvrtka ne ustupi više od 30% vlasničkog udjela (30% od 1000000 USD = 300000 USD).
  • Koeficijenti \(0.03\) i \(0.015\) označavaju postotke vlasničkog udjela po dolaru financiranja iz VC i PA. Za svaki dolar prikupljen iz VC, tvrtka mora ustupiti 3% vlasničkog udjela, dok je za PA taj postotak 1.5%.
  • Iz navedenog slijedi ograničenje: \(0.03VC + 0.015PA ≤ 300,000\)

Maksimalni iznosi po izvorima financiranja

  • Ova skupina ograničenja odražava maksimalnu količinu sredstava koja svaki izvor može ponuditi. Svako ograničenje ima specifičan kontekst povezan s kapacitetima izvora:

    • Maksimalni iznos sredstava putem crowdfundinga ograničen je na 200000 USD zbog kapaciteta ovog financijskog kanala.

    • Varijabla \(CF\) predstavlja iznos koji će tvrtka povući iz crowdfundinga.

    • Ako tvrtka povuče maksimalnih 200000 USD, dodatna sredstva iz ovog izvora nisu dostupna.

    • VC investitori spremni su uložiti maksimalno 500000 USD. Ovo ograničenje odražava kapacitete i poslovne uvjete VC fondova.

    • Varijabla \(VC\) označava iznos sredstava iz VC.

    • Ako tvrtka povuče maksimalnih 500000 USD iz VC, dodatni kapital iz ovog izvora nije dostupan.

    • Mikrokreditni fond može osigurati maksimalno 150000 USD. Ovo ograničenje proizlazi iz specifičnosti mikrokreditnih programa koji su često namijenjeni manjim projektima.

    • Varijabla \(MK\) označava iznos iz mikrokredita.

    • Ako tvrtka povuče 150000 USD, iscrpila je sva dostupna sredstva iz mikrokreditnog fonda.

    • Poslovni anđeli spremni su uložiti do 250000 USD, što odražava njihovu investicijsku strategiju i dostupne resurse.

    • Varijabla \(PA\) označava iznos sredstava od poslovnih anđela.

    • Ako tvrtka povuče 250000 USD, dodatna sredstva iz ovog izvora nisu dostupna.

    • Tvrtka može izdati obveznice u ukupnom iznosu do 400000 USD, što je određeno njihovom sposobnošću da servisiraju dug i tržišnim interesom.

    • Varijabla \(OB\) označava iznos sredstava iz obveznica.

    • Ako tvrtka izda maksimalan iznos obveznica, više nije moguće prikupljati sredstva ovim putem.

Nenegativnost varijabli

  • Nenegativnost osigurava da su sve varijable odluka (količine sredstava iz svakog izvora) realne i fizički moguće. Varijable financiranja ne mogu imati negativne vrijednosti, jer je nemoguće povući negativan iznos novca iz bilo kojeg izvora.


8.3. Model


Funkcija cilja:

\(min (0.05CF + 0.08VC + 0.03MK + 0.07PA + 0.04OB)\)

Ograničenja:

\(CF + VC + MK + PA + OB = 1,000,000\) (ukupno sredstava)

\(0.03VC + 0.015PA ≤ 300,000\) (ukupni vlasnički udjel ne smije biti više od 30% od 1,000,000)

\(CF ≤ 200,000\) (maksimalna količina sredstava putem Crowdfundinga)

\(VC ≤ 500,000\) (maksimalna količina sredstava putem Venture Capital-a)

\(MK ≤ 150,000\) (maksimalna količina sredstava putem Mikrokredita)

\(PA ≤ 250,000\) (maksimalna količina sredstava putem Poslovnih Anđela)

\(OB ≤ 400,000\) (maksimalna količina sredstava putem Obveznica)


U ovom primjeru strukturirali smo izazov financiranja startupa koristeći linearnu optimizaciju kako bismo pokazali kako se modeliraju stvarni poslovni problemi. Definirali smo varijable odluka koje predstavljaju iznos sredstava dobivenih iz svakog financijskog izvora, funkciju cilja koja minimizira ukupne troškove financiranja te postavili ograničenja koja odražavaju specifične uvjete svakog izvora financiranja i strateške ciljeve startupa.

Ovaj model jasno pokazuje kako linearno programiranje može pomoći u donošenju optimalnih odluka u poslovnim situacijama, ako ih možemo dovoljno pojednostaviti za analizu. Kroz kvantitativnu analizu, omogućeno je informirano odlučivanje koje usklađuje financijske, strateške i operativne ciljeve.

Ako jednog dana budete pokretali vlastiti startup ili se nađete u timu koji razvija poslovne strategije, sposobnost strukturiranja i optimizacije problema poput ovog bit će vaša velika prednost. Moći ćete modelirati slične izazove – poput odabira izvora financiranja, raspodjele budžeta ili planiranja resursa – kako biste donijeli bolje odluke uz minimalne troškove i maksimalan učinak.






9. primjer

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

Zaposleni ste u Agenciji promocija d.o.o. Upravo Vam se javio novi klijent, poduzeće AZBC kojem je potreban savjet o odabiru i alokaciji sredstava za promociju putem medija pri dizajnu promotivne kampanje. U Agenciji promocija već ste prikupili sljedeće podatke: doseg potencijalnih klijenata (broj klijenata koji će vidjeti oglas), trošak po oglasu, maksimalni broj puta angažmana medija (dostupnost medija) te rejting kvalitete izloženosti za 5 medija. Podatci su prikazani tablicom.

Oglašivači / Mediji Doseg Trošak (€) Dostupnost medija Kvaliteta izloženosti
1. Dnevna TV (1 min), postaja Pula, DTV 1,000 1,500 15 65
2. Večernja TV (30 sek), postaja Pula, VTV 2,000 3,000 10 90
3. Dnevne novine (cijela stranica), Glas Pule, DNGP 1,500 400 25 40
4. Nedjeljni magazin (1/2 stranice u boji), NM 2,500 1,000 4 60
5. Radio (30 sek, u 8.00 ili 17.00 h), postaja Pulala, R 300 100 30 20

Što ćete preporučiti poduzeću AZBC ako im je kriterij maksimizirati kvalitetu izloženosti, uz budžet od 30 000 € i uvjete da mora biti bar 10 televizijskih oglasa uz maksimalni utrošak od 18000€ i ukupni doseg od bar 50 000 potencijalnih klijenata?


9.1. Strukturiranje problema


Varijable odluke

  • Iz opisa problema: “Koliko oglasa treba prikazati na svakom mediju kako bi se maksimizirala kvaliteta izloženosti, uz poštivanje svih ograničenja?”

  • Definiramo varijable odluke:

    • \(x_1\): broj oglasa na dnevnoj TV (DTV).
    • \(x_2\): broj oglasa na večernjoj TV (VTV).
    • \(x_3\): broj oglasa u dnevnim novinama (DNGP).
    • \(x_4\): broj oglasa u nedjeljnom magazinu (NM).
    • \(x_5\): broj oglasa na radiu (R).
  • Zašto su \(x_1\),\(x_2\),\(x_3\),\(x_4\),\(x_5\) varijable odluke?

    • Ove varijable predstavljaju broj oglasa koji će se prikazivati na svakom mediju.
    • Direktno utječu na funkciju cilja (maksimizacija kvalitete izloženosti).
    • Moraju zadovoljiti sva postavljena ograničenja (budžet, dostupnost medija, doseg klijenata itd.).


Funkcija cilja

Iz opisa problema:

  • Cilj je maksimizirati kvalitetu izloženosti, a kvaliteta izloženosti svakog medija definirana je u tablici:

    • DTV (\(x_1\)): 65 po oglasu.
    • VTV (\(x_2\)): 90 po oglasu.
    • DNGP (\(x_3\)): 40 po oglasu.
    • NM (\(x_4\)): 60 po oglasu.
    • R (\(x_5\)): 20 po oglasu.
  • treba nam ukupna (a ne pojedinačna) kvaliteta izloženosti, koja se dobiva množenjem broja oglasa s pripadajućom izloženosti: \(max\ 65x_1+90x_2+40x_3+60x_4+20x_5\)

  • Zašto maksimizacija? Kvaliteta izloženosti predstavlja mjerilo uspjeha kampanje, a s obzirom da želimo da kampanja bude što uspješnija, maksimiziramo kvalitetu izloženosti


Ograničenja

Ograničenja dolaze iz resursa i specifičnih zahtjeva klijenta.

Budžet

  • Trošak oglašavanja za svaki medij dan je u tablici:

    • DTV (\(x_1\)): 1500 €.
    • VTV (\(x_2\)): 3000 €.
    • DNGP (\(x_3\)): 400 €.
    • NM (\(x_4\)): 1000 €.
    • R (\(x_5\)): 100 €.
  • Ukupni trošak svih oglasa mora biti manji ili jednak budžetu od 30000 €: \(1500x_1+3000x_2+400x_3+1000x_4+100x_5≤30000\)

  • Varijable \(x_1\),\(x_2\),\(x_3\),\(x_4\),\(x_5\) predstavljaju broj oglasa za svaki medij.

  • Troškovi svakog oglasa ovise o broju oglasa na svakom mediju.

Broj televizijskih oglasa

  • Klijent zahtijeva da se prikaže barem 10 televizijskih oglasa (zbroj DTV i VTV):\(x1+x_2≥10\)
  • \(x_1\) i \(x_2\) predstavljaju broj oglasa na dnevnoj i večernjoj televiziji.
  • Ovo ograničenje osigurava minimalnu prisutnost na televiziji.

Trošak televizijskih oglasa

  • Ukupan trošak televizijskih oglasa (DTV i VTV) ne smije premašiti 18000 €: \(1500x1+3000x_2≤18000\)
  • Varijable \(x_1\) i \(x_2\) određuju broj televizijskih oglasa, dok su njihovi troškovi fiksni po oglasu 1500 € za svaki oglas putem DTV i 3000 za svaki oglas putem VTV.
  • Ovo ograničenje nameće dodatno financijsko ograničenje za televizijske oglase unutar ukupnog budžeta od 30000 €.
  • \(x_1\) predstavlja broj oglasa na dnevnoj televiziji (DTV). Trošak svakog oglasa iznosi 1500 €, pa ukupni trošak za \(x_1\) oglasa na DTV iznosi:\(1500x_1\)
  • \(x_2\) predstavlja broj oglasa na večernjoj televiziji (VTV). Trošak svakog oglasa iznosi 3000 €, pa ukupni trošak za \(x_2\) oglasa na VTV iznosi: \(3000x_2\)
  • Zbroj ukupnih troškova za DTV i VTV mora biti manji ili jednak 18000 € kako bi ograničenje bilo zadovoljeno, odnosno: \(1000x_1+2000x_2+1500x_3+2500x_4+300x_5≥50000\)

Doseg klijenata

  • Kampanja mora doseći barem 50000 potencijalnih klijenata kako bi bila uspješna: \(1000x_1+2000x_2+1500x_3+2500x_4+300x_5≥50000\)

  • Veza s varijablama odluke:

    • \(x_1\): Broj oglasa na dnevnoj TV (DTV). Svaki oglas doseže 1000 klijenata, pa ukupni doseg za \(x_1\) oglasa iznosi: \(1000x_1\)
    • \(x_2\): Broj oglasa na večernjoj TV (VTV). Svaki oglas doseže 2000 klijenata, pa ukupni doseg za \(x_2\) oglasa iznosi: \(2000x_2\)
    • \(x_3\): Broj oglasa u dnevnim novinama (DNGP). Svaki oglas doseže 1500 klijenata, pa ukupni doseg za \(x_3\) oglasa iznosi: \(1500x_3\)
    • \(x_4\): Broj oglasa u nedjeljnom magazinu (NM). Svaki oglas doseže 2500 klijenata, pa ukupni doseg za \(x_4\) oglasa iznosi: \(2500x_4\)
    • \(x_5\): Broj oglasa na radiju (R). Svaki oglas doseže 300 klijenata, pa ukupni doseg za \(x_5\) oglasa iznosi: \(300x_5\)
  • onda je ukupan doseg: \(1000x_1+2000x_2+1500x_3+2500x_4+300x_5≥50000\)

  • Ovo ograničenje osigurava da kampanja postigne željeni marketinški učinak, dosežući minimalni broj potencijalnih klijenata.

Dostupnost medija

  • Broj oglasa za svaki medij ne smije premašiti njihovu maksimalnu dostupnost
  • Ograničenje odražava realne kapacitete, odnosno smislenu količinu oglašavanja putem svakog medija. Bez njega bi model mogao predložiti nerealno velik broj oglasa za određeni medij.
  • \(x_1\): Broj oglasa na dnevnoj TV (DTV), maksimalna dostupnost: 15 oglasa.
  • \(x_2\): Broj oglasa na večernjoj TV (VTV), maksimalna dostupnost: 10 oglasa.
  • \(x_3\): Broj oglasa u dnevnim novinama (DNGP), maksimalna dostupnost: 25 oglasa.
  • \(x_4\): Broj oglasa u nedjeljnom magazinu (NM), maksimalna dostupnost: 4 oglasa.
  • \(x_5\): Broj oglasa na radiju (R), maksimalna dostupnost: 30 oglasa.
  • Ovo rezultira s pet ograničenja:

\(x_1≤15\)

\(x_2≤10\)

\(x_3≤25\)

\(x_4≤4\)

\(x_5≤30\)

Ne-negativnost varijabli

  • Broj oglasa ne može biti negativan: \(x1,x_2,x_3,x_4,x_5≥0\)


9.2. Model


Funkcija cilja:

\[ \text{Max } 65x_1 + 90x_2 + 40x_3 + 60x_4 + 20x_5 \]

Ograničenja:

Dostupnost medija:

\[ \begin{aligned} x_1 &\leq 15 \quad &\text{(maksimalno 15 oglasa na dnevnoj TV, \(x_1\))} \\ x_2 &\leq 10 \quad &\text{(maksimalno 10 oglasa na večernjoj TV, \(x_2\))} \\ x_3 &\leq 25 \quad &\text{(maksimalno 25 oglasa u dnevnim novinama, \(x_3\))} \\ x_4 &\leq 4 \quad &\text{(maksimalno 4 oglasa u nedjeljnom magazinu, \(x_4\))} \\ x_5 &\leq 30 \quad &\text{(maksimalno 30 oglasa na radiju, \(x_5\))} \end{aligned} \]

  1. Ukupni trošak oglašavanja:

\[ 1500x_1 + 3000x_2 + 400x_3 + 1000x_4 + 100x_5 \leq 30000 \]

  1. Minimalni broj televizijskih oglasa:

\[ x_1 + x_2 \geq 10 \]

  1. Trošak televizijskih oglasa:

\[ 1500x_1 + 3000x_2 \leq 18000 \]

  1. Ukupni doseg potencijalnih klijenata:

\[ 1000x_1 + 2000x_2 + 1500x_3 + 2500x_4 + 300x_5 \geq 50000 \]

  1. Ne-negativnost varijabli:

\[ x_1, x_2, x_3, x_4, x_5 \geq 0 \]


U ovom primjeru analizirali smo kako strukturirati problem optimizacije marketinške kampanje. Varijable odluke (broj oglasa po mediju) i funkcija cilja (maksimizacija kvalitete izloženosti) jasno su definirane, dok ograničenja uključuju budžet, doseg klijenata i dostupnost medija. Naučili smo kako modelirati kompleksne ciljeve koji uključuju više kriterija, poput troška i dosega, unutar jedinstvenog matematičkog okvira.

Marketinške odluke često se temelje na intuiciji, no uz ovakav pristup, možete donositi odluke temeljene na analizi podataka i preciznim proračunima. Također, na konceptualnoj razini, zapravo smo utvrdili kako najbolje iskoristiti vrijeme. Možda vas to inspirira za vlastiti model kako najbolje iskoristiti vrijeme?






10. primjer

U ambulanti jutro započinje uobičajenom žurbom. Medicinska sestra zadužena za zalihe lijekova i pripremu otopina za pacijente, suočava se s posebnim izazovom. U ambulantu su pristigle dvije osobe za čije su liječenje potrebne dvije vrste otopina koje se koriste za liječenje pacijenata – hidratacijsku otopinu, koja pomaže u obnavljanju tekućine i elektrolita, i nutritivnu otopinu, koja pacijentima pruža osnovne hranjive tvari potrebne za oporavak. Uočila je da tih otopina nema na stanju. Ipak, te se otopine mogu pripremiti temeljem drugih sastojaka.

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

Otopine se pripremaju iz unaprijed određene količine četiri glavna sastojka: fiziološka otopina, glukoza, kalijev klorid i multivitamini. Hidratacijska otopina zahtijeva precizno kombiniranje fiziološke otopine, glukoze, kalijevog klorida i dodatka vitamina B-kompleksa. Nutritivna otopina sadrži iste sastojke, ali u drugačijim omjerima, kako bi zadovoljila specifične nutritivne potrebe pacijenata. Dok pregledava zalihe u ljekarni, Ana primjećuje ograničenja. Fiziološke otopine ima nešto više, ali zalihe glukoze i kalijevog klorida su ograničene. B-kompleksa, koji se dodaje u malim količinama, također nema puno. Dakle, ukupna količina svakog sastojka je ograničena, što otežava zadatak pripreme maksimalnih mogućih količina obje otopine uz poštivanje preciznih recepata.

  • Otopina za rehidraciju: Namijenjena je pacijentima kojima je potrebna obnova i održavanje ravnoteže tekućina i elektrolita. Ova otopina osigurava optimalnu hidraciju organizma te pomaže u oporavku nakon dehidracije uzrokovane povraćanjem, proljevom ili drugim medicinskim stanjima.
  • Otopina za nutritivnu podršku: Koristi se za pacijente koji nisu u mogućnosti unositi hranu na uobičajen način, primjerice zbog poteškoća s gutanjem, postoperativnog stanja ili kroničnih bolesti. Ova otopina sadrži osnovne nutritivne tvari koje omogućuju održavanje energetskog statusa i doprinosi oporavku organizma.

Svaka od ovih otopina ima jasno definirane proporcije sastojaka, a njihova ukupna količina mora biti unutar dozvoljenih granica. Medicinska sestra ima sljedeće količine sastojaka na raspolaganju:

  • Fiziološka otopina (NaCl, 0.9%): maksimalno 2 litre
  • Glukoza (5% otopina): maksimalno 600 ml
  • Kalijev klorid (KCl, 0.3% otopina): maksimalno 150 ml
  • B-kompleks (tekuća otopina): maksimalno 150 ml

Također, kako je već naglašeno ranije, otopine je važno pripremiti strogo prema receptima. Recept za otopinu za hidrataciju:

  • Fiziološka otopina: čini 50% do 70% ukupne količine.
  • Glukoza: čini 20% do 40% ukupne količine.
  • Kalijev klorid: uvijek čini 5% ukupne količine.
  • B-kompleks: do 5% ukupne količine.

Recept za otopinu za nutritivnu podršku:

  • Fiziološka otopina: čini 30% do 50% ukupne količine.
  • Glukoza: čini 40% do 60% ukupne količine.
  • Kalijev klorid: uvijek čini 5% ukupne količine.
  • B-kompleks: čini 10% do 15% ukupne količine.

Koje su najveće količine otopine za rehidraciju i otopine za nutritivnu podršku koje sestra može pripremiti uzimajući u obzir raspoložive zalihe sastojaka i postavljena ograničenja? Svaka otopina mora zadovoljiti određene zahtjeve glede sastava, a uz to, minimalna količina koja se mora isporučiti je 0,5 litre za svaku od otopina.


10.1. Strukturiranje problema


Ovo je sigurno jedan od slučajeva u kojima nam tablica može pomoći za pregledan prikaz proporcija i ukupnih količina. Može se uočiti da smo ovdje već mjerne jedinice dostupnih količina ujednačili i to prema mjernoj jedinici minimalnih količina koje se potražuju

Sastojak Proporcija u x1 (Rehidracija) Proporcija u x2 (Nutritivna podrška) Maksimalno dostupno (litre/ml)
Fiziološka otopina 50% - 70% 30% - 50% 2
Glukoza 20% - 40% 40% - 60% 0.6
Kalijev klorid 5% 5% 0.15
B-kompleks do 5% 10% - 15% 0.15
Min. količine 0,5 l 0,5 l /


Varijable odluka

Možda će se nekome činiti na prvi pogled da je ovo slično kuhanju ručka, čak imamo i recept. Imamo neke sastojke i intuitivno ih krećemo koristiti, pa eventualno dodajemo još sastojaka kako bi postogli odgovarajuću teksturu ili gustoću. Slično, u stvarnom životu, medicinska sestra će vjerojatno najprije razmišljati o dostupnim sastojcima, uostalom, mora i provjeriti što ima na raspolaganju.

Sastojci su osnovni resursi koji određuju što se može pripremiti, pa se često intuitivno usmjeravamo na procjenu zaliha i sastojke. Međutim, ovdje fokus prvenstveno treba biti na onom što želimo postići (otopine) i to činimo strukturirano, a ne proizvoljno (kao što bi to bio slučaj s kuhanjem ručka od dostupnih namirnica). Dakle, u strukturiranom pristupu pri identifikaciji varijabli odluka, moramo koristiti količine otopina (rehidratacijske i nutritivne) kao varijable odluke. To znači da se pomoću modela odlučuje koliko će pripremiti litara otopine za rehidraciju i otopine za nutritivnu podršku.

To zapisujemo na sljedeći način:

  • \(x_1\): količina otopine za rehidraciju (u litrama).
  • \(x_2\): količina otopine za nutritivnu podršku (u litrama).

Međutim, zbog recepata koji preciziraju udjele pojedinih sastojaka u otopinama, količine sastojaka će također postati varijable odluka. Za svaku otopinu, sastojci su specificirani kao postotci ukupne količine otopine (\(x_1\) ili \(x_2\)), a zbroj tih sastojaka ujedno predstavlja ukupne količine otopina, tj. \(x_1\) i \(x_2\). Drugim riječima, stvarna upotreba svakog sastojka je funkcija ukupne količine otopine i ako bismo to htjeli direktno modelirati, dobili bismo nelinearni model, i to prilično zapetljani.

Kako bismo zadržali problem linearnim, sastojci se definiraju kao zasebne varijable odluke. To znači da se definiraju varijable poput \(f_1\) (količina fiziološke otopine za rehidraciju) i \(g_1\)​ (količina glukoze za rehidraciju), itd.. Definiranjem sastojaka kao varijabli odluka, možemo izravno postaviti ograničenja za udjele sastojaka u otopinama na način da model ostaje linearan i jednostavan. Time postižemo jednostavniji i učinkovitiji pristup rješavanju problema.

Označimo preostale varijable odluke kao količine pojedinih sastojaka koje se koriste za pripremu otopina:

  • \(f_1\): količina fiziološke otopine korištena za otopinu za rehidraciju (u litrima).
  • \(f_2\): količina fiziološke otopine korištena za otopinu za nutritivnu podršku (u litrima).
  • \(g_1\): količina glukoze korištena za otopinu za rehidraciju (u litrima).
  • \(g_2\): količina glukoze korištena za otopinu za nutritivnu podršku (u litrima).
  • \(k_1\): količina kalijevog klorida korištena za otopinu za rehidraciju (u litrima).
  • \(k_2\): količina kalijevog klorida korištena za otopinu za nutritivnu podršku (u litrima).
  • \(b_1\): količina B-kompleksa korištena za otopinu za rehidraciju (u litrima).
  • \(b_2\): količina B-kompleksa korištena za otopinu za nutritivnu podršku (u litrima).

Prije nego nastavimo dalje, bit će korisno usporediti/ povezati sa 6. Primjerom, uz utvrđivanje sličnosti i razlika u definiranju varijabli odluka. Naime, može se činiti da je zadatak konceptualno sličan, pa ćemo se zbog toga detaljnije pozabaviti time.

Glavne razlike odnose se na prirodu varijabli odluka i način na koji su one povezane s ciljem i ograničenjima. U primjeru 6, varijable odluka predstavljaju količine pojedinih sastojaka (u gramima) koje se koriste za izradu obroka. Te varijable izravno definiraju konkretne sastojke i njihove količine, poput kvinoje, leće ili brokule. Zbroj tih varijabli mora zadovoljiti zadane ciljeve i ograničenja, kao što su minimalni unos proteina, vlakana i vitamina te maksimalni broj kalorija i ukupna težina obroka. Modeliranje je relativno jednostavno jer svaka varijabla izravno doprinosi ukupnim nutritivnim vrijednostima i troškovima, bez potrebe za dodatnim poveznicama ili proporcionalnim zahtjevima. Može se reći da je cilj 6. primjera zapravo kreiranje ‘recepta’.

S druge strane, u ovom primjeru, varijable odluka prvenstveno predstavljaju količine gotovih proizvoda – rehidratacijskih i nutritivnih otopina. Sastojci tih otopina, poput fiziološke otopine, glukoze, kalijevog klorida i B-kompleksa, postaju sekundarne varijable koje su definirane proporcionalnim zahtjevima prema receptima. Ovdje su glavni fokus varijable \(x_1\) i \(x_2\), koje predstavljaju ukupne količine otopina, dok količine sastojaka ovise o proporcijama definiranima u receptima i zapravo predstavljaju pomoćne radnje. Ova struktura zahtijeva složenija ograničenja kako bi se osigurala usklađenost s dostupnim zalihama i pravilnim omjerima sastojaka. Ovdje već imamo zadan recept i moramo isporučiti određene finalne količine, a pritom prilagoditi količine sastojaka s obzirom na recept i ograničenja.

Općenito, primjer 6 može se smatrati klasičnim problemom kreiranja mješavine (mixing problem), gdje se različiti sastojci kombiniraju kako bi zadovoljili nutritivne i troškovne zahtjeve. Sastojak doprinosi cilju samostalno. Primjer 10 je složeniji problem proporcionalne optimizacije, gdje proporcije igraju ključnu ulogu i definiraju međusobnu povezanost varijabli odluka.


Funkcija cilja

Funkcija cilja ima za cilj maksimizirati količinu pripremljenih otopina – rehidratacijske i nutritivne – uz poštivanje svih ograničenja dostupnih resursa i proporcija sastojaka. Preciznije, cilj je maksimizirati ukupnu količinu pripremljenih otopina. Funkcija cilja može se zapisati kao: \(max\ x_1 + x_2\)

  • Svaka litra otopine doprinosi jednako cilju, pa težinski koeficijenti varijabli u funkciji cilja imaju vrijednost 1.

  • Funkcija cilja postavlja fokus na maksimalnu proizvodnju obje otopine, što je u skladu s potrebama pacijenata i medicinske sestre.

  • pritom će vrijediti i ovi uvjeti, odnosno ograničenja:

    • \(x_1=f_1+g_1+k_1+b_1\) (ukupna količina otopine za rehidraciju),
    • \(x_2=f_2+g_2+k_2+b_2\) (ukupna količina otopine za nutritivnu podršku).

Ograničenja

Medicinska sestra ima ograničene zalihe fiziološke otopine, glukoze, kalijevog klorida i B-kompleksa. Ukupna količina svakog sastojka ne smije premašiti dostupne zalihe (iako ovo već piše u prethodnom tekstu, ponekad je zgodno kopirati određeni dio da se možemo fokusirati na sastavljanje ograničenja, bez skrolanja gore-dolje, što ometa koncentraciju):

  • Fiziološka otopina : najviše 2 litre.
  • Glukoza : najviše 600 ml.
  • Kalijev klorid: najviše 150 ml.
  • B-kompleks: najviše 150 ml.

Ali ti sastojci se koriste u različitim udjelima u pojedinoj otopini. Stoga, ograničenja za svaki sastojak postavljamo kao linearnu kombinaciju udjela u otopinama:

  • Fiziološka otopina se koristi u količini od 0.5 od 0.7 litre po litri otopine za rehidraciju (\(x_1\)) i 0.3 do 0.5 litre po litri otopine za nutritivnu podršku (\(x_2\)), a ukupno je moguće potrošiti do 2 litre fiziološke otopine:

    • \(f_1+f_2≤2\) - ovo ograničenje limitira ukupnu upotrebu fiziološke otopine za obje otopine
    • \(0.5x_1≤f_1≤0.7x_1\) - ovo ograničenje definira kako se koristi fiziološka otopina za otopinu za rehidraciju
    • ovo ćemo razdvojiti u zasebna ograničenja i prilagoditi na način da se sve varijable odluke nađu s lijeve strane.
    • \(0.5x_1≤f_1\), što je prilagođeno: \(0.5x_1-f_1≤0\)
    • odnosno, \(f_1≤0.7x_1\) je prilagođeno: \(f_1-0.7x_1≤0\)
    • \(0.3x_2≤f_2≤0.5x_2\) - ovo ograničenje definira kako se koristi fiziološka otopina za otopinu za nutritivnu podršku
    • ovo ćemo razdvojiti u zasebna ograničenja i prilagoditi na način da se sve varijable odluke nađu s lijeve strane.
    • \(0.3x_2≤f_2\), što je prilagođeno: \(0.3x_2-f_2≤0\)
    • odnosno, \(f_2≤0.5x_2\) je prilagođeno: \(f_2-0.5x_2≤0\)
  • Glukoza se koristi u količini od 0.2 do 0.4 litre po litri otopine za rehidraciju (\(x_1\)) i od 0.4 do 0.6 litre po litri otopine za nutritivnu podršku (\(x_2\)), a ukupno je na raspolaganju do 600 ml glukoze:

    • \(g_1+g_2≤0.6\) - ovo ograničenje limitira ukupnu upotrebu glukoze za obje otopine
    • \(0.2x_1≤g_1≤0.4x_1\) - ovo ograničenje definira kako se koristi glukoza za otopinu za rehidraciju
    • ovo ćemo razdvojiti u zasebna ograničenja i prilagoditi na način da se sve varijable odluke nađu s lijeve strane.
    • \(0.2x_1≤g_1\), što je prilagođeno: \(0.2x_1-g_1≤0\)
    • odnosno, \(g_1≤0.4x_1\) je prilagođeno: \(g_1-0.4x_1≤0\)
    • \(0.4x_2≤g_2≤0.6x_2\) - ovo ograničenje definira kako se koristi glukoza za otopinu za nutritivnu podršku
    • ovo ćemo razdvojiti u zasebna ograničenja i prilagoditi na način da se sve varijable odluke nađu s lijeve strane.
    • \(0.4x_2≤g_2\), što je prilagođeno: \(0.4x_2-g_2≤0\)
    • odnosno, \(g_2≤0.6x_2\) je prilagođeno: \(g_2-0.6x_2≤0\)
  • Kalijev klorid se koristi u količini od 0.05 litre po litri otopine za rehidraciju (\(x_1\)) i 0.05 litre po litri otopine za nutritivnu podršku (\(x_2\)), a ukupno je na raspolaganju do 150 ml kalijevog klorida:

    • \(k_1+k_2≤0.15\) - ovo ograničenje limitira ukupnu upotrebu kalijevog klorida za obje otopine
    • \(0.5x_1=k_1\) - ovo ograničenje definira kako se koristi kalijev klorid za otopinu za rehidraciju, odnosno \(0.5x_1-k_1=0\)
    • \(0.5x_2=k_2\) - ovo ograničenje definira kako se koristi kalijev klorid za otopinu za nutritivnu podršku, odnosno \(0.5x_2-k_2=0\)
  • B-kompleks se koristi u količini do 0.05 litre po litri otopine za rehidraciju (\(x_1\)) i između 0.1 i 0.15 litre po litri otopine za nutritivnu podršku (\(x_2\)), pri čemu je ukupno na raspolaganju 150 ml B-kompleksa:

    • \(b_1+b_2≤0.15\) - ovo ograničenje limitira ukupnu upotrebu B-kompleksa za obje otopine
    • \(0.05x_1≤b_1\) - ovo ograničenje definira kako se koristi B-kompleks za otopinu za rehidraciju, odnosno \(0.05x_1-b_1≤0\)
    • \(0.1x_2≤b_2≤0.15x_2\) - ovo ograničenje definira kako se koristi B-kompleks za otopinu za nutritivnu podršku
    • ovo ćemo razdvojiti u zasebna ograničenja i prilagoditi na način da se sve varijable odluke nađu s lijeve strane.
    • \(0.1x_2≤b_2\), što je prilagođeno: \(0.1x_2-b_2≤0\)
    • odnosno, \(b_2≤0.15x_2\) je prilagođeno: \(b_2-0.15x_2≤0\)

Ova ograničenja osiguravaju da količine svakog sastojka koje se koriste u pripremi otopina ne premašuju dostupne zalihe i da se pripreme po receptu.Ranije su navedena dva ograničenja pri pojašnjenju funkcije cilja, a sad ćemo ih ponoviti, kako bi bili pravilno sistematizirani:

  • \(x_1=f_1+g_1+k_1+b_1\) (ukupna količina otopine za rehidraciju mora biti jednaka zbroju količina svih iskorištenih sastojaka),
  • \(x_2=f_2+g_2+k_2+b_2\) (ukupna količina otopine za nutritivnu podršku mora biti jednaka zbroju količina svih iskorištenih sastojaka).

U opisu preblome zadano je da treba kreirati barem 0.5 litara svake otopine, pa to moramo zasebno postaviti kao ograničenja:

  • \(x_1 \geq 0.5\) (minimalno pola litre otopine za rehidraciju)
  • \(x_2 \geq 0.5\) (minimalno pola litre otopine za nutritivnu podršku)

Ograničenja modela osiguravaju da količine sastojaka zadovoljavaju dostupne zalihe i da svaka otopina slijedi točno definirane recepte. Ova ograničenja također povezuju ukupne količine otopina s količinama sastojaka, omogućujući točno određivanje njihovih proporcija u skladu s receptima.


10.2. Model


Funkcija cilja

\[\text{max}\ x_1 + x_2\]

Ograničenja

  1. Ukupne zalihe:

    \[f_1 + f_2 \leq 2\]

    \[g_1 + g_2 \leq 0.6\]

    \[k_1 + k_2 \leq 0.15\]

    \[b_1 + b_2 \leq 0.15\]

  2. Fiziološka otopina:

    \[0.5x_1 - f_1 \leq 0\]

    \[f_1 - 0.7x_1 \leq 0\]

    \[0.3x_2 - f_2 \leq 0\]

    \[f_2 - 0.5x_2 \leq 0\]

  3. Glukoza:

    \[0.2x_1 - g_1 \leq 0\]

    \[g_1 - 0.4x_1 \leq 0\]

    \[0.4x_2 - g_2 \leq 0\]

    \[g_2 - 0.6x_2 \leq 0\]

  4. Kalijev klorid:

    \[ 0.05x_1 - k_1 = 0\]

    \[ 0.05x_2 - k_2 = 0\]

  5. B-kompleks:

    \[0.05x_1 - b_1 \leq 0\]

    \[0.1x_2 - b_2 \leq 0\]

    \[b_2 - 0.15x_2 \leq 0\]

  6. Ukupne količine otopina

\[x_1=f_1+g_1+k_1+b_1\]

\[x_2=f_2+g_2+k_2+b_2\]

  1. Minimalna količina otopina

\[x_1 \geq 0.5\]

\[x_2 \geq 0.5\]

  1. Uvjet nenegativnosti

\(x_1, x_2, f_1, f_2, g_1, g_2, k_1, k_2, b_1, b_2 \geq 0\)


S obzirom na ograničene resurse i precizne recepte za pripremu otopina, ovaj model omogućuje medicinskoj sestri optimalno iskorištavanje dostupnih sastojaka za pripremu najvećih mogućih količina otopine za rehidraciju i otopine za nutritivnu podršku. Sve to bilo bi još lakše uz postojanje jednostavne aplikacije, koja bi mogla značajno olakšati rad medicinskim sestrama i drugim zdravstvenim radnicima. Takva aplikacija mogla bi omogućiti unos dostupnih količina sastojaka i recepata te automatski izračunati optimalne količine otopina koje se mogu pripremiti, a to je nešto što bi npr. studenti studija informatika s lakoćom mogli napraviti.

Ovaj primjer ilustrira kako matematičko modeliranje može pomoći u stvarnim situacijama, čak i izvan industrijskih procesa ili proizvodnje. Medicinsko okruženje zahtijeva pažljivo planiranje i donošenje odluka, često u uvjetima ograničenih resursa i visokog pritiska. Matematički pristup osigurava strukturu i jasnoću, omogućujući postizanje najboljeg mogućeg ishoda.

Model nije samo alat za rješavanje problema, već i koristan okvir za razmišljanje. Ovaj pristup ne samo da podržava praktično donošenje odluka, nego i ilustrira važnost kvantitativnog razmišljanja u kontekstu svakodnevnih profesionalnih izazova. Medicinske sestre i drugi zdravstveni radnici mogu primijeniti slične principe kako bi se uspješno nosili s ograničenjima i složenim zahtjevima.






11. primjer

Simbolična ilustracija

Simbolična ilustracija
Izvor: DALL-E

U današnjem globalnom poslovnom okruženju, korporativna odgovornost postala je ne samo moralna obaveza, već i poslovni imperativ. Tvrtke sve više shvaćaju da odgovorno poslovanje može dovesti do povećanja profita, boljeg odnosa s zajednicom i smanjenja ekološkog otiska.

Tvrtka „Stayzila“ razmatra sedam ključnih inicijativa korporativne odgovornosti kako bi smanjila svoj utjecaj na okoliš, poboljšala odnose s lokalnom zajednicom te podržala obrazovanje i zdravstvo. Svaka od ovih inicijativa ima svoje početne troškove, ali dugoročni povrat ulaganja kroz poboljšanu reputaciju, povećane prodaje ili smanjenje regulatornih kazni može biti značajan.

S obzirom na različite troškove i povrate svake inicijative, tvrtka teži optimalnoj raspodjeli sredstava kako bi postigla najveću korist uz minimalne troškove. Kako bi se ovo postiglo, tvrtka treba uzeti u obzir brojne faktore, poput kapaciteta za edukaciju zaposlenika, očekivanog smanjenja emisije ugljika i dostupnog financiranja.

Inicijative su:

  • Ulaganja u obnovljive izvore energije - ulaganje u tehnologije koje proizvode energiju iz obnovljivih izvora poput vjetra ili sunca. Za svakih 100 MWh energije, trošak je $200,000.
  • Ulaganja u lokalnu zajednicu - financiranje projekata kao što su izgradnja škola ili bolnica. Svaki projekt košta $150,000.
  • Ulaganja u reciklažu i smanjenje otpada - smanjenje količine otpada koja završava na odlagalištima. Trošak recikliranja deset tona otpada iznosi $100,000.
  • Edukacija zaposlenika o održivosti - pružanje obuke zaposlenicima kako bi postali svjesniji važnosti održivosti. Trošak edukacije jednog zaposlenika je $5,000.
  • Ulaganja u ekološki prihvatljive materijale - korištenje materijala koji su manje štetni za okoliš. Trošak zamjene materijala za jednu tonu iznosi $120,000.
  • Partnerstva s nevladinim organizacijama za održivost - suradnja s organizacijama koje promoviraju održivost. Trošak jednog partnerstva iznosi $20,000.
  • Ulaganja u programe za smanjenje emisije ugljika - smanjenje količine CO2 koja se oslobađa u atmosferu. Za svakih 10 tona smanjenja emisije, trošak je $110,000.

Cilj tvrtke je minimizirati ukupne troškove dok udovoljava sljedećim ograničenjima:

  • Proizvodnja najmanje 100 MWh energije iz obnovljivih izvora.
  • Provođenje najmanje 2 projekta u lokalnoj zajednici. Tolerira se ako projekti ne budu provedeni do kraja u sklopu plana (odnosno vremenskog razdoblja plana), što znači da se neki projekt može započeti i odraditi djelomično (tj. ne mora biti cjelobrojna vrijednost).
  • Recikliranje ili smanjenje najmanje 50 tona otpada.
  • Edukacija najmanje 50 zaposlenika o održivosti.
  • Zamjena materijala za najmanje 20 tona ekološki prihvatljivim materijalima.
  • Sklapanje partnerstva s najmanje 2 nevladine organizacije.
  • Ukupni trošak svih inicijativa mora biti manji ili jednak $5,000,000.
  • Uzimanje u obzir povratne informacije iz zajednice kroz najmanje 4 partnerstva ili projekta (s time da se svako partnerstvo s nevladinom organizacijom računa kao pola partnerstva ili projekta). Partnerstva mogu biti i djelomično realizirana.
  • Ukupna proizvodnja energije ne smije preći 500 MWh.
  • Maksimalni kapacitet edukacije je 400 zaposlenika. Moguće je da zaposlenik prođe dio edukacije.
  • Očekuje se smanjenje emisije CO2 od najmanje 50 tona.


11.1. Strukturiranje problema


Varijable odluke:

  • Varijable odluke predstavljaju broj ili količinu svakog tipa inicijative u kojoj će tvrtka sudjelovati. To su:

    • \(x_1\): Ulaganja u obnovljive izvore energije (MWh)
    • \(x_2\): Ulaganja u lokalnu zajednicu (projekti)
    • \(x_3\): Ulaganja u reciklažu i smanjenje otpada (tona)
    • \(x_4\): Ulaganja u edukaciju zaposlenika (zaposlenici)
    • \(x_5\): Ulaganja u ekološki prihvatljive materijale (tona)
    • \(x_6\): Partnerstva s nevladinim organizacijama za održivost (partnerstva)
    • \(x_7\): Ulaganja u programe za smanjenje emisije ugljika (tona CO2)
  • Zašto su ove varijable odabrane?

    • \(x_1\): Direktno odražava količinu energije proizvedene iz obnovljivih izvora, što je ključni cilj ekološke odgovornosti.
    • \(x_2\): Lokalni projekti su mjerljivi putem broja realiziranih projekata, što omogućava kvantifikaciju društvene odgovornosti.
    • \(x_3\): Reciklirani ili smanjeni otpad odražava napredak prema smanjenju utjecaja na okoliš.
    • \(x_4\): Edukacija zaposlenika mjeri se brojem osoba koje sudjeluju, što osigurava konkretne rezultate u podizanju svijesti.
    • \(x_5\): Zamjena materijala jasno se izražava u tonama, čime se prati napredak prema održivosti u opskrbnom lancu.
    • \(x_6\): Partnerstva s nevladinim organizacijama mjerljiva su kroz broj suradnji, što odražava vanjske napore u održivosti.
    • \(x_7\): Količina smanjene emisije CO2 mjerljiva je u tonama, što jasno kvantificira ekološki utjecaj.
  • Dakle, svaka od ovih varijabli vezana je uz ostvarenje cilja (odnosno, funkciju cilja) te ograničenja (barem jedno)


Funkcija cilja:

  • Iz opisa problema: Cilj je minimizirati ukupne troškove ulaganja u sve inicijative.
  • Svaka inicijativa ima specifični trošak, a ukupni troškovi su linearna kombinacija broja/količine ulaganja i njihovih troškova: \(Min\ 200000/100\cdot x_1+150000x_2+100000x_3+5000x_4+120000x_5+20000x_6+110000x_7\), gdje \(2000x_1\) odražava trošak ulaganja od \(200000/100\) u svaki MWh od \(x_1\) MWh iz izvora obnovljive energije (trošak je dan za 100MWh, pa dijelimo sa 100 da bismo imali jedinični trošak), \(150000x_2\) odražava trošak od \(150000\) laganja u u svaki od \(x_2\) projekata vezanih uz lokalnu zajednicu, itd.
  • Zašto minimizacija? Iako su sve ove inicijative orijentirane na održivost (uglavnom percipirana pozitivno i nešto što bismo htjeli maksimizirati), glavni cilj tvrtke je smanjiti troškove, odnosno minimizirati troškove, čime se osigurava financijska održivost projekta korporativne odgovornosti.


Ograničenja:

Svaka inicijativa ima minimalne ciljeve koje mora ispuniti:

  • Obnovljivi izvori energije

    • Tvrtka se obavezala postizati održivost kroz proizvodnju energije iz obnovljivih izvora (vjetar ili sunce). Ovo je bazna inicijativa koja direktno doprinosi smanjenju ekološkog otiska i smanjenju ovisnosti o neobnovljivim izvorima energije.
    • Iz opisa problema proizlazi da je 100 MWh realistična i mjerljiva početna točka, temeljena na potrebama ili kapacitetima tvrtke i zahtjevima regulatora.
    • Granica od 100 MWh postavlja se kao minimalna kvota jer to predstavlja osnovu za smanjenje emisije CO₂ i povećanje održivosti.
    • Mora se proizvesti barem 100 MWh energije: \(x_1≥100\)
  • Projekti u lokalnoj zajednici

    • Tvrtka „Stayzila“ nastoji poboljšati odnose s lokalnom zajednicom financiranjem važnih projekata (npr. škole ili bolnice). Ovo ograničenje osigurava minimalnu uključenost tvrtke u zajednički razvoj.
    • Realizacija barem 2 projekta (ili djelomičnog doprinosa projektima) osigurava vidljiv učinak ulaganja. Broj je dovoljno mali za ostvarivost unutar budžeta, ali i dovoljan za ostvarenje značajnog utjecaja na zajednicu.
    • Mogućnost djelomičnog doprinosa projektima znači da projekti ne moraju poprimiti cjelobrojnu vrijednost (stoga možemo koristiti jednostani model linearnog programiranja)
    • Financiranje dvaju projekata omogućuje tvrtki da postigne konkretne rezultate (npr. izgradnja igrališta za djecu ili uređenje prostora za mlade). Ako bi broj bio manji, efekti ulaganja na lokalnu zajednicu ne bi bili značajni.
    • Mora se realizirati barem 2 projekta: \(x_2≥2\)
  • Recikliranje otpada

    • Smanjenje otpada koji završava na odlagalištima ključan je cilj za smanjenje ekološkog otiska tvrtke. Recikliranje ili smanjenje otpada pomaže u održivom upravljanju resursima.
    • 50 tona predstavlja značajnu, ali dostižnu količinu za tvrtku, temeljenu na trenutnim kapacitetima i potrebama za ekološkim smanjenjem otpada.
    • Ako tvrtka reciklira manje od 50 tona otpada, ne bi ispunila svoj ključni cilj u održivosti, čime bi riskirala kritike od zajednice, a vjerojatno i regulatornih tijela.
    • Mora se reciklirati najmanje 50 tona otpada: \(x_3≥50\)
  • Edukacija zaposlenika

    • Edukacija zaposlenika je preduvjet za promicanje svijesti o održivosti unutar tvrtke. To vodi dugoročnim promjenama u kulturi poslovanja.
    • Ovaj broj osigurava kritičnu masu zaposlenika koja će širiti znanje i vrijednosti održivosti unutar organizacije.
    • Edukacija manje od 50 zaposlenika mogla bi rezultirati nedovoljnom internom promjenom, dok je broj od 50 prag koji osigurava minimalni učinak.
    • Mora se educirati najmanje 50 zaposlenika: \(x_4≥50\)
  • Zamjena materijala

    • Zamjena tradicionalnih materijala ekološki prihvatljivima smanjuje negativan utjecaj tvrtke na okoliš. Ta komponenta pridonosi održivosti u opskrbnom lancu.
    • Zamjena 20 tona materijala osigurava značajno smanjenje ekološkog otiska, dok ostaje dostižno unutar financijskih kapaciteta.
    • Ako tvrtka zamijeni manje od 20 tona, procijenjeno je da ekološke koristi neće biti dovoljno značajne da opravdaju ulaganje.
    • mora se zamijeniti najmanje 20 tona materijala: \(x_5≥20\)
  • Partnerstva

    • Partnerstva s nevladinim organizacijama predstavljaju način za postizanje ciljeva održivosti kroz suradnju i razmjenu stručnosti.
    • Dva partnerstva omogućuju tvrtki dovoljno podrške za ostvarivanje konkretnih rezultata, dok ostaju dostižna unutar raspoloživih resursa.
    • Manje od dva partnerstva moglo bi ograničiti mogućnosti tvrtke za postizanje održivih ciljeva.
    • Mora se uspostaviti najmanje 2 partnerstva: \(x_6≥2\)
  • Smanjenje emisije CO2

    • Smanjenje emisije CO2 važno je za smanjenje ekološkog otiska i usklađivanje s regulatornim standardima.
    • Smanjenje za 50 tona predstavlja prag koji pokazuje značajan ekološki napredak, a pritom ostaje izvedivo unutar budžeta i tehničkih kapaciteta.
    • Ako tvrtka smanji emisiju za manje od 50 tona, učinak na okoliš bio bi zanemariv, a to bi moglo utjecati na reputaciju.
    • Mora se smanjiti emisija za najmanje 50 tona: \(x_7≥50\)
  • Financijska ograničenja:

    • Ukupni troškovi svih inicijativa ne smiju premašiti budžet od 5 milijuna €
    • Ova granica osigurava da ulaganja budu financijski održiva i ne ugroze poslovanje.
    • Ako ukupni troškovi prelaze 5 milijuna €, tvrtka ne bi mogla implementirati inicijative bez ugrožavanja ostalih poslovnih ciljeva.
    • Uz svaku inicijativu vezan je određeni trošak, već ranije komentiran za funkciju cilja koja predstavlja minimzaciju troška. Ali, ovdje imamo dodatno ograničenje budžeta vezanog uz trošak, pa i to treba navesti.
    • Ukupan trošak inicijativa mora biti manje od 5 milijuna €: \(2000x_1+150000x_2+100000x_3+5000x_4+120000x_5+20000x_6+110000x_7≤5000000\)
  • Kapacitet edukacije

    • Ograničenje od 400 zaposlenika postavlja prag za broj ljudi koji mogu sudjelovati u programima edukacije, ovisno o dostupnim resursima, vremenskom okviru, prostorima za edukaciju, i drugim logističkim čimbenicima.
    • Ako tvrtka nastoji podići svijest o održivosti među svojim zaposlenicima, edukacija mora biti dostižna u skladu s njihovim kapacitetima. Ovaj broj također odražava najveći broj zaposlenika koji mogu biti obučeni u dostupnom vremenu, prostoru, proračunu, prostoru za edukaciju, dostupnim instruktorima i tako dalje, ali i s obzirom na izostanke s radnog mjesta zbog edukacija. Umjesto da se svako od ovih ograničenja razmatra zasebno, temeljem inicijalnih razmatranja, ovdje su već objedinjeni u obliku kapaciteta edukacije.
    • Ova brojka omogućava sustavno širenje znanja i održivosti unutar tvrtke, ali istovremeno osigurava da se proces može provesti bez pretjeranog resursnog opterećenja.
    • Maksimalno se može educirati 400 zaposlenika: \(x_4≤400\)
  • Kapacitet obnovljivih izvora energije

    • Kapacitet obnovljivih izvora energije odnosi se na maksimalnu količinu energije koju tvrtka može proizvesti iz obnovljivih izvora (vjetar, sunce) temeljem postojećih ili planiranih tehničkih, financijskih i infrastrukturnih kapaciteta.
    • Dakle, ograničenje od 500 MWh postavlja gornju granicu koja osigurava da tvrtka ne prekorači svoje tehničke ili financijske kapacitete za instalaciju i operaciju obnovljivih izvora energije. 500 MWh postavljen je kao maksimalni kapacitet temeljen na tehničkim i financijskim resursima tvrtke. To može uključivati ograničenja u instalacijama, potrebnoj opremi i financijskom ulaganju u tehnologiju, ali i dostupnost prostora za solarne panele ili vjetroturbine, kao i ograničenja lokalne elektroenergetske mreže koja bi mogla ograničiti distribuciju proizvedene energije. Također, ovo ograničenje osigurava da tvrtka ne premaši kapacitet distribucije ili stvaranja vlastite energije, čime bi mogli nastati problemi s pohranom ili prijenosom.
    • Ako tvrtka proizvede više od 500 MWh, to bi zahtijevalo dodatne investicije u infrastrukturu i tehnologiju, što bi moglo biti u neskladu s proračunom ili izazvati tehničke probleme u operacijama.
    • Maksimalno se može proizvesti 500 MWh energije: \(x_1≤500\)

Zajednički utjecaj projekata i partnerstava

  • Ovo ograničenje osigurava da tvrtka ostvari značajan doprinos zajednici kroz projekte i partnerstva. Svako partnerstvo ima manji utjecaj od projekta, pa se računa kao pola projekta.
  • Kombinirani utjecaj projekata i partnerstava odnosi se na mjesto i značaj koji projekti u lokalnoj zajednici i partnerstva s nevladinim organizacijama imaju u ostvarivanju ciljeva društvene odgovornosti. Partnerstva s nevladinim organizacijama se računaju kao polovica projekta, jer imaju manji utjecaj, ali još uvijek doprinose zajedničkom cilju.
  • Ovaj uvjet osigurava da tvrtka ostvari konkretne rezultate u zajednici i kroz vanjsku suradnju, čime povećava svoje društveno odgovorno poslovanje.
  • Kombinacija omogućuje fleksibilnost u ostvarivanju ciljeva (više partnerstava ili više projekata, ovisno o resursima).
  • Omogućava bolje upravljanje resursima i prioritetima tvrtke. Na primjer, ako je teško provesti dodatni projekt, tvrtka može odabrati više partnerstava, koja zahtijevaju manji (i ne nužno cjelobrojni) angažman resursa.
  • Mora se realizirati najmanje 4 partnerstva ili projekata, pri čemu jedno partnerstvo vrijedi kao pola projekta: \(x_2+0.5x_6≥4\)

Napomena: Kroz dana razmatranja može se uočiti da bi rješavanje stvarnog problema bilo puno kompleksnije i da su brojna realna ograničenja i razmatranja objedinjena u svakom od navednih ograničenja, koja su ovdje pojednostavljena. Ponekad su takve aktivnosti nužne kako bi se problem dovoljno pojednostavio da bi bio rješiv.


11.2. Model


Funkcija cilja (minimizacija troškova):

\(min\ ∑C_i \cdot x_i\)

Ograničenja:

  • \(x_1\geq100\) (MWh)
  • \(x_2\geq2\) (projekti)
  • \(x_3\geq50\) (tona)
  • \(x_4\geq50\) (zaposlenici)
  • \(x_5\geq20\) (tona)
  • \(x_6\geq2\) (partnerstva)
  • \(x_7\geq50\) (tona CO2)
  • \(∑C_i×x_i\leq5,000,000\)
  • \(x_2+0.5x_6\geq4\)
  • \(x_1\leq500\) (MWh)
  • \(x_4\leq400\) (zaposlenici)
  • \(x_i \geq 0\)


Ovdje se u funkciji cilja pojavljuje skraćeni zapis, \(min\ ∑C_i \cdot x_i\), gdje \(C_i\) označavaju sve koeficijente (troškove) uz varijable u funkciji cilja, a \(x_i\) su

Primjer korporativne odgovornosti ilustrira kako strukturirati problem s više različitih inicijativa. Fokus je na varijablama odluke koje odgovaraju svakom tipu ulaganja, dok funkcija cilja (minimizacija troškova) i ograničenja osiguravaju da model odražava stvarne prioritete tvrtke. Ovaj primjer naglašava važnost balansiranja između različitih ciljeva i resursa te preciznog formuliranja problema kako bi bio rješiv linearnim programiranjem.

S ovakvim modelom, možete sudjelovati u donošenju odluka koje pozitivno utječu na društvo i okoliš, dok istovremeno osiguravate financijsku održivost projekata. Ovo je primjer kako kvantitativne metode mogu pomoći u postizanju širih društvenih ciljeva, odnosno poslužiti kao argument za njihovu realizaciju.






Literatura

Acuna, M. (2017). Timber and biomass transport optimization: A review of planning issues, solution techniques and decision support tools. Croatian Journal of Forest Engineering: Journal for Theory and Application of Forestry Engineering, 38(2), 279-290.

Ahmad, A., El-Shafie, A., Razali, S. F. M., & Mohamad, Z. S. (2014). Reservoir optimization in water resources: a review. Water resources management, 28(11), 3391-3405.

Alotaibi, A., & Nadeem, F. (2021). A Review of Applications of Linear Programming to Optimize Agricultural Solutions. International Journal of Information Engineering & Electronic Business, 13(2).

Asadi, E., & Sadjadi, S. (2017). Optimization methods applied to renewable and sustainable energy: A review. Uncertain supply chain management, 5(1), 1-26.

Bagshaw, K. B. (2019). A Review of Quantitative Analysis (QA) in Production Planning Decisions Using the Linear Programming Model. American Journal of Operations Research, 9(06), 255.

Bouajaja, S., & Dridi, N. (2017). A survey on human resource allocation problem and its applications. Operational Research, 17(2), 339-369.

Chandru, V., & Rao, M. R. (1997). Combinatorial Optimization.

Dantzig, G. B. (1951). Maximization of a linear function of variables subject to linear inequalities. Activity analysis of production and allocation, 13, 339-347.

Dantzig, G. B. (1951). Application of the simplex method to a transportation problem. Ed. Koopmans, T.C. Activity analysis and production and allocation. John Wiley and Sons, New York.

Díaz-Madroñero, M., Mula, J., & Peidro, D. (2014). A review of discrete-time optimization models for tactical production planning. International Journal of Production Research, 52(17), 5171-5205.

Floudas, C. A., & Lin, X. (2005). Mixed integer linear programming in process scheduling: Modeling, algorithms, and applications. Annals of Operations Research, 139(1), 131-162.

Gero, J. S. (1975). Architectural optimization-a review. Engineering Optimization, 1(3), 189-199.

Juul, N., Münster, M., Ravn, H., & Söderman, M. L. (2013). Challenges when performing economic optimization of waste treatment: A review. Waste management, 33(9), 1918-1925.

Manopiniwes, W., & Irohara, T. (2014). A review of relief supply chain optimization. Industrial Engineering and Management Systems, 13(1), 1-14.

Nunes, L. J. R., Causer, T. P., & Ciolkosz, D. (2020). Biomass for energy: A review on supply chain management models. Renewable and Sustainable Energy Reviews, 120, 109658.

Pérez-Rúa, J. A., & Cutululis, N. A. (2019). Electrical cable optimization in offshore wind farms—A review. IEEE Access, 7, 85796-85811.

Polat, U., & Gürtuna, F. (2018). A review of applications of linear programming and mixed integer linear programming in energy management: From policy makers/producers to consumers. European Journal of Engineering and Applied Sciences, 1(2), 84-89.

Pradana, M. F., & Noche, B. (2019, December). A Systematic literature review on maritime transportation optimization using linear programming. In IOP Conference Series: Materials Science and Engineering (Vol. 673, No. 1, p. 012041). IOP Publishing.Reidhead, 1979

Van Dooren, C. (2018). A review of the use of linear programming to optimize diets, nutritiously, economically and environmentally. Frontiers in nutrition, 5, 48.