In this paper, an effective method for structural damage detection is put forth in which an objective function based on the natural frequencies and modal shapes of the structure is established to identify and detect structural damage. The problem is defined and solved as an optimization problem employing Imperialist Competition Algorithm (ICA). Moreover, four numerical examples are examined each of which has different damage scenarios in order that the applicability of the method would be clearly proved. The results show the efficiency of the method in detecting single and multiple damages in different structures. Afterwards, the effects of measurement noises are included in some of the examples so that the method can be more consistent with real situations. Besides, a comparison among several evolutionary optimization algorithms in the research is made to enlighten the accuracy, robustness and reliability of the method. All of the results lead to the conclusion that the suggested method of the paper is of good accuracy, and, therefore, can be both used and trusted in solving damage detection problems, even in cases that measurement noises are encountered.