# spark-user mailing list archives

##### Site index · List index
Message view
Top
From Zhiliang Zhu <zchl.j...@yahoo.com.INVALID>
Subject Re: what is algorithm to optimize function with nonlinear constraints
Date Wed, 02 Dec 2015 07:54:42 GMT
```Thanks a lot for Ushnish 's kind reply.
I am considering to apply simulated annealing algorithm for this question.However, there may
be just one issue - sensibility , that is to say, for the totally same system of the function
/ constraints, the solution may be different while runningthe program twice.
As is know,  simulated annealing algorithm is based on randomly searching. Theoretically,
it will get the global optimized solution, but since in practice, it is difficult to matchthe
all theoretical conditions , then local optimized solution will be got. Then I think different
local optimized solution may be got for different run.Is there any comment?
Best Wishes !

On Friday, November 20, 2015 2:02 AM, Ushnish De <ushnish@adatao.com> wrote:

Have you looked into Gurobi? Supposedly it can solve QCP (quadratically constrained programming)
problems which is what your example problem looks like, based on your line 3. However if the
problem is non convex then it'll be hard to solve in most cases.
On Thu, Nov 19, 2015, 9:42 AM 'Zhiliang Zhu' via All ADATAO Team Members <team@adatao.com>
wrote:

Hi all,
I have some optimization problem, I have googled a lot but still did not get the exact algorithm
or third-party open package to apply in it.
Its type is like this,
Objective function: f(x1, x2, ..., xn)   (n >= 100, and f may be linear or non-linear)Constraint
functions:
x1 + x2 + ... + xn = 1,                               1)
b1 * x1 + b2 * x2 + ... + bn * xn = b,         2)
c1 * x1 * x1 + c2 * x2 * x2 + ... + cn * xn * xn = c,         3)
<-  nonlinear constraint
x1, x2, ..., xn >= 0 .
To find the solution of x which lets objective function globally or locally the biggest.

I was thinking about to apply gradient descent or Levenberg-Marquardt algorithm to solve
it, however, the two are used for none constraint.I also considered Lagrange multiplier method,
but the system of gradient equations is nonlinear, which seems difficult to solve,
Which algorithm would be proper to apply here, and is there any open package like breeze for