I have a set partitioning formulation with each constraint being an equality constraint to meet the given demand (right-hand side of the constraint). For each constraint, I have a slack and a surplus variables to penalize under- and over-coverage in the objective function. The presence of slack and surplus variables makes initial basis readily available to start simplex algorithm.
When solving this formulation with coin-or lp solver CLP, I would like to indicate this initial basis. I tried to set ClpSimplex::setColumnStatus(), but the subsequent call of ClpSimplex::primal() seems to ignore such a suggestion, introduces an auxiliary variable for each constraint, and creates additional degeneracy. Moreover, for some constraints with both slack and surplus variables equal to zero in the found optimal solution, the corresponding auxiliary variable is still part of the found optimal basis.
Is there any way to manually indicate initial basis in CLP so that the solver does not introduce auxiliary variables?
I have not tried other solvers like CPLEX or Gurobi. Do they provide the possibility to manually indicate initial basis?