Lattice Boltzmann methods for flows of complex fluids