PSOAlgorithms
PSOAlgorithms copied to clipboard
This is my undergraduate thesis about high-performance discrete particle swarm optimization (PSO) algorithm and software development of application on JSSP problem.
High-Performance Discrete Particle Swarm Optimization (PSO) Algorithm and Software Development of Application on JSSP
Abstract
- Conducted research to study industrial Job-shop Scheduling Problem(JSSP), and designed a coding and decoding scheme.
- Prototyped and implemented the Cooperative PSO algorithm for optimizing JSSP problem in MATLAB.
- Discovered optimal combination of parameters for CPSO algorithm using Response Surface Methodology(RSM).
- Designed 8 JSSP testing cases for CPSO algorithm with optimal parameters, and mapped correlated algorithm convergence curve and scheduling Gantt Graphs.
- Conducted performance analysis from two aspects.
- Algorithm Improvement: CPSO algorithm reduced at most 17.68% error to theoretical optimal solution compared to that of standard PSO algorithm;
- Parameter Optimization: approximately 87.5% of 8 test cases results made better performances with aforementioned optimal parameters than original parameters did.
- Developed a user-friendly desktop client: PSO-related JSSP software system in C# and SQL Server, providing the capability for users to obtain fast results by inputting key parameters.
Algorithm Design
Standard PSO Algorithm
![standard PSO algorithm](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/PSO.png)
standard PSO algorithm
Cooperative PSO Algorithm
![cooperative PSO algorithm](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/CPSO.png)
cooperative PSO algorithm
Performance Analysis
Designed 8 JSSP benchmark testing cases(FT06,FT10,FT20,LA01,LA21,LA26,LA31,LA36) for performance analysis:
Algorithm Improvement
Mainly compared the results of JSSP benchmarks solved by PSO algorithm and CPSO algorithm:
![makespan](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/makespan.bmp)
makespan
![optimization rate](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/rate.bmp)
optimization rate
![average relative error](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/relative_error.bmp)
average relative error
![standard deviation](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/standard_deviation.bmp)
standard deviation
Parameter Optimization
Discovered optimal combination of parameters for CPSO algorithm using Response Surface Methodology(RSM), and about 87.5% of test cases had better performances than the original parameters did:
![parameter optimization](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/optimization_result.png)
parameter optimization
Software Development
Developed a user-friendly desktop client: PSO-related JSSP software system in C# and SQL Server, providing the capability for users to obtain fast results by inputting key parameters.
Infrastructure Design
![infrastructure design](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/system.png)
infrastructure design
Function Design
![function design](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/function.png)
function design
Database Design
- results
![results table](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/db_results.png)
results table
- users
![users table](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/db_users.png)
users table
Software Screenshot
- Login and register
![login and register](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/login.jpg)
login and register
- Parameter settings
![parameter settings](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/parameter.jpg)
parameter settings
- Scheduling result and history
![schedule history](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/history.jpg)
schedule history
![gantt graph](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/gantt.png)
gantt graph
- Users
![users management](https://raw.githubusercontent.com/Wangxh329/PSOAlgorithms/master/doc/users.jpg)
users management