A multiple-criteria algorithm for smart parking