https://pub.towardsai.net/branch-and-bound-introduction-prior-to-coding-the-algorithm-from-scratch-cc265f2909e7