Branch-and-Bound based Algorithms on Parallel Computing Environments