We propose a novel method for solving the structure comparison problem for proteins, based on a decomposition technique. We define the structure alignment as a multi-objective optimization problem with both discrete and continuous variables, i.e., maximizing the number of aligned atoms and minimizing their root mean square distance. By controlling a single distance-related parameter, theoretically we can obtain a variety of optimal alignments corresponding to different optimal matching patterns, i.e., from a large matching portion to a small portion. The number of variables in our algorithm increases with the number of atoms of protein pairs in almost a linear manner. The software is available upon request, or from http://zhangroup.aporc.org/bioinfo/samo/.