Designing optimal roughness : a theory-led approach to roughness-based drag reduction