Thomson Problem
The Nobel Laureate physicist J. J. Thomson posed a problem in 1904 of determining the minimum electrostatic energy (and configuration) of \(N_{e}\) electrons constrained on the surface of a unit sphere, each electron repelling another from Coulomb's law. In reality, Thomson's model of the atom became outdated and Earnshaw's theorem suggests that no system of discrete electric charges can be held in stable equilibrium under the influence of their electrical interaction alone (Aspden 1987). Regardless, the Thomson problem is still related to spherical codes, sphere packing, computational geometry (for spheres of higher dimensions), and especially to #7 of Smale's list of unsolved problems in mathematics, and more. The Thomson problem presents itself as a non-convex optimization problem, and remains to be generally unsolved for all values of \(N_{e}>1\).
To frame the optimization problem, we will arrive at the objective function as a function of \(N_{e}\). Arriving at Coulomb's law, using Gauss's law of Maxwell's equations, in SI-units, the net outflow of the electric field \(\vec{E}\) through a closed surface (sphere), \(S\), with volume \(V\), around a charge \(q\), where the field travels towards negative charges (and radially outward for a positive charge), is proportional to the enclosed charge, consisting of a charge density across the enclosed volume, \(\rho\left( \vec{r} \right)\). Using permittivity of free space (\(\epsilon_{0}\)) as the coefficient of proportion,
\[
\begin{align}
\vec{\nabla}_{r}\cdot\vec{E}\left(\vec{r}\right) = \frac{\rho\left(\vec{r}\right)}{\epsilon_{0}} \Rightarrow \iiint_{V} \left(\vec{\nabla}_{r}\cdot\vec{E}\left(\vec{r}'\right)\right) d^{3} \vec{r}’ = \frac{1}{\epsilon_{0}}\iiint_{V} \rho\left(\vec{r}'\right) d^{3} \vec{r}'\ = \frac{q}{\epsilon_{0}}.\label{eq:1}
\end{align}
\]
Using the divergence (or Gauss/Green-Ostrogradski) theorem, for a general field \(\vec{F}\),
\[
\begin{align}
\iiint_{V} \left( \vec{\nabla} \cdot \vec{F}\right) dV = {\large\bigcirc}\kern-1.55em\iint_{S} \left(\vec{F}\cdot \hat{n}\right)dS.\label{eq:2}
\end{align}
\]
From eqs. \(\eqref{eq:1}\) and \(\eqref{eq:2}\), using spherical symmetry, and \(\vec{E}\) having a radial component pointing away from \(q\),
\[
\begin{align}
{\large\bigcirc}\kern-1.55em\iint_{S} \left(\vec{E}\left(\vec{r}'\right)\cdot \hat{r}'\right) d^{2} \vec{r}’ = \frac{q}{\epsilon_{0}} \Rightarrow
4\pi r^{2} \vec{E}\left(\vec{r}\right) \cdot \hat{r}= \frac{q}{\epsilon_{0}} \Rightarrow \vec{E}\left(\vec{r}\right) = \frac{1}{4\pi\epsilon_{0}}\frac{q}{r^{2}} \hat{r} = k\frac{q}{r^{2}}\hat{r}\label{eq:3}
\end{align}
\]
where \(k = \frac{1}{4\pi\epsilon_{0}}\). The electrostatic potential energy \(U\left(\vec{r}\right)\) of two-point charge system \(\left(q, q'\right)\) is the work required to assemble the system of these two charges by bringing them close together, usually considered to be an infinite distance away (without undergoing any acceleration),
\[
\begin{align}
U\left(\vec{r}\right) = \lim_{a\to\infty} \left(-\int_{a}^{r}\vec{F}\left(\vec{r}'\right)\cdot d\vec{r}'\right) = \lim_{a\to\infty} \left(-\int_{a}^{r}q'\vec{E}\left(\vec{r}'\right)\cdot d\vec{r}'\right) .\label{eq:4}
\end{align}
\]
From \(\eqref{eq:3}\) and \(\eqref{eq:4}\),
\[
\begin{align}
U\left(\vec{r}\right) = \lim_{a\to\infty} \left(k \frac{qq’}{r’} \right)_{a}^{r} = k\frac{qq’}{r}. \label{eq:5}
\end{align}
\]
Likewise, the change in electrostatic potential energy of a system of \(N_{e}\) point charges is the work required to assemble the system of charges by bringing them close together from an infinite distance away, without undergoing acceleration. For a particle pair \(i\), \(j\), \(U_{ij} = k\frac{q_{i}q_{j}}{r_{ij}}\) where \(r_{ij} = \| \vec{r}_{i} - \vec{r}_{j} \|_{2}\). Without loss of generality, we shall ignore the magnitude of \(k\) and \(q_{i}\) \(\forall i\) \(\in\) \(\left(1,..,N_{e}\right)\), and arrive at the total electrostatic potential energy, \(\widetilde{U}\left(N_{e},\vec{r}_{1},…,\vec{r}_{N_{e}}\right)\), for the system of \(N_{e}\) point charges for a numerical minimization framework:
\[
\begin{align}
\widetilde{U}\left(N_{e},\vec{r}_{1},…,\vec{r}_{N_{e}}\right) = \displaystyle\sum_{i<j<N_{e}} \frac{1}{r_{ij}}, i \in \left(1,..,j\right),j \in \left(1,..,N_{e}\right).\label{eq:6}
\end{align}
\]
Thus, from \(\eqref{eq:6}\) the objective function for the Thomson problem is:
\[
\begin{equation}
\begin{aligned}
& \underset{\vec{r}_{1}, …, \vec{r}_{N_{e}}}{\text{minimize}}
& & \widetilde{U}\left(N_{e},\vec{r}_{1},…,\vec{r}_{N_{e}}\right) \\
& \text{subject to}
& & \| \vec{r}_{i} \|_{2} = 1, \forall i \in \left(1,…,N_{e}\right).
\end{aligned}
\end{equation}
\]
Minimizing the electrostatic energy across \(N_{e}\) electrons constrained on a sphere, presents a non-convex optimization problem where the number of local minima appears to grow exponentially with \(N_{e}\) (Laszlo, 2022). Here, I use a stochastic pattern search global optimizer (SP-GOPT Solver) for finding solutions for varying \(N_{e}\). I benchmark my results with those published already, and I attempt to pioneer for minimizing \(\widetilde{U}\left(N_{e},\vec{r}_{1},…,\vec{r}_{N_{e}}\right)\) for larger values of \(N_{e}\) than what I can publicly find (with the help of distributed optimization using MPI).
Numerical solutions (global minima) and configurations, of smallest electrostatic energies \(N_{e}>1\)
For \(N_{e} \le 100\), SP-GOPT is used to calculate \(\widetilde{U}_{\text{min}}\left(N_{e}\right)\), called \(\widetilde{U}_{\text{min}}^{\text{SP-GOPT}}\left(N_{e}\right)\), and is compared against already-published results, \(\widetilde{U}_{\text{min}}^{\text{benchmark}}\left(N_{e}\right)\), for benchmarking purposes. For the optimization routine, the initial evaluation is such that \(\left( \vec{r}_{1},…,\vec{r}_{N_{e}}\right)\) are on a single point, and a re-start (for premature terminations) uses the previous start output as the new initial set of \(\left( \vec{r}_{1},…,\vec{r}_{N_{e}}\right)\). The optimal coordinates, denoted as \(\left( \vec{r}_{1}^{*},…,\vec{r}_{N_{e}}^{*}\right)\), are subject to being rotated about a unit sphere. The results in green are smaller than published results.
\(N_e\) | \(\widetilde{U}_{\text{min}}^{\text{benchmark}}\left(N_{e}\right)\) | Benchmark Source | \(\widetilde{U}_{\text{min}}^{\text{SP-GOPT}}\left(N_{e}\right)\) | \(\vec{r}_{1}^{*},…,\vec{r}_{N_{e}}^{*}\) | # of iterations | # of re- starts | # of CPU threads |
2 | 0.500000000 | Laszlo, Wikipedia, 2022 | 0.5000000000 | .txt, .fig, .png | 961 | 1 | 1 |
3 | 1.732050808 | Laszlo, Wikipedia, 2022 | 1.7320508076 | .txt, .fig, .png | 947 | 1 | 1 |
4 | 3.674234614 | Laszlo, Wikipedia, 2022 | 3.6742346142 | .txt, .fig, .png | 998 | 1 | 1 |
5 | 6.474691495 | Laszlo, Wikipedia, 2022 | 6.4746914947 | .txt, .fig, .png | 1640 | 1 | 1 |
6 | 9.985281374 | Laszlo, Wikipedia, 2022 | 9.9852813742 | .txt, .fig, .png | 2243 | 1 | 1 |
7 | 14.452977414 | Laszlo, Wikipedia, 2022 | 14.4529774142 | .txt, .fig, .png | 69843 | 1 | 1 |
8 | 19.675287861 | Laszlo, Wikipedia, 2022 | 19.6752878612 | .txt, .fig, .png | 4824 | 1 | 1 |
9 | 25.759986531 | Laszlo, Wikipedia, 2022 | 25.7599865313 | .txt, .fig, .png | 7798 | 1 | 1 |
10 | 32.716949460 | Laszlo, Wikipedia, 2022 | 32.7169494601 | .txt, .fig, .png | 16514 | 1 | 1 |
11 | 40.596450510 | Laszlo, Wikipedia, 2022 | 40.5964505082 | .txt, .fig, .png | 26327 | 1 | 1 |
12 | 49.165253058 | Laszlo, Wikipedia, 2022 | 49.1652530576 | .txt, .fig, .png | 16103 | 1 | 1 |
13 | 58.853230612 | Laszlo, Wikipedia, 2022 | 58.8532306117 | .txt, .fig, .png | 46203 | 1 | 1 |
14 | 69.306363297 | Laszlo, Wikipedia, 2022 | 69.3063632966 | .txt, .fig, .png | 19209 | 1 | 1 |
15 | 80.670244114 | Laszlo, Wikipedia, 2022 | 80.6702441143 | .txt, .fig, .png | 78045 | 1 | 1 |
16 | 92.911655302 | Laszlo, Wikipedia, 2022 | 92.91165530 | .txt, .fig, .png | 52279 | 1 | 1 |
17 | 106.050404829 | Laszlo, Wikipedia, 2022 | 106.0504048287 | .txt, .fig, .png | 8181577 | 2 | 1 |
18 | 120.084467447 | Laszlo, Wikipedia, 2022 | 120.08446745 | .txt, .fig, .png | 106728 | 1 | 1 |
19 | 135.089467557 | Laszlo, Wikipedia, 2022 | 135.0894675574 | .txt, .fig, .png | 439774 | 1 | 1 |
20 | 150.881568334 | Laszlo, Wikipedia, 2022 | 150.8815683341 | .txt, .fig, .png | 241330 | 1 | 1 |
21 | 167.641622399 | Laszlo, Wikipedia, 2022 | 167.64162240 | .txt, .fig, .png | 2589615 | 1 | 1 |
22 | 185.287536149 | Laszlo, Wikipedia, 2022 | 185.2875361494 | .txt, .fig, .png | 182089 | 1 | 1 |
23 | 203.930190663 | Laszlo, Wikipedia, 2022 | 203.9301906631 | .txt, .fig, .png | 173274 | 1 | 1 |
24 | 223.347074052 | Laszlo, Wikipedia, 2022 | 223.3470741 | .txt, .fig, .png | 1041546 | 1 | 1 |
25 | 243.812760299 | Laszlo, Wikipedia, 2022 | 243.81276030 | .txt, .fig, .png | 930541 | 1 | 1 |
26 | 265.133326317 | Laszlo, Wikipedia, 2022 | 265.13332632 | .txt, .fig, .png | 244160 | 1 | 1 |
27 | 287.302615033 | Laszlo, Wikipedia, 2022 | 287.302615033 | .txt, .fig, .png | 302407 | 1 | 1 |
28 | 310.491542358 | Laszlo, Wikipedia, 2022 | 310.49154236 | .txt, .fig, .png | 184638 | 1 | 1 |
29 | 334.63443992 | Laszlo, Wikipedia, 2022 | 334.63444 | .txt, .fig, .png | 1500965 | 1 | 1 |
30 | 359.603945904 | Laszlo, Wikipedia, 2022 | 359.60394590 | .txt, .fig, .png | 667926 | 1 | 1 |
31 | 385.530838063 | Laszlo, Wikipedia, 2022 | 385.53083806 | .txt, .fig, .png | 218754 | 1 | 1 |
32 | 412.261274651 | Laszlo, Wikipedia, 2022 | 412.26127465085 | .txt, .fig, .png | 153659 | 1 | 1 |
33 | 440.204057448 | Laszlo, Wikipedia, 2022 | 440.20405745 | .txt, .fig, .png | 1086238 | 1 | 1 |
34 | 468.904853281 | Laszlo, Wikipedia, 2022 | 468.90485328 | .txt, .fig, .png | 663848 | 1 | 1 |
35 | 498.569872491 | Laszlo, Wikipedia, 2022 | 498.5698725 | .txt, .fig, .png | 796901 | 1 | 1 |
36 | 529.122408375 | Laszlo, Wikipedia, 2022 | 529.122408 | .txt, .fig, .png | 4375674 | 3 | 1 |
40 | 660.675278835 | Laszlo, Wikipedia, 2022 | 660.67527884 | .txt, .fig, .png | 12290673 | 1 | 1 |
41 | 695.916744342 | Laszlo, Wikipedia, 2022 | 695.916744342 | .txt, .fig, .png | 4120263 | 1 | 1 |
42 | 732.078107544 | Laszlo, Wikipedia, 2022 | 732.0781075 | .txt, .fig, .png | 415986 | 1 | 1 |
43 | 769.190846459 | Laszlo, Wikipedia, 2022 | 769.19085 | .txt, .fig, .png | 6875931 | 1 | 1 |
44 | 807.174263085 | Laszlo, Wikipedia, 2022 | 807.1742631 | .txt, .fig, .png | 1373933 | 1 | 1 |
45 | 846.188401061 | Laszlo, Wikipedia, 2022 | 846.18840112 | .txt, .fig, .png | 6450632 | 2 | 1 |
46 | 886.167113639 | Laszlo, Wikipedia, 2022 | 886.16711364 | .txt, .fig, .png | 974009 | 1 | 1 |
47 | 927.059270680 | Laszlo, Wikipedia, 2022 | 927.05927068 | .txt, .fig, .png | 6450632 | 2 | 1 |
48 | 968.713455344 | Laszlo, Wikipedia, 2022 | 968.713455 | .txt, .fig, .png | 46581059 | 1 | 1 |
49 | 1011.557182654 | Laszlo, Wikipedia, 2022 | 1011.5571827 | .txt, .fig, .png | 761559 | 1 | 1 |
50 | 1055.182314726 | Laszlo, Wikipedia, 2022 | 1055.182315 | .txt, .fig, .png | 4757801 | 1 | 1 |
52 | 1145.418964319 | Laszlo, Wikipedia, 2022 | 1145.4189643 | .txt, .fig, .png | 1776902 | 1 | 1 |
53 | 1191.922290416 | Laszlo, Wikipedia, 2022 | 1191.922290 | .txt, .fig, .png | 2491757 | 2 | 1 |
54 | 1239.361474729 | Laszlo, Wikipedia, 2022 | 1239.3614747 | .txt, .fig, .png | 523472 | 1 | 1 |
55 | 1287.772720783 | Laszlo, Wikipedia, 2022 | 1287.772721 | .txt, .fig, .png | 18192112 | 1 | 1 |
59 | 1490.773335279 | Laszlo, Wikipedia, 2022 | 1490.7733353 | .txt, .fig, .png | 1293470 | 1 | 1 |
61 | 1597.941830199 | Laszlo, Wikipedia, 2022 | 1597.9418302 | .txt, .fig, .png | 3156375 | 1 | 1 |
63 | 1708.879681503 | Laszlo, Wikipedia, 2022 | 1708.8796815 | .txt, .fig, .png | 2916891 | 1 | 1 |
65 | 1823.667960264 | Laszlo, Wikipedia, 2022 | 1823.6679603 | .txt, .fig, .png | 6007199 | 2 | 1 |
66 | 1882.441525304 | Laszlo, Wikipedia, 2022 | 1882.44153 | .txt, .fig, .png | 7292578 | 1 | 1 |
67 | 1942.122700406 | Laszlo, Wikipedia, 2022 | 1942.1227004 | .txt, .fig, .png | 3628947 | 1 | 1 |
71 | 2190.649906425 | Laszlo, Wikipedia, 2022 | 2190.65 | .txt, .fig, .png | 5193106 | 1 | 1 |
72 | 2255.001190975 | Laszlo, Wikipedia, 2022 | 2255.001191 | .txt, .fig, .png | 4515096 | 2 | 1 |
73 | 2320.633883745 | Laszlo, Wikipedia, 2022 | 2320.633884 | .txt, .fig, .png | 16340462 | 1 | 1 |
75 | 2454.369689040 | Laszlo, Wikipedia, 2022 | 2454.369689 | .txt, .fig, .png | 1669232 | 1 | 1 |
76 | 2522.674871841 | Laszlo, Wikipedia, 2022 | 2522.674872 | .txt, .fig, .png | 5842821 | 1 | 1 |
77 | 2591.850152354 | Laszlo, Wikipedia, 2022 | 2591.8501524 | .txt, .fig, .png | 1755143 | 1 | 1 |
79 | 2733.248357479 | Laszlo, Wikipedia, 2022 | 2733.24836 | .txt, .fig, .png | 15451618 | 2 | 1 |
80 | 2805.355875981 | Laszlo, Wikipedia, 2022 | 2805.355876 | .txt, .fig, .png | 3283309 | 2 | 1 |
81 | 2878.522829664 | Laszlo, Wikipedia, 2022 | 2878.522830 | .txt, .fig, .png | 12591784 | 2 | 1 |
85 | 3180.361442939 | Laszlo, Wikipedia, 2022 | 3180.361443 | .txt, .fig, .png | 9920862 | 2 | 1 |
88 | 3416.720196758 | Laszlo, Wikipedia, 2022 | 3416.7201968 | .txt, .fig, .png | 4639490 | 1 | 1 |
90 | 3579.091222723 | Laszlo, Wikipedia, 2022 | 3579.091222 | .txt, .fig, .png | 38417632 | 1 | 1 |
91 | 3661.713699320 | Laszlo, Wikipedia, 2022 | 3661.713699 | .txt, .fig, .png | 32242934 | 1 | 1 |
92 | 3745.291636241 | Laszlo, Wikipedia, 2022 | 3745.291636 | .txt, .fig, .png | 22980489 | 2 | 1 |
93 | 3829.844338421 | Laszlo, Wikipedia, 2022 | 3829.844338 | .txt, .fig, .png | 6949533 | 3 | 1 |
95 | 4001.771675565 | Laszlo, Wikipedia, 2022 | 4001.7716756 | .txt, .fig, .png | 26615780 | 2 | 1 |
96 | 4089.154010060 | Laszlo, Wikipedia, 2022 | 4089.15401 | .txt, .fig, .png | 57131845 | 2 | 1 |
97 | 4177.533599622 | Laszlo, Wikipedia, 2022 | 4177.533600 | .txt, .fig, .png | 2581286 | 1 | 1 |
99 | 4357.139163132 | Laszlo, Wikipedia, 2022 | 4357.139163 | .txt, .fig, .png | 38875046 | 2 | 1 |
100 | 4448.350634331 | Laszlo, Wikipedia, 2022 | 4448.350634 | .txt, .fig, .png | 4916509 | 2 | 1
|
For large \(N_{e}\), a distributed computing approach for SP-GOPT is used, to propose newly unpublished results for large \(N_{e}\).
\(N_e\) | \(\widetilde{U}_{\text{min}}^{\text{benchmark}}\left(N_{e}\right)\) | Benchmark Source | \(\widetilde{U}_{\text{min}}^{\text{SP-GOPT}}\left(N_{e}\right)\) | \(\vec{r}_{1}^{*},…,\vec{r}_{N_{e}}^{*}\) | # of iterations | # of re- starts | # of CPU threads |
2832 | 3926826.0886472 | Wales, Ulker, 2006 | | .txt, .fig, .png | | | |
3182 | 4963365.9063241 | Wales, Ulker, 2006 | | .txt, .fig, .png | | | |
3552 | 6191357.2579633 | Wales, Ulker, 2006 | | .txt, .fig, .png | | | |
3942 | 7632895.0289372 | Wales, Ulker, 2006 | | .txt, .fig, .png | | | |
4352 | 9311276.2839985 | Wales, Ulker, 2006 | | .txt, .fig, .png | | | |
10000 | uncontested | none | | .txt, .fig, .png | | | |
100000 | uncontested | none | | .txt, .fig, .png | | | |
1000000 | uncontested | none | | .txt, .fig, .png | | | |
10000000 | uncontested | none | | .txt, .fig, .png | | | |
100000000 | uncontested | none | | .txt, .fig, .png | | |
|
This is a great problem for confronting the challenges of non-conex objective functions, not only seen in the field of optimization, but those found in real-world applications like those in Data Science, professional sports betting, quantitative finance, engineering, physics, and more.
Reference
1. Aspden, H. “Earnshaw's Theorem.” Amer. J. Phys. 55, 199-200, 1987.
2. Wikipedia contributors. (2022, October 22). “Thomson problem.” Wikipedia. https://en.wikipedia.org/wiki/Thomson_problem
3. Laszlo, H. “Numerical Solutions for the Thomson Problems.” Draft 0.4, January 20, 2022. https://www.hars.us/Papers/Numerical_Thomson.pdf
4. Wales, D.J., and Ulker, S., “Structure and dynamics of spherical crystals characterized for the Thomson problem.” Phys. Rev. B 74, 212101, 2006.
https://journals.aps.org/prb/abstract/10.1103/PhysRevB.74.212101
5. Wales, D.J., McKay, H., and Altschuler, E., “Defect motifs for spherical topologies.” Phys. Rev. B 79, 224115, 2009.
https://journals.aps.org/prb/abstract/10.1103/PhysRevB.79.224115
|