Yverdon-les-Bains is a town in the Vaud canton of Switzerland, located on the northwestern shore of Lake Neuchâtel.