Opći zapis modela u linearnom programiranju





Opći zapis modela u ciljnom programiranju





Primjer upotrebe ciljnog programiranja

Imate na raspolaganju nekoliko različitih kriptovaluta u koje možete ulagati. Vaš cilj je maksimizirati vrijednost svog portfelja uz određene financijske i rizične parametre. Imate mogućnost ulaganja u tri kriptovalute: Bitcoin (BTC), Ethereum (ETH) i Ripple (XRP). Svaka od ovih kriptovaluta ima predviđeni godišnji prinos i očekivani rizik, izražen kao standardna devijacija.

Bitcoin (BTC) ima očekivani godišnji prinos od 12% s rizikom (standardnom devijacijom) od 20%.

Ethereum (ETH) ima očekivani godišnji prinos od 18% s rizikom od 25%.

Ripple (XRP) ima očekivani godišnji prinos od 24% s rizikom od 30%.

Imate na raspolaganju ukupan iznos novca za ulaganje, koji je 500.000 dolara i cilj Vam je ostvariti dobit od 130 000$.

Osim toga, postavljate sljedeća četiri ograničenja:

Želite uložiti najmanje 100.000 dolara u Bitcoin (BTC).

Ne želite ulagati više od 200.000 dolara u Ethereum (ETH).

Želite da Ripple (XRP) čini najmanje 20% ukupnog portfelja.

Ne želite prekoračiti rizik portfelja od 22%.

Kako ćete rasporediti svoja sredstva između tih kriptovaluta kako biste maksimizirali očekivani godišnji prinos uz zadovoljenje navedenih ograničenja?




Iščitavanje:

“očekivani godišnji prinos od 12%” - Očekivani godišnji prinos = koliko će ulog porasti u godinu dana

“s rizikom (standardnom devijacijom) od 20%” - Standardna devijacija se u financijama često koristi kao mjera rizika

“cilj Vam je ostvariti dobit od 130 000$” - Cilj je izražen kao specifična vrijednost koja se želi postići




Strukturiranje problema:

Varijable odluke:

B – Bitcoin

E – Ethereum

R – Ripple

\(𝑑𝑓^+, 𝑑𝑓^−\) - pozitivna i negativna odstupanja od cilja

Funkcija cilja:

\(min⁡(𝑑𝑓^ + + 𝑑𝑓^−)\)

Ograničenja

\(𝐵+𝐸+𝑅≤500000\)

\(𝐵≥100000\)

\(𝐸≤200000\)

\(𝑅≥0.2 \cdot 500000\)

\(0.2 \cdot 𝐵+0.25 \cdot 𝐸+0.3 \cdot 𝑅≤0.27 \cdot 500000\)

\(0.12 \cdot 𝐵+0.18 \cdot 𝐸+0.24 \cdot 𝑅+𝑑𝑓^−−𝑑𝑓^+=130000\)

\(B,𝐸,𝑅,𝑑𝑓^+, 𝑑𝑓^−≥0\)








Primjer upotrebe višeciljnog programiranja

Imate na raspolaganju nekoliko različitih kriptovaluta u koje možete ulagati. Vaš cilj je maksimizirati vrijednost svog portfelja uz određene financijske i rizične parametre. Imate mogućnost ulaganja u tri kriptovalute: Bitcoin (BTC), Ethereum (ETH) i Ripple (XRP). Svaka od ovih kriptovaluta ima predviđeni godišnji prinos i očekivani rizik, izražen kao standardna devijacija.

Bitcoin (BTC) ima očekivani godišnji prinos od 12% s rizikom (standardnom devijacijom) od 20%.

Ethereum (ETH) ima očekivani godišnji prinos od 18% s rizikom od 25%.

Ripple (XRP) ima očekivani godišnji prinos od 24% s rizikom od 30%.

Imate na raspolaganju ukupan iznos novca za ulaganje, koji je 500.000 dolara i želite ostvariti dobit od 150000 dolara.

Osim toga, postavljate sljedeća četiri ograničenja:

Želite uložiti najmanje 100.000 dolara u Bitcoin (BTC).

Ne želite ulagati više od 200.000 dolara u Ethereum (ETH).

Želite da Ripple (XRP) čini najmanje 20% ukupnog portfelja.

Želite minimizirati rizik s ciljem postizanja rizika od 10 %.

Kako ćete rasporediti svoja sredstva između tih kriptovaluta kako biste maksimizirali očekivani godišnji prinos uz zadovoljenje navedenih ograničenja?




Iščitavanje:

“želite ostvariti dobit od 150000 dolara” - 1. cilj

“Želite minimizirati rizik s ciljem postizanja rizika od 10 %” - 2. cilj



Strukturiranje problema

Varijable odluke:

B – Bitcoin

E – Ethereum

R – Ripple

\(𝑑𝑓_1^+, 𝑑𝑓_1^−\) - pozitivna i negativna odstupanja od 1. cilja

\(𝑑𝑓_2^+, 𝑑𝑓_2^−\) - pozitivna i negativna odstupanja od 2. cilja

Funkcija cilja:

\(min⁡(𝑑𝑓_1^++ 𝑑𝑓_1^−+𝑑𝑓_2^++ 𝑑𝑓_2^−)\)

Ograničenja

\(𝐵+𝐸+𝑅≤500000\)

\(𝐵≥100000\)

\(𝐸≤200000\)

\(𝑅≥0.2 \cdot 500000\)

\(0.12 \cdot 𝐵+0.18 \cdot 𝐸+0.24 \cdot 𝑅+𝑑𝑓_1^−−𝑑𝑓_1^+=150000\)

\(0.2 \cdot 𝐵+0.25 \cdot𝐸+0.3 \cdot 𝑅+𝑑𝑓_2^−−𝑑𝑓_2^+=0.1 \cdot 500000\)

\(𝐵,𝐸,𝑅,𝑑𝑓_1^+, 𝑑𝑓_1^−,𝑑𝑓_2^+, 𝑑𝑓_2^−≥0\)















Primjer upotrebe višeciljnog programiranja - težinski pristup

Tvrtka “Closeden” razmatra izradu web aplikacije i mora odabrati između pet različitih tehnoloških okvira: React, Vue.js, Angular, Ruby on Rails i Django. Odluka će se temeljiti na nekoliko kriterija kako bi se osiguralo da je odabrana najbolja opcija za projekt. Kriteriji uključuju popularnost okvira, dostupnost programera, cijenu programera po satu, veličinu zajednice i mogućnosti integracije.

Evo tablice s ocjenama za svaki okvir na temelju svakog od kriterija (skala od 1 do 10, gdje je 10 najbolja ocjena):


U Closedenu imaju proračun od 68 tisuća eura za razvoj i žele brzo započeti projekt, ali također žele osigurati da će imati dovoljno programera na raspolaganju po razumnoj cijeni. Planirana web aplikacija iziskivat će barem 1920 sati rada, a namjeravaju zaposliti toliko programera koliko je potrebno da uspiju završiti aplikaciju u 2 mjeseca. Pritom se pretpostavlja da programeri rade 40 sati tjedno.

Dok menadžeri Closedena žele maksimizirati ocjenu okvira (temeljem popularnosti, veličine zajednice i integracije), također žele minimizirati trošak plaća programera. Pritom veću težinu stavljaju na trošak plaća programera, 0.6, dok ocjeni okvira pripisuju težinu 0.4.




Strukturiranje problema