Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Process_PSP {
- public static int K;//no.of solutions
- public static int X[][];//each one corresponding to (x1, x2, x3, x4)
- public static int Obj[];
- private static int Point_k;//The best one among K
- public int []getBest_Sol(){
- return X[Point_k];
- }
- public int getBest_Obj(){
- return Obj[Point_k];
- }
- public static void Process(int no_s, int ite){
- K = no_s;
- X = new int [K][4];
- Obj = new int[K];
- for(int k = 0; k < K; k++){
- while(X[k][0]+X[k][1]+X[k][2]+X[k][3]!=25 ||
- 5*X[k][0]+2*X[k][1]+X[k][2]+6*X[k][3]<10){
- X[k][0] = (int)(Math.random() * 51);
- X[k][1] = (int)(Math.random() * 51);
- X[k][2] = (int)(Math.random() * 51);
- X[k][3] = (int)(Math.random() * 51);
- }
- }
- for(int k = 0; k < K; k++){
- Obj[k] = 3*X[k][0]+12*X[k][1]+9*X[k][2]+5*X[k][3]+
- 3*X[k][0]*X[k][1]-10*X[k][0]*X[k][2]+
- 6*X[k][0]*X[k][3]+1*X[k][1]*X[k][2]-
- 5*X[k][1]*X[k][3]-2*X[k][2]*X[k][3];
- }
- Point_k = 0;
- for(int k = 1; k < K; k++){
- if(Obj[k] < Obj[Point_k])Point_k = k;
- }
- System.out.println("\nIncumbent Solution:");
- System.out.println("x_1="+X[Point_k][0]+
- "\tx_2="+X[Point_k][1]+
- "\tx_3="+X[Point_k][2]+
- "\tx_4="+X[Point_k][3]+
- "\tObj="+Obj[Point_k]);
- for(int iteration = 1; iteration < ite; iteration++){
- for(int k = 0; k < K; k++){
- if(k != Point_k){
- while(X[k][0]+X[k][1]+X[k][2]+X[k][3]!=25 ||
- 5*X[k][0]+2*X[k][1]+X[k][2]+6*X[k][3]<10){
- X[k][0] = (int)(Math.random() * 51);
- X[k][1] = (int)(Math.random() * 51);
- X[k][2] = (int)(Math.random() * 51);
- X[k][3] = (int)(Math.random() * 51);
- }
- Obj[k] = 3*X[k][0]+12*X[k][1]+9*X[k][2]+5*X[k][3]+
- 3*X[k][0]*X[k][1]-10*X[k][0]*X[k][2]+
- 6*X[k][0]*X[k][3]+1*X[k][1]*X[k][2]-
- 5*X[k][1]*X[k][3]-2*X[k][2]*X[k][3];
- }
- }
- for(int i = 1; i < K; i++){
- if(Obj[i] < Obj[Point_k]){
- Point_k = i;
- }
- }
- System.out.println("\nIncumbent Solution:");
- System.out.println("x_1="+X[Point_k][0]+
- "\tx_2="+X[Point_k][1]+
- "\tx_3="+X[Point_k][2]+
- "\tx_4="+X[Point_k][3]+
- "\tObj="+Obj[Point_k]);
- System.out.println("Obj = "+ Obj[Point_k]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement