Ecology-inspired evolutionary algorithm using feasibility-based grouping for constrained optimization