Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  error 5002

    Posted 02/09/14 11:27 AM

    Originally posted by: 2T3M_lolol


    Hi

    In my programming, I got an error that Q in q1 is not positive semi-definite

     

    However,there is no definition of q1 in my programming , I am totally confused.......


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: error 5002

    Posted 02/09/14 03:08 PM

    Originally posted by: fbahr


    As [then erroneously] mentioned before: CPLEX requires that quadratic constraints are convex (The Q in "CPLEX Error 5002: Q is not positive semi-definite" refers to http://pic.dhe.ibm.com/infocenter/cosinfoc/v12r6/topic/ilog.odms.cplex.help/CPLEX/UsrMan/topics/cont_optim/qcp/03_QCP_defn.html, q1 is - IINM - an aux. identifier for an unlabeled constraint).

    With

    dvar float vn[t];
    dvar float v[t];

    - for instance -

    cv1:
    forall(x in t: x>1 && x<t2)
      v[x] == vn[x]*(v[x-1] + 0.1*sum (a in ms, b in mi)(mx[a][b][x]*m[a][b])+10-rv*hv[x]);

    is quadratic, non-convex.

    --fbahr

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: error 5002

    Posted 02/10/14 03:16 AM

    I think you get this "q1" generic constraint name because you are labeling your constraints in a wrong way. The way to label a forall constraint is (note that "cv1" is inside the forall construct):

    forall(x in t: x>1 && x<t2)
      cv1: v[x] == vn[x]*(v[x-1] + 0.1*sum (a in ms, b in mi)(mx[a][b][x]*m[a][b])+10-rv*hv[x]);

    If you fix the naming of your constraints then the error message should point you directly to the offending constraint.


    #CPLEXOptimizers
    #DecisionOptimization