├── Basic_data.txt ├── .DS_Store ├── PSO ├── Int.class ├── Pso.class ├── Doubl.class ├── Driver.class ├── Server.class ├── TaskInfo.class ├── GbestInfo.class ├── RandomPso.class ├── ObjToClient.class ├── OrthogonalPso.class ├── SAnnealingPso.class ├── ModifiedNewPso.class ├── MultiThreadPso.class ├── ParallelPso_Client.class ├── ParallelPso_Server.class ├── VariableInertiaPso.class └── ParallelOrthogonalPso_Server.class ├── newiter.xls ├── VariableInertiaPso.java ├── static_input.txt ├── MultiThreadPso.java ├── OrthogonalPso.java ├── ParallelOrthogonalPso_Server.java ├── ModifiedNewPso.java ├── pso_instructions.txt ├── RandomPso.java ├── TaskInfo.java ├── ParallelPso_Client.java ├── Driver.java ├── SAnnealingPso.java ├── ParallelPso_Server.java └── Pso.java /Basic_data.txt: -------------------------------------------------------------------------------- 1 | 5 2 | 20 3 | 100 4 | 50 5 | 5 -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/.DS_Store -------------------------------------------------------------------------------- /PSO/Int.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/Int.class -------------------------------------------------------------------------------- /PSO/Pso.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/Pso.class -------------------------------------------------------------------------------- /newiter.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/newiter.xls -------------------------------------------------------------------------------- /PSO/Doubl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/Doubl.class -------------------------------------------------------------------------------- /PSO/Driver.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/Driver.class -------------------------------------------------------------------------------- /PSO/Server.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/Server.class -------------------------------------------------------------------------------- /PSO/TaskInfo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/TaskInfo.class -------------------------------------------------------------------------------- /PSO/GbestInfo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/GbestInfo.class -------------------------------------------------------------------------------- /PSO/RandomPso.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/RandomPso.class -------------------------------------------------------------------------------- /PSO/ObjToClient.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/ObjToClient.class -------------------------------------------------------------------------------- /PSO/OrthogonalPso.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/OrthogonalPso.class -------------------------------------------------------------------------------- /PSO/SAnnealingPso.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/SAnnealingPso.class -------------------------------------------------------------------------------- /PSO/ModifiedNewPso.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/ModifiedNewPso.class -------------------------------------------------------------------------------- /PSO/MultiThreadPso.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/MultiThreadPso.class -------------------------------------------------------------------------------- /PSO/ParallelPso_Client.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/ParallelPso_Client.class -------------------------------------------------------------------------------- /PSO/ParallelPso_Server.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/ParallelPso_Server.class -------------------------------------------------------------------------------- /PSO/VariableInertiaPso.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/VariableInertiaPso.class -------------------------------------------------------------------------------- /PSO/ParallelOrthogonalPso_Server.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gowth08/PSO/HEAD/PSO/ParallelOrthogonalPso_Server.class -------------------------------------------------------------------------------- /VariableInertiaPso.java: -------------------------------------------------------------------------------- 1 | package PSO; 2 | import java.io.*; 3 | import java.util.*; 4 | class VariableInertiaPso extends Pso 5 | { 6 | public double update(double w) 7 | { 8 | return ((.9-.4)*cur_iter_no)/max_iterate; 9 | } 10 | } -------------------------------------------------------------------------------- /static_input.txt: -------------------------------------------------------------------------------- 1 | 54 79 16 66 58 2 | 83 3 89 58 56 3 | 15 11 49 31 20 4 | 71 99 15 68 85 5 | 77 56 89 78 53 6 | 36 70 45 91 35 7 | 53 99 60 13 53 8 | 38 60 23 59 41 9 | 27 5 57 49 69 10 | 87 56 64 85 13 11 | 79 16 66 58 86 12 | 3 89 58 56 72 13 | 11 49 31 20 8 14 | 99 15 68 85 49 15 | 56 89 78 53 47 16 | 70 45 91 35 87 17 | 99 60 13 53 58 18 | 60 23 59 41 18 19 | 5 57 49 69 68 20 | 56 64 85 13 28 21 | -------------------------------------------------------------------------------- /MultiThreadPso.java: -------------------------------------------------------------------------------- 1 | package PSO; 2 | 3 | import java.io.*; 4 | import java.util.*; 5 | 6 | public class MultiThreadPso extends Pso implements Runnable 7 | { 8 | Thread t; 9 | MultiThreadPso() 10 | { 11 | bInit(); 12 | t=new Thread(this); 13 | init(); 14 | t.start(); 15 | } 16 | public double update(double w) 17 | { 18 | return ((.9-.4)*cur_iter_no)/max_iterate; 19 | } 20 | public void run() 21 | { 22 | 23 | generate(); 24 | iterate(); 25 | } 26 | } -------------------------------------------------------------------------------- /OrthogonalPso.java: -------------------------------------------------------------------------------- 1 | package PSO; 2 | import java.io.*; 3 | import java.util.*; 4 | class OrthogonalPso extends Pso 5 | { 6 | public double update(double w) 7 | { 8 | return ((.9-.4)*cur_iter_no)/max_iterate; 9 | } 10 | public void generate() 11 | { 12 | int Q,N,M,J,k,j,x,i,s,t; 13 | TaskInfo TIrhs,TIj,TIs; 14 | M=no_of_particles; 15 | N=no_of_tasks; 16 | Q=no_of_processors; 17 | J=(int)Math.ceil(Math.log((double)N*(Q-1)+1)); 18 | int y=(int)Math.pow(Q,J); 19 | for(k=1;k<=J;k++) 20 | { 21 | 22 | j=(int)(Math.pow(Q,k-1)-1)/(Q-1); 23 | if(j>=N)break; 24 | for(i=0;i=N)break; 34 | TIj=(TaskInfo)tasks.get(j); 35 | for(s=1;s=N)break; 42 | TIrhs=(TaskInfo)tasks.get(x); 43 | for(i=0;i=N)break; 28 | for(i=0;i=N)break; 38 | TIj=(TaskInfo)tasks.get(j); 39 | for(s=1;s=N)break; 46 | TIrhs=(TaskInfo)tasks.get(x); 47 | for(i=0;i0.5) 73 | { 74 | int hold=((TaskInfo)tasks.get(random_pos1)).allocation[index]; 75 | ((TaskInfo)tasks.get(random_pos1)).allocation[index]=((TaskInfo)tasks.get(random_pos2)).allocation[index]; 76 | ((TaskInfo)tasks.get(random_pos2)).allocation[index]=hold; 77 | fit_calc(index); 78 | } 79 | } 80 | public void iterate() 81 | { 82 | double w=0.9; 83 | LinkedList vel[]=new LinkedList[no_of_particles]; 84 | Doubl v; 85 | int i,j,k,pb,gb,pc; 86 | 87 | for(i=0;i