Graph-Based Specification and Automated Construction of ILP Problems (2212.11629v2)
Abstract: In the Model-Driven Software Engineering (MDSE) community, the combination of techniques operating on graph-based models (e.g., Pattern Matching (PM) and Graph Transformation (GT)) and Integer Linear Programming (ILP) is a common occurrence, since ILP solvers offer a powerful approach to solve linear optimization problems and help to enforce global constraints while delivering optimal solutions. However, designing and specifying complex optimization problems from more abstract problem descriptions can be a challenging task. A designer must be an expert in the specific problem domain as well as the ILP optimization domain to translate the given problem into a valid ILP problem. Typically, domain-specific ILP problem generators are hand-crafted by experts, to avoid specifying a new ILP problem by hand for each new instance of a problem domain. Unfortunately, the task of writing ILP problem generators is an exercise, which has to be repeated for each new scenario, tool, and approach. For this purpose, we introduce the GIPS (Graph-Based ILP Problem Specification Tool) framework that simplifies the development of ILP problem generators for graph-based optimization problems and a new Domain-Specific Language (DSL) called GIPSL (Graph-Based ILP Problem Specification Language) that integrates GT and ILP problems on an abstract level. Our approach uses GIPSL specifications as a starting point to derive ILP problem generators for a specific application domain automatically. First experiments show that the derived ILP problem generators can compete with hand-crafted programs developed by ILP experts.
- Electronic Notes in Discrete Mathematics, pp. 213–220, 10.1016/j.endm.2016.03.028.
- In: Proc. of the Int. Conf. on Model Driven Engineering Languages and Systems, MODELS ’20, ACM, p. 320–331, 10.1145/3365438.3410991.
- Stephen P. Bradley, Arnoldo C. Hax & Thomas L. Magnanti (1977): Applied Mathematical Programming. Addison-Wesley.
- Michael R. Bussieck & Alex Meeraus (2004): General Algebraic Modeling System (GAMS). Springer, 10.1007/978-1-4613-0215-58.
- Martin Fleck, Javier Troya & Manuel Wimmer (2016): Search-based model transformations. Journal of Software: Evolution and Process, pp. 1081–1117, 10.1002/smr.1804.
- Charles L. Forgy (1982): Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem. Artificial Intelligence, p. 17–37, 10.1016/0004-3702(82)90020-0.
- Robert Fourer, David M. Gay & Brian W. Kernighan (2002): AMPL: A Modeling Language for Mathematical Programming. Cengage Learning, 10.1287/mnsc.36.5.519.
- In: Proc. of Transformation Tool Contest, TTC@STAF ’18, CEUR-WS.org, pp. 31–36. Available at http://ceur-ws.org/Vol-2310/paper4.pdf.
- In: Proc. of Transformation Tool Contest, TTC@STAF ’18, CEUR-WS.org, pp. 3–11. Available at http://ceur-ws.org/Vol-2310/paper1.pdf.
- Carl Hewitt, Peter Bishop & Richard Steiger (1973): A Universal Modular ACTOR Formalism for Artificial Intelligence. In: Proc. of the Int. joint Conf. on Artificial Intelligence, IJCAI ’73, Morgan Kaufmann Publishers Inc., p. 235–245, 10.5555/1624775.1624804.
- Thorsten Koch (2006): Rapid Mathematical Programming or How to Solve Sudoku Puzzles in a Few Seconds. In: Operations Research Proceedings, GOR ’05, Springer, pp. 21–26, 10.1007/3-540-32539-54.
- Erhan Leblebici, Anthony Anjorin & Andy Schürr (2017): Inter-model Consistency Checking Using Triple Graph Grammars and Linear Optimization Techniques. In: Proc. of the Int. Conf. on Fundamental Approaches to Software Engineering, FASE ’17, Springer, pp. 191–207, 10.1007/978-3-662-54494-511.
- David G. Luenberger & Yinyu Ye (1984): Linear and Nonlinear Programming. Springer, 10.1007/978-3-319-18842-3.
- Uwe Pohlmann & Marcus Hüwe (2019): Model-driven allocation engineering: specifying and solving constraints based on the example of automotive systems. Automated Software Engineering, pp. 315–378, 10.1007/s10515-018-0248-3.
- Ramesh Raman & Ignacio E. Grossmann (1994): Modelling and computational techniques for logic based integer programming. Computers & Chemical Engineering, pp. 563–578, 10.1016/0098-1354(93)E0010-7.
- Siqi Shen, Vincent Van Beek & Alexandru Iosup (2015): Statistical Characterization of Business-Critical Workloads Hosted in Cloud Datacenters. In: Proc. of the Int. Symposium on Cluster Computing and the Grid, CCGrid ’15, ACM, pp. 465–474, 10.1109/CCGrid.2015.60.
- In: Proc. of the Int. Conf. on Theory and Practice of Model Transformation, ICMT ’18, Springer, pp. 59–75, 10.1007/978-3-319-93317-7_2.
- In: Modellierung 2018, Gesellschaft für Informatik e.V., pp. 39–54. Available at https://dl.gi.de/20.500.12116/14957.
- Stefan Tomaszek, Roland Speith & Andy Schürr (2021): Virtual network embedding: ensuring correctness and optimality by construction using model transformation and integer linear programming techniques. Software and Systems Modeling, pp. 1299–1332, 10.1007/s10270-020-00852-z.
- Software and Systems Modeling, p. 609–629, 10.1007/s10270-016-0530-4.
- Gergely Varró & Frederik Deckwerth (2013): A Rete Network Construction Algorithm for Incremental Pattern Matching. In: Proc. of the Int. Conf. on Theory and Practice of Model Transformations, ICMT ’13, Springer, pp. 125–140, 10.1007/978-3-642-38883-5_13.
- In: Proc. of the Int. Conf. on Model Driven Engineering Languages and Systems, MODELS ’18, ACM, p. 34–44, 10.1145/3239372.3239398.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.