Originally posted by: Industrial88
Thanks for your comment.
As what mentioned above, the "getRay" function only returns non-zero elements of the unbounded direction. I got rays using "getRay" function, then store them into IloNum arrays, and finally use them to build a feasibility cut (in closed form (b - By)*(ray) < 0) in Benders decomposition. For instance, we might have the following term in our feasibility cut:
for(i=0;i<I;i++)
rhs += cost[i]*demand_price[Cut][i];
Where rhs, cost, Cut, and demand_price are IloExpr, IloNumArray, algorithm iteration counter, and IloNumArray, respectively. Particularly, demand_price[Cut][i] denotes unbounded direction in iteration Cut which was given by "getRay" function like:
for(i=0; i < I; i++)
cplex_sub.getRay(demand_price[Cut][i], d[i]); d[i] implies dual decision variable.
Is this way of definition is right? Actually, my code crashes and breaks due to an "Unhandled exception" which is related to this part of my code! feasibility cut!
for(i=0;i<I;i++)
rhs += cost[i]*demand_price[Cut][i];
Any comments or favor would be highly appreciated.
#DecisionOptimization#MathematicalProgramming-General