An optimization framework for joint sensor deployment, link scheduling and routing in underwater sensor networks