For example, it would be easy to enforce such constraints in the Eisner (1996) algorithm or using Integer Linear Programming approaches (Riedel and Clarke, 2006;Martins et al., 2009).
such richer modeling capacity comes with a much higher computational cost.