Vi vil bruke MATLAB-funksjonen \texttt{fmincon} til å finne andre KKT-punkter.
Først modifiserte vi den oppgitte koden.
\begin{lstlisting}
-OPTIONS = optimset('Algorithm','active-set','TolX',1e-10,'TolCon',1e-10,'TolFun',1e-10);
+OPTIONS = optimset('Algorithm', 'active-set',...
+ 'TolX', 1e-10, 'TolCon', 1e-10, 'TolFun', 1e-10);
x = fmincon('foppg1',x0,[],[],[],[],[],[],'constraints',OPTIONS)
\end{lstlisting}
Ved å prøve forskjellige verdier for $x_0$ fant vi frem til punktene $x_b =
\end{gather}
\subsection{b)}
-KKT-likningene blir da
+KKT-likningene blir da (SKAL VI HA MED SKRANKELIKNINGENE HER OGSÅ?)
\begin{gather}
\label{eq:kkt}
\nabla_x\mathcal{L} = -\mu + \kappa Cx - \pi v - \lambda = 0 \\
\begin{alignedat}{2}
- \pi\left(v'x-1\right) &= 0 \\
- \lambda_i &\geq 0 &\quad& i \in \mathcal{I}
+ \pi\left(v'x-1\right) &= 0 \nonumber \\
+ \lambda_i x_i &= 0 &\quad& i \in \mathcal{I} \nonumber \\
+ \lambda_i &\geq 0 && i \in \mathcal{I} \nonumber
\end{alignedat}
\end{gather}
-hvor $\lambda$ er en $n$-vektor med Lagrange-multiplikatorene til
-ulikhets-skrankene.
+hvor $\pi$ er Lagrange-multiplikatoren til likhetsskranken og $\lambda$
+er en $n$-vektor med Lagrange-multiplikatorene til ulikhets-skrankene.
\subsection{c)}
Når $\kappa = 0$ ser vi bort fra variansen og kovariansen til aksjene,
$\kappa = \inf$ heyyy.
\subsection{e)}
-Diskuter løsning når $n$ er liten. I dette tilfellet kan man gå gjennom
-alle mulige kombinasjoner av aktive constraints f.eks.
+Når antallet aksjer $n$ er liten, f.eks. $2$ eller $3$, lar problemet
+seg håndtere uten bruk av Matlab. Problemet \eqref{eq:quadopt} og
+KKT-likningene \eqref{eq:kkt} er som før, med en likhets-føring, og $n$
+ulikhetsføringer. Dette gir oss $2^n$ forskjellige mulige kombinasjoner
+av aktive føringer. Disse må man gå gjennom, og når man får et KKT-punkt
+vet man at man har et minimum, da problemet fortsatt er konvekst.
\subsection{f)}
-Kanskje vi får plass til et bittelite numerisk eksempel her????
+Vi konstruerer et numerisk eksempel der
+\begin{equation}
+ C = \begin{bmatrix}
+ 5 & .2 & .5 & .1 & .5 \\
+ .2 & 2 & .01 & .2 & .1 \\
+ .5 & .01 & 1 & 1 & 1 \\
+ .1 & .2 & 1 & .1 & .1 \\
+ .5 & .1 & 1 &.1 & .01
+ \end{bmatrix}
+ v = \begin{bmatrix}
+ 1 \\
+ 2 \\
+ 3 \\
+ 4 \\
+ 5
+ \end{bmatrix}
+ \mu = \begin{bmatrix}
+ 5 \\
+ 4 \\
+ 3 \\
+ 2 \\
+ 1
+ \end{bmatrix}.
+\end{equation}
+I Matlab løser vi dette med
+\begin{lstlisting}[language=Matlab]
+A = -eye(5);
+b = zeros(5, 1);
+beq = [1];
+X = quadprog(kappa*C, -mu, A, b, v', beq);
+\end{lstlisting}
+Hvis vi setter $\kappa = 0$, får vi løsningen $x = \left(1, 0, 0, 0,
+0\right)$, som forventet, fordi den første aksjen er den aksjen der
+$\frac{\mu_i}{v_i}$ er størst. Hvis setter alle elementene i $C$ som
+ikke ligger på diagonalen til null, og setter $\mu$ lik nullvektoren,
+får vi løsningen $x = \left(0.0001, 0.0004, 0.0011, 0.0150,
+0.1872\right)$. Vi kjøper altså litt av alt for å spre risikoen utover.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Oppgave 3}
\subsection{a)}
\subsubsection{SR1}
SR1 er en kvasi-newton-metode der vi ved hver iterasjon oppdaterer vårt
-estimat for hessianen, $B$, med en rang-1-matrise. Ved hvert steg trenger vi
-også inversen til $B$, som vi kaller $H$. Vi ser på en enkel og noe naiv
-implementasjon av SR1-metoden for løsning av testproblemet
+estimat for hessianen, $B$, med en rang-1-matrise. Ved hvert steg
+trenger vi også inversen til $B$, som vi kaller $H$. Vi ser på en enkel
+og noe naiv implementasjon av SR1-metoden for løsning av testproblemet
\begin{equation}
\label{eq:testproblem}
\min_{x\in\mathbb{R}^n} \left\{ \frac{1}{2} x'Ax + b'x \right\},