The algorithm implemented in Swarm-CG is designed to automatically optimize the parameters of bonded interactions in a CG molecular model, namely the parameters of the potential functions used by the force field for bonds, angles and dihedrals in a user-provided CG molecular topology file. The software needs the user to preliminary define the AA-to-CG mapping and choose the CG bead types (defining the nonbonded interactions). The functional form of bonded interaction potentials can generally be described as: