## 2 Literature Review  
The available literature provides various approaches and algorithms for optimizing project scheduling by leveraging well-defined objective functions aligned with decision-makers' goals. These methods aim to enhance the efficiency of planning for resource-limited projects and reduce project duration. Exact, heuristic, and metaheuristic or evolutionary methods are some of these algorithms. Methods are used with these algorithms for finding the optimal solution, but they can be computationally expensive for large problems. Heuristic methods are suitable for complex problems due to their ability to give good (not optimal) solutions quickly. A set of more technologically advanced methodologies based on metaheuristic and evolutionary methods, which have been largely inspired by natural phenomena, have been refined, leading to the search for high-quality solutions within a reasonable time. For objective functions, time, and cost, or quality-based classification is performed. Mathematical models for establishing relationships between objective functions and problem constraints are exact methods to determine the optimal solution exactly. These methods use different optimization techniques like linear programming, which is used when the relation between variables is linear, to help improve problem-solving processes. Dynamic programming is also used as it allows problems to be broken down into smaller subproblems whose solutions are combined to solve the overall problem, and this helps reduce computational complexity and tends to improve performance. On the other hand, these methods are being very accurate in solving optimal solutions, so they are very reasonable in solving complex problems that need exact and reliable results [5]. Rules are used for solving complex problems, which involve heuristic methods; that is, heuristic methods use rules in order to select good solutions and discard the ones that are unacceptable, quickly jumping to a near or an optimal solution. The most used technique is branch and bound, which divides the problem and excludes unpromising solutions systematically based on estimated bounds, which enhances search efficiency. However, it is an effective technique for solving the traveling salesperson problem )TSP), for which the boundedness and branching algorithms can be used, but no single algorithm is suitable for all problems because the appropriate strategy depends upon the type of problem [6]. Advanced approaches, typically called metaheuristic and evolutionary algorithms, are applied to find solutions for complex problems such as total cost optimization (TCO). Despite computational constraints, the strategies used for finding solutions that are high quality are heuristic. The methods include genetic algorithms (GAs), which are inspired by natural evolution by selection, crossover, and mutation; ant colony optimization (ACO), which imitates the behavior of ants when searching for food to improve search efficiency; and particle swarm optimization (PSO), which uses swarm intelligence to obtain a fast and efficient solution. On the contrary, while the GA relies on natural selection, ACO and PSO utilize collective knowledge to enhance the search for solutions. At the same time, these algorithms are very powerful tools for speeding up and facilitating the finding of solutions to complex optimization problems that most traditional methods struggle to deal with. The research on resource-constrained project scheduling and schedule compression can be divided into four categories: time cost optimization models, deterministic scheduling, scheduling under uncertainty, and resource allocation models. The objectives of the TCO model are minimizing project duration while following budget constraints [7]. Schedules based on resource availability and deadlines are optimized in deterministic models [8]. These concepts are applied to scheduling under uncertainty, which is related to unpredictable project conditions.