The Varignon frame, named after Pierre Varignon, is a mechanical device which can be used to determine an optimal location of a warehouse for the distribution of goods to a set of shops. Optimal means that the sum of the weighted distances of the shops to the warehouse should be minimal. The frame consists of a board with n holes corresponding to the n shops at the locations \mathbf x_1, ...\mathbf x_n, n strings are tied together in a knot at one end, the loose ends are passed, one each, through the holes and are attached to weights below the board (see diagram). If the influence of friction and other odds of the real world are neglected, the strings are long enough to prevent weights being jammed into their holes, and no single weight is so heavy as to pull the knot through the hole and below the table, the knot will take a position of equilibrium \mathbf v. It can be shown (see below), that point \mathbf v is the optimal location which minimizes the weighted sum of distances
- (1):
\ D(\mathbf x)=\sum_{i=1}^n m_i\|\mathbf x_i-\mathbf x\|.
The optimization problem is called Weber problem.[1]
Mechanical Problem - Optimization Problem
If the holes have locations \mathbf x_1, \dots, \mathbf x_n and the masses of the weights are m_1,...,m_n then the force acting at the i-th string has the magnitude m_i\cdot g (g=9.81 \text{m/sec}: constant of gravity) and direction \tfrac{\mathbf x_i- \mathbf v}{\|\mathbf x_i-\mathbf v\|} (unitvector). Summing up all forces and cancelling the common term g one gets the equation
- (2):
\ \mathbf F(\mathbf v)=\sum_{i=1}^n m_i\frac{\mathbf x_i-\mathbf v}{\|\mathbf x_i-\mathbf v\|}=\mathbf 0.
(At the point of equilibrium the sum of all forces is zero !)
This is a non-linear system for the coordinates of point \mathbf v which can be solved iteratively by the Weiszfeld-algorithm (see below)[2]
The connection between equation (1) and equation (2) is:
- (3):
\ \mathbf F(\mathbf x)= \nabla D(\mathbf x) = \begin{bmatrix} \frac{\partial D}{\partial x} \\ \frac{\partial D}{\partial y} \end{bmatrix}.
Hence Function D has at point \mathbf v a local extremum and the Varignon frame provides the optimal location experimentally.
Example
For the following example the points are
\mathbf x_1=(0,0),\ \mathbf x_2=(40,0),\ \mathbf x_3=(50,40),\mathbf x_4=(10,50),\ \mathbf x_5=(-10,30)
and the weights
m_1=10,\; m_2=10,\; m_3=20,\; m_4=10,\; m_5=5.
The coordinates of the optimal solution (red) are (32.5, 30.1) and the optimal weighted sum of lengths is L_\text{op} = 1679. The second picture shows level curves which consist of points of equal but not optimal sums. Level curves can be used for assigning areas, where the weighted sums do not exceed a fixed level. Geometrically they are implicit curves with equations
\; D(\mathbf x)-c=0, \; c>L_\text{op}\;(see equation (1)).
Special cases n=1 and n=2
- In case of
n=1one gets\mathbf v = \mathbf x_1. - In case of
n=2andm_2>m_1one gets\mathbf v = \mathbf x_2. - In case of
n=2andm_2=m_1point\mathbf vcan be any point of the line section\overline{X_1X_2}(see diagram). In this case the level curves (points with the same not-optimal sum) are confocal ellipses with the points\mathbf x_1,\mathbf x_2as common foci.
Weiszfeld-algorithm and a fixpoint problem
Replacing in formula (2) vector \mathbf v in the nominator by \mathbf v_{k+1} and in the denominator by \mathbf v_k and solving the equation for \mathbf v_{k+1} one gets:[3]
- (4):
\quad \mathbf v_{k+1}= \sum_{i=1}^n \frac{m_i\mathbf x_i}{\|\mathbf x_i-\mathbf v_k\|}\, \Bigg/ \sum_{i=1}^n \frac{m_i}{\|\mathbf x_i-\mathbf v_k\|}
which describes an iteration. A suitable starting point is the center of mass with mass m_i in point \mathbf x_i:
\mathbf v_0= \frac{\sum_{i=1}^n m_i \mathbf x_i}{\sum_{i=1}^n m_i}.
This algorithm is called Weiszfeld-algorithm.[4]
Formula (4) can be seen as the iteration formula for determining the fixed point of function
- (5)
\quad \mathbf G(\mathbf x)=\sum_{i=1}^n \frac{m_i\mathbf x_i}{\|\mathbf x_i-\mathbf x\|}\,\Bigg/ \sum_{i=1}^n \frac{m_i}{\|\mathbf x_i-\mathbf x\|}
with fixpoint equation
\quad \mathbf x= G(\mathbf x)
(see fixed point)
Remark on numerical problems:
The iteration algorithm described here may have numerical problems if point \mathbf v_k is close to one of the points \mathbf x_1,...\mathbf x_n.
See also
- Fermat point (case
n=3, m_1=m_2=m_3=1) - Varignon's theorem
- Geometric median
External links
- MathePrisma Uni Wuppertal: Lösung eines Standort-Problems mit GeoGebra
- The Frame of Varignon: Mathematical Treatment
References
- ^ Z. Drezner, H.W. Hamacher: Facility Location, Springer, 2004, ISBN 3-540-21345-7, p. 7
- ^ Horst W. Hamacher: Mathematische Lösungsverfahren für planare Standortprobleme, Vieweg+Teubner-Verlag, 2019, ISBN 978-3-663-01968-8, p. 31
- ^ Karl-Werner Hansmann :Industrielles Management, De Gruyter Verlag, 2014, ISBN 9783486840827, S. 115
- ^ see Facility location, p. 9
- Uwe Götze: Risikomanagement, Physica-Verlag HD, 2013, ISBN 978-3-642-57587-7, S. 268
- Andrew Wood, Susan Roberts : Economic Geography, Taylor & Francis, 2012, ISBN 9781136899478, p. 22
- H. A. Eiselt, Carl-Louis Sandblom :Operations Research, Springer Berlin Heidelberg, 2010, ISBN 9783642103261, p. 239
- Robert E. Kuenne: General Equilibrium Economics, Palgrave Macmillan UK, 1992, ISBN 9781349127528, p. 226