Computational sequence design techniques for DNA microarray technologies