# Presolver

(Difference between revisions)
 Revision as of 22:01, 10 August 2011 (edit)← Previous diff Revision as of 20:52, 11 August 2011 (edit) (undo) (→Introduction)Next diff → Line 7: Line 7: Most commercial optimization problem solvers incorporate presolving. 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. + Particular reductions can be proprietary or invisible, - But all presolvers have the same motivation: to make an optimization problem smaller + while some control or selection may be given to a user. - and (ideally) easier to solve. + But all presolvers have the same motivation: + to make an optimization problem smaller and (ideally) easier to solve. There is profit potential because There is profit potential because a solver can then compete more effectively in the marketplace for large-scale problems. a solver can then compete more effectively in the marketplace for large-scale problems. Line 18: Line 19: \mbox{minimize}_{x\in_{}\mathbb{R}^{^n}} & f(x) \mbox{minimize}_{x\in_{}\mathbb{R}^{^n}} & f(x) \\ \mbox{subject to} & A_{}x=b \\ \mbox{subject to} & A_{}x=b - \\ & Cx\preceq d + \\ & g(x)_{\!}\in\mathcal{S} \\ & x\succeq0 \\ & x\succeq0 \\ & x_{j\!}\in\mathbb{Z}~,\qquad j\in\mathcal{J} \\ & x_{j\!}\in\mathbb{Z}~,\qquad j\in\mathcal{J} \end{array} \end{array} [/itex] [/itex] - where $A\,$ is a matrix of predetermined dimension, $\mathbb{Z}$ represents the integers, $\reals$ the real numbers, + where $A\,$ is a real $m\!\times_{\!}n$ matrix, + $\mathbb{Z}$ represents the integers, + $\reals$ the real numbers, + $\mathcal{S}$ is some predetermined set, and $\mathcal{J}$ is some possibly empty index set. and $\mathcal{J}$ is some possibly empty index set. Line 61: Line 65: We assume a pointed polyhedral cone throughout, so there can be only one vertex We assume a pointed polyhedral cone throughout, so there can be only one vertex (which resides at the origin in Euclidean space by definition). (which resides at the origin in Euclidean space by definition). + + ===positivity=== + An optimization problem can always be written with a nonnegativity constraints $x\succeq0$...

## 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:
 \begin{array}{rl} \mbox{minimize}_{x\in_{}\mathbb{R}^{^n}} & f(x) \\ \mbox{subject to} & A_{}x=b \\ & g(x)_{\!}\in\mathcal{S} \\ & x\succeq0 \\ & x_{j\!}\in\mathbb{Z}~,\qquad j\in\mathcal{J} \end{array}
$

where $LaTeX: A\,$ is a real $LaTeX: m\!\times_{\!}n$ matrix, $LaTeX: \mathbb{Z}$ represents the integers, $LaTeX: \reals$ the real numbers, $LaTeX: \mathcal{S}$ is some predetermined set, 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

The central idea in our presolving method is best understood geometrically. Constraints

$LaTeX:
 \begin{array}{l} \\ A_{}x=b \\ x\succeq0 \end{array}
$

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

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

that is closed and convex but not necessarily pointed (may not have a vertex).

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 indefinitely out into space from the opposite side of Earth. Its four edges correspond to four columns from matrix $LaTeX: A\,$. Those four columns completely describe the semiinfinite Pyramid per definition of $LaTeX: \mathcal{K}\,$. But $LaTeX: A\,$ can have more than four columns and still describe the same Pyramid. For such a fat $LaTeX: A\,$, each additional column resides anywhere in $LaTeX: \mathcal{K}\,$: either interior to the cone $LaTeX: (\{A_{}x~|~x\succ0\})$ or on one of its faces (the vertex, an edge, or facet).

Polyhedral cones have infinite variety. Most are not so regularly shaped as a Pyramid, and they 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).

### positivity

An optimization problem can always be written with a nonnegativity constraints $LaTeX: x\succeq0$...