A novel molecular docking program based on a multi-swarm competitive algorithm