A Tutorial on Combining Flexsim with Python for Developing Discrete-Event Simheuristics - Leon, Jonas F.; Marone, Paolo; Peyman, Mohammad; Li, Yuda; Calvet, Laura; Dehghanimohammadabadi, Mohammad; Juan, Angel A. (Proceedings - Winter Simulation Conference, 2022)
Connecting commercial discrete-event simulation packages to external software or programming languages is essential to advance simulation modeling capabilities. For instance, this connectivity allows users to link the simulation environment to metaheuristic optimization algorithms or to machine learning methods. However, implementing these connections is not a trivial task, and may require API access and proper settings configurations. This tutorial provides a step-by-step guideline to connect the FlexSim commercial simulator with the popular Python programming language via sockets. Using this type of connection, a simheuristic algorithm coded in Python aims at optimizing the product allocation in a warehouse, which has been previously modeled in the aforementioned simulator. In addition, potential future applications of this software combination will be discussed to provide insights into future developments such as more advanced simheuristics or combinations of simulation with learnheuristics.