Minimization of Laplacian Quadratic Form with fixed weights

200 Views Asked by At

I have an array of 'n' nodes, say P, with some initialized values:

$P = \{x_1,x_2,x_3,...,x_n\}$ [size is 1 x n]

I have a matrix M of size n x n and I want to evaluate the following objective function:

$objFN = minimize[\Sigma_{i,j}m_{i,j}*(x_i-x_j)^2]$ $ --->eq(1)$

Where $m_{i,j}$ is the element from matrix M for node $x_i , x_j $

The above objective function is equivalent to :

$objFN = minimize[x.M.x^T$] $ ----> eq(2)$

I am trying to implement this in a Python package, PlatyPus or Yabox. The problem is that I can define the objective function as in eq(1) but the value $m_{i,j}$ is different for every pair of i and j and it is a constant. So the sum of quadratic form is minimized which leads to a final set of values of array P, which are the decision variables here. But the values of matrix M, $m_{i,j}$ should not change, its constant. So how do I define this condition?

I am trying to follow the example mentioned in the blog post - A Tutorial on Differential Evolution with Python.

The only modification which I am unable to consider is how to address the issue of weights in the minimization function?

Both P and M values have a bound of (0,1). Also, the values of M matrix can not change. They are weights and remain fixed.