论文标题
吉尔普:一种可视化单纯形算法的交互式工具
GILP: An Interactive Tool for Visualizing the Simplex Algorithm
论文作者
论文摘要
用于求解线性程序的单纯算法是科学与工程学中20世纪最具影响力的十大算法 - 这是许多算法课程中的重要主题。尽管单纯形算法依赖于直观的几何思想,但算法的计算涉及力学可以使几何理解产生混淆。在本文中,我们提出了GILP,这是一种易于使用的单纯形算法可视化工具,旨在将算法的机械步骤与其几何解释联系起来。我们提供了一个示例可视化的广泛库,我们的工具允许讲师快速生成自定义的交互式HTML文件,供学生尝试算法(而无需学生安装任何内容!)。该工具还可以用于Jupyter笔记本中的交互式分配,并已将其纳入即将到来的数据科学和决策交互式教科书中。在本文中,我们首先描述了该工具如何拟合到有关算法可视化的现有文献中:它是如何设计旨在促进学生参与度和讲师采用的,以及它如何实质上扩展了现有的算法可视化工具。然后,我们描述该工具的开发和使用情况,并报告其在与大约100名学生的课程中使用的反馈。学生反馈绝大多数是积极的,学生发现该工具易于使用:它有效地帮助他们链接了单纯形算法的代数和几何观点,并了解其细微差别。最后,吉尔普是开源的,包括可视化基于线性编程的分支和绑定的扩展,并且很容易适合进一步的扩展。
The Simplex algorithm for solving linear programs-one of Computing in Science & Engineering's top 10 most influential algorithms of the 20th century-is an important topic in many algorithms courses. While the Simplex algorithm relies on intuitive geometric ideas, the computationally-involved mechanics of the algorithm can obfuscate a geometric understanding. In this paper, we present gilp, an easy-to-use Simplex algorithm visualization tool designed to explicitly connect the mechanical steps of the algorithm with their geometric interpretation. We provide an extensive library with example visualizations, and our tool allows an instructor to quickly produce custom interactive HTML files for students to experiment with the algorithm (without requiring students to install anything!). The tool can also be used for interactive assignments in Jupyter notebooks, and has been incorporated into a forthcoming Data Science and Decision Making interactive textbook. In this paper, we first describe how the tool fits into the existing literature on algorithm visualizations: how it was designed to facilitate student engagement and instructor adoption, and how it substantially extends existing algorithm visualization tools for Simplex. We then describe the development and usage of the tool, and report feedback from its use in a course with roughly 100 students. Student feedback was overwhelmingly positive, with students finding the tool easy to use: it effectively helped them link the algebraic and geometrical views of the Simplex algorithm and understand its nuances. Finally, gilp is open-source, includes an extension to visualizing linear programming-based branch and bound, and is readily amenable to further extensions.