Dattorro Convex Optimization of Eternity II

From Wikimization

Revision as of 01:12, 14 February 2011 by Dattorro (Talk | contribs)
Jump to: navigation, search

Eternity II puzzle formulation discussed thoroughly in section 4.6.0.0.15 of book Convex Optimization & Euclidean Distance Geometry.

This Matlab binary contains:

  • LaTeX: \tau\!\in\!\mathbb{R}^{11077} and LaTeX: \,E\!\in\!\mathbb{R}^{11077\times262144} is the million column Eternity II matrix having redundant columns removed,
  • LaTeX: \tilde{\tau}\!\in\!\mathbb{R}^{10054} and LaTeX: \,\tilde{E}\!\in\!\mathbb{R}^{10054\times204304} has columns removed corresponding to known zero variables,
  • LaTeX: b\!\in\!\mathbb{R}^{7362}   and LaTeX: A\!\in\!\mathbb{R}^{7362\times150638}  has columns removed not in smallest face (containing LaTeX: \tilde{\tau}) of polyhedral cone LaTeX: \mathcal{K}\triangleq\{\tilde{E}^{}x~|~x\!\succeq\!0\},
  • zero_varbs: row-vector identifying 57,840 columns removed from LaTeX: \,E to make LaTeX: \tilde{E}
  • zero_varbs_cone: row-vector identifying 53,666 more columns removed from LaTeX: \,E to make LaTeX: \,A;
    but only those columns not belonging to smallest face of LaTeX: \mathcal{K} containing LaTeX: \tilde{\tau}.

I regard the following linear program as a very difficult problem, having spent considerable time with it.

LaTeX: \begin{array}{cl}\mbox{minimize}_x&c^{\rm T}x\\
\mbox{subject to}&A\,x=b\\
&x\succeq_{}\mathbf{0}\end{array}

Matrix LaTeX: A\!\in\!\mathbb{R}^{7362\times150638} is sparse having only 782,087 nonzeros. All entries of LaTeX: A\, are integers from the set LaTeX: \{{-1},0,1\}\,.

Vector LaTeX: b_{\!}\in\!\{0,1\}^{7362} has only 358 nonzeros.

Vector LaTeX: c\, is left unspecified because it is varied later as part of a Convex Iteration to find a minimal cardinality solution. The minimal cardinality of Eternity II is equal to number of puzzle pieces, 256. Any minimal cardinality solution is binary and solves the Eternity II puzzle. The constraints bound the variable from above by LaTeX: \mathbf{1}.

I was astonished to discover that the technique, convex iteration, requires no modification (and works very well) when applied instead to mixed integer programming (MIP, not discussed in book). There is no modification to the linear program statement except 256 variables are declared binary.

Personal tools