Optimisation Problem involving sorting Vectors

48 Views Asked by At

Does anyone know how to solve the following optimisation problem obtained from the paper "Spectral Risk Measures and Portfolio Selection" written by Alexandre Adam et al in 2007 :

Consider vectors π $\in R^d$. Let A be an $n$ by $d$ matrix and let $\lambda_i$ be constants such that $0<\lambda_1< \lambda_2 < .... < \lambda_n$.
Minimise $-\sum_{i=1}^{n} \lambda_i(Aπ)_{(i)} $ where $(Aπ)$ is a ($n$ by $1$) vector and $(Aπ)_{(1)}$ is the smallest component of $(Aπ)$, $(Aπ)_{(2)}$ is the second smallest component of $(Aπ)$, ..., $(Aπ)_{(n)}$ is the largest component of $(Aπ)$ subject to $\frac{1}{n}\sum_{i=1}^{n}(Aπ)_{(i)} = r $, some constant $r \in R$.

This is a very unusual problem because we have to order the components of the vector $Aπ$. The above is very general. I have tried to implement the ideas in the paper and got to the following more specific problem:

You have a function $f_D: R^{11} \rightarrow R$ such that for all $π \in R^{11}$, $f_D(π)$ is calculated as follows:

First you multiply the vector π by the (fixed) matrix A (which has dimension 92 by 11) to get another vector $A_π$ which has 92 components.

Then $f_D(π) = \frac{-5}{23}*(A_{{π}_{(1)}}+A_{{π}_{(2)}}+A_{{π}_{(3)}}+A_{{π}_{(4)}})-\frac{3}{23}*A_{{π}_{(5)}}$ where by $A_{{π}_{(1)}}$ I mean the smallest component in the vector $A_π$, $A_{{π}_{(2)}}$ is the second smallest component in the vector $A_π$, ...., $A_{{π}_{(92)}}$ is the largest component in the vector $A_π$.

I want to minimise $f_D(π)$ subject to the linear constraint that $π.\theta \geq 1$ where $\theta$ is a fixed vector.

In my case, $f_D(π)$ is a convex function and a solution definitely exists (by results taken from a paper written by Rockafellar called "Master Funds in Portfolio Analysis With General Deviation Measures") but when I tried using R I did not manage to find the soln.

Does anyone have any ideas on what I should do/any good convex optimisation functions in R?

Thank you in advance.