Text this: Contact plan design based on bi-directional particle swarm optimization in satellite network