Dattorro Convex Optimization of Eternity II

From Wikimization

(Difference between revisions)
Jump to: navigation, search
Current revision (17:48, 6 September 2015) (edit) (undo)
 
(14 intermediate revisions not shown.)
Line 1: Line 1:
-
An [http://www.eternityii.com Eternity II puzzle] problem formulation <math>A_{}x\!=\!b\,</math> is discussed thoroughly in section 4.6.0.0.15 of book [http://meboo.convexoptimization.com/Meboo.html Convex Optimization &amp; Euclidean Distance Geometry].&nbsp;
+
An [http://www.eternityii.ro/try-eternity2-online/index.htm Eternity II puzzle] problem formulation <math>A_{}x\!=b\,</math> is discussed thoroughly in section 4.6.0.0.15 of the book [http://meboo.convexoptimization.com/Meboo.html Convex Optimization &amp; Euclidean Distance Geometry] which is freely available.
-
This <math>A\,</math> matrix is obtained by presolving a 864,593 <math>\!\times\!</math> 1,048,576 system.
+
That <math>A\,</math> matrix is obtained by presolving a sparse 864,593 <math>\!\times\!</math> 1,048,576 system.
-
This [http://www.convexoptimization.com/TOOLS/EternityII.mat Matlab binary] contains three successive reductions, each equivalent to this larger system:
+
This [http://www.convexoptimization.com/TOOLS/EternityII.mat Matlab binary] contains three successive reductions, each equivalent to that larger system:
-
*<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_{\rm orig}\!\in\mathbb{R}^{864593}</math> and <math>\,E_{\rm orig}\!\in\mathbb{R}^{864593\times1048576}</math> is the original Eternity II matrix,
-
*<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>\tau\!\in\mathbb{R}^{11077}</math> and <math>\,E\!\in\mathbb{R}^{11077\times262144}</math> is the million column Eternity II matrix having redundant rows and columns removed analytically,
-
*<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>,
+
*<math>\tilde{\tau}\!\in\mathbb{R}^{10054}</math> and <math>\,\tilde{E}\!\in\mathbb{R}^{10054\times204304}</math> has columns removed corresponding to some known zero variables (removal produced dependent rows),
-
*'''zero_varbs''': row-vector identifying 57,840 columns removed from <math>\,E</math> to make <math>\tilde{E}</math>
+
*&nbsp;<math>b\!\in\mathbb{R}^{7362}</math>&nbsp;&nbsp; and &nbsp;<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}=\{\tilde{E}^{}x~|~x\!\succeq0\}</math>.
-
*'''zero_varbs_cone''': row-vector identifying 53,666 more columns removed from <math>\,E</math> to make <math>\,A</math>;<br> ''i.e.'', those columns not belonging to smallest face of <math>\mathcal{K}</math> containing <math>\tilde{\tau}</math>.
+
-
 
+
-
The following linear program is a very difficult problem:
+
 +
The following linear program is a very difficult problem that remains unsolved:
<center>
<center>
-
<math>\begin{array}{cl}\mbox{minimize}_x&c^{\rm T}x\\
+
<math>\begin{array}{cl}\mbox{maximize}_x&z^{\rm T}x\\
\mbox{subject to}&A\,x=b\\
\mbox{subject to}&A\,x=b\\
&x\succeq_{}\mathbf{0}\end{array}</math>
&x\succeq_{}\mathbf{0}\end{array}</math>
</center>
</center>
- 
Matrix <math>A\!\in\!\mathbb{R}^{7362\times150638}</math> is sparse having only 782,087 nonzeros.
Matrix <math>A\!\in\!\mathbb{R}^{7362\times150638}</math> is sparse having only 782,087 nonzeros.
-
All entries of <math>A\,</math> are integers from the set <math>\{{-1},0,1\}\,</math>.
+
All entries of <math>A\,</math> are integers from the set <math>\{{-1}\,,\,0\,,\,1\}</math>.
-
Vector <math>b_{\!}\in\!\{0,1\}^{7362}</math> has only 358 nonzeros.
+
Vector <math>b_{\!}\in\!\{0\,,\,1\}^{7362}</math> has only 358 nonzeros.
 +
 
 +
Direction vector <math>z\,</math> is determined by [[Convex Iteration]]:
 +
<center>
 +
<math>\begin{array}{rl}\mbox{maximize}_z&z^{\rm T\!}x^*\\
 +
\mbox{subject to}&0\preceq z\preceq\mathbf{1}\\
 +
&z^{\rm T}\mathbf{1}=256
 +
\end{array}</math>
 +
</center>
 +
These two problems are iterated
 +
to find a minimal cardinality solution <math>x\,</math>.&nbsp; Constraint <math>A_{}x\!=b\,</math> bounds the variable from above by <math>\mathbf{1}</math>.&nbsp; Any minimal cardinality solution is binary and solves the Eternity II puzzle.
 +
The Eternity II puzzle is solved when
 +
<center><math>
 +
z^{*\rm T\!}x^*=_{}256
 +
</math></center>
 +
Minimal cardinality of this Eternity II problem is equal to number of puzzle pieces, <math>256</math>.
-
Vector <math>c\,</math> is left unspecified because it is varied later in a
 
-
[[Convex Iteration]] to find a minimal cardinality solution <math>x\,</math>.&nbsp; Minimal cardinality of this Eternity II problem is equal to number of puzzle pieces, 256. Any minimal cardinality solution is binary and solves the Eternity II puzzle. Constraints <math>A_{}x\!=\!b\,</math> bound the variable from above by <math>\mathbf{1}</math>.
 
-
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.
+
Comment: 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 here except 256 variables, corresponding to the largest entries of iterate <math>x^*</math>, are declared binary.

Current revision

An Eternity II puzzle problem formulation LaTeX: A_{}x\!=b\, is discussed thoroughly in section 4.6.0.0.15 of the book Convex Optimization & Euclidean Distance Geometry which is freely available. That LaTeX: A\, matrix is obtained by presolving a sparse 864,593 LaTeX: \!\times\! 1,048,576 system. This Matlab binary contains three successive reductions, each equivalent to that larger system:

  • LaTeX: \tau_{\rm orig}\!\in\mathbb{R}^{864593} and LaTeX: \,E_{\rm orig}\!\in\mathbb{R}^{864593\times1048576} is the original Eternity II matrix,
  • LaTeX: \tau\!\in\mathbb{R}^{11077} and LaTeX: \,E\!\in\mathbb{R}^{11077\times262144} is the million column Eternity II matrix having redundant rows and columns removed analytically,
  • LaTeX: \tilde{\tau}\!\in\mathbb{R}^{10054} and LaTeX: \,\tilde{E}\!\in\mathbb{R}^{10054\times204304} has columns removed corresponding to some known zero variables (removal produced dependent rows),
  •  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}=\{\tilde{E}^{}x~|~x\!\succeq0\}.

The following linear program is a very difficult problem that remains unsolved:

LaTeX: \begin{array}{cl}\mbox{maximize}_x&z^{\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.

Direction vector LaTeX: z\, is determined by Convex Iteration:

LaTeX: \begin{array}{rl}\mbox{maximize}_z&z^{\rm T\!}x^*\\
\mbox{subject to}&0\preceq z\preceq\mathbf{1}\\
&z^{\rm T}\mathbf{1}=256
\end{array}

These two problems are iterated to find a minimal cardinality solution LaTeX: x\,.  Constraint LaTeX: A_{}x\!=b\, bounds the variable from above by LaTeX: \mathbf{1}.  Any minimal cardinality solution is binary and solves the Eternity II puzzle. The Eternity II puzzle is solved when

LaTeX: 
<p>z^{*\rm T\!}x^*=_{}256
</p>

Minimal cardinality of this Eternity II problem is equal to number of puzzle pieces, LaTeX: 256.


Comment: 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 here except 256 variables, corresponding to the largest entries of iterate LaTeX: x^*, are declared binary.

Personal tools