Genetic Algorithm For Project Scheduling With Resource Allocation and Time Constraints
The document discusses the application of Genetic Algorithms (GA) for project scheduling, focusing on resource allocation and time constraints. Key objectives include minimizing makespan, maximizing resource utilization, and ensuring compliance with time windows and task dependencies. The GA employs a fitness function to evaluate solutions, along with selection, crossover, mutation, and replacement strategies to evolve and optimize schedules effectively.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
27 views11 pages
Genetic Algorithm For Project Scheduling With Resource Allocation and Time Constraints
The document discusses the application of Genetic Algorithms (GA) for project scheduling, focusing on resource allocation and time constraints. Key objectives include minimizing makespan, maximizing resource utilization, and ensuring compliance with time windows and task dependencies. The GA employs a fitness function to evaluate solutions, along with selection, crossover, mutation, and replacement strategies to evolve and optimize schedules effectively.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11
Genetic Algorithm for
Project Scheduling with
Resource Allocation and Time Constraints Nada mossad abodegham 320210097 Mariam elshebeny 320210081 Mariam amr asal 320210142 Arwa fawzy 320210071 Problem definition • The problem at hand is project scheduling, where there are specific dependencies and resource requirements for each task, within a time window in which they must be executed. Primary objectives are to effectively assign resources to tasks while ensuring that time constraints and dependencies between tasks are honored. Objectives: • Makespan Minimization: This optimizes on the total time taken to completely schedule the tasks. • Maximize resource utilization: resources must be used with the maximum possible efficiency, avoiding wastage resulting from idle time. • Time Window Compliance: the actual scheduling of each task within its allowed time window. • Dependency Compliance: Ensuring the scheduling of tasks in a manner that respects precedence constraints. Representation of Solution A chromosome is a possible solution to the scheduling problem. Each chromosome is a list that is comprised of task assignments. Each assignment includes the following: • Task ID: The scheduled Task. • Time start: The time at which the task starts. • Resource ID: The resource assigned to the task.
This design enables the GA to explore a wide range of possible
schedules, where each solution can be modified through crossover and mutation operations for better performance.
The size of the chromosome (solution) is equal to the number of tasks
in the project. Fitness Function Development The fitness function evaluates how "good" a solution is (schedule) based on the penalties associated with violating constraints. The fitness function maximizes the fitness score, derived from: • Time Window Violation: If the task is scheduled outside its allowed time window, a penalty is added. • Resource Overuse: a small penalty is given when one resource is over-allocated, meaning it is assigned to more than one task at one time. • Dependency Violation: A penalty is added if a task starts before its dependencies are completed.
fitness_score = 100 - total_penalty , Where total_penalty is the sum
of all penalties incurred by the schedule. Selection • The selection process uses Tournament Selection, where a group of individuals (chromosomes) are randomly selected from the population and the individual with the highest fitness-lowest penalty-is chosen to become a parent. This selection is repeated until two parents are selected for crossover. The Tournament Selection helps in maintaining the diversity and prevents its early convergence by not always selecting the best solution. Crossover • Single-point crossover is utilized, whereby two parents exchange parts of their schedules to form two offspring. A random selection of a crossover point takes place, and activities that appear before the point are inherited from one parent, while activities after the point are inherited from another parent. This operator enables the algorithm to combine strengths of different solutions. Mutation • Mutation happens with probability 0.1. During that phase, the start time of a randomly selected task is shifted into a new value within its time window, or, alternately, a random task is assigned a different resource. This brings new genetic material into the population and prevents the algorithm from becoming stuck in local optima. Replacement • After crossover and mutation, the population is updated by replacing the old population with the new generation. Elitism is applied by keeping the best individuals from the current generation, ensuring that the best solution is not lost during the replacement process. Visualization Conclusion • In conclusion, Genetic Algorithms prove to be an effective method for finding near-optimal schedules when dealing with resource-constrained project scheduling. The main advantages lie in the flexibility of handling complex constraints, including dependencies, resource allocation, and time windows, as well as its capability of evolving solutions through genetic operators. Using proper selection, mutation, and crossover strategies can enable the GA to efficiently explore the solution space and converge toward a high-quality schedule.