GIPS is an open-source framework for Graph-Based (M)ILP Problem Specification. This repository holds the GIPS implementation projects and additional documentation for the Integrated Healthcare Timetabling Problem (IHTP) paper 2025:
High-Level Specification of MILP Problems with Class Diagrams and Graph Transformations: A Case Study in Model-Driven Optimisation of the Integrated Healthcare Timetabling Problem. Maximilian Kratz, Jule Pfau, Steffen Zschaler, Jens Kosiol, and Andy Schürr. 2025.
Our complete problem description and modelling approach of section 3 of the paper is documented in problem-description.md.
Our complete solution specification of section 4 of the paper is documented in solution-description.md.
The implementation described in section 4 and 5 of the paper can be found in the folder implementation.
The necessary steps to set up the implementation are listed below.
- Install GIPS as described in its repository.
- Launch a runtime workspace (while using a runtime Eclipse) as stated in the eMoflon::IBeX installation steps. (Please refer to the installation steps of GIPS above.)
- Use this PSF file to import all IHTP-related projects.
- Build all your projects with the black eMoflon hammer. Sometimes, it is required to trigger a cleaning in Eclipse (Project -> Clean... -> Clean all projects).
- Some of the examples have a runnable Java class with a
mainfunction. - You can now launch the GIPS project
ihtcvirtualrunner:- Go to
ihtcvirtualrunner->src->org.emoflon.gips.ihtc.virtual.runner.cliin the project explorer. - Execute the
mainmethod of the classIhtcVirtualGipsHeadlessRunner.javaand provide the explained arguments.
- Go to
| Name | Description |
|---|---|
gips.examples.dependencies |
Necessary dependencies, e.g., for the JSON-based import/export |
ihtcvirtualgipssolution |
GIPSL specification to solve the IHTP as described in section 4.3 of the paper |
ihtvirtualmetamodel |
Adapted metamodel project as described in section 4.1 of the paper |
ihtcvirtualpostprocessing |
Model post-processing with GT or Java |
ihtcvirtualpreprocessing |
Model pre-processing with GT or Java as described in section 4.2 of the paper |
ihtcvirtualrunner |
Java code to execute the pipeline as explained in section 4.4 of the paper |
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for more details.