-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathPSO_IN.java
More file actions
127 lines (105 loc) · 2.7 KB
/
PSO_IN.java
File metadata and controls
127 lines (105 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import java.io.*;
import java.util.Random;
import org.apache.hadoop.fs.Path;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URI;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Random;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapred.SequenceFileOutputFormat;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.KeyValueTextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
public class PSO_IN
{
private int pop_size;
private int d;
private Random myRand;
private double pos[][], vel[][], UL_bound[][];
public PSO_IN( int pop, int dim)
{
pop_size=pop;
d=dim;
UL_bound = new double[2][d];
pos = new double[pop_size][d];
vel = new double[pop_size][d];
for(int i=0;i<d;i++)
{
UL_bound[0][i]=0.0;
UL_bound[1][i]=5.0;
}
myRand = new Random();
}
public void init() throws IOException
{
for (int i=0;i<pop_size;i++)
{
for(int j=0;j<d;j++)
{
double t=myRand.nextDouble();
pos[i][j]= (t* ( UL_bound[1][j] - UL_bound[0][j])) + UL_bound[0][j];
}
}
for (int i=0;i<pop_size;i++)
{
for(int j=0;j<d;j++)
{
vel[i][j]=0;
}
}
}
public double[] check_bound(double p[])
{
for(int i=0;i<d;i++)
{
if (p[i]<UL_bound[0][i])
p[i] = UL_bound[0][i];
if (p[i]>UL_bound[1][i])
p[i] = UL_bound[1][i];
}
return p;
}
public void start() throws IOException
{
File file = new File("ip/inp");
if (!file.exists())
{
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
for(int i=0;i<pop_size;i++)
{
bw.write( (i+1)+";"+pos[i][0]+";"+pos[i][1]+";"+vel[i][0]+";"+vel[i][1]+";"+1000000+";"+0+";"+0+"\n");
}
bw.close();
}
public static void main(String [] args) throws Exception
{
PSO_IN p1= new PSO_IN(500, 2);
p1.init();
p1.start();
MR_PSO p2 = new MR_PSO();
p2.run();
}
}