Improved penalty calculations for a mixed integer branch-and-bound algorithm