<div dir="ltr">Hi<div><br></div><div> I am using Cbc solver with openmp in a c++ code in the following way:</div><div><br></div><div>OsiClpSolverInterface  s1;</div><div>OsiClpSolverInterface  s2;<br></div><div>OsiClpSolverInterface  s3;<br></div><div><br></div><div>s1->readMps("model.mps");</div><div>s2->readMps("model.mps");<br></div><div>s3->readMps("model.mps");<br></div><div><br></div><div>CbcModel m1(s1);</div><div>CbcModel m2(s2);<br></div><div>CbcModel m3(s3);<br></div><div><br></div><div>put models in an array M;</div><div><br></div><div><div>#pragma omp parallel for</div><div>    for(int i=0; i<3; ++i)</div></div><div>          callCbc("some tuning",M[i])</div><div><br></div><div>So as you see, the three models are independent. tuning is different for each thread. </div><div><br></div><div>My question is : Is it safe to do such thing? It seems that once a parameter is set in callCbc in one thread, other threads have that argument set too. Is it possible? Can I call different versions of callCbc independently in different threads?</div><div><br></div><div>Thanks</div></div>