# Numerical problem regarding to classical benders cut of large scale problem

I am trying to implement benders decomposition for a simple two stage unit commitment problem. I implemented the classic Benders decomposition to add feasible cut and optimal cut to relax master problem by solving the dual of sub-problem. When I use a 6bus system it works fine, however when I change to a larger system (ex: 118bus) the coefficient of the cut started to become ill-conditioned and the result cannot be found. For example：

 ...13.6 onOff(gen30)(time22)#2291- 12 onOff(gen30)(time23)#2292+ 1.4210854715202e-14 onOff(gen30)(time24)#2293...


the coefficient of variable onOff(gen30)(time24) should to zero and the variable should not be included into the constraints and the warning below is also given.

Detected nonzero <= CPX_MINBOUND at constraint 7878, variable 'onOff[gen30][time24]'

My questions are listed as follow:

1. As far as I know cplex will treat the value below 1e-9 as zero. I wonder if the above problem will be the reason that my program fail or I need to look at different direction?
2. The following warning also repeatedly appear but the coefficient seem to be normal 16.4799999999999 onOff(gen22)(time13)#2090. I would be grateful if you could give some explanation regarding to the meaning of this warning!

Detected nonzero <= the maximum value of either CPX_PARAM_EPRHS or CPX_PARAM_EPOPT at constraint 7824, variable 'onOff[gen22][time13]'

1. A large scale problem such as this one, is there any method to improve the numerical stability of the cut? I think the above coefficient should be 16.48 rather than 16.4799999999999 and the coefficient such as 1.4210854715202e-14 should not have happened in the first place. I should mention that I also use IloRound to any master binary variable, but it does not seem to change anything.

I should note that I am using Cplex 12.9 and C++ technology concert.

I would be grateful if you could help me out !

Best regards,