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.
翻译:在模型驱动软件工程(MDSE)中,在基于图形的模型(如模式匹配和图形转换)和 Intger 线性编程(ILP)上操作的技术结合是一种常见现象,因为ILP 解答器为解决线性优化问题和帮助执行全球限制提供最佳解决方案提供了强有力的方法。然而,从比较抽象的问题描述中设计和具体指明复杂的优化问题可能是一项具有挑战性的任务。设计者必须是特定问题域的专家,以及将特定问题转化为有效的 ILP 问题的国际LP 优化域。通常,由专家亲手制作特定域域的LP 自动版本问题生成器,以避免为每个问题域的每个新实例用手来指定新的 ILPL 问题。不幸的是,撰写 ILP 问题生成器的任务是一项练习,对于每一种新的情景、工具和方法都必须重复。 为此,我们引入了GIPS (Graph- IP IMP 问题定义域域域仪) 框架,将IL P 的系统化应用方法简单化为IMP IMP 的 GIP 版本化的 GIPL 程序, 的GISPL 问题, 的GIPL 优化专家将一个特定的 GIP 的 GIPL 的GISL 问题作为我们GL 的 GIPL 的 GIP 的GL 的GL 的GL 的GL 的GL 的GL 问题, 的GL 问题,用于 的GL 的GL 的GL 的GL 的GL 的GL 的GL 的GL 的GL 的GL 的GL 的GL 的 GL 的GL 的 GL 。