Killed JavaEvA from comments and ressources, some maths refactored.
This commit is contained in:
parent
fdbfa5fe85
commit
fb20da9657
@ -290,8 +290,8 @@
|
|||||||
<fileset dir=".">
|
<fileset dir=".">
|
||||||
<include name="run.sh"/>
|
<include name="run.sh"/>
|
||||||
<include name="run.bat"/>
|
<include name="run.bat"/>
|
||||||
<include name="run_javaeva.sh"/>
|
<include name="run_eva.sh"/>
|
||||||
<include name="run_javaeva.bat"/>
|
<include name="run_eva.bat"/>
|
||||||
<include name="*.txt"/>
|
<include name="*.txt"/>
|
||||||
<include name="*.html"/>
|
<include name="*.html"/>
|
||||||
</fileset>
|
</fileset>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
<!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
Filename: $RCSfile$
|
Filename: $RCSfile$
|
||||||
Purpose: Ant build file for JavaEvA.
|
Purpose: Ant build file for EvA2.
|
||||||
|
|
||||||
Ant-Download: http://jakarta.apache.org/ant
|
Ant-Download: http://jakarta.apache.org/ant
|
||||||
Ant-Manual: http://jakarta.apache.org/ant/manual/index.html
|
Ant-Manual: http://jakarta.apache.org/ant/manual/index.html
|
||||||
@ -18,14 +18,17 @@
|
|||||||
Copyright (c) Dept. Computer Architecture, University of Tuebingen, Germany
|
Copyright (c) Dept. Computer Architecture, University of Tuebingen, Germany
|
||||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
||||||
|
|
||||||
<project name="JavaEvA" default="check" basedir=".">
|
<project name="EvA2" default="check" basedir=".">
|
||||||
|
<!--
|
||||||
|
As there are no static libraries any more, not much remains to check... (MK)
|
||||||
|
-->
|
||||||
|
|
||||||
<!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
<!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
Library check
|
Library check
|
||||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
||||||
|
|
||||||
<target name="binary.libraries.check" >
|
<target name="binary.libraries.check" >
|
||||||
|
<!--
|
||||||
<condition property="library.available.SNNS.windows">
|
<condition property="library.available.SNNS.windows">
|
||||||
<and>
|
<and>
|
||||||
<available file="${windows.libraries}/${library.SNNS}.dll" type="file" />
|
<available file="${windows.libraries}/${library.SNNS}.dll" type="file" />
|
||||||
@ -36,7 +39,6 @@
|
|||||||
<available file="${unix.libraries}/lib${library.SNNS}.so" type="file" />
|
<available file="${unix.libraries}/lib${library.SNNS}.so" type="file" />
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<!--
|
|
||||||
<condition property="library.available.WSI">
|
<condition property="library.available.WSI">
|
||||||
<and>
|
<and>
|
||||||
<available file="${library.WSI}" type="file" />
|
<available file="${library.WSI}" type="file" />
|
||||||
@ -63,11 +65,13 @@
|
|||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="source.libraries.check" >
|
<target name="source.libraries.check" >
|
||||||
|
<!--
|
||||||
<condition property="library.available.WSI">
|
<condition property="library.available.WSI">
|
||||||
<and>
|
<and>
|
||||||
<available file="${library.WSI.ant}/wsi" type="dir" />
|
<available file="${library.WSI.ant}/wsi" type="dir" />
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
|
-->
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="binary.libraries.test.SNNS.windows" depends="binary.libraries.check" unless="library.available.SNNS.windows">
|
<target name="binary.libraries.test.SNNS.windows" depends="binary.libraries.check" unless="library.available.SNNS.windows">
|
||||||
@ -97,6 +101,8 @@
|
|||||||
">
|
">
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
<target name="check" depends="binary.libraries.check, source.libraries.check">
|
||||||
|
</target>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<img src="images/rastrigintex.jpg" width="500" height="101">
|
<img src="images/rastrigintex.jpg" width="500" height="101">
|
||||||
</center>
|
</center>
|
||||||
<p>
|
<p>
|
||||||
Rastrigin's function is symmetric. It is based on the simple <i>parabola function</i> (called f1 in the JavaEvA context), but it is multimodal because a modulation term on the basis of the cosine function is added. This evokes hills and valleys which are misleading local optima.
|
Rastrigin's function is symmetric. It is based on the simple <i>parabola function</i> (called f1 in the EvA context), but it is multimodal because a modulation term on the basis of the cosine function is added. This evokes hills and valleys which are misleading local optima.
|
||||||
<p>
|
<p>
|
||||||
Values used for the following illustrations: <i>A</i>=10, <i>ω</i>=2*π, <i>n</i>=2.
|
Values used for the following illustrations: <i>A</i>=10, <i>ω</i>=2*π, <i>n</i>=2.
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>JavaEvA Genetic Optimization</title>
|
<title>EvA2 Genetic Optimization</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1 align="center">The JavaEvA Genetic Optimization Module</h1>
|
<h1 align="center">The EvA2 Genetic Optimization Module</h1>
|
||||||
<br>
|
<br>
|
||||||
The Genetic Optimization module allows the application of a variety of
|
The Genetic Optimization module allows the application of a variety of
|
||||||
nature-inspired heuristics within one framework. You can combine several
|
nature-inspired heuristics within one framework. You can combine several
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>JavaEvA Genetic Optimization</title>
|
<title>EvA Genetic Optimization</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1 align="center">Genetic Optimization Parameters</h1>
|
<h1 align="center">Genetic Optimization Parameters</h1>
|
||||||
|
@ -54,7 +54,7 @@ import eva2.server.modules.GOParameters;
|
|||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* On the other hand this class provides an almost complete list of all
|
* On the other hand this class provides an almost complete list of all
|
||||||
* currently available optimization procedures in JavaEvA. The arguments passed
|
* currently available optimization procedures in EvA2. The arguments passed
|
||||||
* to the methods initialize the respective optimization procedure. To perform
|
* to the methods initialize the respective optimization procedure. To perform
|
||||||
* an optimization one has to do the following: <code>
|
* an optimization one has to do the following: <code>
|
||||||
* InterfaceOptimizer optimizer = OptimizerFactory.createCertainOptimizer(arguments);
|
* InterfaceOptimizer optimizer = OptimizerFactory.createCertainOptimizer(arguments);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
@ -37,9 +37,7 @@ public class BigStringEditor implements PropertyEditor {
|
|||||||
try {
|
try {
|
||||||
m_finished=false;
|
m_finished=false;
|
||||||
BigStringEditor editor = new BigStringEditor();
|
BigStringEditor editor = new BigStringEditor();
|
||||||
//Source so = new Source ("\\javaeva\\server\\problems\\bench\\Problem_f1.java");
|
|
||||||
// Source so = new Source (file);
|
|
||||||
// editor.setValue(so);
|
|
||||||
PropertyDialog frame = new PropertyDialog(editor,file, 50, 50);
|
PropertyDialog frame = new PropertyDialog(editor,file, 50, 50);
|
||||||
//frame.setSize(200, 200);
|
//frame.setSize(200, 200);
|
||||||
frame.addWindowListener(new WindowAdapter() {
|
frame.addWindowListener(new WindowAdapter() {
|
||||||
@ -189,8 +187,7 @@ public class BigStringEditor implements PropertyEditor {
|
|||||||
public static void main (String[] args) {
|
public static void main (String[] args) {
|
||||||
try {
|
try {
|
||||||
BigStringEditor editor = new BigStringEditor();
|
BigStringEditor editor = new BigStringEditor();
|
||||||
// Source so = new Source ("\\javaeva\\server\\problems\\bench\\Problem_f1.java");
|
|
||||||
// editor.setValue(so);
|
|
||||||
PropertyDialog frame = new PropertyDialog(editor, "test", 50, 50);
|
PropertyDialog frame = new PropertyDialog(editor, "test", 50, 50);
|
||||||
frame.setSize(200, 200);
|
frame.setSize(200, 200);
|
||||||
frame.addWindowListener(new WindowAdapter() {
|
frame.addWindowListener(new WindowAdapter() {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -3,7 +3,7 @@ package eva2.gui;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
@ -17,15 +17,6 @@ import java.awt.event.WindowEvent;
|
|||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
/**
|
|
||||||
* Title: The JavaEvA
|
|
||||||
* Description:
|
|
||||||
* Copyright: Copyright (c) 2003
|
|
||||||
* Company:
|
|
||||||
* @author
|
|
||||||
* @version 1.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class JEFrame extends JFrame {
|
public class JEFrame extends JFrame {
|
||||||
|
|
||||||
public JEFrame() {
|
public JEFrame() {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -3,7 +3,7 @@ package eva2.gui;
|
|||||||
import eva2.server.stat.InterfaceTextListener;
|
import eva2.server.stat.InterfaceTextListener;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
@ -112,7 +112,6 @@ public class LogPanel extends JPanel {
|
|||||||
frame.pack();
|
frame.pack();
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
panel.logMessage("HI!");
|
panel.logMessage("HI!");
|
||||||
// panel.statusMessage("Hi JavaEvA");
|
|
||||||
panel.logMessage("Test");
|
panel.logMessage("Test");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Title: The JavaEvA</p>
|
|
||||||
* <p>Description: </p>
|
|
||||||
* <p>Copyright: Copyright (c) 2003</p>
|
|
||||||
* <p>Company: </p>
|
|
||||||
* @author not attributable
|
* @author not attributable
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
|
@ -6,7 +6,7 @@ import java.awt.event.*;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Title: The JavaEvA</p>
|
* <p>Title: EvA2</p>
|
||||||
* <p>Description: </p>
|
* <p>Description: </p>
|
||||||
* <p>Copyright: Copyright (c) 2003</p>
|
* <p>Copyright: Copyright (c) 2003</p>
|
||||||
* <p>Company: </p>
|
* <p>Company: </p>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
|
|
||||||
//import javaeva.tools.ServerStarter;
|
|
||||||
import java.rmi.Naming;
|
import java.rmi.Naming;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.gui;
|
package eva2.gui;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,67 +0,0 @@
|
|||||||
package eva2.gui;
|
|
||||||
//package javaeva.gui;
|
|
||||||
///*==========================================================================*
|
|
||||||
// * IMPORTS
|
|
||||||
// *==========================================================================*/
|
|
||||||
//import javaeva.client.EvAClient;
|
|
||||||
//import javax.swing.event.InternalFrameListener;
|
|
||||||
//import javax.swing.event.InternalFrameEvent;
|
|
||||||
//import javax.swing.JOptionPane;
|
|
||||||
//import java.awt.event.ActionEvent;
|
|
||||||
///*==========================================================================*
|
|
||||||
//* CLASS DECLARATION
|
|
||||||
//*==========================================================================*/
|
|
||||||
///**
|
|
||||||
// *
|
|
||||||
// */
|
|
||||||
//public class WindowCloseAction extends ExtAction implements InternalFrameListener{
|
|
||||||
// private EvAClient m_App;
|
|
||||||
// /**
|
|
||||||
// *
|
|
||||||
// */
|
|
||||||
// public WindowCloseAction(String s,String toolTip,EvAClient App){
|
|
||||||
// super(s, toolTip);
|
|
||||||
// m_App = App;
|
|
||||||
// }
|
|
||||||
// /**
|
|
||||||
// *
|
|
||||||
// */
|
|
||||||
// private void close(JDocFrame f){
|
|
||||||
// if(f == null) return;
|
|
||||||
// boolean doClose = false;
|
|
||||||
// if(f.isChanged()){
|
|
||||||
// switch(JOptionPane.showConfirmDialog(m_App.getDesktop(), "M<EFBFBD>chten Sie die <20>nderungen an "
|
|
||||||
// + f.getTitle() + " speichern?", "Frage", JOptionPane.YES_NO_CANCEL_OPTION)){
|
|
||||||
// case JOptionPane.YES_OPTION:
|
|
||||||
// System.out.println(f.getTitle() + " geschlossen, <20>nderungen gespeichert.");
|
|
||||||
// doClose = true;
|
|
||||||
// break;
|
|
||||||
// case JOptionPane.NO_OPTION:
|
|
||||||
// doClose = true;
|
|
||||||
// break;
|
|
||||||
// case JOptionPane.CANCEL_OPTION:;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// doClose = true;
|
|
||||||
// if(doClose) f.dispose();
|
|
||||||
// }
|
|
||||||
// /**
|
|
||||||
// *
|
|
||||||
// */
|
|
||||||
// public void actionPerformed(ActionEvent e){
|
|
||||||
// close((JDocFrame)((ExtDesktopManager)m_App.getDesktop().getDesktopManager()).getActiveFrame());
|
|
||||||
// }
|
|
||||||
// public void internalFrameOpened(InternalFrameEvent e){}
|
|
||||||
// public void internalFrameClosed(InternalFrameEvent e){}
|
|
||||||
// public void internalFrameIconified(InternalFrameEvent e){}
|
|
||||||
// public void internalFrameDeiconified(InternalFrameEvent e){}
|
|
||||||
// public void internalFrameActivated(InternalFrameEvent e){}
|
|
||||||
// public void internalFrameDeactivated(InternalFrameEvent e){}
|
|
||||||
// /**
|
|
||||||
// *
|
|
||||||
// */
|
|
||||||
// public void internalFrameClosing(InternalFrameEvent e){
|
|
||||||
// close((JDocFrame)e.getSource());
|
|
||||||
// }
|
|
||||||
//}
|
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.server;
|
package eva2.server;
|
||||||
/**
|
/**
|
||||||
* Title: javaeva
|
* Title: EvA2
|
||||||
* Description: API for distributed and parallel computing.
|
* Description: API for distributed and parallel computing.
|
||||||
* Copyright: Copyright (c) 2004
|
* Copyright: Copyright (c) 2004
|
||||||
* Company: University of Tuebingen
|
* Company: University of Tuebingen
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.server;
|
package eva2.server;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.server;
|
package eva2.server;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.server.go;
|
package eva2.server.go;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.server.go;
|
package eva2.server.go;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -3,7 +3,7 @@ package eva2.server.go;
|
|||||||
import wsi.ra.jproxy.RemoteStateListener;
|
import wsi.ra.jproxy.RemoteStateListener;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.server.go;
|
package eva2.server.go;
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
package eva2.server.go;
|
|
||||||
/*
|
|
||||||
* Title: JavaEvA
|
|
||||||
* Description:
|
|
||||||
* Copyright: Copyright (c) 2003
|
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
|
||||||
* @author Holger Ulmer, Felix Streichert, Hannes Planatscher
|
|
||||||
* @version: $Revision: 306 $
|
|
||||||
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
|
|
||||||
* $Author: mkron $
|
|
||||||
*/
|
|
||||||
/*==========================================================================*
|
|
||||||
* IMPORTS
|
|
||||||
*==========================================================================*/
|
|
||||||
import eva2.server.stat.InterfaceStatistics;
|
|
||||||
/*==========================================================================*
|
|
||||||
* INTERFACE DECLARATION
|
|
||||||
*==========================================================================*/
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface MutationInterface {
|
|
||||||
public void addStatisticsListner(InterfaceStatistics e);
|
|
||||||
}
|
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.server.go;
|
package eva2.server.go;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Title: JavaEvA
|
* Title: EvA2
|
||||||
* Description:
|
* Description:
|
||||||
* Copyright: Copyright (c) 2003
|
* Copyright: Copyright (c) 2003
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
* Company: University of Tuebingen, Computer Architecture
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
package eva2.server.go;
|
|
||||||
/*
|
|
||||||
* Title: JavaEvA
|
|
||||||
* Description:
|
|
||||||
* Copyright: Copyright (c) 2003
|
|
||||||
* Company: University of Tuebingen, Computer Architecture
|
|
||||||
* @author Holger Ulmer, Felix Streichert, Hannes Planatscher
|
|
||||||
* @version: $Revision: 306 $
|
|
||||||
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
|
|
||||||
* $Author: mkron $
|
|
||||||
*/
|
|
||||||
/*==========================================================================*
|
|
||||||
* IMPORTS
|
|
||||||
*==========================================================================*/
|
|
||||||
import eva2.server.stat.InterfaceStatistics;
|
|
||||||
/*==========================================================================*
|
|
||||||
* INTERFACE DECLARATION
|
|
||||||
*==========================================================================*/
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface SelectionInterface {
|
|
||||||
public void addListener(InterfaceStatistics e);
|
|
||||||
}
|
|
@ -17,6 +17,7 @@ import eva2.server.go.operators.mutation.InterfaceMutation;
|
|||||||
import eva2.server.go.operators.mutation.NoMutation;
|
import eva2.server.go.operators.mutation.NoMutation;
|
||||||
import eva2.server.go.populations.Population;
|
import eva2.server.go.populations.Population;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
|
import eva2.tools.EVAERROR;
|
||||||
|
|
||||||
/** This is the abstract EA individual implementing the most important methods giving
|
/** This is the abstract EA individual implementing the most important methods giving
|
||||||
* access to mutation and crossover rates and operators, fitness values and selection
|
* access to mutation and crossover rates and operators, fitness values and selection
|
||||||
@ -824,6 +825,25 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java.
|
|||||||
return getDefaultStringRepresentation(this);
|
return getDefaultStringRepresentation(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For any AbstractEAIndividual try to convert its position to double[] and return it.
|
||||||
|
*
|
||||||
|
* @param indy
|
||||||
|
* @return double valued position of an individual
|
||||||
|
*/
|
||||||
|
public static double[] getDoublePosition(AbstractEAIndividual indy) {
|
||||||
|
if (indy instanceof InterfaceDataTypeDouble) {
|
||||||
|
return ((InterfaceDataTypeDouble)indy).getDoubleData();
|
||||||
|
} else if (indy instanceof InterfaceDataTypeInteger) {
|
||||||
|
int[] intData = ((InterfaceDataTypeInteger)indy).getIntegerData();
|
||||||
|
double[] pos = new double[intData.length];
|
||||||
|
for (int i=0; i<intData.length; i++) pos[i] = (double)intData[i];
|
||||||
|
return pos;
|
||||||
|
} // TODO some more here?
|
||||||
|
EVAERROR.errorMsgOnce("Unhandled case in AbstractEAIndividual.getPosition()!");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**********************************************************************************************************************
|
/**********************************************************************************************************************
|
||||||
* Implementing the Individual Interface
|
* Implementing the Individual Interface
|
||||||
*/
|
*/
|
||||||
|
@ -62,7 +62,6 @@ public class ESIndividualDoubleData extends AbstractEAIndividual implements Inte
|
|||||||
this.m_Fitness[i] = individual.m_Fitness[i];
|
this.m_Fitness[i] = individual.m_Fitness[i];
|
||||||
}
|
}
|
||||||
cloneAEAObjects((AbstractEAIndividual) individual);
|
cloneAEAObjects((AbstractEAIndividual) individual);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object clone() {
|
public Object clone() {
|
||||||
|
@ -4,7 +4,7 @@ package eva2.server.go.individuals;
|
|||||||
/** This interface gives access to a permutation phenotype and except
|
/** This interface gives access to a permutation phenotype and except
|
||||||
* for problemspecific operators should only be used by the
|
* for problemspecific operators should only be used by the
|
||||||
* optimization problem.
|
* optimization problem.
|
||||||
* <p>Title: The JavaEvA</p>
|
* <p>Title: EvA2</p>
|
||||||
*
|
*
|
||||||
* <p>Description: </p>
|
* <p>Description: </p>
|
||||||
*
|
*
|
||||||
|
@ -2,7 +2,7 @@ package eva2.server.go.individuals;
|
|||||||
|
|
||||||
/** This interface gives access to a permutation genotype and should
|
/** This interface gives access to a permutation genotype and should
|
||||||
* only be used by mutation and crossover operators.
|
* only be used by mutation and crossover operators.
|
||||||
* <p>Title: The JavaEvA</p>
|
* <p>Title: EvA2</p>
|
||||||
* <p>Description: </p>
|
* <p>Description: </p>
|
||||||
* <p>Copyright: Copyright (c) 2003</p>
|
* <p>Copyright: Copyright (c) 2003</p>
|
||||||
* <p>Company: </p>
|
* <p>Company: </p>
|
||||||
|
@ -11,7 +11,7 @@ import wsi.ra.math.RNG;
|
|||||||
|
|
||||||
/** This individual uses a permutation based genotype to code for
|
/** This individual uses a permutation based genotype to code for
|
||||||
* permutations.
|
* permutations.
|
||||||
* <p>Title: The JavaEvA</p>
|
* <p>Title: EvA2</p>
|
||||||
* <p>Description: </p>
|
* <p>Description: </p>
|
||||||
* <p>Copyright: Copyright (c) 2003</p>
|
* <p>Copyright: Copyright (c) 2003</p>
|
||||||
* <p>Company: </p>
|
* <p>Company: </p>
|
||||||
|
@ -104,7 +104,7 @@ public abstract class MOCCOPhase implements InterfaceProcessElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method makes a helptext element similar to that used in JavaEvA
|
/** This method makes a helptext element similar to that used in EvA
|
||||||
* @param help The text to display
|
* @param help The text to display
|
||||||
* @return the helptext component
|
* @return the helptext component
|
||||||
*/
|
*/
|
||||||
@ -112,7 +112,7 @@ public abstract class MOCCOPhase implements InterfaceProcessElement {
|
|||||||
return this.makeInformationText("Info", help);
|
return this.makeInformationText("Info", help);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method makes a helptext element similar to that used in JavaEvA
|
/** This method makes a helptext element similar to that used in EvA
|
||||||
* @param title The title of the help text
|
* @param title The title of the help text
|
||||||
* @param help The text to display
|
* @param help The text to display
|
||||||
* @return the helptext component
|
* @return the helptext component
|
||||||
|
@ -56,7 +56,6 @@ public class MOCCOProblemInitialization extends MOCCOPhase implements InterfaceP
|
|||||||
JComponent tmpC = new JPanel();
|
JComponent tmpC = new JPanel();
|
||||||
tmpC.setLayout(new BorderLayout());
|
tmpC.setLayout(new BorderLayout());
|
||||||
|
|
||||||
// this.m_ProblemChooser.setModel(new DefaultComboBoxModel(this.getClassAlternatives4("javaeva.server.oa.go.OptimizationProblems.InterfaceMultiObjectiveDeNovoProblem")));
|
|
||||||
Class[] altern = null;
|
Class[] altern = null;
|
||||||
try {
|
try {
|
||||||
altern = ReflectPackage.getAssignableClassesInPackage("eva2.server.oa.go.OptimizationProblems", Class.forName("eva2.server.oa.go.OptimizationProblems.InterfaceMultiObjectiveDeNovoProblem"), true, true);
|
altern = ReflectPackage.getAssignableClassesInPackage("eva2.server.oa.go.OptimizationProblems", Class.forName("eva2.server.oa.go.OptimizationProblems.InterfaceMultiObjectiveDeNovoProblem"), true, true);
|
||||||
|
@ -100,7 +100,7 @@ public class ArchivingNSGAII extends ArchivingNSGA implements java.io.Serializab
|
|||||||
pop.SetArchive(archive);
|
pop.SetArchive(archive);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method will dissect a given populaiton into n pareto-fronts
|
/** This method will dissect a given population into n pareto-fronts
|
||||||
* @param pop The population to analyse
|
* @param pop The population to analyse
|
||||||
* @return Population[] the n pareto-fronts
|
* @return Population[] the n pareto-fronts
|
||||||
*/
|
*/
|
||||||
|
@ -116,7 +116,7 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial
|
|||||||
// this.tz = true;
|
// this.tz = true;
|
||||||
// this.calculateRawFitness(tmpPop);
|
// this.calculateRawFitness(tmpPop);
|
||||||
// this.tz = false;
|
// this.tz = false;
|
||||||
// this.m_Plot = new javaeva.gui.Plot("Debug SPEAII", "Y1", "Y2");
|
// this.m_Plot = new eva2.gui.Plot("Debug SPEAII", "Y1", "Y2");
|
||||||
// // plot the population
|
// // plot the population
|
||||||
// this.m_Plot.setUnconnectedPoint(0, 0, 11);
|
// this.m_Plot.setUnconnectedPoint(0, 0, 11);
|
||||||
// this.m_Plot.setUnconnectedPoint(1.2, 2.0, 11);
|
// this.m_Plot.setUnconnectedPoint(1.2, 2.0, 11);
|
||||||
|
@ -87,7 +87,7 @@ public class ClusteringDensityBased implements InterfaceClustering, java.io.Seri
|
|||||||
ConnectionMatrix = new boolean[pop.size()][pop.size()];
|
ConnectionMatrix = new boolean[pop.size()][pop.size()];
|
||||||
Clustered = new boolean[pop.size()];
|
Clustered = new boolean[pop.size()];
|
||||||
AbstractEAIndividual tmpIndy1, tmpIndy2;
|
AbstractEAIndividual tmpIndy1, tmpIndy2;
|
||||||
Population PopulationOfUnclustered = new Population(), Cluster, template;
|
Population PopulationOfUnclustered, Cluster, template;
|
||||||
ArrayList<Population> ClusteredPopulations = new ArrayList<Population>();
|
ArrayList<Population> ClusteredPopulations = new ArrayList<Population>();
|
||||||
|
|
||||||
template = (Population)pop.clone();
|
template = (Population)pop.clone();
|
||||||
|
@ -202,19 +202,24 @@ public class ClusteringKMeans implements InterfaceClustering, java.io.Serializab
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This mehtod allows you to cluster a population using m_C
|
/** This method allows you to cluster a population using m_C
|
||||||
* @param pop The population
|
* @param pop The population
|
||||||
* @param c The centroids
|
* @param c The centroids
|
||||||
* @return The clusters as populaitons
|
* @return The clusters as populations
|
||||||
*/
|
*/
|
||||||
public Population[] cluster(Population pop, double[][] c) {
|
public Population[] cluster(Population pop, double[][] c) {
|
||||||
Population[] result = new Population[c.length];
|
Population[] result = new Population[c.length];
|
||||||
double[][] data = this.extractClusterDataFrom(pop);
|
double[][] data = this.extractClusterDataFrom(pop);
|
||||||
int clusterAssigned;
|
int clusterAssigned;
|
||||||
|
|
||||||
for (int i = 0; i < result.length; i++) {
|
try {
|
||||||
result[i] = new Population();
|
for (int i = 0; i < result.length; i++) {
|
||||||
result[i].setSameParams(pop);
|
result[i] = pop.getClass().newInstance();
|
||||||
|
result[i].setSameParams(pop);
|
||||||
|
}
|
||||||
|
} catch(Exception e) {
|
||||||
|
System.err.println("problems instantiating " + pop.getClass().getName() + " for clustering!");
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
// let's assign the elements of the population to a c
|
// let's assign the elements of the population to a c
|
||||||
for (int i = 0; i < data.length; i++) {
|
for (int i = 0; i < data.length; i++) {
|
||||||
|
@ -246,7 +246,7 @@ public class ClusteringXMeans implements InterfaceClustering, java.io.Serializab
|
|||||||
/** This mehtod allows you to cluster a population using m_C
|
/** This mehtod allows you to cluster a population using m_C
|
||||||
* @param pop The population
|
* @param pop The population
|
||||||
* @param c The centroids
|
* @param c The centroids
|
||||||
* @return The clusters as populaitons
|
* @return The clusters as populations
|
||||||
*/
|
*/
|
||||||
public Population[] cluster(Population pop, double[][] c) {
|
public Population[] cluster(Population pop, double[][] c) {
|
||||||
Population[] result = new Population[c.length];
|
Population[] result = new Population[c.length];
|
||||||
|
@ -22,10 +22,14 @@ public interface InterfaceClustering {
|
|||||||
*/
|
*/
|
||||||
public Object clone();
|
public Object clone();
|
||||||
|
|
||||||
/** This method allows you to search for clusters in a given population. The method
|
/**
|
||||||
|
* This method allows you to search for clusters in a given population. The method
|
||||||
* returns Number of populations. The first population contains all individuals that
|
* returns Number of populations. The first population contains all individuals that
|
||||||
* could not be associated with any cluster and may be empty.
|
* could not be associated with any cluster and may be empty.
|
||||||
* All other populations group individuals into clusters.
|
* All other populations group individuals into clusters.
|
||||||
|
* It should make sure that the returned Population instances are of the same type
|
||||||
|
* as the given one, which may be a subclass of Population.
|
||||||
|
*
|
||||||
* @param pop The population of individuals that is to be clustered.
|
* @param pop The population of individuals that is to be clustered.
|
||||||
* @return Population[]
|
* @return Population[]
|
||||||
*/
|
*/
|
||||||
|
@ -55,31 +55,6 @@ public class CrossoverEAMixer implements InterfaceCrossover, java.io.Serializabl
|
|||||||
this.m_Tau1 = mutator.m_Tau1;
|
this.m_Tau1 = mutator.m_Tau1;
|
||||||
this.m_LowerLimitChance = mutator.m_LowerLimitChance;
|
this.m_LowerLimitChance = mutator.m_LowerLimitChance;
|
||||||
}
|
}
|
||||||
//
|
|
||||||
// private Vector getClassesFromProperties(String mySelf, String myInterface) {
|
|
||||||
// Vector classes = new Vector();
|
|
||||||
// String typeOptions = EvAClient.getProperty(myInterface);
|
|
||||||
// if (typeOptions == null) {
|
|
||||||
// System.out.println("Warning: No configuration property found in: " +EvAClient.EVA_PROPERTY_FILE + " "+"for javaeva.server.oa.go.Operators.Mutation.InterfaceMutation");
|
|
||||||
// } else {
|
|
||||||
// StringTokenizer st = new StringTokenizer(typeOptions, ", ");
|
|
||||||
// while (st.hasMoreTokens()) {
|
|
||||||
// String current = st.nextToken().trim();
|
|
||||||
// if (!current.equalsIgnoreCase(mySelf)) {
|
|
||||||
// try {
|
|
||||||
// Class c = Class.forName(current);
|
|
||||||
// classes.addElement(current);
|
|
||||||
// } catch (Exception ex) {
|
|
||||||
// System.out.println("Couldn't load class with name: " + current);
|
|
||||||
// System.out.println("ex:"+ex.getMessage());
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return classes;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
/** This method will enable you to clone a given mutation operator
|
/** This method will enable you to clone a given mutation operator
|
||||||
* @return The clone
|
* @return The clone
|
||||||
|
@ -78,7 +78,7 @@ public class CrossoverESPCX implements InterfaceCrossover, java.io.Serializable
|
|||||||
|
|
||||||
subSpace = this.getCoordinates(g, i, parents);
|
subSpace = this.getCoordinates(g, i, parents);
|
||||||
|
|
||||||
// Plot plot = new javaeva.gui.Plot("SBX Test", "x", "y", true);
|
// Plot plot = new eva2.gui.Plot("SBX Test", "x", "y", true);
|
||||||
// plot.setUnconnectedPoint(-2, -2, 0);
|
// plot.setUnconnectedPoint(-2, -2, 0);
|
||||||
// plot.setUnconnectedPoint(2, 2, 0);
|
// plot.setUnconnectedPoint(2, 2, 0);
|
||||||
// for (int z = 0; z < parents.length; z++) {
|
// for (int z = 0; z < parents.length; z++) {
|
||||||
@ -104,7 +104,7 @@ public class CrossoverESPCX implements InterfaceCrossover, java.io.Serializable
|
|||||||
for (int j = 1; j < subSpace.size(); j++) {
|
for (int j = 1; j < subSpace.size(); j++) {
|
||||||
tmpD = (double[])subSpace.get(j);
|
tmpD = (double[])subSpace.get(j);
|
||||||
w = RNG.gaussianDouble(this.m_Zeta);
|
w = RNG.gaussianDouble(this.m_Zeta);
|
||||||
children[i] = Mathematics.vvAdd(children[i], Mathematics.scalarMultVector(w, tmpD));
|
children[i] = Mathematics.vvAdd(children[i], Mathematics.svMult(w, tmpD));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,19 +122,19 @@ public class CrossoverESPCX implements InterfaceCrossover, java.io.Serializable
|
|||||||
double[] tmpVec, toro;
|
double[] tmpVec, toro;
|
||||||
double tmpD;
|
double tmpD;
|
||||||
|
|
||||||
tmpVec = Mathematics.subVector(parents[index], mean);
|
tmpVec = Mathematics.vvSub(parents[index], mean);
|
||||||
result.add(tmpVec);
|
result.add(tmpVec);
|
||||||
|
|
||||||
for (int i = 0; i < parents.length; i++) {
|
for (int i = 0; i < parents.length; i++) {
|
||||||
if (i != index) {
|
if (i != index) {
|
||||||
tmpVec = Mathematics.subVector(parents[i], mean);
|
tmpVec = Mathematics.vvSub(parents[i], mean);
|
||||||
if (this.isValidVec(tmpVec)) {
|
if (this.isValidVec(tmpVec)) {
|
||||||
// apply the infamous Gram-Schmidt
|
// apply the infamous Gram-Schmidt
|
||||||
for (int j = 0; j < result.size(); j++) {
|
for (int j = 0; j < result.size(); j++) {
|
||||||
toro = (double[]) result.get(j);
|
toro = (double[]) result.get(j);
|
||||||
tmpD = Mathematics.vvMult(toro, tmpVec)/Mathematics.vvMult(toro, toro);
|
tmpD = Mathematics.vvMult(toro, tmpVec)/Mathematics.vvMult(toro, toro);
|
||||||
toro = Mathematics.scalarMultVector(tmpD, toro);
|
toro = Mathematics.svMult(tmpD, toro);
|
||||||
tmpVec = Mathematics.subVector(tmpVec, toro);
|
tmpVec = Mathematics.vvSub(tmpVec, toro);
|
||||||
}
|
}
|
||||||
if (this.isValidVec(tmpVec)) result.add(tmpVec);
|
if (this.isValidVec(tmpVec)) result.add(tmpVec);
|
||||||
}
|
}
|
||||||
@ -145,15 +145,15 @@ public class CrossoverESPCX implements InterfaceCrossover, java.io.Serializable
|
|||||||
double tmpMean;
|
double tmpMean;
|
||||||
for (int i = 1; i < result.size(); i++) {
|
for (int i = 1; i < result.size(); i++) {
|
||||||
toro = (double[]) result.get(i);
|
toro = (double[]) result.get(i);
|
||||||
toro = Mathematics.getNormalizedVector(toro);
|
Mathematics.normVect(toro, toro);
|
||||||
tmpMean = 0;
|
tmpMean = 0;
|
||||||
for (int j = 0; j < parents.length; j++) {
|
for (int j = 0; j < parents.length; j++) {
|
||||||
if (j != index) {
|
if (j != index) {
|
||||||
tmpMean += Math.abs(Mathematics.vvMult(toro, Mathematics.subVector(parents[j], mean)));
|
tmpMean += Math.abs(Mathematics.vvMult(toro, Mathematics.vvSub(parents[j], mean)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tmpMean = tmpMean/((double)(result.size()-1));
|
tmpMean = tmpMean/((double)(result.size()-1));
|
||||||
toro = Mathematics.scalarMultVector(tmpMean, toro);
|
toro = Mathematics.svMult(tmpMean, toro);
|
||||||
result.set(i, toro);
|
result.set(i, toro);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,18 +72,18 @@ public class CrossoverESSPX implements InterfaceCrossover, java.io.Serializable
|
|||||||
|
|
||||||
// calculate the Y vectors
|
// calculate the Y vectors
|
||||||
for (int i = 0; i < parents.length; i++) {
|
for (int i = 0; i < parents.length; i++) {
|
||||||
Y[i] = Mathematics.vvAdd(g, Mathematics.scalarMultVector(this.m_Epsilon, Mathematics.subVector(parents[i], g)));
|
Y[i] = Mathematics.vvAdd(g, Mathematics.svMult(this.m_Epsilon, Mathematics.vvSub(parents[i], g)));
|
||||||
}
|
}
|
||||||
|
|
||||||
// now for each child the C vectors and the result
|
// now for each child the C vectors and the result
|
||||||
for (int i = 0; i < children.length; i++) {
|
for (int i = 0; i < children.length; i++) {
|
||||||
C = new double[Y.length][];
|
C = new double[Y.length][];
|
||||||
C[0] = Mathematics.nullVector(parents[0].length);
|
C[0] = Mathematics.zeroes(parents[0].length);
|
||||||
for (int j = 1; j < Y.length; j++) {
|
for (int j = 1; j < Y.length; j++) {
|
||||||
r = Math.pow(RNG.randomDouble(0, 1), 1/((double)j));
|
r = Math.pow(RNG.randomDouble(0, 1), 1/((double)j));
|
||||||
C[j] = Mathematics.vvAdd(Y[j-1], C[j-1]);
|
C[j] = Mathematics.vvAdd(Y[j-1], C[j-1]);
|
||||||
C[j] = Mathematics.subVector(C[j], Y[j]);
|
C[j] = Mathematics.vvSub(C[j], Y[j]);
|
||||||
C[j] = Mathematics.scalarMultVector(r, C[j]);
|
C[j] = Mathematics.svMult(r, C[j]);
|
||||||
//C[j] = this.scalarMultVector(r, this.subVector(Y[j-1], this.addVector(Y[j], C[j-1])));
|
//C[j] = this.scalarMultVector(r, this.subVector(Y[j-1], this.addVector(Y[j], C[j-1])));
|
||||||
}
|
}
|
||||||
// now the children results from
|
// now the children results from
|
||||||
|
@ -85,13 +85,13 @@ public class CrossoverESUNDX implements InterfaceCrossover, java.io.Serializable
|
|||||||
for (int j = 0; j < givenCoordinates.size(); j++) {
|
for (int j = 0; j < givenCoordinates.size(); j++) {
|
||||||
tmpD = (double[])givenCoordinates.get(j);
|
tmpD = (double[])givenCoordinates.get(j);
|
||||||
w = RNG.gaussianDouble(this.m_Zeta);
|
w = RNG.gaussianDouble(this.m_Zeta);
|
||||||
children[i] = Mathematics.vvAdd(children[i], Mathematics.scalarMultVector(w, tmpD));
|
children[i] = Mathematics.vvAdd(children[i], Mathematics.svMult(w, tmpD));
|
||||||
}
|
}
|
||||||
// now the missing stuff
|
// now the missing stuff
|
||||||
for (int j = 0; j < missingCorrdinates.size(); j++) {
|
for (int j = 0; j < missingCorrdinates.size(); j++) {
|
||||||
tmpD = (double[])missingCorrdinates.get(j);
|
tmpD = (double[])missingCorrdinates.get(j);
|
||||||
w = RNG.gaussianDouble(this.m_Eta);
|
w = RNG.gaussianDouble(this.m_Eta);
|
||||||
children[i] = Mathematics.vvAdd(children[i], Mathematics.scalarMultVector(w, tmpD));
|
children[i] = Mathematics.vvAdd(children[i], Mathematics.svMult(w, tmpD));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ public class CrossoverESUNDX implements InterfaceCrossover, java.io.Serializable
|
|||||||
double tmpD;
|
double tmpD;
|
||||||
|
|
||||||
for (int i = 0; i < parents.length; i++) {
|
for (int i = 0; i < parents.length; i++) {
|
||||||
tmpVec = Mathematics.subVector(parents[i], mean);
|
tmpVec = Mathematics.vvSub(parents[i], mean);
|
||||||
if (Mathematics.isValidVec(tmpVec)) {
|
if (Mathematics.isValidVec(tmpVec)) {
|
||||||
if (result.size() == 0) {
|
if (result.size() == 0) {
|
||||||
result.add(tmpVec);
|
result.add(tmpVec);
|
||||||
@ -119,8 +119,8 @@ public class CrossoverESUNDX implements InterfaceCrossover, java.io.Serializable
|
|||||||
for (int j = 0; j < result.size(); j++) {
|
for (int j = 0; j < result.size(); j++) {
|
||||||
toro = (double[]) result.get(j);
|
toro = (double[]) result.get(j);
|
||||||
tmpD = Mathematics.vvMult(toro, tmpVec)/Mathematics.vvMult(toro, toro);
|
tmpD = Mathematics.vvMult(toro, tmpVec)/Mathematics.vvMult(toro, toro);
|
||||||
toro = Mathematics.scalarMultVector(tmpD, toro);
|
toro = Mathematics.svMult(tmpD, toro);
|
||||||
tmpVec = Mathematics.subVector(tmpVec, toro);
|
tmpVec = Mathematics.vvSub(tmpVec, toro);
|
||||||
}
|
}
|
||||||
if (Mathematics.isValidVec(tmpVec)) result.add(tmpVec);
|
if (Mathematics.isValidVec(tmpVec)) result.add(tmpVec);
|
||||||
}
|
}
|
||||||
@ -145,12 +145,12 @@ public class CrossoverESUNDX implements InterfaceCrossover, java.io.Serializable
|
|||||||
for (int j = 0; j < completeList.size(); j++) {
|
for (int j = 0; j < completeList.size(); j++) {
|
||||||
toro = (double[]) completeList.get(j);
|
toro = (double[]) completeList.get(j);
|
||||||
tmpD = Mathematics.vvMult(toro, tmpVec)/Mathematics.vvMult(toro, toro);
|
tmpD = Mathematics.vvMult(toro, tmpVec)/Mathematics.vvMult(toro, toro);
|
||||||
toro = Mathematics.scalarMultVector(tmpD, toro);
|
toro = Mathematics.svMult(tmpD, toro);
|
||||||
tmpVec = Mathematics.subVector(tmpVec, toro);
|
tmpVec = Mathematics.vvSub(tmpVec, toro);
|
||||||
}
|
}
|
||||||
if (Mathematics.isValidVec(tmpVec)) {
|
if (Mathematics.isValidVec(tmpVec)) {
|
||||||
tmpVec = Mathematics.getNormalizedVector(tmpVec);
|
Mathematics.normVect(tmpVec, tmpVec);
|
||||||
tmpVec = Mathematics.scalarMultVector(Mathematics.vvMult(theOther, tmpVec), tmpVec);
|
tmpVec = Mathematics.svMult(Mathematics.vvMult(theOther, tmpVec), tmpVec);
|
||||||
result.add(tmpVec);
|
result.add(tmpVec);
|
||||||
completeList.add(tmpVec);
|
completeList.add(tmpVec);
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ import eva2.server.go.problems.InterfaceOptimizationProblem;
|
|||||||
import wsi.ra.math.RNG;
|
import wsi.ra.math.RNG;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Title: The JavaEvA</p>
|
* <p>Title: EvA2</p>
|
||||||
* <p>Description: PMX-Crossover as defined in http://www.cs.rit.edu/usr/local/pub/pga/Genetic/Slides_etc/ga_5_og.pdf</p>
|
* <p>Description: PMX-Crossover as defined in http://www.cs.rit.edu/usr/local/pub/pga/Genetic/Slides_etc/ga_5_og.pdf</p>
|
||||||
* <p>Copyright: Copyright (c) 2003</p>
|
* <p>Copyright: Copyright (c) 2003</p>
|
||||||
* <p>Company: </p>
|
* <p>Company: </p>
|
||||||
|
@ -8,7 +8,7 @@ import eva2.server.go.problems.InterfaceOptimizationProblem;
|
|||||||
import wsi.ra.math.RNG;
|
import wsi.ra.math.RNG;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Title: The JavaEvA</p>
|
* <p>Title: EvA2</p>
|
||||||
* <p>Description: PMX-Crossover as defined in http://www.cs.rit.edu/usr/local/pub/pga/Genetic/Slides_etc/ga_5_og.pdf</p>
|
* <p>Description: PMX-Crossover as defined in http://www.cs.rit.edu/usr/local/pub/pga/Genetic/Slides_etc/ga_5_og.pdf</p>
|
||||||
* <p>Copyright: Copyright (c) 2003</p>
|
* <p>Copyright: Copyright (c) 2003</p>
|
||||||
* <p>Company: </p>
|
* <p>Company: </p>
|
||||||
|
@ -106,7 +106,7 @@ public class MOClusteringSeparation implements InterfaceMigration, java.io.Seria
|
|||||||
// double[] tmpD = new double[2];
|
// double[] tmpD = new double[2];
|
||||||
// tmpD[0] = 0;
|
// tmpD[0] = 0;
|
||||||
// tmpD[1] = 0;
|
// tmpD[1] = 0;
|
||||||
// plot = new javaeva.gui.Plot("Debugging Clustering Separation", "Y1", "Y2", tmpD, tmpD);
|
// plot = new eva2.gui.Plot("Debugging Clustering Separation", "Y1", "Y2", tmpD, tmpD);
|
||||||
// GraphPointSet mySet;
|
// GraphPointSet mySet;
|
||||||
// DPoint myPoint;
|
// DPoint myPoint;
|
||||||
// Chart2DDPointIconText tmp;
|
// Chart2DDPointIconText tmp;
|
||||||
|
@ -137,7 +137,7 @@ public class MOConeSeparation implements InterfaceMigration, java.io.Serializabl
|
|||||||
// double[] tmpD = new double[2];
|
// double[] tmpD = new double[2];
|
||||||
// tmpD[0] = 0;
|
// tmpD[0] = 0;
|
||||||
// tmpD[1] = 0;
|
// tmpD[1] = 0;
|
||||||
// plot = new javaeva.gui.Plot("Debugging Cone Separation", "Y1", "Y2", tmpD, tmpD);
|
// plot = new eva2.gui.Plot("Debugging Cone Separation", "Y1", "Y2", tmpD, tmpD);
|
||||||
// GraphPointSet mySet;
|
// GraphPointSet mySet;
|
||||||
// DPoint myPoint;
|
// DPoint myPoint;
|
||||||
// Chart2DDPointIconText tmp;
|
// Chart2DDPointIconText tmp;
|
||||||
|
@ -101,7 +101,7 @@ public class MOXMeansSeparation implements InterfaceMigration, java.io.Serializa
|
|||||||
// double[] tmpD = new double[2];
|
// double[] tmpD = new double[2];
|
||||||
// tmpD[0] = 0;
|
// tmpD[0] = 0;
|
||||||
// tmpD[1] = 0;
|
// tmpD[1] = 0;
|
||||||
// plot = new javaeva.gui.Plot("Debugging Clustering Separation", "Y1", "Y2", tmpD, tmpD);
|
// plot = new eva2.gui.Plot("Debugging Clustering Separation", "Y1", "Y2", tmpD, tmpD);
|
||||||
// GraphPointSet mySet;
|
// GraphPointSet mySet;
|
||||||
// DPoint myPoint;
|
// DPoint myPoint;
|
||||||
// Chart2DDPointIconText tmp;
|
// Chart2DDPointIconText tmp;
|
||||||
|
@ -73,7 +73,7 @@ public class MOSOMaxiMin implements InterfaceMOSOConverter, java.io.Serializable
|
|||||||
}
|
}
|
||||||
////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////
|
||||||
// if (false) {
|
// if (false) {
|
||||||
// this.m_Plot = new javaeva.gui.Plot("Debug MaxiMin", "Y1", "Y2");
|
// this.m_Plot = new eva2.gui.Plot("Debug MaxiMin", "Y1", "Y2");
|
||||||
// this.m_Plot.setUnconnectedPoint(0, 0, 11);
|
// this.m_Plot.setUnconnectedPoint(0, 0, 11);
|
||||||
// this.m_Plot.setUnconnectedPoint(1.2, 2.0, 11);
|
// this.m_Plot.setUnconnectedPoint(1.2, 2.0, 11);
|
||||||
// double[][] trueFitness, moFitness;
|
// double[][] trueFitness, moFitness;
|
||||||
|
@ -14,10 +14,8 @@ import eva2.server.go.populations.Population;
|
|||||||
public class MOSOUtilityFunction implements InterfaceMOSOConverter, java.io.Serializable {
|
public class MOSOUtilityFunction implements InterfaceMOSOConverter, java.io.Serializable {
|
||||||
|
|
||||||
private int m_OutputDimension = 2;
|
private int m_OutputDimension = 2;
|
||||||
//private Source m_Source = new Source ("\\src\\javaeva\\server\\oa\\go\\Operators\\MOSOConverter\\MOSOUtilityFunction.java");
|
|
||||||
|
|
||||||
public MOSOUtilityFunction () {
|
public MOSOUtilityFunction () {
|
||||||
// m_Source = new Source ("\\src\\javaeva\\server\\oa\\go\\Operators\\MOSOConverter\\MOSOUtilityFunction.java");
|
|
||||||
}
|
}
|
||||||
public MOSOUtilityFunction(MOSOUtilityFunction b) {
|
public MOSOUtilityFunction(MOSOUtilityFunction b) {
|
||||||
System.out.println("Warning no source!");
|
System.out.println("Warning no source!");
|
||||||
|
@ -55,31 +55,6 @@ public class MutateEAMixer implements InterfaceMutation, java.io.Serializable {
|
|||||||
this.m_Tau1 = mutator.m_Tau1;
|
this.m_Tau1 = mutator.m_Tau1;
|
||||||
this.m_LowerLimitChance = mutator.m_LowerLimitChance;
|
this.m_LowerLimitChance = mutator.m_LowerLimitChance;
|
||||||
}
|
}
|
||||||
//
|
|
||||||
// private Vector getClassesFromProperties(String mySelf, String myInterface) {
|
|
||||||
// Vector classes = new Vector();
|
|
||||||
// String typeOptions = EvAClient.getProperty(myInterface);
|
|
||||||
// if (typeOptions == null) {
|
|
||||||
// System.out.println("Warning: No configuration property found in: " +EvAClient.EVA_PROPERTY_FILE + " "+"for javaeva.server.oa.go.Operators.Mutation.InterfaceMutation");
|
|
||||||
// } else {
|
|
||||||
// StringTokenizer st = new StringTokenizer(typeOptions, ", ");
|
|
||||||
// while (st.hasMoreTokens()) {
|
|
||||||
// String current = st.nextToken().trim();
|
|
||||||
// if (!current.equalsIgnoreCase(mySelf)) {
|
|
||||||
// try {
|
|
||||||
// Class c = Class.forName(current);
|
|
||||||
// classes.addElement(current);
|
|
||||||
// } catch (Exception ex) {
|
|
||||||
// System.out.println("Couldn't load class with name: " + current);
|
|
||||||
// System.out.println("ex:"+ex.getMessage());
|
|
||||||
// ex.printStackTrace();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return classes;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
/** This method will enable you to clone a given mutation operator
|
/** This method will enable you to clone a given mutation operator
|
||||||
* @return The clone
|
* @return The clone
|
||||||
|
@ -80,6 +80,6 @@ public class MutateESDefault implements InterfaceMutation, java.io.Serializable
|
|||||||
* @return description
|
* @return description
|
||||||
*/
|
*/
|
||||||
public String globalInfo() {
|
public String globalInfo() {
|
||||||
return "The default mutation alters one element of the double attributes.";
|
return "The default mutation just uses the default method implemented in the individual.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ import wsi.ra.math.RNG;
|
|||||||
* To change this template use Options | File Templates.
|
* To change this template use Options | File Templates.
|
||||||
*/
|
*/
|
||||||
public class MutateESStandard implements InterfaceMutation, java.io.Serializable {
|
public class MutateESStandard implements InterfaceMutation, java.io.Serializable {
|
||||||
private double m_MutationStepSize = 0.1;
|
protected double m_MutationStepSize = 0.1;
|
||||||
|
|
||||||
public MutateESStandard() {
|
public MutateESStandard() {
|
||||||
}
|
}
|
||||||
@ -102,13 +102,14 @@ public class MutateESStandard implements InterfaceMutation, java.io.Serializable
|
|||||||
* @return description
|
* @return description
|
||||||
*/
|
*/
|
||||||
public String globalInfo() {
|
public String globalInfo() {
|
||||||
return "The standart mutation alters all elements of the double attributes with a fixed mutation step size.";
|
return "The standard mutation alters all elements of the double attributes with a fixed mutation step size.";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method allows you to set the fixed mutation step size
|
/** This method allows you to set the fixed mutation step size
|
||||||
* @param step The new mutation step size
|
* @param step The new mutation step size
|
||||||
*/
|
*/
|
||||||
public void setMutationStepSize(double step) {
|
public void setMutationStepSize(double step) {
|
||||||
|
if (step < 0) step = 0.0000001;
|
||||||
this.m_MutationStepSize = step;
|
this.m_MutationStepSize = step;
|
||||||
}
|
}
|
||||||
public double getMutationStepSize() {
|
public double getMutationStepSize() {
|
||||||
|
@ -7,24 +7,25 @@ import eva2.server.go.problems.InterfaceOptimizationProblem;
|
|||||||
import wsi.ra.math.RNG;
|
import wsi.ra.math.RNG;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by IntelliJ IDEA.
|
* Success rule implementation.
|
||||||
|
*
|
||||||
* User: streiche
|
* User: streiche
|
||||||
* Date: 10.05.2005
|
* Date: 10.05.2005
|
||||||
* Time: 14:11:49
|
* Time: 14:11:49
|
||||||
* To change this template use File | Settings | File Templates.
|
* To change this template use File | Settings | File Templates.
|
||||||
*/
|
*/
|
||||||
public class MutateESSuccessRule implements InterfaceMutation, java.io.Serializable {
|
public class MutateESSuccessRule extends MutateESStandard implements InterfaceMutation, java.io.Serializable {
|
||||||
|
/*
|
||||||
|
* This is a bit of a cheat as the implementation does only hold some
|
||||||
|
* more parameters while the ES strategy really acts on it.
|
||||||
|
*/
|
||||||
// it would be quite nice to make this variable static, but in that case
|
// it would be quite nice to make this variable static, but in that case
|
||||||
// no one could runs n independent ES runs in parallel anymore *sigh*
|
// no one could runs n independent ES runs in parallel anymore *sigh*
|
||||||
// protected static double m_MutationStepSize = 0.2;
|
// protected static double m_MutationStepSize = 0.2;
|
||||||
protected double m_MutationStepSize = 0.2;
|
// protected double m_MutationStepSize = 0.2; // now in base class
|
||||||
protected double m_SuccessRate = 0.2;
|
protected double m_SuccessRate = 0.2;
|
||||||
protected double m_Alpha = 1.2;
|
protected double m_Alpha = 1.2;
|
||||||
|
|
||||||
public MutateESSuccessRule() {
|
|
||||||
|
|
||||||
}
|
|
||||||
public MutateESSuccessRule(MutateESSuccessRule mutator) {
|
public MutateESSuccessRule(MutateESSuccessRule mutator) {
|
||||||
this.m_MutationStepSize = mutator.m_MutationStepSize;
|
this.m_MutationStepSize = mutator.m_MutationStepSize;
|
||||||
this.m_SuccessRate = mutator.m_SuccessRate;
|
this.m_SuccessRate = mutator.m_SuccessRate;
|
||||||
@ -38,7 +39,7 @@ public class MutateESSuccessRule implements InterfaceMutation, java.io.Serializa
|
|||||||
return new MutateESSuccessRule(this);
|
return new MutateESSuccessRule(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method allows you to evaluate wether two mutation operators
|
/** This method allows you to evaluate whether two mutation operators
|
||||||
* are actually the same.
|
* are actually the same.
|
||||||
* @param mutator The other mutation operator
|
* @param mutator The other mutation operator
|
||||||
*/
|
*/
|
||||||
@ -51,44 +52,6 @@ public class MutateESSuccessRule implements InterfaceMutation, java.io.Serializa
|
|||||||
return true;
|
return true;
|
||||||
} else return false;
|
} else return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method allows you to init the mutation operator
|
|
||||||
* @param individual The individual that will be mutated.
|
|
||||||
* @param opt The optimization problem.
|
|
||||||
*/
|
|
||||||
public void init(AbstractEAIndividual individual, InterfaceOptimizationProblem opt) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/** This method will mutate a given AbstractEAIndividual. If the individual
|
|
||||||
* doesn't implement InterfaceGAIndividual nothing happens.
|
|
||||||
* @param individual The individual that is to be mutated
|
|
||||||
*/
|
|
||||||
public void mutate(AbstractEAIndividual individual) {
|
|
||||||
//System.out.println("Before Mutate: " +((GAIndividual)individual).getSolutionRepresentationFor());
|
|
||||||
if (individual instanceof InterfaceESIndividual) {
|
|
||||||
double[] x = ((InterfaceESIndividual)individual).getDGenotype();
|
|
||||||
double[][] range = ((InterfaceESIndividual)individual).getDoubleRange();
|
|
||||||
for (int i = 0; i < x.length; i++) {
|
|
||||||
x[i] += ((range[i][1] -range[i][0])/2)*RNG.gaussianDouble(this.m_MutationStepSize);
|
|
||||||
if (range[i][0] > x[i]) x[i] = range[i][0];
|
|
||||||
if (range[i][1] < x[i]) x[i] = range[i][1];
|
|
||||||
}
|
|
||||||
((InterfaceESIndividual)individual).SetDGenotype(x);
|
|
||||||
|
|
||||||
}
|
|
||||||
//System.out.println("After Mutate: " +((GAIndividual)individual).getSolutionRepresentationFor());
|
|
||||||
}
|
|
||||||
|
|
||||||
/** This method allows you to perform either crossover on the strategy parameters
|
|
||||||
* or to deal in some other way with the crossover event.
|
|
||||||
* @param indy1 The original mother
|
|
||||||
* @param partners The original partners
|
|
||||||
*/
|
|
||||||
public void crossoverOnStrategyParameters(AbstractEAIndividual indy1, Population partners) {
|
|
||||||
// nothing to do here
|
|
||||||
}
|
|
||||||
|
|
||||||
/** This method allows you to get a string representation of the mutation
|
/** This method allows you to get a string representation of the mutation
|
||||||
* operator
|
* operator
|
||||||
* @return A descriptive string.
|
* @return A descriptive string.
|
||||||
@ -122,20 +85,10 @@ public class MutateESSuccessRule implements InterfaceMutation, java.io.Serializa
|
|||||||
* @return description
|
* @return description
|
||||||
*/
|
*/
|
||||||
public String globalInfo() {
|
public String globalInfo() {
|
||||||
return "The 1/5 success rule is something special and works only together with an ES optimizer.";
|
return "The 1/5 success rule works only together with an ES optimizer.";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Set the initial mutation step size with this method.
|
public String mutationStepSizeTipText() {
|
||||||
* @param d The mutation operator.
|
|
||||||
*/
|
|
||||||
public void setInitialMutationStepSize(double d) {
|
|
||||||
if (d < 0) d = 0.0000001;
|
|
||||||
this.m_MutationStepSize = d;
|
|
||||||
}
|
|
||||||
public double getInitialMutationStepSize() {
|
|
||||||
return this.m_MutationStepSize;
|
|
||||||
}
|
|
||||||
public String initialMutationStepSizeTipText() {
|
|
||||||
return "Choose the initial mutation step size.";
|
return "Choose the initial mutation step size.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ import wsi.ra.math.RNG;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Title: The JavaEvA</p>
|
* <p>Title: EvA2</p>
|
||||||
*
|
*
|
||||||
* <p>Description: </p>
|
* <p>Description: </p>
|
||||||
*
|
*
|
||||||
|
@ -9,7 +9,7 @@ import wsi.ra.math.RNG;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Title: The JavaEvA</p>
|
* <p>Title: EvA2</p>
|
||||||
* <p>Description: </p>
|
* <p>Description: </p>
|
||||||
* <p>Copyright: Copyright (c) 2003</p>
|
* <p>Copyright: Copyright (c) 2003</p>
|
||||||
* <p>Company: </p>
|
* <p>Company: </p>
|
||||||
|
@ -23,7 +23,7 @@ public abstract class AbstractSelProb implements InterfaceSelectionProbability,
|
|||||||
public abstract Object clone();
|
public abstract Object clone();
|
||||||
|
|
||||||
/** This method computes the selection probability for each individual
|
/** This method computes the selection probability for each individual
|
||||||
* in the population. Note: Summed over the complete populaiton the selection
|
* in the population. Note: Summed over the complete population the selection
|
||||||
* probability sums up to one.
|
* probability sums up to one.
|
||||||
* @param population The population to compute.
|
* @param population The population to compute.
|
||||||
* @param input The name of the input.
|
* @param input The name of the input.
|
||||||
@ -33,7 +33,7 @@ public abstract class AbstractSelProb implements InterfaceSelectionProbability,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** This method computes the selection probability for each individual
|
/** This method computes the selection probability for each individual
|
||||||
* in the population. Note: Summed over the complete populaiton the selection
|
* in the population. Note: Summed over the complete population the selection
|
||||||
* probability sums up to one.
|
* probability sums up to one.
|
||||||
* @param population The population to compute.
|
* @param population The population to compute.
|
||||||
* @param input The name of the input.
|
* @param input The name of the input.
|
||||||
|
@ -21,7 +21,7 @@ public interface InterfaceSelectionProbability {
|
|||||||
public Object clone();
|
public Object clone();
|
||||||
|
|
||||||
/** This method computes the selection probability for each individual
|
/** This method computes the selection probability for each individual
|
||||||
* in the population. Note: Summed over the complete populaiton the selection
|
* in the population. Note: Summed over the complete population the selection
|
||||||
* probability sums up to one.
|
* probability sums up to one.
|
||||||
* @param population The population to compute.
|
* @param population The population to compute.
|
||||||
* @param input The name of the input.
|
* @param input The name of the input.
|
||||||
@ -29,7 +29,7 @@ public interface InterfaceSelectionProbability {
|
|||||||
public void computeSelectionProbability(Population population, String[] input, boolean obeyConst);
|
public void computeSelectionProbability(Population population, String[] input, boolean obeyConst);
|
||||||
|
|
||||||
/** This method computes the selection probability for each individual
|
/** This method computes the selection probability for each individual
|
||||||
* in the population. Note: Summed over the complete populaiton the selection
|
* in the population. Note: Summed over the complete population the selection
|
||||||
* probability sums up to one.
|
* probability sums up to one.
|
||||||
* @param population The population to compute.
|
* @param population The population to compute.
|
||||||
* @param input The name of the input.
|
* @param input The name of the input.
|
||||||
@ -37,7 +37,7 @@ public interface InterfaceSelectionProbability {
|
|||||||
public void computeSelectionProbability(Population population, String input, boolean obeyConst);
|
public void computeSelectionProbability(Population population, String input, boolean obeyConst);
|
||||||
|
|
||||||
/** This method computes the selection probability for each individual
|
/** This method computes the selection probability for each individual
|
||||||
* in the population. Note: Summed over the complete populaiton the selection
|
* in the population. Note: Summed over the complete population the selection
|
||||||
* probability sums up to one.
|
* probability sums up to one.
|
||||||
* @param population The population to compute.
|
* @param population The population to compute.
|
||||||
* @param data The input data as double[][].
|
* @param data The input data as double[][].
|
||||||
|
@ -32,7 +32,7 @@ public class SelProbBoltzman extends AbstractSelProb implements java.io.Serializ
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** This method computes the selection probability for each individual
|
/** This method computes the selection probability for each individual
|
||||||
* in the population. Note: Summed over the complete populaiton the selection
|
* in the population. Note: Summed over the complete population the selection
|
||||||
* probability sums up to one.
|
* probability sums up to one.
|
||||||
* @param population The population to compute.
|
* @param population The population to compute.
|
||||||
* @param data The input data as double[][].
|
* @param data The input data as double[][].
|
||||||
|
@ -36,7 +36,7 @@ public class SelProbFitnessSharing extends AbstractSelProb implements java.io.Se
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** This method computes the selection probability for each individual
|
/** This method computes the selection probability for each individual
|
||||||
* in the population. Note: Summed over the complete populaiton the selection
|
* in the population. Note: Summed over the complete population the selection
|
||||||
* probability sums up to one. Keep in mind that fitness is always to be
|
* probability sums up to one. Keep in mind that fitness is always to be
|
||||||
* minimizied! Small values for data => big values for selectionprob.
|
* minimizied! Small values for data => big values for selectionprob.
|
||||||
* @param population The population to compute.
|
* @param population The population to compute.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user