help-glpk
[Top][All Lists]

## Re: [Help-glpk] finding integer solutions gives seemingly infinite loop

 From: Michael Hennebry Subject: Re: [Help-glpk] finding integer solutions gives seemingly infinite loop Date: Wed, 4 Apr 2012 16:16:37 -0500 (CDT) User-agent: Alpine 1.00 (DEB 882 2007-12-20)

```On Wed, 4 Apr 2012, John Perry wrote:

```
```Michael Hennebry wrote on Wednesday, April 04, 2012,
```
```On Tue, 3 Apr 2012, John Perry wrote:
```
```From a previous conversation, I understand that setting upper bounds for
integer solutions helps the mip preprocessor find feasible solutions
for minimization problems that have no maximum. I can make this work
with the systems I'm solving right now, but I'm not sure how to set a
good upper bound in general.
```
```
Is there a good rule of thumb for this?
```
```
Is the corresponding max problem really unbounded?
```
```
Now that you make me think of it, it's unbounded above only in theory; the
largest I could have is machine word size. (I don't mean GLPK; this has to do
with the result, which is then fed into a non-LP algorithm.)
```
```
If set of feasible directions is unbounded and full-dimensional,
there is a way to quickly find a feasible solution.
Artificially strengthen all the constraints.
Solve the new problem linearly.
Round the result.

Calculating how much to strengthen each constraint
is left as an exercise for the reader.

Another possiblilty is to use optimality directly.
Original problem:
min cx
s.t. Ax >= b
x integer

Select all integer d such that cd< 0

max cx
s.t. Ax >= b
A[j]x< b[j]-A[j]d  for some j in row_indices(A)
This results in several LPs.

A[j] is the jth row of A.
If A[j] is all-integer, b[j] should be integer and
A[j]x< b[j]-A[j]d may be strengthened to A[j]x<=b[j]-A[j]d-1 .
Otherwise it may be relaxed to A[j]x<=b[j]-A[j]d .
If A[j]d>=0, A[j]x< b[j]-A[j]d is false.

Selection of d is left as an exercise for the reader.

Whether either of these techniques will give you a useful bound,
I do not know.
The second one might be especially slow.

--