Association rule mining for both frequent and infrequent items using particle swarm optimization algorithm