Complex network theory has recently been used as a framework to describe the behavior of several networks in nature including physical, chemical, biological, technological and social networks. Some of those, such as electric power grids, transportation systems, communication networks, and others, must maintain their stability even after several failures, or targeted attacks. In this paper, we study network vulnerability in terms of cascading breakdown and outline an optimization procedure to enhance network robustness. We propose a rewiring method using simulated annealing algorithm to increase the robustness of a given network while keeping its property unchanged. Analyzing optimized networks in several aspects, simulation results showed that community structure and core-periphery structure may have a negative effect to the robustness of a network while homogeneous load distribution may improve network performance.