Programs and Optimal Solutions for the Haplotype Assembly Problem