Table of Contents
Fetching ...

Graph-Based Specification and Automated Construction of ILP Problems

Sebastian Ehmes, Maximilian Kratz, Andy Schürr

TL;DR

The paper tackles the challenge of constructing ILP formulations from graph-based models by introducing GIPS, a framework that couples Graph Transformation with ILP through a domain-specific language, GIPSL. By representing problem mappings as GT rule matches and encoding them as binary ILP variables, GIPS automatically generates ILP problem generators from abstract specifications, enabling globally constrained optimization without hand-crafting each generator. Empirical evaluation on MdVNE shows that GIPS can match or exceed hand-crafted performance while dramatically reducing development effort, with approximately a 25% reduction in total runtime and about 95%/94% reductions in lines-of-code and number-of-characters, respectively. The approach demonstrates the practical impact of tightly integrating GT and ILP for scalable, model-driven optimization across domains, and outlines future work to broaden expressiveness (MILP, LP output, richer logic) and validate on additional scenarios.

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.

Graph-Based Specification and Automated Construction of ILP Problems

TL;DR

The paper tackles the challenge of constructing ILP formulations from graph-based models by introducing GIPS, a framework that couples Graph Transformation with ILP through a domain-specific language, GIPSL. By representing problem mappings as GT rule matches and encoding them as binary ILP variables, GIPS automatically generates ILP problem generators from abstract specifications, enabling globally constrained optimization without hand-crafting each generator. Empirical evaluation on MdVNE shows that GIPS can match or exceed hand-crafted performance while dramatically reducing development effort, with approximately a 25% reduction in total runtime and about 95%/94% reductions in lines-of-code and number-of-characters, respectively. The approach demonstrates the practical impact of tightly integrating GT and ILP for scalable, model-driven optimization across domains, and outlines future work to broaden expressiveness (MILP, LP output, richer logic) and validate on additional scenarios.

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.
Paper Structure (15 sections, 5 equations, 8 figures)

This paper contains 15 sections, 5 equations, 8 figures.

Figures (8)

  • Figure 1: Workflow diagram of the GIPS framework.
  • Figure 2: Simplified MdVNE metamodel.
  • Figure 3: Example MdVNE model instance.
  • Figure 4: Rule for matching and mapping a virtual server to a substrate server (server2server) and rule for matching and mapping a virtual link to a substrate link (link2link).
  • Figure 5: MdVNE model instance used as an example for the GIPS concept.
  • ...and 3 more figures