Killed JavaEvA from comments and ressources, some maths refactored.
This commit is contained in:
parent
fdbfa5fe85
commit
fb20da9657
@ -290,8 +290,8 @@
|
||||
<fileset dir=".">
|
||||
<include name="run.sh"/>
|
||||
<include name="run.bat"/>
|
||||
<include name="run_javaeva.sh"/>
|
||||
<include name="run_javaeva.bat"/>
|
||||
<include name="run_eva.sh"/>
|
||||
<include name="run_eva.bat"/>
|
||||
<include name="*.txt"/>
|
||||
<include name="*.html"/>
|
||||
</fileset>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
Filename: $RCSfile$
|
||||
Purpose: Ant build file for JavaEvA.
|
||||
Purpose: Ant build file for EvA2.
|
||||
|
||||
Ant-Download: http://jakarta.apache.org/ant
|
||||
Ant-Manual: http://jakarta.apache.org/ant/manual/index.html
|
||||
@ -18,14 +18,17 @@
|
||||
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
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
|
||||
|
||||
<target name="binary.libraries.check" >
|
||||
<!--
|
||||
<condition property="library.available.SNNS.windows">
|
||||
<and>
|
||||
<available file="${windows.libraries}/${library.SNNS}.dll" type="file" />
|
||||
@ -36,7 +39,6 @@
|
||||
<available file="${unix.libraries}/lib${library.SNNS}.so" type="file" />
|
||||
</and>
|
||||
</condition>
|
||||
<!--
|
||||
<condition property="library.available.WSI">
|
||||
<and>
|
||||
<available file="${library.WSI}" type="file" />
|
||||
@ -63,11 +65,13 @@
|
||||
</target>
|
||||
|
||||
<target name="source.libraries.check" >
|
||||
<!--
|
||||
<condition property="library.available.WSI">
|
||||
<and>
|
||||
<available file="${library.WSI.ant}/wsi" type="dir" />
|
||||
</and>
|
||||
</condition>
|
||||
</condition>
|
||||
-->
|
||||
</target>
|
||||
|
||||
<target name="binary.libraries.test.SNNS.windows" depends="binary.libraries.check" unless="library.available.SNNS.windows">
|
||||
@ -97,6 +101,8 @@
|
||||
">
|
||||
</target>
|
||||
|
||||
<target name="check" depends="binary.libraries.check, source.libraries.check">
|
||||
</target>
|
||||
</project>
|
||||
|
||||
<!--+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
@ -8,7 +8,7 @@
|
||||
<img src="images/rastrigintex.jpg" width="500" height="101">
|
||||
</center>
|
||||
<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>
|
||||
Values used for the following illustrations: <i>A</i>=10, <i>ω</i>=2*π, <i>n</i>=2.
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>JavaEvA Genetic Optimization</title>
|
||||
<title>EvA2 Genetic Optimization</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1 align="center">The JavaEvA Genetic Optimization Module</h1>
|
||||
<h1 align="center">The EvA2 Genetic Optimization Module</h1>
|
||||
<br>
|
||||
The Genetic Optimization module allows the application of a variety of
|
||||
nature-inspired heuristics within one framework. You can combine several
|
||||
|
@ -1,6 +1,6 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>JavaEvA Genetic Optimization</title>
|
||||
<title>EvA Genetic Optimization</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1 align="center">Genetic Optimization Parameters</h1>
|
||||
|
@ -54,7 +54,7 @@ import eva2.server.modules.GOParameters;
|
||||
* </p>
|
||||
* <p>
|
||||
* 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
|
||||
* an optimization one has to do the following: <code>
|
||||
* InterfaceOptimizer optimizer = OptimizerFactory.createCertainOptimizer(arguments);
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
@ -37,9 +37,7 @@ public class BigStringEditor implements PropertyEditor {
|
||||
try {
|
||||
m_finished=false;
|
||||
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);
|
||||
//frame.setSize(200, 200);
|
||||
frame.addWindowListener(new WindowAdapter() {
|
||||
@ -189,8 +187,7 @@ public class BigStringEditor implements PropertyEditor {
|
||||
public static void main (String[] args) {
|
||||
try {
|
||||
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);
|
||||
frame.setSize(200, 200);
|
||||
frame.addWindowListener(new WindowAdapter() {
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,7 +1,7 @@
|
||||
package eva2.gui;
|
||||
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -3,7 +3,7 @@ package eva2.gui;
|
||||
import java.io.Serializable;
|
||||
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
@ -17,15 +17,6 @@ import java.awt.event.WindowEvent;
|
||||
import java.awt.event.*;
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
* Title: The JavaEvA
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company:
|
||||
* @author
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class JEFrame extends JFrame {
|
||||
|
||||
public JEFrame() {
|
||||
|
@ -1,7 +1,7 @@
|
||||
package eva2.gui;
|
||||
import java.util.ArrayList;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,7 +1,7 @@
|
||||
package eva2.gui;
|
||||
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -3,7 +3,7 @@ package eva2.gui;
|
||||
import eva2.server.stat.InterfaceTextListener;
|
||||
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
@ -112,7 +112,6 @@ public class LogPanel extends JPanel {
|
||||
frame.pack();
|
||||
frame.setVisible(true);
|
||||
panel.logMessage("HI!");
|
||||
// panel.statusMessage("Hi JavaEvA");
|
||||
panel.logMessage("Test");
|
||||
|
||||
} catch (Exception e) {
|
||||
|
@ -1,10 +1,6 @@
|
||||
package eva2.gui;
|
||||
|
||||
/**
|
||||
* <p>Title: The JavaEvA</p>
|
||||
* <p>Description: </p>
|
||||
* <p>Copyright: Copyright (c) 2003</p>
|
||||
* <p>Company: </p>
|
||||
* @author not attributable
|
||||
* @version 1.0
|
||||
*/
|
||||
|
@ -6,7 +6,7 @@ import java.awt.event.*;
|
||||
|
||||
|
||||
/**
|
||||
* <p>Title: The JavaEvA</p>
|
||||
* <p>Title: EvA2</p>
|
||||
* <p>Description: </p>
|
||||
* <p>Copyright: Copyright (c) 2003</p>
|
||||
* <p>Company: </p>
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,5 @@
|
||||
package eva2.gui;
|
||||
|
||||
//import javaeva.tools.ServerStarter;
|
||||
import java.rmi.Naming;
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.gui;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* 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;
|
||||
/**
|
||||
* Title: javaeva
|
||||
* Title: EvA2
|
||||
* Description: API for distributed and parallel computing.
|
||||
* Copyright: Copyright (c) 2004
|
||||
* Company: University of Tuebingen
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.server;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,7 +1,7 @@
|
||||
package eva2.server;
|
||||
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.server.go;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.server.go;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -3,7 +3,7 @@ package eva2.server.go;
|
||||
import wsi.ra.jproxy.RemoteStateListener;
|
||||
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* Company: University of Tuebingen, Computer Architecture
|
||||
|
@ -1,6 +1,6 @@
|
||||
package eva2.server.go;
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* 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;
|
||||
|
||||
/*
|
||||
* Title: JavaEvA
|
||||
* Title: EvA2
|
||||
* Description:
|
||||
* Copyright: Copyright (c) 2003
|
||||
* 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.populations.Population;
|
||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||
import eva2.tools.EVAERROR;
|
||||
|
||||
/** This is the abstract EA individual implementing the most important methods giving
|
||||
* 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
|
@ -62,7 +62,6 @@ public class ESIndividualDoubleData extends AbstractEAIndividual implements Inte
|
||||
this.m_Fitness[i] = individual.m_Fitness[i];
|
||||
}
|
||||
cloneAEAObjects((AbstractEAIndividual) individual);
|
||||
|
||||
}
|
||||
|
||||
public Object clone() {
|
||||
|
@ -4,7 +4,7 @@ package eva2.server.go.individuals;
|
||||
/** This interface gives access to a permutation phenotype and except
|
||||
* for problemspecific operators should only be used by the
|
||||
* optimization problem.
|
||||
* <p>Title: The JavaEvA</p>
|
||||
* <p>Title: EvA2</p>
|
||||
*
|
||||
* <p>Description: </p>
|
||||
*
|
||||
|
@ -2,7 +2,7 @@ package eva2.server.go.individuals;
|
||||
|
||||
/** This interface gives access to a permutation genotype and should
|
||||
* only be used by mutation and crossover operators.
|
||||
* <p>Title: The JavaEvA</p>
|
||||
* <p>Title: EvA2</p>
|
||||
* <p>Description: </p>
|
||||
* <p>Copyright: Copyright (c) 2003</p>
|
||||
* <p>Company: </p>
|
||||
|
@ -11,7 +11,7 @@ import wsi.ra.math.RNG;
|
||||
|
||||
/** This individual uses a permutation based genotype to code for
|
||||
* permutations.
|
||||
* <p>Title: The JavaEvA</p>
|
||||
* <p>Title: EvA2</p>
|
||||
* <p>Description: </p>
|
||||
* <p>Copyright: Copyright (c) 2003</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
|
||||
* @return the helptext component
|
||||
*/
|
||||
@ -112,7 +112,7 @@ public abstract class MOCCOPhase implements InterfaceProcessElement {
|
||||
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 help The text to display
|
||||
* @return the helptext component
|
||||
|
@ -56,7 +56,6 @@ public class MOCCOProblemInitialization extends MOCCOPhase implements InterfaceP
|
||||
JComponent tmpC = new JPanel();
|
||||
tmpC.setLayout(new BorderLayout());
|
||||
|
||||
// this.m_ProblemChooser.setModel(new DefaultComboBoxModel(this.getClassAlternatives4("javaeva.server.oa.go.OptimizationProblems.InterfaceMultiObjectiveDeNovoProblem")));
|
||||
Class[] altern = null;
|
||||
try {
|
||||
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);
|
||||
}
|
||||
|
||||
/** 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
|
||||
* @return Population[] the n pareto-fronts
|
||||
*/
|
||||
|
@ -116,7 +116,7 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial
|
||||
// this.tz = true;
|
||||
// this.calculateRawFitness(tmpPop);
|
||||
// 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
|
||||
// this.m_Plot.setUnconnectedPoint(0, 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()];
|
||||
Clustered = new boolean[pop.size()];
|
||||
AbstractEAIndividual tmpIndy1, tmpIndy2;
|
||||
Population PopulationOfUnclustered = new Population(), Cluster, template;
|
||||
Population PopulationOfUnclustered, Cluster, template;
|
||||
ArrayList<Population> ClusteredPopulations = new ArrayList<Population>();
|
||||
|
||||
template = (Population)pop.clone();
|
||||
|
@ -202,19 +202,24 @@ public class ClusteringKMeans implements InterfaceClustering, java.io.Serializab
|
||||
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 c The centroids
|
||||
* @return The clusters as populaitons
|
||||
* @return The clusters as populations
|
||||
*/
|
||||
public Population[] cluster(Population pop, double[][] c) {
|
||||
Population[] result = new Population[c.length];
|
||||
double[][] data = this.extractClusterDataFrom(pop);
|
||||
int clusterAssigned;
|
||||
|
||||
for (int i = 0; i < result.length; i++) {
|
||||
result[i] = new Population();
|
||||
result[i].setSameParams(pop);
|
||||
try {
|
||||
for (int i = 0; i < result.length; i++) {
|
||||
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
|
||||
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
|
||||
* @param pop The population
|
||||
* @param c The centroids
|
||||
* @return The clusters as populaitons
|
||||
* @return The clusters as populations
|
||||
*/
|
||||
public Population[] cluster(Population pop, double[][] c) {
|
||||
Population[] result = new Population[c.length];
|
||||
|
@ -22,10 +22,14 @@ public interface InterfaceClustering {
|
||||
*/
|
||||
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
|
||||
* could not be associated with any cluster and may be empty.
|
||||
* 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.
|
||||
* @return Population[]
|
||||
*/
|
||||
|
@ -55,31 +55,6 @@ public class CrossoverEAMixer implements InterfaceCrossover, java.io.Serializabl
|
||||
this.m_Tau1 = mutator.m_Tau1;
|
||||
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
|
||||
* @return The clone
|
||||
|
@ -78,7 +78,7 @@ public class CrossoverESPCX implements InterfaceCrossover, java.io.Serializable
|
||||
|
||||
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);
|
||||
// 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++) {
|
||||
tmpD = (double[])subSpace.get(j);
|
||||
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 tmpD;
|
||||
|
||||
tmpVec = Mathematics.subVector(parents[index], mean);
|
||||
tmpVec = Mathematics.vvSub(parents[index], mean);
|
||||
result.add(tmpVec);
|
||||
|
||||
for (int i = 0; i < parents.length; i++) {
|
||||
if (i != index) {
|
||||
tmpVec = Mathematics.subVector(parents[i], mean);
|
||||
tmpVec = Mathematics.vvSub(parents[i], mean);
|
||||
if (this.isValidVec(tmpVec)) {
|
||||
// apply the infamous Gram-Schmidt
|
||||
for (int j = 0; j < result.size(); j++) {
|
||||
toro = (double[]) result.get(j);
|
||||
tmpD = Mathematics.vvMult(toro, tmpVec)/Mathematics.vvMult(toro, toro);
|
||||
toro = Mathematics.scalarMultVector(tmpD, toro);
|
||||
tmpVec = Mathematics.subVector(tmpVec, toro);
|
||||
toro = Mathematics.svMult(tmpD, toro);
|
||||
tmpVec = Mathematics.vvSub(tmpVec, toro);
|
||||
}
|
||||
if (this.isValidVec(tmpVec)) result.add(tmpVec);
|
||||
}
|
||||
@ -145,15 +145,15 @@ public class CrossoverESPCX implements InterfaceCrossover, java.io.Serializable
|
||||
double tmpMean;
|
||||
for (int i = 1; i < result.size(); i++) {
|
||||
toro = (double[]) result.get(i);
|
||||
toro = Mathematics.getNormalizedVector(toro);
|
||||
Mathematics.normVect(toro, toro);
|
||||
tmpMean = 0;
|
||||
for (int j = 0; j < parents.length; j++) {
|
||||
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));
|
||||
toro = Mathematics.scalarMultVector(tmpMean, toro);
|
||||
toro = Mathematics.svMult(tmpMean, toro);
|
||||
result.set(i, toro);
|
||||
}
|
||||
|
||||
|
@ -72,18 +72,18 @@ public class CrossoverESSPX implements InterfaceCrossover, java.io.Serializable
|
||||
|
||||
// calculate the Y vectors
|
||||
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
|
||||
for (int i = 0; i < children.length; i++) {
|
||||
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++) {
|
||||
r = Math.pow(RNG.randomDouble(0, 1), 1/((double)j));
|
||||
C[j] = Mathematics.vvAdd(Y[j-1], C[j-1]);
|
||||
C[j] = Mathematics.subVector(C[j], Y[j]);
|
||||
C[j] = Mathematics.scalarMultVector(r, C[j]);
|
||||
C[j] = Mathematics.vvSub(C[j], Y[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])));
|
||||
}
|
||||
// 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++) {
|
||||
tmpD = (double[])givenCoordinates.get(j);
|
||||
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
|
||||
for (int j = 0; j < missingCorrdinates.size(); j++) {
|
||||
tmpD = (double[])missingCorrdinates.get(j);
|
||||
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;
|
||||
|
||||
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 (result.size() == 0) {
|
||||
result.add(tmpVec);
|
||||
@ -119,8 +119,8 @@ public class CrossoverESUNDX implements InterfaceCrossover, java.io.Serializable
|
||||
for (int j = 0; j < result.size(); j++) {
|
||||
toro = (double[]) result.get(j);
|
||||
tmpD = Mathematics.vvMult(toro, tmpVec)/Mathematics.vvMult(toro, toro);
|
||||
toro = Mathematics.scalarMultVector(tmpD, toro);
|
||||
tmpVec = Mathematics.subVector(tmpVec, toro);
|
||||
toro = Mathematics.svMult(tmpD, toro);
|
||||
tmpVec = Mathematics.vvSub(tmpVec, toro);
|
||||
}
|
||||
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++) {
|
||||
toro = (double[]) completeList.get(j);
|
||||
tmpD = Mathematics.vvMult(toro, tmpVec)/Mathematics.vvMult(toro, toro);
|
||||
toro = Mathematics.scalarMultVector(tmpD, toro);
|
||||
tmpVec = Mathematics.subVector(tmpVec, toro);
|
||||
toro = Mathematics.svMult(tmpD, toro);
|
||||
tmpVec = Mathematics.vvSub(tmpVec, toro);
|
||||
}
|
||||
if (Mathematics.isValidVec(tmpVec)) {
|
||||
tmpVec = Mathematics.getNormalizedVector(tmpVec);
|
||||
tmpVec = Mathematics.scalarMultVector(Mathematics.vvMult(theOther, tmpVec), tmpVec);
|
||||
Mathematics.normVect(tmpVec, tmpVec);
|
||||
tmpVec = Mathematics.svMult(Mathematics.vvMult(theOther, tmpVec), tmpVec);
|
||||
result.add(tmpVec);
|
||||
completeList.add(tmpVec);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||
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>Copyright: Copyright (c) 2003</p>
|
||||
* <p>Company: </p>
|
||||
|
@ -8,7 +8,7 @@ import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||
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>Copyright: Copyright (c) 2003</p>
|
||||
* <p>Company: </p>
|
||||
|
@ -106,7 +106,7 @@ public class MOClusteringSeparation implements InterfaceMigration, java.io.Seria
|
||||
// double[] tmpD = new double[2];
|
||||
// tmpD[0] = 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;
|
||||
// DPoint myPoint;
|
||||
// Chart2DDPointIconText tmp;
|
||||
|
@ -137,7 +137,7 @@ public class MOConeSeparation implements InterfaceMigration, java.io.Serializabl
|
||||
// double[] tmpD = new double[2];
|
||||
// tmpD[0] = 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;
|
||||
// DPoint myPoint;
|
||||
// Chart2DDPointIconText tmp;
|
||||
|
@ -101,7 +101,7 @@ public class MOXMeansSeparation implements InterfaceMigration, java.io.Serializa
|
||||
// double[] tmpD = new double[2];
|
||||
// tmpD[0] = 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;
|
||||
// DPoint myPoint;
|
||||
// Chart2DDPointIconText tmp;
|
||||
|
@ -73,7 +73,7 @@ public class MOSOMaxiMin implements InterfaceMOSOConverter, java.io.Serializable
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////////
|
||||
// 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(1.2, 2.0, 11);
|
||||
// double[][] trueFitness, moFitness;
|
||||
|
@ -14,10 +14,8 @@ import eva2.server.go.populations.Population;
|
||||
public class MOSOUtilityFunction implements InterfaceMOSOConverter, java.io.Serializable {
|
||||
|
||||
private int m_OutputDimension = 2;
|
||||
//private Source m_Source = new Source ("\\src\\javaeva\\server\\oa\\go\\Operators\\MOSOConverter\\MOSOUtilityFunction.java");
|
||||
|
||||
public MOSOUtilityFunction () {
|
||||
// m_Source = new Source ("\\src\\javaeva\\server\\oa\\go\\Operators\\MOSOConverter\\MOSOUtilityFunction.java");
|
||||
}
|
||||
public MOSOUtilityFunction(MOSOUtilityFunction b) {
|
||||
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_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
|
||||
* @return The clone
|
||||
|
@ -80,6 +80,6 @@ public class MutateESDefault implements InterfaceMutation, java.io.Serializable
|
||||
* @return description
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
public class MutateESStandard implements InterfaceMutation, java.io.Serializable {
|
||||
private double m_MutationStepSize = 0.1;
|
||||
protected double m_MutationStepSize = 0.1;
|
||||
|
||||
public MutateESStandard() {
|
||||
}
|
||||
@ -102,13 +102,14 @@ public class MutateESStandard implements InterfaceMutation, java.io.Serializable
|
||||
* @return description
|
||||
*/
|
||||
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
|
||||
* @param step The new mutation step size
|
||||
*/
|
||||
public void setMutationStepSize(double step) {
|
||||
if (step < 0) step = 0.0000001;
|
||||
this.m_MutationStepSize = step;
|
||||
}
|
||||
public double getMutationStepSize() {
|
||||
|
@ -7,24 +7,25 @@ import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||
import wsi.ra.math.RNG;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
* Success rule implementation.
|
||||
*
|
||||
* User: streiche
|
||||
* Date: 10.05.2005
|
||||
* Time: 14:11:49
|
||||
* 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
|
||||
// no one could runs n independent ES runs in parallel anymore *sigh*
|
||||
// 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_Alpha = 1.2;
|
||||
|
||||
public MutateESSuccessRule() {
|
||||
|
||||
}
|
||||
public MutateESSuccessRule(MutateESSuccessRule mutator) {
|
||||
this.m_MutationStepSize = mutator.m_MutationStepSize;
|
||||
this.m_SuccessRate = mutator.m_SuccessRate;
|
||||
@ -38,7 +39,7 @@ public class MutateESSuccessRule implements InterfaceMutation, java.io.Serializa
|
||||
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.
|
||||
* @param mutator The other mutation operator
|
||||
*/
|
||||
@ -51,44 +52,6 @@ public class MutateESSuccessRule implements InterfaceMutation, java.io.Serializa
|
||||
return true;
|
||||
} 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
|
||||
* operator
|
||||
* @return A descriptive string.
|
||||
@ -122,20 +85,10 @@ public class MutateESSuccessRule implements InterfaceMutation, java.io.Serializa
|
||||
* @return description
|
||||
*/
|
||||
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.
|
||||
* @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() {
|
||||
public String mutationStepSizeTipText() {
|
||||
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>
|
||||
*
|
||||
|
@ -9,7 +9,7 @@ import wsi.ra.math.RNG;
|
||||
|
||||
|
||||
/**
|
||||
* <p>Title: The JavaEvA</p>
|
||||
* <p>Title: EvA2</p>
|
||||
* <p>Description: </p>
|
||||
* <p>Copyright: Copyright (c) 2003</p>
|
||||
* <p>Company: </p>
|
||||
|
@ -23,7 +23,7 @@ public abstract class AbstractSelProb implements InterfaceSelectionProbability,
|
||||
public abstract Object clone();
|
||||
|
||||
/** 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.
|
||||
* @param population The population to compute.
|
||||
* @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
|
||||
* 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.
|
||||
* @param population The population to compute.
|
||||
* @param input The name of the input.
|
||||
|
@ -21,7 +21,7 @@ public interface InterfaceSelectionProbability {
|
||||
public Object clone();
|
||||
|
||||
/** 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.
|
||||
* @param population The population to compute.
|
||||
* @param input The name of the input.
|
||||
@ -29,7 +29,7 @@ public interface InterfaceSelectionProbability {
|
||||
public void computeSelectionProbability(Population population, String[] input, boolean obeyConst);
|
||||
|
||||
/** 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.
|
||||
* @param population The population to compute.
|
||||
* @param input The name of the input.
|
||||
@ -37,7 +37,7 @@ public interface InterfaceSelectionProbability {
|
||||
public void computeSelectionProbability(Population population, String input, boolean obeyConst);
|
||||
|
||||
/** 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.
|
||||
* @param population The population to compute.
|
||||
* @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
|
||||
* 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.
|
||||
* @param population The population to compute.
|
||||
* @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
|
||||
* 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
|
||||
* minimizied! Small values for data => big values for selectionprob.
|
||||
* @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