CPU Scheduling Optimization in Java
This program implements three CPU scheduling algorithms—First Come First Serve (FCFS), Round Robin, and a Hill Climbing–based optimization approach—to analyze and minimize average waiting time for a given set of processes.
The FCFS and Round Robin algorithms compute baseline waiting times, while the Hill Climbing method searches for a better execution order by iteratively swapping processes and selecting schedules that reduce average waiting time. The program demonstrates how heuristic optimization can improve CPU scheduling performance beyond traditional approaches.