# Re: [eclipse-clp-users] Q: Linear Programming with Disjunction constraints

From: Mark Wallace <mark.wallace_at_...44...>
Date: Sat, 26 Apr 2008 13:26:16 +1000
```Hi Kim and Kish,

>Kim Lai wrote:
> > hi, I found a strange behavior about the big-M constraints in eplex.
> > Two code snippet with the same logic result in different opt solution.
> > For code 1:
> > => [A1, A2, A3] = [0, 0.2, 0] , Cost = 2.5
> > For code 2:
> > => [A1, A2, A3] = [ 0, 0.1, 2.6], Cost = 3.9
>...
> >
> > Is there any thing that I misunderstand or need to set up ?
> >
>
>
>
Actually what is wrong about the model is that the decision variables
are unbounded:

>    Vars = [A1, A2, A3 ],   Vars \$:: 0..inf,

so it doesn't matter how big your bigM is it can't be big enough!
Just set
Vars = [A1, A2, A3 ],   Vars \$:: 0.0..1000000.0,
and you get the same answer from both code 1 and code 2.

It is an error in the ECLiPSe/eplex software that eplex returns a
non-optimal solution in your case: logically the optimal
solution should not have been excluded just because your decision
variables were unbounded.

Curiously if M is set to 1million, the following equations can be
satisfied (which they should be - just set B2=1):
A3 - A2 \$=< -0.2 +
(1-B2)*M,

(A3 - A2) + B2*M \$>= 2.5,

A3 - A2 \$=<
-0.2,

A3 - A2 + M \$>= 2.5,

but if M is increased to 10million, then ECLiPSe says no.
This is a bug, but I'm not sure if it's in ECLiPSe or the external
linear solver!

Cheers
Mark

--
Mark Wallace
Faculty of Information Technology
Monash University
Building 63,
Clayton
Vic 3800
Australia
Tel: +61 3 9905 1367
Fax: +61 3 9905 8731
```
Received on Fri Apr 25 2008 - 20:26:23 CEST

This archive was generated by hypermail 2.3.0 : Mon Jul 22 2019 - 12:14:57 CEST