I have an minimization problem of the following form:
(Im not a mathematician, i come from the programming side, so excuse me if i have not the perfect standard of writing the formulas)
$Z(x) = \sqrt[2]{x_1^2 \cdot a_1+...+x_n^2 \cdot a_n} + x_1 \cdot b_1+...+x_n \cdot b_n$
with the constraints:
(1) $\sum_{i=1}^n{x_i} =1$
(2) $0<x_i<=c_i \ \text{with} \ c = \{c_1,..,c_n\}$
Im interested in an algorithm that finds a local minimum as fast as possible, since i want to implement it.
I have already read a lot of stuff with different approaches for different type of constraints, but they mostly didnt fit or where hard to understand, so i could not be sure if they fit.
I understand that this is a NLP with linear constraints, but since im pretty new to NLP i hope for someone with more experience who can help me. Thank you!
If the $a_i$ values are negative, all bets are off; it is a non-convex problem. But if the $a_i$ values are nonnegative, this is a convex problem, and therefore it is tractable. In fact, it can easily be converted to a second-order cone program, or SOCP, which is a relatively well known modern standard form for convex optimization.
To convert to a "standard" SOCP, define $\bar{a}_i=\sqrt{a}_i$, and create a new variable $y\in\mathbb{R}$. Then this problem is equivalent to $$\begin{array}{ll} \text{minimize} & \sum_i b_i x + y \\ \text{subject to} & \sqrt{\textstyle \sum_i (\bar{a}_i x_i)^2 } \leq y \\ & \sum_i x_i = 1 \\ & 0 \leq x_i \leq c_i, ~ i=1,2,\dots,n \end{array}$$ The key here is that the objective is linear, and the constraints are composed of linear equations and inequalities, and convex constraints involving norms. No other types of nonlinearities are permitted in an SOCP other than convex $\ell_2$-norm constraints.
Here is a good online resource on convex optimization, with a section on second-order cone programming. There are a variety of solvers out there that can solve SOCPs. If you don't mind me offering my own software, the MATLAB-based modeling framework CVX can handle this quite readily; you don't even need to do the SOCP conversion. Here would be the model in CVX, that assumes the values of $a_i$, $b_i$, and $c_i$ are stored in MATLAB vectors
a,b, andc:CVX will certainly not give you the fastest results; it is meant to make problems easy to specify. But you can worry about speed after you're satisfied with the results.