Presolver

From Wikimization

(Difference between revisions)
Jump to: navigation, search
(Geometry of Constraints)
Line 2: Line 2:
''Presolving'' conventionally means quick elimination of some variables and constraints prior to numerical solution of an optimization problem.
''Presolving'' conventionally means quick elimination of some variables and constraints prior to numerical solution of an optimization problem.
Presented with constraints <math>a^{\rm T}x=0\,,~x\succeq0</math> for example,
Presented with constraints <math>a^{\rm T}x=0\,,~x\succeq0</math> for example,
-
a presolver is likely to check whether constant vector <math>\,a</math> is positive; for if so,
+
a presolver is likely to check whether constant vector <math>a\,</math> is positive; for if so,
variable <math>\,x</math> can have only the trivial solution.
variable <math>\,x</math> can have only the trivial solution.
The effect of such tests is to reduce the problem dimensions.
The effect of such tests is to reduce the problem dimensions.
Line 22: Line 22:
\end{array}
\end{array}
</math></center>
</math></center>
-
where <math>\,A</math> is a matrix of predetermined dimension, <math>\mathbb{Z}</math> represents the integers, <math>\reals</math> the real numbers,
+
where <math>A\,</math> is a matrix of predetermined dimension, <math>\mathbb{Z}</math> represents the integers, <math>\reals</math> the real numbers,
and <math>\mathcal{J}</math> is some possibly empty index set.
and <math>\mathcal{J}</math> is some possibly empty index set.
Line 54: Line 54:
In fact, those four columns completely describe the Pyramid
In fact, those four columns completely describe the Pyramid
by definition of <math>\mathcal{K}\,</math>.
by definition of <math>\mathcal{K}\,</math>.
-
But <math>\,A</math> can have more than four columns and still describe that same Pyramid.
+
But <math>A\,</math> can have more than four columns and still describe that same Pyramid.
For such a fat <math>A\,</math>, each remaining column resides anywhere in <math>\mathcal{K}\,</math>:
For such a fat <math>A\,</math>, each remaining column resides anywhere in <math>\mathcal{K}\,</math>:
-
interior to the cone <math>(\{A_{}x~|~x\succ0\})</math> or on one of its ''faces''
+
interior to the cone <math>(\{A_{}x~|~x\succ0\})</math> or on one of its ''faces'' (the vertex, an edge, or facet).
-
(the vertex, an edge, or facet).
+
There is infinite variety of polyhedral cones; most are not so regularly shaped as a Pyramid.
There is infinite variety of polyhedral cones; most are not so regularly shaped as a Pyramid.

Revision as of 02:12, 10 August 2011

Introduction

Presolving conventionally means quick elimination of some variables and constraints prior to numerical solution of an optimization problem. Presented with constraints LaTeX: a^{\rm T}x=0\,,~x\succeq0 for example, a presolver is likely to check whether constant vector LaTeX: a\, is positive; for if so, variable LaTeX: \,x can have only the trivial solution. The effect of such tests is to reduce the problem dimensions.

Most commercial optimization problem solvers incorporate presolving. Particular reductions can be proprietary or invisible, while some control or selection may be given to a user. But all presolvers have the same motivation: to make an optimization problem smaller and (ideally) easier to solve. There is profit potential because a solver can then compete more effectively in the marketplace for large-scale problems.

We present a method for reducing variable dimension based upon geometry of constraints in the problem statement:

LaTeX: 
<pre>   \begin{array}{rl}
      \mbox{minimize}_{x\in_{}\mathbb{R}^{^n}} & f(x)
   \\ \mbox{subject to}                        & A_{}x=b
   \\                                          & x\succeq0
   \\                                          & x_{j\!}\in\mathbb{Z}~,\qquad j\in\mathcal{J}
   \end{array}
</pre>

where LaTeX: A\, is a matrix of predetermined dimension, LaTeX: \mathbb{Z} represents the integers, LaTeX: \reals the real numbers, and LaTeX: \mathcal{J} is some possibly empty index set.

The caveat to use of our proposed method for presolving is that it is not fast. One would incorporate this method only when a problem is too big to be solved; that is, when solver software chronically exits with error or hangs.

Geometry of Constraints

Euclidean pyramid
Euclidean pyramid

The idea, central to our method for presolving, is more easily understood geometrically. Constraints

LaTeX: 
<pre>   \begin{array}{l}
   \\                 A_{}x=b
   \\                 x\succeq0
   \end{array}
</pre>

suggest that a polyhedral cone comes into play. Geometers in convex analysis regard cones as convex Euclidean bodies semi-infinite in extent. Finite circular cones hold ice cream and block road traffic in daily life. The great Pyramids of Egypt are each an example of finite polyhedral cone. The geometer defines a polyhedral (semi-infinite) cone LaTeX: \,\mathcal{K} in LaTeX: \,\reals^m as the set:

LaTeX: \mathcal{K}\triangleq\{A_{}x~|~x\succeq0\}

which is closed and convex but not necessarily pointed (does not necessarily have a vertex).

A pointed polyhedral cone (truncated)
A pointed polyhedral cone (truncated)

To visualize a pointed polyhedral cone in three dimensions, think of one Egyptian Pyramid continuing into the ground and then out into space from the opposite side of Earth. Its four edges correspond to four columns from matrix LaTeX: A\,. In fact, those four columns completely describe the Pyramid by definition of LaTeX: \mathcal{K}\,. But LaTeX: A\, can have more than four columns and still describe that same Pyramid. For such a fat LaTeX: A\,, each remaining column resides anywhere in LaTeX: \mathcal{K}\,: interior to the cone LaTeX: (\{A_{}x~|~x\succ0\}) or on one of its faces (the vertex, an edge, or facet).

There is infinite variety of polyhedral cones; most are not so regularly shaped as a Pyramid. In fact, a polyhedral cone can have any number of edges and facets. We assume a pointed polyhedral cone throughout, so there can be only one vertex which resides at the origin in Euclidean space by definition.

Personal tools