This Java software includes algorithms of combinatorical optimization for the NP-hard offline ship lock scheduling problem. Solutions and performed computations can be displayed graphically. Besides, there is a framework for generating test instances and running these in parallel, as well as R/JGR code for statistical evaluation. Some tools for estimating the quality of calculated solutions will be further improved. Initially the software was developed within a project of TU Berlin regarding the Kiel Canal. See project wiki for conditions that should be met by applications.
- Problem input: Problem data will be read from XML files or generated randomly.
- Objective function: Above all, the waiting times of the ships should be minimized. There are also some other measures that can be weighted according to requirements.
- Optimization strategy: The major part is local search using several neighborhood types. Depending on the configuration, initial solutions will be improved by iteratively running hill climbing, some problem-specific postoptimization steps, and one worsening step.
- Configuration: The implemented algorithms can be selected, combined, and configured by a lot of parameters.
- Graphics: Displaying calculated solutions (screenshot 1) and calculations of algorithms (screenshot 2). These pictures can be saved as JPG.
- Flexibility: Manipulating solution data subject to restrictions.
- Analysis: Framework for analyzing the algorithms and calculated solutions: Generating test instances, parallel simulation, R/JGR code for multivariate data analysis (e.g. detemining best parameter values by statistical models).
- Analysis: Calculcating lower bounds for the cost of solutions.
- Analysis: Generating optimal solutions and comparing them with solutions found by local search.
- Analysis: Comparing solutions that have been calculated differently for the same problem instance.
Thanks for Lockscheduling, it's perfect!