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.