Originally posted by: open_ball
Okay. Suppose I started solving the master problem.
masterCplex.solve()
check cplex status
masterOpl.postProcess();
In this part, what you are saying is that, I should use cplex.status to check if an incumbent solution is found. If so, I call post process function and move on with the sub problem (i.e., M1Opl) and solve it.
Then, I add the cut into the master problem.
masterData.d1.add(m1Opl.add_d1);
In order to add a constraint, I use the same logic with traveling salesman example. In master problem, I defined the following tuple;
tuple D1{
int iter;
string commodity;
float amount;
}
{D1} d1 =...;
For each iteration, I have the correspondence constraint.
After adding a new cut, I should no longer call masterOpl.end() right? At this point, how can I continue the branch and cut? I want to continue masterCplex.solve() from where it was stopped.
#DecisionOptimization#OPLusingCPLEXOptimizer