Next: ratint, Previous: Sample Applications, Up: Sample Applications [Contents][Index]
The combdist
application computes a closed-form formula giving
the centroid distance (squared) for general 3-toothed comb facets of
the Traveling Salesman Polytope TSP(n).
Let G = (V,E) be the complete graph with n = |V|
vertices.
Let m = |E| = n(n-1)/2.
Let T be the set of all incidence vectors denoting subsets
of E that form Hamiltonian cycles (tours) of G.
Then polytope TSP(n) is the convex hull of T.
The centroid C of TSP(n) is defined to be the mean of all incidence vectors T.
Let A be the affine hull of TSP(n).
(TSP(n) satisfies n
equations requiring
degree(v) = 2 for each vertex v.)
It is well-known that the k-toothed comb inequalities define facets of TSP(n) for all odd k >= 3. A general 3-toothed comb inequality can be described by partitioning V into 8 mutually-disjoint sets: B1, T1, B2, T2, B3, T3, H, O, where Bi, Ti are the “base” and “tip” of tooth i; H are the handle vertices outside of any teeth; and O are the remaining vertices completely outside the comb. A valid comb inequality requires Bi and Ti to have at least one vertex each. H and O are permitted to be empty. We define the following parameters: b1 = |B1|, t1 = |T1|, b2 = |B2|, t2 = |T2|, b3 = |B3|, t3 = |T3|, h = |H|, and o = |O|.
Let B1, T1, B2, T2, B3, T3, H, O be a partition of V, with b1, t1, b2, t2, b3, t3, h, o defined correspondingly as above such that b1, t1, b2, t2, b3, t3 >= 1. This partition defines a unique 3-toothed comb inequality Q. Let F be hyperplane bounding Q. The centroid distance d is defined to be the shortest Euclidean distance between C and (F intersect A).
The centroid distance d is considered to be an “indicator” for the “strength” of the corresponding inequality Q. (Smaller centroid distance d indicate “stronger” inequalities: they cut more deeply into the polytope and exclude more volume from the feasible region than weaker inequalities having larger centroid distance.)
The combdist
application computes a symbolic closed-form for
the centroid distance (squared) as a function of
b1, t1, b2, t2, b3, t3, h, o.
The computation is structured as follows. Let y be the point in (F intersect A) closest to C. The partition defines 8 classes of vertices, giving rise to 36 classes of edges. (For example, the class of edges having one vertex in T3 and the other vertex in H. The 36 edge classes form a parition of E.) Let J be one such edge class. By symmetry of TSP(n) we have y[e1] = y[e2] for all e1,e2 in J. It suffices, therefore to consider a point x in R^36 such that y[e1] = y[e2] = x[J].
We start with a system of 9 equations over x: eight “degree 2” equations (one per vertex class), and the equation corresponding to the 3-toothed comb inequality. (The coefficients of these equations are polynomials in the 8 parameters b1, t1, b2, t2, b3, t3, h, o.) Use Gaussian elimination on this 9x36 system of equations to solve for 9 of the x variables in terms of the remaining 27. (The solution of this system represents those points x that reside in (F intersect A).) Now write down the formula for centroid distance squared (as a function of the 36 x variables and 8 parameters). Use the solution of the previous system of equations to eliminate 9 of the x variables. This squared distance is minimized when its partial derivative is zero with respect to each of the 27 remaining x variables. We therefore construct a 27x27 system of equations requiring each of these 27 partial derivatives be zero. (The coefficients of this system are rational functions of the 8 parameters. The coefficients become polynomials after clearing denominators within each row of the system.) Now use Gaussian elimination to solve this 27x27 system of equations. This gives a unique solution for the 27 remaining x variables. Substituting these into the first linear system gives unique values for the other 9 x variables. Substituting these into the symbolic “distance squared” formula yields the final closed-form we seek: the centroid distance (squared) as a function of the 8 parameters.
One must be careful when choosing pivots during Gaussian elimination
for both of these linear systems.
One should avoid any pivot for which feasible values of the 8
parameters yield a pivot value of zero.
Given that these pivot elements are polynomials in the 8 parameters,
this is equivalent to Hilbert’s Tenth Problem (which was proven to be
unsolvable by Matiyasevich).
That this zero-pivot-recognition problem is unsolvable
in general does not mean that algorithms cannot correctly solve
some instances automatically.
The combdist
program contains an algorithm
hilbert_10_heuristic
that returns TRUE
if-and-only-if no
feasible set of parameter values can make the given pivot polynomial
be zero.
This heuristic makes execellent use of CALIB’s facilities (especially
factorization in Zxyz
) to obtain these answers.
There is just one pivot selection sub-problem for which this heuristic
is unable to identify any of the pivot candidates as being “safe;”
the code uses a manually-selected pivot in this case.
(It is a large polynomial for which we have neither a proof of
non-zeroness, nor a feasible set of parameter values that zero it.)
One must also beware of the special cases h=0 and/or
o=0.
The corresponding vertex sets are empty in these cases, and there are
therefore no incident edges.
This causes the corresponding degree-2 equation to effectively become
0 = 2.
One should therefore be reluctant to accept the general solution
described above as being valid for these special cases.
The comdist
application therefore repeats the computation for
each of the three special cases:
h = 0 and o > 0;
h > 0 and o = 0; and
h = 0 and o = 0.
The offending vertex/edge classes are omitted, as well as the
offending degree-2 equation(s).
In all three cases, the special solution is found to match that
obtained by setting h=0 and/or o=0 in the general
solution.
The general solution is therefore truly general, and represents the
correct centroid distance squared for every valid 3-toothed TSP comb
inequality.
For n <= 12 it is practical to recursively enumerate the incidence vectors of all tours, allowing centroid distances to be computed “from first principles” via quadratic programming. For all 3-toothed combs tested, the closed-form produces centroid distances matching those obtained via quadratic programming.
Next: ratint, Previous: Sample Applications, Up: Sample Applications [Contents][Index]