This repository contains experimental code for applying constraint programming to enterprise simulation. The experiments are based on how enterprise models can be "solved" through CP.
The CP language used is MiniZinc. MiniBrass, an extension to MiniZinc, was used to implement soft constraints. For solving instances regarding a neural network embedding (cases from NetlogoNN), I recommend using JaCoP as solver. Python was used for writing experimental scripts. Simulation models were made in NetLogo. A combination of PyTorch with CUDA was used to design and train Neural Networks.
Code is free to use for further experimenting, however, if you do so, please cite our corresponding paper.
@article{2022_Andringa_flexible_EO_with_CP,
author="Andringa, Sytze P. E.
and Yorke-Smith, Neil",
editor="Aveiro, David
and Proper, Henderik A.
and Guerreiro, S{\'e}rgio
and de Vries, Marne",
title="Flexible Enterprise Optimization with Constraint Programming",
booktitle="Advances in Enterprise Engineering XV",
year="2022",
publisher="Springer International Publishing",
pages="58--73"
}
This repository is divided into three categories.
- Petri-nets. Here, petri net models based on enterprise models are solved through MiniZinc.
- Netlogo simulation + Neural network. Here, neural networks are trained on NetLogo simulation models. Then, these neural networks are embedded into MiniZinc, and used to find solutions to it in a multi objective sense.
- Other experiments. Here, a simple supply chain of a pizza restaurant, as well as a hospital case (FHCC) that was based on a DEMO model, are formulated as a CP model. These experiments are not dicussed in the thesis.
Simulation-optimization is often used in enterprise decision-making processes, both operational and tactical. This paper shows how an intuitive mapping from descriptive problem to optimization model can be realized with Constraint Programming (CP). It shows how a CP model can be constructed given a simulation model and a set of business goals. The approach is to train a neural network (NN) on simulation model inputs and outputs, and embed the NN into the CP model together with a set of soft constraints that represent business goals. We study this novel simulation-optimization approach through a set of experiments, finding that it is flexible to changing multiple objectives simultaneously, allows an intuitive mapping from business goals expressed in natural language to a formal model suitable for state-of-the-art optimization solvers, and is realizable for diverse managerial problems.