Solution algorithms