Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Cplex given a not optimal solution

    Posted 10/21/12 03:35 AM

    Originally posted by: bqt


    Hi all,

    I would like to compare solutions obtained from posting more constraints (ILOLAZYCONSTRAINTCALLBACK) as global cuts and local cuts in Cplex (C++). Some instances, solutions obtained by two ways of posting constrains are not same. I fixed some parameters of Cplex as follows

    cplex.setParam(IloCplex::MIPSearch, IloCplex::Traditional);
    cplex.setParam(IloCplex::MIPInterval, 1);
    cplex.setParam(IloCplex::EpGap, 0.0);

    What are parameters that I have to set for reaching an optimal solution ?

    Thanks,
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Cplex given a not optimal solution

    Posted 10/22/12 04:20 AM

    Originally posted by: SystemAdmin


    CPLEX always searches for the optimal solution within parameters.
    When you say "different" solutions, what is their difference? Is the objective function value different or are only the solution vectors different? If the objective function values differ, by how much do they differ? May the difference be just numeric round off errors?
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Cplex given a not optimal solution

    Posted 10/22/12 08:11 AM

    Originally posted by: bqt


    Thank you for your reply.

    The objective function values given by two ways of posting constraints (as local cuts and global cuts) are different. The difference is about 1.114%.

    In two programs tested, there is only difference: add(constraint) - addLocal(constraint)

    Could you please give me a solution or idea to talk this problem ?

    Thanks
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Cplex given a not optimal solution

    Posted 10/23/12 06:22 AM

    Originally posted by: SystemAdmin


    If the difference between the programs is add() vs. addLocal() then different optimal solutions are expected. The program that uses addLocal() instead of add() solves a problem that is less restricted and may therefore produce better solutions than the other one.
    addLocal() adds a cut/lazy constraint that is valid only in the subtree rooted at the current node. That is, the added constraint does not apply to nodes that are not descendents of the current node.
    add() instead adds a global cut/lazy constraint that is valid for all the nodes in the tree (it is as if you had added the constraint to the original model formulation).
    As you can see, using addLocal() is less restrictive.
    #CPLEXOptimizers
    #DecisionOptimization