This submodule contains functions for finding lower bounds.
The bonds lower bound function compares the number of type of bonds on both side. This is a very cheap, but is the least accurate method.
This function tries to find a lower bound by solving a Min Cost Perfect matching of the atom, where the costs have been chosen such that this is always a lower bound. This is the best balance between cost and accuracy.
This is an implementation of the BranchTight algorithm of the following paper: DOI 10.1109/TKDE.2017.2772243. The implementation is however not optimal, which results that in practice this performs worse than the full model provided in this package. This algorithm updates the lower bounds found in the bond_assignment algorithm.