A Framework To Generate A Smart Manufacturing System Configurations Using Agents And Optimization