Monika Rapacz
Gr lab 8
Metody Optymalizacji Dyskretnej
Inwestycje
Sprawozdanie 6
xj - wielkość nakładów na akcję j
yj - wielkość nakładów na akcję j powyżej cj
uj - liczba akcji j
zj = 1 jeżeli kupowane są akcję j, 0 inaczej
Wariant A
Zapis modelu matematycznego w AMPL-u.
var x {j in N}>=0; `zmienne decyzyjne
var y {j in N}>=0;
var u {j in N} >=0 integer;
var z {j in N} binary;
maximize zysk: sum {j in N} (b[j]*x[j]-d[j]*y[j]); `funkcja celu
subject to OGR1: sum {j in N} x[j]<=W; `ograniczenia
subject to OGR2 {j in N}: x[j]<=W*z[j];
subject to OGR3 {j in N}:a[j]*u[j]=x[j];
subject to OGR4 {j in N}:x[j]<=c[j]+y[j];
subject to OGR5: sum {j in N} z[j]>=nmin;
subject to OGR6 {p in P,q in Q}: z[p]+z[q]<=1;
subject to OGR7a: 0.75*sum {j in N:j<=k} x[j] <= sum {j in N: j>=k+1} x[j];
subject to OGR8a: 1.25*sum {j in N:j<=k} x[j] >= sum {j in N: j>=k+1} x[j];
param W:= 3600000 `parametr W - maksymalna wielkość inwestycji `parametr aj - cena aucji firmy j
param a:= 1 60 2 90 3 42 4 30 5 30 6 25 7 50 8 36 9 100 10 60 11 205 12 75 13 90 14 120;
`parametr bj -średnia stopa zwrotu z akcji firmy j
param b:= 1 0.30 2 0.33 3 0.21 4 0.15 5 0.45 6 0.06 7 0.42 8 0.51 9 0.57 10 0.27 11 0.39 12 0.39 13 0.45 14 0.60;
`parametr cj - limitowa kwota inwestycji w akcje firmy j
param c:= 1 6600 2 6900 3 1020 4 900 5 900 6 1250 7 1500 8 4500 9 11000 10 6600 11 12050 12 1750 13 6900 14 7200;
`parametr dj - zmniejszenie stopy zwrotu akcji firmy j:
param d:= 1 0.10 2 0.11 3 0.07 4 0.05 5 0.15 6 0.02 7 0.14 8 0.17 9 0.19 10 0.09 11 0.13 12 0.09 13 0.15 14 0.20;
Interpretacja otrzymanych wyników.
Wartość całkowitego zysku to 1284277.2.
Ograniczenie 1 (subject to OGR1: sum {j in N} x[j]<=W) informuje o łącznej wartości inwestycji , która wynosi 3.6e+006.
Ograniczenie 2 podaje różnicę pomiędzy wartością nakładów na akcję j, a wartością dozwoloną tego nakładu. Na przykład dla akcji typu 11,12,13 te różnice wynoszą kolejno jak niżej:
OGR2[11] -3.5998e+006
OGR2[12] -3.59993e+006
OGR2[13] -3.59316e+006
Ograniczenie 3 jest spełnione, jeżeli w rezultacie daje same 0, oznacza to ze iloczyn ceny akcji i jej zakupionej ilości jest równy wartości nakładu.
Ograniczenie 4 jest różnica pomiędzy wartością nakładów na akcje j, a wartością nakładów powyżej cj.
Ograniczenie 5 mówi nam ilu firm akcje zostały zakupione, czyli dziesięciu firm.
Ograniczenie 6 zapobiega inwestowaniu w dwa rodzaje akcji.
Ograniczenie 7a od lewej strony odejmuje prawą, co w rezultacie otrzymujemy różnicę między 0,75 wartości nakładów na akcje od 1 do 7, a wartością nakładów na akcje od 8 do 14, która wynosi -799965.
Ograniczenie 8a działa analogicznie do 7a, tylko w drugim kierunku, dodatkowo zmienia się 0,75 na 1,25.
Zestawienie otrzymanych wartości zmiennych oraz ich interpretacja.
zj = 1 jeżeli kupowane są akcję j, =0 inaczej
|
uj liczba akcji j
|
xj wielkość nakładów na akcję j (zł)
|
yj wielkość nakładów na akcję j powyżej cj ze zmniejszoną stopą zwrotu o dj (zł) |
z[1] 1 |
u[1] 110 |
x[1] 6600 |
|
z[5] 1 |
u[5] 53114 |
x[5] 1.59342e+006 |
y[5] 1.59252e+006 |
z[8] 1 |
u[8] 125 |
x[8] 4500 |
|
z[9] 1 |
u[9] 110 |
x[9] 11000 |
|
z[11] 1 |
u[11] 1 |
x[11] 205 |
|
z[12] 1 |
u[12] 1 |
x[12] 75 |
|
z[13] 1 |
u[13] 76 |
x[13] 6840 |
|
z[14] 1 |
u[14] 16478 |
x[14] 1.97736e+006 |
y[14] 1.97016e+006 |
Kolejno dla akcji, dla których wartość zmiennej decyzyjnej z=1, czyli podejmowana jest decyzja o ich zakupie:
1) 1iczba akcji typu 1 to 110, wielkość nakładów na nie to 6600.
5) liczba akcji typu 5 to 53114, wielkość nakładów na nie to 1.59342e+006,
wielkość nakładów na akcje powyżej cj ze zmniejszoną stopą zwrotu o dj to 1.59252e+006 .
8) liczba akcji typu 8 to 125, wielkość nakładów na nie to 4500.
9) liczba akcji typu 9 to 110, wielkość nakładów na nie to 11000.
11) jedna akcja 11, na którą nakład wynosi 205.
12) jedna akcja typu12, na która nakład wynosi 75.
13) liczba akcji typu 13 to 76, nakład na nie to wartość 6840.
14) liczba akcji typu 14 to 16478, nakład na nie to wartość 1.97736e+006, wielkość nakładów na akcje powyżej cj ze zmniejszoną stopą zwrotu o dj to 1.97016e+006.
Wariant B
Zapis zmienionych ograniczeń w AMPL-u:
`ograniczenia
subject to OGR1: sum{j in N}x[j]<=W;
subject to OGR2 {j in N}: x[j]<=(W/a[j])*z[j];
subject to OGR3 {j in N}: a[j]*u[j]=x[j];
subject to OGR4 {j in N}:x[j]<=c[j]+y[j];
subject to OGR5: sum{j in N}z[j]>=nmin;
subject to OGR6 {p in P, q in Q}: z[p]+z[q]<=1;
subject to OGR7b {k in N:k<n}:0.75*sum{j in N:j<=k}x[j]<=sum{j in N:j>=k+1}x[j];
subject to OGR8b {k in N:k<n}:1.25*sum{j in N:j<=k}x[j]>=sum{j in N:j>=k+1}x[j];
Interpretacja otrzymanych wyników:
Wartość całkowitego zysku to 1124846 zł
(Objective: zysk = 1124846 (MAXimum) 1124885 (LP))
Ograniczenie 1 (subject to OGR1: sum {j in N} x[j]<=W) informuje o łącznej wartości inwestycji, która wynosi 3.6e+006 zł.
Ograniczenie 2 podaje różnicę pomiędzy wartością nakładów na akcję j, a wartością dozwoloną tego nakładu, wynosi ona dla przykładu -1.99998e+006zł dla pierwszego typu akcji.
Ograniczenie 3 jest spełnione, jeżeli w rezultacie daje same 0, oznacza to ze iloczyn ceny akcji i jej zakupionej ilości jest równy wartości nakładu.
OGR3[1] 0
OGR3[2] 0
Ograniczenie 4 jest różnica pomiędzy wartością nakładów na akcje j, a wartością nakładów powyżej cj i jest ona najwyższa dla akcji typu 9, wynosi 11000.
Ograniczenie 5 mówi nam ilu firm akcje zostały zakupione, czyli siedmiu firm.
Ograniczenie 6 nie pozwala na inwestycje w 2 rodzaje akcji. Otrzymujemy 1 przy każdej parze wartości, co oznacza, że w każdej parze zainwestowano w którąś z akcji.
OGR6 [2,5] 1
OGR6[2,12] 1
OGR6[2,14] 1
OGR6[3,5] 1
OGR6[3,12] 1
OGR6[3,14] 1
OGR6[6,5] 1
OGR6[6,12] 1
OGR6[6,14] 1
OGR6[7,5] 1
OGR6[7,12] 1
OGR6[7,14] 1
Ograniczenie 7b od lewej strony równania odejmuje prawą i otrzymujemy różnicę między 0,75 wartości nakładów na akacje zaczynając od k=1 do k=13, np. gdy k=5 lewa strona równania sumuje nakłady na akcje od 1 do 5, a prawa od 6 do 14.
Ograniczenie 8a działa analogicznie do 7a, tylko w drugim kierunku, dodatkowo zmienia się 0,75 na 1,25.
Zestawienie otrzymanych wartości zmiennych oraz ich interpretacja.
zj = 1 jeżeli kupowane są akcję j, =0 inaczej
|
uj liczba akcji j
|
xj wielkość nakładów na akcję j(zł)
|
yj wielkość nakładów na akcję j powyżej cj ze zmniejszoną stopą zwrotu o dj (zł) |
z[1] 1 |
u[1] 26667 |
x[1] 1.60002e+006 |
y[1] 1.59342e+006 |
z[5] 1 |
u[5] 30 |
x[5] 900 |
|
z[8] 1 |
u[8] 125 |
x[8] 4500 |
|
z[9] 1 |
u[9] 111 |
x[9] 11100 |
y[9] 100 |
z[13] 1 |
u[13] 76 |
x[13] 6840 |
|
z[14] 1 |
u[14] 16472 |
x[14] 1.97664e+006 |
y[14] 1.96944e+006 |
Kolejno dla akcji, dla których wartość zmiennej decyzyjnej z=1, czyli podejmowana jest decyzja o ich zakupie:
Liczba akcji typy 1 to 26667, wielkość nakładów na nie to 1.60002e+006, wielkość nakładów na akcje powyżej cj ze zmniejszoną stopą zwrotu o dj to 1.59342e+006.
Liczba akcji typu 5 to 30, wielność nakładów na nie to 900.
Liczba akcji typu 8 to 125, wielkość nakładów na nie to 4500.
Liczba akcji typu 9 to 111, wielkość nakładów na nie to 11100, wielkość nakładów na akcje powyżej cj ze zmniejszoną stopą zwrotu o dj to 100.
Liczba akcji typu 13 to 76, wielkość nakładów na nie to 6840.
Liczba akcji typu 14 to 16472, wielkość nakładów na nie to 1.97664e+006, wielkość nakładów na akcje powyżej cj ze zmniejszoną stopą zwrotu o dj to 1.96944e+006.
1
3
W przypadku par: (2,5);(2,12);(2,14);(3,5);(3,12);(3,14);(6,5);(6,12);(6,14);(7,5);(7,12);(7,14) otrzymujemy wartość 1, co oznacza, że w tej parze zainwestowano w którąś z akcji.