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 8731Received on Fri Apr 25 2008 - 20:26:23 CEST
This archive was generated by hypermail 2.3.0 : Wed Sep 25 2024 - 15:13:20 CEST