Optimal Gene Circuit Design