Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Inconsistent behaviour with a nonconvex QP

    Posted 02/09/17 11:06 PM

    Originally posted by: AnirudhSubramanyam


    Hi,

    I'm using CPLEX 12.7. I have attached the LP file of the non-convex QP that I want to solve to global optimality. Therefore, I set the CPXPARAM_OptimalityTarget parameter to CPX_OPTIMALITYTARGET_OPTIMALGLOBAL and call CPXXqpopt. Upon attempting to solve this problem, CPLEX immediately gives error code CPXMIP_ABORT_RELAXATION_UNBOUNDED. I figured this error is probably arising because the McCormick relaxation is unbounded; therefore, I try and set some artificial upper bounds for the "x" variables even though I do not want to this and will not have access to this in the general case. Upon setting upper bounds varying from 1E+9 or 1E+12, CPLEX gives error codes which switch between CPXMIP_ABORT_RELAXATION_UNBOUNDED and CPXMIP_INForUNBD. Upon setting an upper bound of 1E+7, CPLEX terminates prematurely with error code 3019.

    Next, I tried setting the CPXPARAM_OptimalityTarget parameter to CPX_OPTIMALITYTARGET_FIRSTORDER and called CPXXqpopt on the original model (without artificial bounds on the x variables) and obtained a solution with objective value ~86. This rules out the possibility that the original problem is infeasible.

    Next, I tried solving the problem with BARON. BARON immediately (<1sec) solves the original model (without artificial bounds on the x variables) to global optimality and returns the same solution of value ~86. I also tried putting artificial bounds of ranging from 1E+7 to 1E+12; however, BARON consistently outputs the same solution of value ~86 with a solution status of global optimality. This appears to rule out the possibility that the original problem is unbounded.

    At this point, I'm not sure if I should trust the CPLEX status CPXMIP_INForUNBD and more broadly, its methods for non-convex (MI)QP computations. Is there something I am missing here or am I doing something wrong?

    Thanks.


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Inconsistent behaviour with a nonconvex QP

    Posted 02/10/17 10:20 AM

    Originally posted by: PierreBonami


    Hi,

    Thanks for your message.

    About the first message CPXMIP_ABORT_RELAXATION_UNBOUNDED, this is indeed because the McCormick relaxation of your model is unbounded. Note that other solvers, might launch a spatial branch-and-bound even with an unbounded relaxation but we don't in CPLEX.

    Now the behavior you get with setting bound is clrearly incorrect from CPLEX and we will try to fix that in the future.

    Looking in details at what happens, CPLEX seem to get into constant numerical trouble when solving the LP relaxations because of the two variables x(20) and x(21).

    I noticed that these seem to always appear in pair as x(20) - x(21). In the LP relaxation, they tend to both take very very large values while the difference is usually reasonably small. This is a trouble for generating McCormick relaxations.

    If I replace this difference by a new variable z(20) (obviously that new variable can take negative values) and I set upper bounds of 1e10 on the x variables, it seems that we stand clear of numerical issues (even though proving global optimality is not fast).

    I hope that this help.

    Pierre

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Inconsistent behaviour with a nonconvex QP

    Posted 02/10/17 11:06 AM

    Originally posted by: AnirudhSubramanyam


    Thanks for your reply. The information about x(20) - x(21) was useful to me from a modeling point of view and I think it can be easily incorporated.


    #CPLEXOptimizers
    #DecisionOptimization