Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  IloTupleRequestI::addGeWithoutCopy : IloNum request on non IloNum column

    Posted 04/17/12 09:46 AM

    Originally posted by: SystemAdmin


    Hello,
    I am facing another problem!
    I have achieve my model and it starts without any error.
    But after a few time, it stops with this error, tat I cannot understand...

    >>IloTupleRequestI::addGeWithoutCopy : IloNum request on non IloNum column

    Can you please explain to me the meaning of this one ?
    I have not found it in the OPL documentation...

    Thanks for your help.
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 2.  Re: IloTupleRequestI::addGeWithoutCopy : IloNum request on non IloNum column

    Posted 04/17/12 02:14 PM

    Originally posted by: SystemAdmin


    In your model, do you have any constraint that refer to a tuple and >=? If so could you post it with the detail on the tuple definition?

    From the error message, it seems that you post a ">=" constraint on elements that are not of numerical type.
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 3.  Re: IloTupleRequestI::addGeWithoutCopy : IloNum request on non IloNum column

    Posted 04/18/12 05:27 AM

    Originally posted by: SystemAdmin


    Thanks for the answer !
    I checked but I do not seen any mistake such as the one you talked about...

    Though, I think that the constraint the more likely to be the origin of this mistake is this one (it uses two tuple definition in the same variable, so maybe there is a misunderstanding)

    forall(t in Time, u in Usines : t<Ttot)
    Down[u] <=
    sum(g in 1..Groupet+1[u]) e<t+1,u,g> * CaracNoeuds<t+1,u,g>.turb
    - sum(g in 1..Groupe[t][u]) e< t ,u,g> * CaracNoeuds< t ,u,g>.turb
    + (Dt+1[u] - D[t][u])
    <= Up[u];

    with the Tuples :
    tuple TripleIndex{int t;int u; int g;}
    tuple Carac{float turb; float puis;float prim;float tele;}

    used in :
    {TripleIndex} Index = {<t,u,g> | t in Time, u in Usines, g in 1..Groupe[t][u]}
    Carac CaracNoeudsIndex = ...

    range Time = 1..Ttot
    float UpUsines = ...
    float DownUsines = ...
    DTimeUsines = ...
    and
    dvar float+ eIndex in 0..1
    I'm sorry, this is quite long and this might not be the error.
    I have other constraint with CaracNoeuds< t ,u,g>.turb and if there is actually and error (why should it be one ? ok, there is one), it definately has to be with that writting

    Thanks a lot !

    Adrien
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 4.  Re: IloTupleRequestI::addGeWithoutCopy : IloNum request on non IloNum column

    Posted 04/18/12 05:34 AM

    Originally posted by: SystemAdmin


    Actually,
    I removed all constraints containing the Carac tupe, and the mistake is gone!
    Can you please tell me how can I write the model avoidin the error.
    CaractIndex.turb should be right ? Doesn't it ?
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 5.  Re: IloTupleRequestI::addGeWithoutCopy : IloNum request on non IloNum column

    Posted 04/18/12 07:48 AM

    Originally posted by: SystemAdmin


    Hello again,
    Here's what I discovered :
    All contraints work except this one (this is the error)

    forall(t in Time, u in UsinesDiscretes : t<Ttot)
    {
    Down[u] <=
    sum(g in 1..Groupet+1[u]) X<t+1,u,g> * CaracNoeuds<t+1,u,g>.turb
    - sum(g in 1..Groupe[t][u]) X< t ,u,g> * CaracNoeuds< t ,u,g>.turb
    + (Dt+1[u] - D[t][u])
    <= Up[u];
    }

    But, strangely, this one works :

    forall(t in Time, u in UsinesDiscretes : t<Ttot)
    {
    Down[u] <=
    sum(g in 1..Groupet+1[u]) X<t+1,u,g> * CaracNoeuds<t+1,u,g>.turb
    - sum(g in 1..Groupe[t][u]) X< t ,u,g> * CaracNoeuds< t ,u,g>.turb
    + (Dt+1[u] - D[t][u]);

    sum(g in 1..Groupet+1[u]) X<t+1,u,g> * CaracNoeuds<t+1,u,g>.turb
    - sum(g in 1..Groupe[t][u]) X< t ,u,g> * CaracNoeuds< t ,u,g>.turb
    + (Dt+1[u] - D[t][u])
    <= Up[u];
    }

    Ok, it might not be that akward, but this works :

    forall(t in Time, u in UsinesContinues : t<Ttot)
    {
    Down[u] <=
    sum(g in 1..Groupet+1[u]) e<t+1,u,g> * CaracNoeuds<t+1,u,g>.turb
    - sum(g in 1..Groupe[t][u]) e< t ,u,g> * CaracNoeuds< t ,u,g>.turb
    + (Dt+1[u] - D[t][u])
    <= Up[u];
    }
    It is another set for u and the e dvar
    I don't see how the first constraint could be a problem when the second is not...
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 6.  Re: IloTupleRequestI::addGeWithoutCopy : IloNum request on non IloNum column

    Posted 04/18/12 07:59 AM

    Originally posted by: SystemAdmin


    Soory for the spamming !
    Problem solved.
    Like 99% of the time, inattention...
    Thanks for the explaining, it helped me a lot...
    #DecisionOptimization
    #OPLusingCPLEXOptimizer