Tidal Turbine Array Optimization Based on the Discrete Particle Swarm Algorithm