How to optimize a set of points to be scattered? I have a set of points randomly located around a center. I want to change the locations of the points by optimizing some objective function iteratively, so that they can be scattered (the definition of "scattered" is vague, it could be that the distance between every pair is above some value).
Since there're too many points, I can't afford computing the distance between every pair, I would prefer a linear time complexity. The determinant of the covariance matrix seems fine, just the derivatives look a bit complex to implement.
What should be a good objective function?
I guess this is more or less the same as asking, how to measure the "scatteredness" of a set of points?
I hope I've explained my problem clearly, thanks in advance.

Update  
Following user3658307's method, taking a subset $P_t$ and comparing it against the entire set $P$ will give good results in my case.
 A: Just to expand my comment into an answer :)
As noted by others, the easiest way to scatter points about an origin is to use some random distribution centered there, and then "move" the points by drawing new ones from that distribution.
However, it can be useful to have an energy function to minimize instead (it lets you add other terms, for example).
The obvious choice is the sum of squared distances, but this can be expensive. An alternative employed elsewhere (e.g. machine learning) is to use a random subset to compute the gradient, changing at every step during the decent.
More exactly, given a point set $P$, at every step $t$ during an iterative minimization procedure, choose a random subset $P_t\subset P$ such that $|P_t|<<|P|$ and maximize:
$$
E_t(P_t) = \sum_{p_i\in P_t}\sum_{p_j\in P_t} || p_i - p_j ||_k^k
$$
where $k$ denotes the order of the Minkowski metric to use. Often $k=2$ is fine.
This can be useful, though, if you want to weight outliers more or less.
This one is also nice because it is differentiable. You could also maximize the determinant or a matrix norm of the covariance matrix of $P_t$.
Also, although this seems like a hack, note that, in probabilistic terms, this approach is expected to work on average. See here.

Another idea, using derivative-free optimization, let
$$
\mathcal{E}_t(P_t) = \min_{p,q\in P_t} ||p - q||_k^k + \alpha\,f(P_t)
$$
be your energy function at time $t$, where $f$ is the other energy stuff you want to add and $\alpha\in\mathbb{R}$. 
Then maximize it with a gradient-less optimizer like differential evolution or CE optimization.
Notice you still change the random subset each time.
Notice this is a little closer to your original desire to simply ensure that the points are further than a threshold, rather than keep moving the average distances.
