What is it about?
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 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 connect the mechanical steps of the algorithm with their geometric interpretation. We provide an extensive library of example visualizations, and our tool allows instructors 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 algorithm visualization literature: 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.
Featured Image
Photo by Shapelined on Unsplash
Read the Original
This page is a summary of: GILP: An Interactive Tool for Visualizing the Simplex Algorithm, March 2023, ACM (Association for Computing Machinery),
DOI: 10.1145/3545945.3569815.
You can read the full text:
Contributors
The following have contributed to this page