1

The problem is placing $n$ number of points on a sphere in $\mathbb{R}^m$, as far apart as possible from eachother. I want to formulate this problem as an optimizationproblem where the objectfunction is the function that describes the sum of all distances between the points and the condition is for the point to actually be on the sphere.

So I need to set upp the problem as searching for $\text{max} \ f(n)$ when $g(n)=0.$

Let $p_1,p_2,...,p_n$ be the set of points placed on the sphere and $p_i=(x_1,x_2,...,x_m)$. First, we have that

$$f(n) = \sum_{i<j}|p_i-p_j|.$$

For the points to be on the hypersphere with radius $r$, they have to be on the same distance from the origin, so

$$g(n)=\sum_{i=1}^m x_i^2=r^2.$$

Are my functions correct? Note that this function is to be maximized using MATLAB, but I first need to set up the correct equations.

Parseval
  • 6,413

1 Answers1

1

It seems to be correct to me.

As an alternative for the distance you could also consider the following $$f(n) = \sum_{i<j}(p_i-p_j)\cdot (p_i-p_j)$$

user
  • 154,566
  • Thanks, but what I don't get is how any of them are dependant on $n$, when there is no $n$ in the RHS? – Parseval Mar 26 '18 at 20:02
  • @Parseval If you are going to solve with Matlab then I guess that the solution is numerical, then you need to fix n at a certain value and then try to extrapolate a general result. – user Mar 26 '18 at 20:13
  • Yes, but if $n$ is then fixed, how do I denote the variable? – Parseval Mar 26 '18 at 20:18
  • @Parseval It depends by the commands you are using with Matlab, it doesn't seem a problem of set up. I guess there is a function to define with n as parameter. – user Mar 26 '18 at 20:20
  • But I can just put $n=25$ for example, but then I need something that is varying. I feel like my functions are not correct, something is missing. As they are now, they feel impossible to maximize. – Parseval Mar 26 '18 at 20:27
  • I think you shoul put different values of n to get different solutions, plot it and try to figure out a general pattern. For my knowledge with matlab we can only obtain numerical solutions then you need to fix n. – user Mar 26 '18 at 20:31
  • But even if I do it for many different values of $n$, I don't have any variable like $x$ in a function $f(x)$. All the examples on youtube use functions like $f(x,y) = 2\sin(x)+3xy+\cos(y)$ and then maximize this. I can't do this with my functons. – Parseval Mar 26 '18 at 20:38