%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% FILE: ssuu.m
%%
%% Stefan Stuidun ja Urho Uraohjuksen yhteisherkkyysanalyysi 
%%
%% Vaihtoehdot
%%
%% a1 = Opiskelijavaihto Kiinaan
%% a2 = Keskittyminen opintoihin
%% a3 = Opintoja ja ruokalahetin toita iltaisin
%% a4 = Vahan opintoja ja paatyo isossa kv. yrityksessa
%%
%% Skenaariot
%%
%% s1 = Korona riehuu, yliopisto etaopetuksessa ja maailma lamassa
%% s2 = Korona riehuu, yliopisto etaopetuksessa ja maailman talous elpyy
%% s3 = Korona riehuu, yliopisto normiopetuksessa ja maailma lamassa
%% s4 = Korona riehuu, yliopisto normiopetuksessa ja maailman talous elpyy
%% s5 = Korona kukistettu ja maailma lamassa
%% s6 = Korona kukistettu ja maailman talous elpyy
%%
%% Skenaarioiden todennakoisyydet ovat tuntemattoman koronatodennakoisyyden p0
%% funktioina
%% 
%% p1 = p0/4
%% p2 = p0/4
%% p3 = p0/4
%% p4 = p0/4
%% p5 = (1-p0)/2
%% p6 = (1-p0)/2
%%
%% Koronatodennakoisyys p0 on herkkyysparametri.
%%
%% Stefainin ja Urhon nakemysten yhdistamispaino w on herkkyysparametri.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Paatosmatriisit 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Vuoden aikana kertynyt varallisuus/laina.

or = 12*252.76;      %% Opintoraha
os = 5000;           %% Opiskelijavaihtostipendi Kiinaan
km = 2000;           %% Kiinan muuttokustannukset
ms = 12*500;         %% Elamisen kulut Suomessa
mk = 12*250;         %% Elamisen kulut Kiinassa

tk = or+os-km;       %% Opiskelijan tulot Kiinassa
ts = or;             %% Opiskelijan tulot Suomessa

rl = 12*200*0.9;     %% Ruokalahetin "nettoperuspalkka"
pt = 12*2500*0.75;   %% Paatyon "nettoperuspalkka" kun vienti vetaa

RS1 = [
tk-0.8*mk      tk-mk       tk-0.8*mk      tk-mk       tk-0.9*mk     tk-mk   ;   
ts-0.6*ms      ts-ms       ts-0.6*ms      ts-ms       ts-0.8*ms     ts-ms   ;    
ts+4*rl-0.6*ms ts+4*rl-ms  ts+2*rl-0.6*ms ts+2*rl-ms  ts+rl-0.8*ms  ts+rl-ms; 
0.3*pt-1.6*ms  0.7*pt-2*ms 0.3*pt-1.6*ms  0.8*pt-2*ms 0.5*pt-1.8*ms pt-2*ms ;  
];

%% Jaljella oleva valmistumisaika syksylla 2022 (tavoiteaika on yksi vuosi!!!)

RS2 = [
2 2 2 2 2 2;      
2 2 1 1 1 1;      
2 2 2 2 2 2;      
3 4 3 4 3 5;      
];

RS2 = -RS2;        %% Maksimointimuoto!

%% Odotettu kuukausipalkka

RU = [
3000  3500  2800  3500  2800  3500;  %% Kiinaan
2500  2700  3300  3800  3500  4000;  %% opintoja
3000  3200  2000  2500  2000  2500;  %% ruokalahetti
3000  3200  2500  4000  3000  3500;  %% paatyot
];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Visualisointi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Paatosongelmien vakiokentat
poS1.pmat = RS1;
poS1.psaanto = "oa";
poS2.pmat = RS2;
poS2.psaanto = "oa";

poU1.pmat = RU;
poU1.psaanto = "oa";
poU2.pmat = RU;
poU2.psaanto = "kk";

%% Urhon katumuksen kaihtaminen ei riipu p0:sta.  Voidaan laskea valmiiksi
prU2 = pmatriisi(poU2);   
VU2 = prU2.parvot;
VU2 = -VU2;
VU2 = (VU2-min(VU2))/(max(VU2)-min(VU2));


%% Otteistustaajuus.  Mita isompi sen parempi, mutta laskeminen kestaa.
%% Jos N=500 laskeminen kestaa noin minuutin.
N=500;      

%% Laskut
p0arvot = linspace(0,1,N);
warvot = linspace(0,1,N);
z = zeros(N);

for i=1:length(p0arvot)
    for j=1:length(warvot)
        p0 = p0arvot(i);
        w = warvot(j);
        q0 = 1-p0;
        poS1.tn = [p0/4 p0/4 p0/4 p0/4 q0/2 q0/2]';
        poS2.tn = [p0/4 p0/4 p0/4 p0/4 q0/2 q0/2]';
        poU1.tn = [p0/4 p0/4 p0/4 p0/4 q0/2 q0/2]';
        prS1 = pmatriisi(poS1);
        prS2 = pmatriisi(poS2);
        prU1 = pmatriisi(poU1);
        VS = 0.5*prS1.parvot + 0.5*prS2.parvot;
        VS = (VS-min(VS))/(max(VS)-min(VS));
        VU = 0.5*prU1.parvot + 0.5*VU2;
        VU = (VU-min(VU))/(max(VU)-min(VU));
        V = w*VS + (1-w)*VU;
       [roskaa, z(j,i)] = max(V);
    end    
end
    
%% Itse kuva    
contourf(p0arvot, warvot, z, 1:4)
set(gca, "fontsize", 24);
xlabel("p_0")
ylabel("w")
puna  = [1 0 0];
viher = [0 1 0];
colormap([puna; 0.6*puna; viher; 0.6*viher])  
%% a1 = puna
%% a2 = tumma puna
%% a3 = viher
%% a4 = tumma viher
text(0.70,0.50,"a_1", "fontsize",24)
text(0.20,0.10,"a_2", "fontsize",24)
text(0.93,0.92,"a_3", "fontsize",24)
text(0.25,0.60,"a_4", "fontsize",24)
    
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Herkkyyskuvan piirto PDF-tiedostoon.  Poista kommentit, jos haluat PDF:n
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%orient("landscape");
%print("ssuu_herkkyyskuva.pdf");