Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Really no solution?

    Posted 03/16/09 03:24 PM

    Originally posted by: SystemAdmin


    [Earwik said:]

    Hello,

    I'm trying to solve relatively large MIP problem using CPLEX 11.0. Most of the time, the problem is feasible and I get a solution without a problem, but lately, with no unusual input data, I got the following solution progress:

          0.0s Tried aggregator 3 times.
          0.1s MIP Presolve eliminated 5493 rows and 2701 columns.
          0.1s MIP Presolve modified 854 coefficients.
          0.1s Aggregator did 410 substitutions.
          0.1s Reduced MIP has 4305 rows, 3297 columns, and 20537 nonzeros.
          0.1s Presolve time =    0.08 sec.
          0.1s Clique table members: 5246.
          0.1s MIP emphasis: balance optimality and feasibility.
          0.1s MIP search method: dynamic search.
          0.1s Parallel mode: none, using 1 thread.
          0.7s Root relaxation solution time =    0.55 sec.
          0.7s
            Nodes                                        Cuts/
          0.7s    Node  Left    Objective  IInf  Best Integer    Best Node    ItCnt    Gap

          0.7s      0    0  5431076.6379  229                5431076.6379    3606       
          1.2s      0    0  5465341.9711  365                  Cuts: 1064    5117       
          1.4s      0    0  5478214.5485  345                  Cuts: 603    5655       
          1.6s      0    0  5480780.9692  340                  Cuts: 427    6036       
          1.7s      0    0  5484513.7704  424                    Cuts: 98    6276       
          1.9s      0    0  5488229.2884  425                  Cuts: 249    6497       
          2.0s      0    0  5490968.0258  416                  Cuts: 167    6742       
          2.1s      0    0  5492295.6665  415                    Cuts: 55    6874       
          2.2s      0    0  5492932.3056  447                    Cuts: 80    6942       
          2.2s      0    0  5493775.8002  443                    Cuts: 56    7032       
          2.3s      0    0  5493959.0339  451                    Cuts: 33    7098       
          2.3s      0    0  5494039.4526  446                Impl Bds: 5    7121       
          4.0s      0    2  5494039.4526  446                5494039.4526    7121       
          15.9s *    90+  64                      6524267.6583  5499457.6242    13446  15.71
          16.1s    100    74  6418765.8250    40  6524267.6583  5499457.6242    13581  15.71
          20.1s    200  142  5957760.2360  192  6524267.6583  5499967.6911    18305  15.70
          23.3s    300  212  5657750.2089  387  6524267.6583  5512671.1805    23121  15.51
          26.4s    400  293  5537495.7283  405  6524267.6583  5513981.4631    28972  15.49
    Failed to get optimizer x.
    CPLEX Error  1217: No solution exists.
    No MIP objective value available.
    CPLEX Error  1217: No solution exists.
    {Warning: Failed to get DETAILS (slack).}
    CPLEX Error  1217: No solution exists.

    It seems to me, that there was no problem during presolve stage, it even found an integer feasible solution (?), but then returned an error stating that no solution exists... any hint how this could be possible?
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Really no solution?

    Posted 03/31/09 12:16 AM

    Originally posted by: SystemAdmin


    [EdKlotz said:]

    Hello,

    I'm trying to solve relatively large MIP problem using CPLEX 11.0. Most of the time, the problem is feasible and I get a solution without a problem, but lately, with no unusual input data, I got the following solution progress:

    Code:

          0.0s Tried aggregator 3 times.
          0.1s MIP Presolve eliminated 5493 rows and 2701 columns.
          0.1s MIP Presolve modified 854 coefficients.
          0.1s Aggregator did 410 substitutions.
          0.1s Reduced MIP has 4305 rows, 3297 columns, and 20537 nonzeros.
          0.1s Presolve time =    0.08 sec.
          0.1s Clique table members: 5246.
          0.1s MIP emphasis: balance optimality and feasibility.
          0.1s MIP search method: dynamic search.
          0.1s Parallel mode: none, using 1 thread.
          0.7s Root relaxation solution time =    0.55 sec.
          0.7s
            Nodes                                        Cuts/
          0.7s    Node  Left    Objective  IInf  Best Integer    Best Node    ItCnt    Gap

          0.7s      0    0  5431076.6379  229                5431076.6379    3606       
          1.2s      0    0  5465341.9711  365                  Cuts: 1064    5117       
          1.4s      0    0  5478214.5485  345                  Cuts: 603    5655       
          1.6s      0    0  5480780.9692  340                  Cuts: 427    6036       
          1.7s      0    0  5484513.7704  424                    Cuts: 98    6276       
          1.9s      0    0  5488229.2884  425                  Cuts: 249    6497       
          2.0s      0    0  5490968.0258  416                  Cuts: 167    6742       
          2.1s      0    0  5492295.6665  415                    Cuts: 55    6874       
          2.2s      0    0  5492932.3056  447                    Cuts: 80    6942       
          2.2s      0    0  5493775.8002  443                    Cuts: 56    7032       
          2.3s      0    0  5493959.0339  451                    Cuts: 33    7098       
          2.3s      0    0  5494039.4526  446                Impl Bds: 5    7121       
          4.0s      0    2  5494039.4526  446                5494039.4526    7121       
          15.9s *    90+  64                      6524267.6583  5499457.6242    13446  15.71
          16.1s    100    74  6418765.8250    40  6524267.6583  5499457.6242    13581  15.71
          20.1s    200  142  5957760.2360  192  6524267.6583  5499967.6911    18305  15.70
          23.3s    300  212  5657750.2089  387  6524267.6583  5512671.1805    23121  15.51
          26.4s    400  293  5537495.7283  405  6524267.6583  5513981.4631    28972  15.49
    Failed to get optimizer x.
    CPLEX Error  1217: No solution exists.
    No MIP objective value available.
    CPLEX Error  1217: No solution exists.
    {Warning: Failed to get DETAILS (slack).}
    CPLEX Error  1217: No solution exists.


    It seems to me, that there was no problem during presolve stage, it even found an integer feasible solution (?), but then returned an error stating that no solution exists... any hint how this could be possible?

    Based on the output, you are calling CPLEX from a program rather than using interactive CPLEX.
    To help narrow down the source of the trouble, first export a SAV file of this model and see
    if you can reproduce the behavior running interactive CPLEX on the SAV file.  If you can reproduce
    it, you have something simpler with which to work, and you have ruled out any code in your
    program as the source of the trouble (assuming the SAV file does not contain any invalid data due
    to the program). 

    On the other hand, if interactive CPLEX has no trouble optimizing the model and displaying the solution,
    then you need to take a closer look at your program.  Try turning on CPLEX's datacheck parameter
    just to make sure the model hasn't been corrupted in some way.  Check the routines you called
    that got error 1217, and make sure the arguments are correct.  Make sure that you didn't modify
    the problem in some way after solving it but before querying the solution routines.  Finally, take the SAV file and modify one of the CPLEX example programs (e.g. mipex2.c, ilomipex2.cpp, or MIPex2.java depending on the CPLEX API you are currently using) so that it calls the same solution routines as your program.  In other words, try to reproduce the issue in a simpler program.  You will then either have a simpler program with which to work, or you can use that program to focus on how it differs from your program. Those differences probably explain the unexpected behavior you encountered.
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Really no solution?

    Posted 04/03/09 03:47 PM

    Originally posted by: SystemAdmin


    [Earwik said:]

    Thanks for the reply.

    Well, you think that CPLEX actually might have found the solution, but due to some bug in code wasn't able to display it? Actually, it's not my code which is calling CPLEX - I'm calling it from Matlab environment using CPLEXINT interface, therefore I have no deep knowledge of what actually is in the code. But I guess I should be at least able to export the problem and see how the interactive CPLEX handles it...

    Anyway, the problem is, that the optimization in the case I posted also ended prematurely (the epagap parameter was set to 0.05), so I guess the problem isn't solely in getting and displaying the solution...
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Really no solution?

    Posted 04/09/09 03:16 AM

    Originally posted by: SystemAdmin


    [EdKlotz said:]

    Well, you think that CPLEX actually might have found the solution, but due to some bug in code wasn't able to display it?

    Bug in which code?  CPLEX or the application code surrounding it?  If the problem was
    in CPLEX, then you probably could reproduce it by running the SAV file in interactive CPLEX (using whatever parameter settings you used in your application).  That's why
    I recommended using interactive CPLEX in this way in my previous e-mail.

    Actually, it's not my code which is calling CPLEX - I'm calling it from Matlab environment using CPLEXINT interface, therefore I have no deep knowledge of what actually is in the code. But I guess I should be at least able to export the problem and see how the interactive CPLEX handles it...


    The CPLEXINT interface is a separate component not supplied by ILOG.  Are you using
    it in source form or library form? 

    Looking at the output from the run, the first message that indicates something has gone wrong is


    Failed to get optimizer x.


    This is not CPLEX output.  If it is not output from the matlab code you have written,
    then it probably comes from the CPLEXINT code.  If you have source code, you could step a debugger or put some print statements to locate the problem.  Or, at a minimum, you could at least locate the routine that prints out such a message and
    see what is happening.   


    Anyway, the problem is, that the optimization in the case I posted also ended prematurely (the epagap parameter was set to 0.05), so I guess the problem isn't solely in getting and displaying the solution...

    Agreed.  If you can reproduce this in interactive CPLEX, at least you have taken the CPLEXINT code out of the picture, which would simplify the task at hand. 

    #CPLEXOptimizers
    #DecisionOptimization