当前位置: X-MOL 学术Optim. Methods Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Sparktope: linear programs from algorithms
Optimization Methods & Software ( IF 1.4 ) Pub Date : 2021-01-06 , DOI: 10.1080/10556788.2020.1864370
David Avis 1, 2 , David Bremner 3
Affiliation  

In a recent paper, Avis, Bremner, Tiwary and Watanabe gave a method for constructing linear programs (LPs) based on algorithms written in a simple programming language called Sparks. If an algorithm produces the solution x to a problem in polynomial time and space then the LP constructed is also of polynomial size and its optimum solution contains x as well as a complete execution trace of the algorithm. Their method led us to the construction of a compiler called sparktope which we describe in this paper. This compiler allows one to generate polynomial sized LPs for problems in P that have exponential extension complexity, such as matching problems in non-bipartite graphs.

In this paper, we describe sparktope, the language Sparks, and the assembler instructions and LP constraints it produces. This is followed by two concrete examples, the makespan problem and the problem of testing if a matching in a graph is maximum, both of which are known to have exponential extension complexity. Computational results are given. In discussing these examples, we make use of visualization techniques included in sparktope that may be of independent interest. The extremely large linear programs produced by the compiler appear to be quite challenging to solve using currently available software. Since the optimum LP solutions can be computed independently they may be useful as benchmarks. Further enhancements of the compiler and its application are also discussed.



中文翻译:

Sparktope:来自算法的线性程序

在最近的一篇论文中,Avis、Bremner、Tiwary 和 Watanabe 给出了一种构建线性程序 (LP) 的方法,该方法基于用一种名为Sparks的简单编程语言编写的算法。如果算法在多项式时间和空间内产生问题的解x,则构造的 LP 也是多项式大小,其最优解包含x以及算法的完整执行轨迹。他们的方法使我们构建了一个名为 sparktope 的编译器,我们在本文中对此进行了描述。该编译器允许生成多项式大小的 LP,以解决以下问题具有指数扩展复杂性,例如非二分图中的匹配问题。

在本文中,我们描述了 sparktope、语言Sparks以及它产生的汇编指令和 LP 约束。接下来是两个具体的例子,makespan 问题和测试图中匹配是否最大的问题,这两个问题都具有指数扩展复杂度。给出了计算结果。在讨论这些示例时,我们利用了 sparktope 中包含的可能具有独立兴趣的可视化技术。编译器生成的超大型线性程序似乎很难使用当前可用的软件来解决。由于可以独立计算最佳 LP 解决方案,因此它们可以用作基准。还讨论了编译器的进一步增强及其应用。

更新日期:2021-01-06
down
wechat
bug