Dattorro Convex Optimization of Eternity II

From Wikimization

(Difference between revisions)
Jump to: navigation, search
Line 2: Line 2:
This [http://www.convexoptimization.com/TOOLS/EternityII.mat Matlab binary] contains:
This [http://www.convexoptimization.com/TOOLS/EternityII.mat Matlab binary] contains:
-
*<math>\,\tau\in\!\mathbb{R}^{11077}</math> and <math>\,E\!\in\!\mathbb{R}^{11077\times262144}</math> is the million column Eternity II matrix having redundant columns removed,
+
*<math>\tau\!\in\!\mathbb{R}^{11077}</math> and <math>\,E\!\in\!\mathbb{R}^{11077\times262144}</math> is the million column Eternity II matrix having redundant columns removed,
-
*<math>\,\tilde{\tau}\in\!\mathbb{R}^{10054}</math> and <math>\,\tilde{E}\!\in\!\mathbb{R}^{10054\times204304}</math> has columns removed corresponding to known zero variables,
+
*<math>\tilde{\tau}\!\in\!\mathbb{R}^{10054}</math> and <math>\,\tilde{E}\!\in\!\mathbb{R}^{10054\times204304}</math> has columns removed corresponding to known zero variables,
-
*<math>\,b\in\!\mathbb{R}^{7362}</math> and <math>\,A\!\in\!\mathbb{R}^{7362\times150638}</math> has columns removed not in smallest face (containing <math>\tilde{\tau}</math>) of polyhedral cone <math>\{\tilde{E}^{}x~|~x\!\succeq\!0\}</math>
+
*<math>b\!\in\!\mathbb{R}^{7362}</math>&nbsp;&nbsp; and <math>A\!\in\!\mathbb{R}^{7362\times150638}</math>&nbsp; has columns removed not in smallest face (containing <math>\tilde{\tau}</math>) of polyhedral cone <math>\mathcal{K}\triangleq\{\tilde{E}^{}x~|~x\!\succeq\!0\}</math>,
 +
*'''zero_varbs''': row-vector identifying 57,840 columns removed from <math>\,E</math> to make <math>\tilde{E}</math>
 +
*'''zero_varbs_cone''': row-vector identifying 53,666 more columns removed from <math>\,E</math> to make <math>\,A</math>;<br> but only those columns not belonging to smallest face of <math>\mathcal{K}</math> containing <math>\tilde{\tau}</math>.
I regard the following linear program as a very difficult problem, having spent considerable time with it.
I regard the following linear program as a very difficult problem, having spent considerable time with it.

Revision as of 01:00, 14 February 2011

Eternity II puzzle formulation is thoroughly discussed in section 4.6.0.0.15 of the 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: \tilde{E}\!\in\!\mathbb{R}^{10054\times204304} is sparse having only 1,170,516 nonzeros.

All entries of LaTeX: \tilde{E}\, are integers from the set LaTeX: \{{-1},0,1\}\,.   LaTeX: \tilde{\tau}\in\{0,1\}^{10054}.

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