Hinweise zum Einsatz der Google Suche
Personensuchezur unisono Personensuche
Veranstaltungssuchezur unisono Veranstaltungssuche
Katalog plus


LAVES visualizing the Savings algorithm

Logistics Algorithms Visualization and Education Software

LAVES is an open source education software, that helps students understand the basic concepts of algorithms and supports the teaching staff visualize the dynamics of these concepts.

Using didactical methods, such as algorithm visualization in combination with exercises, LAVES facilitates the comprehension of the functionality of algorithms.

LAVES is available in German and English. It was originally developed to serve as an educational support tool for the lecture "Logistik" ("Logistics") in the Bachelor program "Wirtschaftsinformatik" ("Business Informatics") at the University of Siegen. It is possible, however, to extend or customize the software with own visualizations of algorithms that address the specific needs of other courses. Therefore, LAVES provides a Software Development Kit (LAVESDK) which can be used to easily implement educational support for specific lectures.

LAVES is released under the terms of the GNU General Public License (GPL).

Below you can find the download, publications related to LAVES, some demo videos, a list of available plugins and the change log.


  • LAVES.zip
    contains LAVES including the logistics package of plugins
    version: 1.5
  • LAVES-src.zip
    contains the source code of LAVES
  • LAVES-empty.zip
    contains LAVES without installed plugins (a clean instance)
You don't need to install LAVES. Download and extract the Zip file and start LAVES by double-clicking on "LAVES.jar".


  • Dominik Kress, Jan Dornseifer (2015) LAVES: An Extensible Visualization Tool to Facilitate the Process of Learning and Teaching Algorithms. INFORMS Transactions on Education 15(3):201-214.
  • Dominik Kress, Jan Dornseifer (2014) Ein (weiteres) Tool zur Algorithmen-Visualisierung. OR News 51: 6-9.



Logistics Package

Changelog - What's New

  • Version 1.5 (Release 04.04.2016)
    • LAVESDK 1.5:
      • Known bugs fixed
    • Known bugs fixed
  • Version 1.4 (Release 11.11.2015)
    • LAVESDK 1.4:
      • RandomGraphToolBarExtension: new toolbar extension to create randomly generated graphs
      • ToolBarExtension: may now be added to the main menu of the host application
    • Welcome screen has been extended with further information
    • New menu entry „Functions“: this entry is added if the user opens an algorithm and provides the main functions of the toolbar extensions that the plugin contains
    • Dijkstra, Eulerian Cycle, and Triple Algorithm Plugin: new toolbar extension to create randomly generated graphs
    • Known Bugs fixed
  • Version 1.3 (Release 06.05.2015)
    • LAVESDK 1.3:
      • LegendView: font is now adjustable by user like in TextAreaView
      • GraphView: description for directed property in properties window, repaint mechanism reworked
      • DefaultRNView: additional constructor
      • Sandbox: validation of the used SDK version information of a plugin
      • LanguageFile: getLabel() returns now the labelID if no suitable language is found for a label and the default value is null
      • Network: correction of the excess calculation of nodes
      • AlgorithmStep: Bugs fixed concerning the LaTeX formula parsing of a step text
      • AlgorithmRTE: it is now possible to step back from the end of the algorithm if the option „pause before stop“ is enabled
      • VertexOnlyTransferProtocol: now it is posible to only transfer the vertex positions
      • GraphUtils: new findShortestPaths methods to determine the shortest paths from every vertex to all other vertices in a graph
      • CompleteGraphToolBarExtension/CompleteBipartiteGraphToolBarExtension: added functionality to specify the maximum weight of edge if a graph is created (the weights of the edges are determined randomly up to the maximum)
    • Logistics package plugins updated to version 1.3
    • Relabel-to-front algorithm plugin (version 1.0) added
    • Tripel algorithm plugin:
      • Changed assumptions meaning that now it is checked whether the graph contains circles of negative length
      • New toolbar extension to layout the vertices in a circle
    • Dijkstra algorithm plugin: new toolbar extension to layout the vertices in a circle
    • Pseudocode update of all algorithms
    • Release date of the current version added to About dialog
    • Step backward and forward is now made accessible to arrow keys (left + right) in combination with ALT
    • Known bugs fixed
  • Version 1.2 (Release 15.10.2014)
    • Contains updated SDK to version 1.2
      INFO: the minimum version has increased to 1.2 meaning that old plugins have to be updated to the new SDK version to be executable in the new LAVES version
    • LAVESDK 1.2:
      • New AlgorithmPlugin properties getAuthorContact() and getText()
      • New host communication methods to request some properties of installed plugins
      • New method in AlgorithmExercise to display last failed hint messages
      • New transition object that enables the developer to integrate visual transitions into an algorithm visualization (predefined transitions: color transition, linear position transition to move an object along a straight)
      • Network: getResidualNetwork() returns now a new type instance that is based on a multi graph to comply with the definition of a residual network
      • DefaultRNView: new default view to handle residual networks graphically with caption adoption feature (that means during the creation of a residual network the captions of the vertices are automatically adopted from the network if a certain visual pattern matches)
      • GraphView: during a multiselect of vertices the vertices cannot be moved anymore to prevent the user from deselecting all vertices when he accidentally moves the cursor
      • GraphView: it is now possible to repaint a graph view from a subclass and to add additional tools to the tool set
      • ExercisesListView: new result status icon for a failed exercise that is clickable and displays a hint that should answer why the exercise has failed
      • Known Bugs fixed
    • Base package plugins updated to version 1.2
    • Display error fixed in Vogel’s Approximation Method plugin
    • Bug fixed that crashes the 2-opt algorithm plugin in exercise mode
    • First exercise in 2-opt plugin exercise mode now expects input for both columns (out and in)
    • Due to the improvments in the Network class the Ford-Fulkerson algorithm plugin is now updated and supports the correct definition of residual networks
    • Updated language files for host system and Vogel’s Approximation Method plugin
    • Bug fixed that crashes LAVES when plugins aren’t compatible with the current SDK
    • New configuration options in the preferences dialog of LAVES
    • Updated LAVES help files
  • Version 1.1 (Release 14.07.2014)
    • contains version 1.1 of the LAVESDK
    • new information dialog that contains information about the exercise mode (can be disabled by the user)
    • new option for exercises to display input hints
    • bug fixes in the runtime environment of the algorithms and the host system
    • the state of the "Pause Before Stop" and "Skip Breakpoints" options are now stored in the configuration so that the state can be restored when LAVES is restarted
    • MatrixEditor: it is now possible to remove elements with the delete key
    • ExecutionTable: cell content is selected when user wants to edit a cell so that the new value can directly be entered using the keyboard
    • updated help files
    • Dijkstra's algorithm plugin, Tripel algorithm plugin: extended by final exercise to verify whether the user can apply the algorithm results meaning the user has to specify a shortest path between two random vertices
    • integration of input hints in several plugins to simplify the work with the exercises
  • Version 1.0 (Release 30.05.2014)