A particle swarm optimization for solving NLP/MINLP process synthesis problems