Dynamic programming - Lau, Jabez Jun Hong (Nanyang Technological University, 2024)
This project focuses on re-creating and attempting to enhance a dynamic programming (DP) algorithm for quay crane scheduling based on an existing research paper. The primary purpose is to deepen my understanding of DP by re-implementing the algorithm from its logical explanation and pseudocode, while the secondary objective is to explore potential improvements in its efficiency. The project aims to assess how theoretical DP concepts can be translated into practical code, with an emphasis on understanding core principles, developing problem-solving strategies, and improving coding skills. Enhancements will focus on optimizing computational performance and possibly modifying the structure of the original algorithm. An efficient quay crane scheduling program is critical to optimizing port operations, reducing vessel turnaround times, and able to accommodate to the increasing global trade volumes. It is an actual real world problem that has been experimented and researched to achieve ideal methods, it has varying conditions resulting in a problem that has multiple possibilities of definition and solution, and it is a problem that has impact on a global scale. This makes the quay crane scheduling problem such an interesting topic to explore, research, and work on. The report details the methodology, implementation, and experimental results with analysis of the project. Key outcomes will include comparison and analysis of a top-down versus bottom-up approach, with iterative improvements and optimizations applied throughout the process. This work demonstrates a practical method of improving DP knowledge, applying learned concepts, and working on real world problem.