In this thesis, we consider a scheduling problem in a large shipyard that constructs 40-50 projects(ships) of various types and sizes in several dry docks. The problem is to determine the dock and the dock cycle where each ship is constructed. The planning horizon is 3-5years. For each ship project, each of the resources that are mostly represented in manhours or weights is employed in a pattern of S-curve along the time. The schedule should meet the resource capacity limits and the yearly sales target. The projects assigned to each dock term should satisfy the space restriction and each project schedule should meet the delivery. The primary objective is to minimize the fluctuations in the resource usage levels along the time.
The problem is simplified and modeled as an integer programming model. In view of the problem size and complexity, we develop several search-based algorithms. Several techniques to enhance the algorithm efficiency and the performances of the solution are discussed. The algorithms are tested for real data and are proven to be practical for real problems.