forked from MOEAFramework/MOEAFramework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
195 lines (149 loc) · 7.87 KB
/
README
File metadata and controls
195 lines (149 loc) · 7.87 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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
The MOEA Framework - <http://www.moeaframework.org/>
====================================================
Version: %VERSION%
Release Date: %DATE%
----------
Contents
----------
1. Introduction
2. Copyright and Licensing Information
3. Installation Instructions
4. Support, Bug Reports, Feature Requests
5. Contributing
6. Credits
-----------------
1. Introduction
-----------------
The MOEA Framework is a free and open source Java library for developing and
experimenting with multiobjective evolutionary algorithms (MOEAs) and other
general-purpose multiobjective optimization algorithms. The MOEA Framework
supports genetic algorithms, differential evolution, particle swarm
optimization, genetic programming, grammatical evolution, and more. A number of
algorithms are provided out-of-the-box, including NSGA-II, NSGA-III, ε-MOEA,
GDE3 and MOEA/D. In addition, the MOEA Framework provides the tools necessary
to rapidly design, develop, execute and statistically test optimization
algorithms.
Its key features includes:
* Fast, reliable implementations of many state-of-the-art algorithms
* Extensible with custom algorithms, problems and operators
* Supports master-slave, island-model, and hybrid parallelization
* Modular design for constructing new algorithms from existing components
* Permissive open source license
* Fully documented source code
* Over 1200 test cases to ensure validity
----------------------------------------
2. Copyright and Licensing Information
----------------------------------------
Copyright 2009-2018 David Hadka and other contributors. All rights reserved.
The MOEA Framework is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
The MOEA Framework is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the MOEA Framework. If not, see <http://www.gnu.org/licenses/>.
The MOEA Framework is distributed with software governed by licenses other than
the GNU Lesser General Public License, but which are compatible with the terms
of the GNU Lesser General Public License. Please see the LICENSE file for
details.
------------------------------
3. Installation Instructions
------------------------------
The latest version of the MOEA Framework can be downloaded from
<http://www.moeaframework.org/>. The MOEA Framework is available in source
code and binary distributions. Java 6.0 or later is required. For source code
distributions, the Java Development Kit (JDK) is required to compile the code.
For binary distributions, only the Java Runtime Environment (JRE) is necessary.
Depending on your platform, the JRE or JDK can be obtained from the following
vendors:
Oracle <http://www.oracle.com/technetwork/java/javase/>
* Windows, Linux and Solaris
JRockit JDK <http://www.oracle.com/technetwork/middleware/jrockit/>
* Windows, Linux and Solaris
* May provide better performance and scalability on Intel 32 and 64-bit
architectures
OpenJDK <http://openjdk.java.net/>
* Ubuntu 8.04 (or later), Fedora 9 (or later), Red Hat Enterprise Linux 5,
openSUSE 11.1, Debian GNU/Linux 5.0 and OpenSolaris
IBM <http://www.ibm.com/developerworks/java/jdk/>
* AIX, Linux and z/OS
Apple <http://developer.apple.com/java/>
The source code can be imported directly into the Eclipse development
environment <http://www.eclipse.org/>. First, launch Eclipse. Second, select
the 'Import...' option from the File menu. In the popup window, ensure the
General > Existing Projects into Workspace item is highlighted and click Next.
Finally, set the root directory to the extracted MOEA Framework source code
folder and click Finish. The MOEA Framework is now properly configured in
Eclipse.
Alternatively, an Ant build script is provided to automatically compile the
source code and package the compiled classes in a JAR file. Ant binaries can
be obtained from <http://ant.apache.org/>. As an example, the compiled JAR is
produced with the following command:
ant package-binary (for Unix/Linux)
ant.bat package-binary (for Windows)
The MOEA Framework is distributed with all required third-party libraries
located in the lib/ directory. These libraries must be made accessible to the
JRE in order to compile and run the MOEA Framework and any applications that
import or link to the MOEA Framework. If imported into Eclipse as described
above, all libraries are automatically accessible. Otherwise, the libraries
must be specified manually whenever compiling or running the code using one of
the following methods:
* Specify JARs on classpath (Unix/Linux only)
java -classpath $(echo lib/*.jar | sed 's/ /:/g'):. <command>
* Specify JARs on classpath with wildcard
java -classpath ".:lib/*" <command>
Windows and Cygwin users will need to replace the colon (:) with a
semi-colon (;).
* Specify JARs in extension directories
java -Djava.ext.dirs=lib <command>
The only optional library, JUnit 4, is required for running unit tests. The
latest version of JUnit 4 can be downloaded from <http://www.junit.org/> and
should be placed in the lib/ folder. The unit tests themselves are located in
the test/ folder. Use 'ant -f test.xml' to run the unit tests.
-------------------------------------------
4. Support, Bug Reports, Feature Requests
-------------------------------------------
Visit <http://www.moeaframework.org/> to receive support, report bugs, request
new features or keep up-to-date with the latest copy of the MOEA Framework.
The developers can be contacted at <admin@moeaframework.org> if you have
any direct questions, comments or concerns.
-----------------
5. Contributing
-----------------
The MOEA Framework is free and open source. While no contributions of any
kind are necessary to use this library, contributions of all kinds are
appreciated: new feature additions, bug fixes, testing, documentation, user
support, translations, promotions, etc. Even the smallest contribution can
make a huge difference.
Please visit our Github page at <https://github.com/MOEAFramework/MOEAFramework>
to learn more.
------------
6. Credits
------------
Special thanks to all individuals and organizations who have contributed to
this and other free and open source projects.
Lead Developer - David Hadka
Third-Party Libraries (see the LICENSE file for more details):
Apache Commons CLI <http://commons.apache.org/cli/>
Apache Commons Codec <http://commons.apache.org/codec/>
Apache Commons Lang <http://commons.apache.org/lang/>
Apache Commons Math <http://commons.apache.org/math/>
JCommon <http://www.jfree.org/jcommon/>
JFreeChart <http://www.jfree.org/jfreechart/>
JUnit <http://www.junit.org/>
JMetal <http://jmetal.sourceforge.net/>
RSyntaxTextArea <http://www.fifesoft.com/rsyntaxtextarea/>
PISA <http://www.tik.ee.ethz.ch/pisa/>
CEC 2009 test problems <http://www.cec-2009.org/>
Walking Fish Group (WFG) test problems <http://www.wfg.csse.uwa.edu.au/>
Sobol Sequence Generator <http://web.maths.unsw.edu.au/~fkuo/sobol/>
The Unsung Heros (Software Tools Used by the Developers):
Eclipse <http://www.eclipse.org/>
EclEmma <http://www.eclemma.org/>
FindBugs <http://findbugs.sourceforge.net/>
Ant <http://ant.apache.org/>
Checkstyle <http://checkstyle.sourceforge.net/>
Git <https://git-scm.com/>