branch
and
bound
algorithm