# Approaches to check/validate the output of an optimization algorithm

Let's say we want to optimize the a function $f(x_1,\dots, x_n)$ with $(x_1, \dots , x_n) \in \mathbb{D}^n$. For the sake of simplicity let $\mathbb{D}^n$ be the unit sphere.

We chose an optimization Algorithm $ALG_1(\vec{v})$ (here $\vec{v}$ is an input-vector necessary to intialise and run the algo. e.g. the starting-point) and apply it to our problem. Now often one does not know whether the algorithm converges to "the maximum / minimum" (on $\mathbb{D}^n$).

Thus I don't think that one would blindly accept the first output. One way of validating the result might be to run $ALG_1(\vec{v})$ with different $\vec{v}_1, \dots , \vec{v}_m$. Another could be using a different algorithm as a benchmark.

How do people in quant finance (e.g. portfolio optimization) approach this problem ?

• I don't think quants are (or should) approach this any differently from stats / math researchers. There is a lot of research exploring this topic and each optimization method has different properties. The problem is if you use several runs of an algorithm, you are kind of creating a new optimization algorithm, right? Then why wouldn't you just use it in the first place? And you get into a circular thinking... – sashkello Mar 6 '14 at 23:22
• All in all the simple fact is that if you don't know the optimal solution, you can't verify it against anything. Just come up with algorithm which works good on average and stick with it. – sashkello Mar 6 '14 at 23:23
• @sashkello - so the real question is how to define "on average" - or basically how to check the algorithm's overall performance. – Probilitator Mar 7 '14 at 7:06