Decision Optimization

Decision Optimization

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

 View Only
  • 1.  CPLEX Error 1001:Out of memory

    Posted Sat August 07, 2010 09:52 AM

    Originally posted by: fd-mk


    Hi all,

    I'm using CPLEX 10.1 for my integer programming model. The model includes binary variables and integer variables. CPLEX shows the following result,

    ...................................................................
    CPLEX Error 1001: Out of memory
    Consider using CPLEX node files to reduce memory usage.
    MIP-Error termination, integer feasible
    ...................................................................

    Obtaining integer optimal solution is required for my study. I know that there are some strategies for this error, but all suggestion mentioned do not guarantee to reach integer optimal solution without giving memory error.
    Therefore, i asked any strategy guarantees to overcome this problem. Is there any suggestion except changing CPLEX parameter options, reformulating the model?

    Also, i actually wonder if any difference between 32-bit and 64-bit operating system on CPLEX performance.

    Your help is crucial for my MS.Thesis study.
    thanks,

    Melike Kaya
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: CPLEX Error 1001:Out of memory

    Posted Mon August 09, 2010 02:03 AM

    Originally posted by: SystemAdmin


    Have you tried using node files as suggested by the error message? Node files don't affect correctness/proof of optimality. Using node files only instructs CPLEX temporary store data on disk instead of memory when it is running low on memory. CPLEX will read back that data if it needs it. As hard disks are usually much bigger then the memory this should solve your memory problems.
    You can also set the memory emphasis parameter to instruct CPLEX to use less memory.
    Or you can try cranking up the presolve and probing levels. If you do that CPLEX will spent more time in presolve and probing which may lead to potentially smaller sub-problems and/or a smaller search tree.
    You may also experiment with the cut parameters.

    I know that all these suggestions are changes of CPLEX parameters and you asked for something different. On the other hand I think you should at least try if using node files does help.

    You may also want to consider to switch to a more recent CPLEX version (it is free for academics).
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: CPLEX Error 1001:Out of memory

    Posted Mon August 09, 2010 03:46 AM

    Originally posted by: fd-mk


    Thanks for your suggestions. Of course, i experienced node files parameter, memory emphasis parameter, and probing level can be helpful. As you said i have tried all strategies before, but they sometimes were not be helpful for my problem. In recent days, i have tried to reformulate my integer programming model.

    Actually, i want to consider to switch to a more recent CPLEX version-like CPLEX 12.0-. However, i don't know whether it is free or not. I'm just a graduate student in university. How is the procedure to get a recent version?
    If you have any information, can you help me?
    Thanks,

    Melike Kaya
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: CPLEX Error 1001:Out of memory

    Posted Mon August 09, 2010 04:02 AM

    Originally posted by: SystemAdmin


    Look here. It is currently the topmost (sticky) thread in the forum and should explain what to do.

    When you say that node files did not help, does that mean that you ran out of disk space before CPLEX could prove optimality?

    Do you have a heuristic solution that you can give to CPLEX as a starting point? If not, can you calculate a meaningful upper bound (assuming you are doing a minimization) on the objective function? If you supply any of the two then CPLEX might be able to prune more nodes. Or are you doing something like this already?
    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: CPLEX Error 1001:Out of memory

    Posted Tue August 10, 2010 08:51 AM

    Originally posted by: fd-mk


    Hi,
    After i get memory error, i have tried to reformulate my integer model. I think it can be useful to reduce memory usage for the equivalent integer model. Unfortunetly, it didn't help!
    Also, i have tried your suggestions for my original and reformulated model.
    I'm doing a maximization. Therefore i calculated a meaningful lower bound on the objective function. But i still get memory error. Of course, i can update lower bound on objective function; but it can not be meaningful. I tried to update it, CPLEX gives "memory error and no integer solution" or "infeasible or unbounded". I added lower and upper bound on objective function to tighten the model but it still gives memory error.

    As i mentioned above,I understand that my integer model is complex to solve because of its feasible region. However, number of variable and constraints are not so much!Its formulation can not be strong enough.

    How can you suggest to continue my studies? Adding new constraints to the integer model to get a strong formulation or any other? Which strategy is helpful to solve the integer model in reasonable time?

    Thanks for your concern!

    Melike Kaya
    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: CPLEX Error 1001:Out of memory

    Posted Tue August 10, 2010 09:20 AM

    Originally posted by: fd-mk


    I write a missing thing in my previous message. I want to add the missing thing.
    After i tried your suggestion -putting bound on objective function- CPLEX sometimes gives the result "out of memory, but integer feasible solution exists". Although i tightened the bound on objective function, it does not still prove optimality. Of course, it is enough to understand that my integer model is hard to solve optimally.

    Melike Kaya
    #CPLEXOptimizers
    #DecisionOptimization


  • 7.  Re: CPLEX Error 1001:Out of memory

    Posted Mon August 16, 2010 12:04 PM

    Originally posted by: SystemAdmin


    Have you considered using strong-branching? This should reduce the number of nodes explored but may increase the solving time.
    Apart from changing CPLEX parameters it is of course a good idea to tighten/improve the problem formulation by additional constraints. Did you check the literature for related problems?
    #CPLEXOptimizers
    #DecisionOptimization


  • 8.  Re: CPLEX Error 1001:Out of memory

    Posted Tue August 17, 2010 08:36 AM

    Originally posted by: fd-mk


    Hi,

    I have tried all related parameters to reduce memory usage.
    Some of them are useful to reach optimal solution. However, they increases
    solution time.

    I have just found options that are helpful after i have tried all of the setting parameters.

    I select the node file option -written to disk and compressed-. It is helpful to increase memory usage after pyhsical memory is fully wasted for solving integer programming model. It lets Cplex to explore more nodes and give a better (closed) %gap from best MIP solution. In addition to that i set a time limit for solution time.
    If i don't set a time limit, it continues until disk memory is fulled and it gets lots of time. Waiting for days or for week is meaningless to get an optimal solution. Because I know that CPLEX wastes lots of time to prove the solution is optimal. Cplex may not prove the solution is optimal or it finds optimal solution but it's not necessary to use a lot of time since it reaches integer feasible solution that is very closed to optimal in reasonable time.
    Time limit can be increased to solve harder problems. Cplex sometimes can not reach optimal solution but give a better feasible integer solution.
    I also checked literature and tried to improve my formulation. Since it's new in literature, it's hard to find valid inequalities for my integer model. I have tried for heuristic algorithms nowadays.

    Thanks for your concern,

    Melike Kaya
    #CPLEXOptimizers
    #DecisionOptimization