Degree Final Year Project

Generation and Optimization of Course Timetable Using Binary Particle Swarm Optimization(BPSO)

  • Matlab
  • BPSO Algorithm
Portfolio-title

How it Works

In PSO, swarm is represented a group of particles and a bird is represented as a particle. Each particle moves in the search space and look for the optimal position. Each particle is moving to new position and update it personal best in each iteration. The movement of the particles is calculated based on the fitness of its own and also among all the particles.

At first, PSO is set and given with a group of random particles. The particles are then searches for optimal solution by updating the particles in each iteration. Each particle’s fitness value is calculated based on the defined cost function. Each iteration, the particles are updated by two values which are personal best called Gbest and global best called Pbest. If the fitness of the current particle’s position is better the previous one, the current particle’s solution is set as Pbest. Compare to the other Pbest of particles, the Gbest is selected if the fitness value is the highest among all the particles. Each particle will keep search for the global best within all particles. Next, each particle will update its direction and velocity based on the global best and personal best and find the optimal solution by using Eq. (1) and Eq. (2).

Portfolio-title

The timetable is generated by using MATLAB R2017b. Binary PSO algorithm is used to obtain the best assignment of subjects and satisfy the lecturers preferences as much as possible. In this simulation, 30 particles are used with 500 and 2000 iterations. By default, 𝑐1 and 𝑐2 are set to 2. The initial value of 𝑤 is 0.9 and linearly decreased to 0.4 with iterations.

Output

Portfolio-title
Portfolio-title
Portfolio-title
Portfolio-title

Clik to view Sample Matlab Code