Decision Optimization

Decision Optimization

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

 View Only
  • 1.  CPLEXQP Hessian Problem

    Posted Tue June 20, 2017 10:19 AM

    Originally posted by: Milo90


    Hi to all, i've a little dubt about the quadratic programming problem that i'm trying to solve.
    I'm using Matlab, and I defined the Hessian Matrix H, the vecotr f, A_ineq, b_ineq, A_eq, b_eq, lower and upper bounds and the options (x0 = [ ] cause i don't use it).
    THE HESSIAN MATRIX IS NEGATIVE SEMI DEFINITE, so i know that the problem is not convex and there is not a local minimum.
    The problem is that when i try to solve the problem using the Matlab function "quadprog", it gives me a solution, while using cplexqp it says that the matrix is not a PSD.
    Checking on Google i saw that i could set the cplex solutiontarget ==
    -2  --> Searches for a solution that satisfies first-order optimality conditions, but is not necessarily globally optimal.
    - 3 -->  Searches for a globally optimal solution to a nonconvex model; changes problem type to MIQP if necessary.
    So....which of them is the equivalent to the solution offered by Matlab Quadprog function? Thanks in advance


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: CPLEXQP Hessian Problem

    Posted Tue June 20, 2017 04:29 PM

    Originally posted by: Mark L. Stone


    cplex.solutiontarget = 2 directs cplexqp to attempt to find a local minimum, which is what MATLAB Optimization Toolbox's quadprog attempts to do.   cplexqp and quadprog may not necessarily find the same local minima, even if provided the same initial (starting) point, and the local minimum which is found by either of them can be strongly affected by the initial point provided, as well as by various algorithm choices.

     

    cplex.solutiontarget  = 3 attempts to find the (a) global minimum, which is a functionality which quadprog does not have when the Hessian matrix is not positive semi-definite.

     

    This is called optimalitytarget, rather than solutiontarget, in the latest versions of CPLEX.

     

    Because your Hessian matrix is negative semi-definite, your problem is a concave programming problem,   Therefore, if the constraint region is compact (not unbounded in any direction), there will be a global minimum somewhere on the extreme of the constraint region. In general, there is the possibility that the problem has one or more local minima which are not global minima.

     


    #CPLEXOptimizers
    #DecisionOptimization