Swarm Intelligence and Evolutionary Computing: for Single and Multi-objective Optimization in Water Resource Systems