_{1}

^{*}

This research effort addresses the social-distancing problem. As the COVID-19 pandemic continues, we’ve learned the importance of keeping proper distance, so as to avoid (or minimize) the spread of infection. For this paper, individuals are represented as positively-charged particles, behaving in accordance with Coulomb’s Law. Additionally, negatively-charged stationary (non-moving) particles are positioned such that their attraction to the positively-charged particles guides the movement of the positively-charged particles in a desirable fashion. During a simulation process, Coulomb’s Law guides particle behavior such that the positively-charged particles arrange themselves in a way such that their spacing is essentially optimal. Of course, these positively charged particles can be thought of as a surrogate for individuals, resulting in the optimal spacing of individuals.

COVID-19 became a major problem in the world in the early months of 2020. Countries have used varying approaches in addressing the problem, but the concept of “social-distancing” has become one of the most important defenses against the virus. Two major factors contribute to the spread of infection: population density [

In short, social-distancing is the best defense against the virus. Because of the importance of social distancing, a good social distancing tool is desired. The main motivation of this research effort is to assist with social distancing—finding the best way to address social distancing via our vast array of mathematical tools. These tools can be used to optimize the spacing of individuals in our collective attempt to minimize transmission of the virus. The body of literature contains a good amount of research relating to the circle-packing problem—a problem committed to optimizing placement of circles in a confined area such that the total area dedicated to circles is maximized. The research presented here slightly differs in that because particles, not circles, are placed into a unit square.

This research exploits Coulomb’s Law in an attempt to optimize the placement of charged particles in a confined environment. In this context, the charged particles are surrogates for individuals. Coulomb’s Law guides the charged particles as to where to go. This process is organized as a part of the meta-heuristic Simulated Annealing—a search process engineered to find near-optimal solutions for all sizes of optimization problems. The pursuance of Coulomb’s Law in this endeavor is considered the unique feature of this research.

In short, the contributions of this paper are summarized as follows:

· The social distancing problem is addressed, specifically via mathematical means

· Coulomb’s Law is employed in a novel fashion

· Near-optimal results are found for problems proven optimal

· The presented methodology can be employed to larger problems without loss of generality

The following sections describe Circle-Packing/Particle Arrangement, Coulomb’s Law, and how Coulomb’s Law is used to assist in particle movement via the Simulated Annealing search heuristic. The presented methodology is also used on sample problems resulting in near-optimal solutions. General conclusions are also offered, along with recommendations for subsequent research.

It should be noted that there are several terms defined in this paper. Specifically,

In its most general form, “circle-packing” is the practice of placing non-overlapping circles in a confined space. The circles need not be of the same diameter. The intention is to arrange the circles such that the wasted space (non-circle area) is minimized. This practice is important in the steel-stamping

Symbol | Description |
---|---|

x i | horizontal location of particle i |

y i | vertical location of particle i |

n + | number of positively-charged particles |

n − | number of negatively-charged particles |

i + , j + | indices for positively-charged particles |

i − , j − | indices for negatively-charged particles |

d i j 2 | distance between particles i and j |

( F x ) i + | net horizontal force exerted on particle i^{+} |

( F y ) i + | net vertical force exerted on particle i^{+} |

F i + | magnitude of force exerted on particle i^{+} |

h i + | direction of force exerted on particle i^{+} |

Point | Charge | x | y | x_{i} − x_{j} | y_{j} − y_{i} | d i j 2 | F_{x} | F_{y} |
---|---|---|---|---|---|---|---|---|

(7, 11) | + | 7 | 11 | N/A | N/A | N/A | N/A | N/A |

(3, 17) | + | 3 | 17 | 4 | −6 | 52 | 0.0769 | −0.1154 |

(14, 15) | + | 14 | 15 | −7 | −4 | 65 | −0.1077 | −0.0615 |

(16, 8) | + | 16 | 8 | −9 | 3 | 90 | −0.1000 | −0.0333 |

(4, 4) | − | 4 | 4 | −3 | −7 | 58 | −0.2069 | −0.4828 |

Symbol | Definition |
---|---|

d_{ij} | distance between particles i and j |

Z_{C} | current solution distance |

Z_{T} | temporary solution distance |

Z_{B} | best solution distance |

x_{i} | x coordinate of particle i |

y_{i} | y coordinate of particle i |

q | iteration index |

n | number of particles to position |

T_{1} | Initial temperature |

T_{F} | Final temperature |

T | current temperature |

d | relative inferiority of temporary solution |

Iter | iterations per temperature level |

CR | cooling ratio |

k_{B} | Boltzman constant |

industry, as non-stamped steel is considered a form of waste. From an operations research perspective, packing some number of circles (n) of equal diameter in a confined space (such as a unit square or unit circle) has become a benchmark problem. For problems of this type, the objective is to maximize the diameter of the n circles [

The research here differs from the above problem in that we are only interested in optimally spacing the centers of the n circles of concern. As such, we treat the centers of the circles as points on a two-dimensional plane, and wish to maximize the distance between centers of the two closest circles.

Maximizing the distance between the two closest circle centers is the objective for this research. Given that the larger values of n result in problems with unknown optimal solutions, we are motivated to provide a tool for addressing not just “large” values of n, but any particular value of n. From this point forward, these circle centers are referred to as “particles,” and in the context of social distancing, we wish to maximize the distance between the two closest particles (persons).

In the context of this research, there are two ways to move individuals with the intent of social distancing in an optimal fashion. First of all, individuals hereafter are referred to as “particles,” which are simply points in space. It is desired that these particles be arranged such that the minimum pairwise distance between all

particles be maximized. In order to accomplish this objective, the particles are moved during a simulation process. For this research effort, two different ways to move the particles are pursued. The first is by exploiting the magnetic nature of charged particles, which is referred to as “polar movement.” The second way to move the particles is via “random movement.”

Magnetic particles are either positively charged or negatively charged. Particles of the same charge repel each other, while particles of differing charges are attracted to each other.

Coulomb’s Law quantifies the force between the particles according to the Coulomb’s Law, which mathematically is as follows:

F i j = 1 4 π ε 0 q i q j d i j 2 (1)

The first term of this (1/4πe_{0}) is essentially a constant, used to convert the result into units of Newtons (N). This constant is not used here, as we are only interested in relative forces. The value of q_{i} and q_{j} are the charges of two particles, measured in Coulombs (C). The value of d_{ij} is the Euclidean distance between particles i and j. As such, the force between two charged particles reduces to the following:

F i j = q i q j d i j 2 (2)

We can state that the force between two charged particles is the product of their charges and inversely proportional to the squared distance between them, where the squared distance is as follows:

d i j 2 = ( x i − x j ) 2 + ( y i − y j ) 2 (3)

With a basic understanding of Coulomb’s Law, we now need to understand how the forces of several charged particles affect a single particle. For this research, only positive particles move, while negative particles remain stationary – the forces imposed by the negative particles do, however, affect the movement of the positively-charged particles.

It is intended to determine the net force exerted on all positive particles. To do this, we combine the forces exerted on all positive particles in terms of horizontal and vertical components. Consider

The find the net force exerted on some specific positive particle i^{+}, the following two equations are used:

( F x ) i + = ( ∑ j + = 1 n + ( x i + − x j + ) d i + j + ) + ( ∑ j − = 1 n − ( n + / n − ) ( x j − − x i + ) d i + j − ) , ∀ i + , ∀ j ≠ i + (4)

( F y ) i + = ( ∑ j + = 1 n + ( y i + − y j + ) d i + j + ) + ( ∑ j − = 1 n − ( n + / n − ) ( y j − − y i + ) d i + j − ) ∀ i + , ∀ j ≠ i + (5)

It is important to note that the first component of the above two formulae relates to the force between the particle i^{+} and other positively-charged particles, while the second component relates to the force between positively-charged particle i^{+} and the negatively-charged particles. It is also important to note that the (n^{+}/n^{−}) component is used to make sure the total positive force (in Coulombs) is the same as the total negative force (in Coulombs). For this example, there are four positively-charged particles, and one negatively-charged particle. As such, the (n^{+}/n^{−}) multiplier assures the negatively-charged particle has a charge of four Coulombs, the same as the sum of the positively-charged particles.

The magnitude of the resultant net force is as follows:

F i + = ( F x 2 ) i + + ( F y 2 ) i + , ∀ i + (6)

The direction, or heading, of this resultant net force is as follows:

h i + = tan − 1 ( ( F y ) i + ( F x ) i + ) , ∀ i + (7)

Using Equations (4) and (5) above, and summing the two right-most columns of

The importance of

Again, it is important to note that only positively-charged particles are subject to movement, so resultant forces are only determined for the positively-charged particles.

Unfortunately, polar movement is not always possible, because resultant forces may take us outside the realm of feasible solutions (outside the unit square). Because in polar movement, only the positively-charged particles move, and their nature to repel each other will motivate these particles outside the realm of feasible solutions.

In order to combat this problem, all movable particles are treated as “neutral” particles, and they are moved a very small amount according to randomly-selected magnitudes and headings. This approach is referred to as random movement, and is illustrated in

This research effort utilizes both polar movement and random movement in our attempt to find optimal spacing.

This section describes the methodology used for finding the best spacing of particles according to the movement rules described above. Simulated annealing is the general search heuristic used. Simulated annealing starts with a random solution. Minor modifications are made to the random solution. If the modified solution is an improvement over the current solution, the modified solution

replaces the current solution. Otherwise, the modified solution may replace the current solution, provided the degree of inferiority is small enough to meet a probabilistic threshold [

Prior to describing the search process,

Values for the following search parameters are chosen: Iter, k_{B}, CR (< 1.0), T_{1} and T_{F} (where T_{F} < T_{1}), and T = T_{1}. The iteration index, q, is set to 1. The number of movable particles for spacing (n) is chosen, and for each particle i, x and y coordinates are assigned the following:

x i ~ U ( 0 , 1 ) , ∀ i (8)

y i ~ U ( 0 , 1 ) , ∀ i (9)

This is the initial solution. The objective function of this initial solution is as follows:

max ( min ( d i j ) ) , ∀ i , j ≠ i , w h e r e (10)

d i j = ( x i − x j ) 2 + ( y i − y j ) 2 (11)

Subject to the constraints:

0 ≤ x i ≤ 1 , ∀ i (12)

0 ≤ y i ≤ 1 , ∀ i (13)

The values of Z_{C}, Z_{T} and Z_{B} are set equal to the objective function value.

In layman’s terms, we wish to arrange n particles in the unit square such that the distance between the closest two particles is maximized. The mathematics of this model shows a scenario where the objective function is both nonlinear and discontinuous, meaning conventional solvers are unlikely to guarantee an optimal solution, especially for larger problems. This is the reason a search heuristic is pursued.

Prior to movement, the current solution is copied to the temporary solution. Movement is either in the form of polar movement or random movement, both described in Section 3. The probability of polar-movement is τ, implying that the probability of random movement is (1 − τ).

In polar movement, only the positively-charged particles move, while the negatively-charged particles remain stationary. All positively charged particles simultaneously move in the direction of their heading ( h i + ) at a distance of ( F i + ) . In random movement, the n-particles move to a nearby, randomly-selected location. Regardless of the type of move, infeasible moves are not executed. The result of all movements is the temporary solution.

Once the (previously-described) move is complete, the objective function value (Z_{T}) is determined via Equation (10). A determination needs to be made as to whether or not to accept the temporary solution as the current solution. If the objective function value of the temporary solution is better than the objective function value of the current solution—that is, if Z_{T} > Z_{C}, the current solution is replaced by the temporary solution.

Otherwise, further evaluation is needed before accepting the temporary solution as the current solution. The inferiority of the temporary solution compared to the current solution is represented as δ, and is determined as follows:

δ = Z T − Z C Z C (14)

The probability of accepting the inferior temporary solution as the current solution occurs with the following probability:

P ( A ) = exp ( δ k B T ) (15)

A uniformly-distributed random number of the interval (0, 1) is generated. If this value is less than P(A), the inferior temporary solution is accepted as the current solution. Otherwise, the inferior temporary solution does not replace the current solution. The content provided by Equations (14) and (15) cuts to the uniqueness of Simulated Annealing. Inferior solutions are occasionally accepted as current solutions so as to avoid being trapped at local optima. The probability of accepting inferior solutions decreases as the search progresses. The Boltzmann Constant (k_{B}) controls the probability of accepting inferior solutions [

A test step compares the temporary solution to the best solution. If the temporary solution objective function value exceeds the best solution objective function value (that is, if Z_{T} > Z_{B}), the temporary solution replaces the best solution.

If q is less than the specified number of iterations per temperature level (Iter), the value of q is incremented by one (q = q + 1), and control if the search returns to that described in Section 4.2. Otherwise, the current Temperature (T) is multiplied by the cooling rate to set the new current temperature (T = T * CR), and q is reset to 1. If the new resultant temperature is greater than T_{F}, control of the search returns to that described by Section 4.2, and q is reset to 1. Otherwise, the search is over and the best solution is returned.

For a better understanding of the search process, details are provided in pseudocode form.

initialize();

while (T > T_{F}){

for(q = 1; q <= Iter; q++){

set temp-solution = current-solution();

if(~U(0,1)<τ)polar-movement();

else random-movement();

evaluate temp-solution();

if (Z_{T} > Z_{C}) set current-solution = temp-solution();

if (Z_{T} > Z_{B}) set best-solution = temp-solution();

else {if(~U(0,1)

set current-solution = temp-solution();}

} //end else

} //end q

T = T * CR

} //end while

report-best-solution();

When the best solution is returned, the x and y-coordinates of all particles associated with the best solution are reported, along with the objective function value.

The methodology presented above was carried out via agent-based modeling software. Agent based modeling is an extension of traditional object-oriented programming (such as Java or C++) in that the modeling environment is a dynamic system—the entire system is perpetually in a state of change [

The methodology can be used for any value of n. As stated earlier, NetLogo was the programming software employed. The images provided via

After careful inspection of

After the Simulated Annealing was performed, the final solution was obtained and detailed via

particles was 0.3000, where the proven-optimal distance was found to be 0.3005 [

In finding the best solutions for values of n ≥ 2, the search settings shown in

For all problems, T_{1} was set to 40, while T_{F} was set to 1. The cooling ratio, CR was set to 0.9995, and the number of Iter increased in proportion to n. For all problems, the Boltzmann Constant, k_{B}, was set such that a temporary solution 5% inferior to the current solution had a 5% probability of acceptance when T = T_{1}.

n | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|

Z_{B} | 1.4142 | 1.0352 | 1.0000 | 0.7071 | 0.6009 | 0.5358 | 0.5174 | 0.5000 | 0.4212 | 0.3978 |

Z_{opt} | 1.4142 | 1.0352 | 1.0000 | 0.7071 | 0.6009 | 0.5359 | 0.5176 | 0.5000 | 0.4213 | 0.3982 |

n | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 25 | 36 |

Z_{B} | 0.3885 | 0.3655 | 0.3476 | 0.3386 | 0.3331 | 0.3057 | 0.3000 | 0.2862 | 0.2495 | 0.1998 |

Z_{opt} | 0.3887 | 0.3661 | 0.3489 | 0.3411 | 0.3333 | 0.3061 | 0.3005 | 0.2866 | 0.2500 | 0.2000 |

For the problems pursued, the presented methodology averaged 99.89% as compared to proven optimal. The worst-performance was for n = 15, which was 99.27% as compared to optimal.

Methodology has been provided to address social distancing via Coulomb’s Law and a variant of the circle-packing problem. Results are encouraging. As the COVID-19 virus and its social impact continue to evolve, social distancing will likely be with us for a while, and what we’ve learned from the effects of social distancing will likely be applied to future crises of a similar nature.

The presented research most certainly can be taken further, particularly with regard to scale. While the virus continues to force us into social distancing, sporting events will have limited capacity, providing employment for the presented methodology. The same can be said for worship services. In these larger-scale situations; however, something other than a unit square will be required, given the differing shapes of large venues.

Another opportunity for subsequent research applies to the use of Coulomb’s Law, and more effective ways of using the law to find desirable spacing. Scientific principles of other types could also be investigated in attempt to achieve desirable spacing.

In summary, the findings of this work are as follows:

· Social-distancing in an optimal fashion can be addressed via an applied mathematical approach

· Near-optimal results were found when compared to existing problems with known optima

· A combination of Coulomb’s Law and random movement was needed to obtain desirable solutions

· The presented methodology can be scaled to larger problems without loss of generality

· The work exploited a novel application of Coulomb’s Law

It is possible that other scientific principles (other than Coulomb’s Law) would be employed to address this problem.

The author declares no conflicts of interest regarding the publication of this paper.

McMullen, P.R. (2020) Social Distancing via Coulomb’s Law. Applied Mathematics, 11, 532-545. https://doi.org/10.4236/am.2020.117038