A generalized framework for optimal sizing of distributed energy resources in micro-grids using an indicator-based swarm approach