More refactoring.. refactor all the things :/
This commit is contained in:
Fabian Becker 2013-01-29 13:46:28 +00:00
parent c16a592a26
commit 736ada3517
378 changed files with 1837 additions and 1452 deletions

View File

@ -12,6 +12,7 @@ package eva2.client;
* $Author: mkron $ * $Author: mkron $
*/ */
import eva2.EvAInfo; import eva2.EvAInfo;
import eva2.client.SplashScreen;
import eva2.gui.*; import eva2.gui.*;
import eva2.server.EvAServer; import eva2.server.EvAServer;
import eva2.server.go.InterfaceGOParameters; import eva2.server.go.InterfaceGOParameters;

View File

@ -1,13 +1,12 @@
package eva2.client; package eva2.client;
import java.net.InetAddress;
import java.net.UnknownHostException;
import eva2.server.EvAMainAdapter; import eva2.server.EvAMainAdapter;
import eva2.server.modules.ModuleAdapter; import eva2.server.modules.ModuleAdapter;
import eva2.tools.jproxy.MainAdapter; import eva2.tools.jproxy.MainAdapter;
import eva2.tools.jproxy.MainAdapterClient; import eva2.tools.jproxy.MainAdapterClient;
import eva2.tools.jproxy.RMIConnection; import eva2.tools.jproxy.RMIConnection;
import java.net.InetAddress;
import java.net.UnknownHostException;
/** /**

View File

@ -31,7 +31,9 @@ public class TerminatorExample {
+ " evals performed. " + " evals performed. "
+ OptimizerFactory.terminatedBecause() + OptimizerFactory.terminatedBecause()
+ " Found solution: "); + " Found solution: ");
for (int i=0; i<f1.getProblemDimension(); i++) System.out.print(sol[i] + " "); for (int i=0; i<f1.getProblemDimension(); i++) {
System.out.print(sol[i] + " ");
}
System.out.println(); System.out.println();
}; };
} }

View File

@ -9,7 +9,9 @@ public class TestingF1PSO {
OptimizerFactory.setEvaluationTerminator(50000); OptimizerFactory.setEvaluationTerminator(50000);
double[] sol = OptimizerFactory.optimizeToDouble(OptimizerFactory.PSO, f1, null); double[] sol = OptimizerFactory.optimizeToDouble(OptimizerFactory.PSO, f1, null);
System.out.println(OptimizerFactory.terminatedBecause() + "\nFound solution: "); System.out.println(OptimizerFactory.terminatedBecause() + "\nFound solution: ");
for (int i=0; i<f1.getProblemDimension(); i++) System.out.print(sol[i] + " "); for (int i=0; i<f1.getProblemDimension(); i++) {
System.out.print(sol[i] + " ");
}
System.out.println(); System.out.println();
}; };
} }

View File

@ -1,5 +1,4 @@
package eva2.examples; package eva2.examples;
import java.util.BitSet;
import eva2.OptimizerFactory; import eva2.OptimizerFactory;
import eva2.server.go.operators.selection.SelectXProbRouletteWheel; import eva2.server.go.operators.selection.SelectXProbRouletteWheel;
import eva2.server.go.operators.terminators.EvaluationTerminator; import eva2.server.go.operators.terminators.EvaluationTerminator;
@ -7,6 +6,7 @@ import eva2.server.go.populations.Population;
import eva2.server.go.problems.B1Problem; import eva2.server.go.problems.B1Problem;
import eva2.server.go.strategies.GeneticAlgorithm; import eva2.server.go.strategies.GeneticAlgorithm;
import eva2.server.modules.GOParameters; import eva2.server.modules.GOParameters;
import java.util.BitSet;
public class TestingGAB1 { public class TestingGAB1 {
public static void main(String[] args) { public static void main(String[] args) {
@ -28,7 +28,9 @@ public class TestingGAB1 {
// run optimization and print intermediate results to a file with given prefix // run optimization and print intermediate results to a file with given prefix
sol = OptimizerFactory.optimizeToBinary(gaParams, "ga-opt-results"); sol = OptimizerFactory.optimizeToBinary(gaParams, "ga-opt-results");
System.out.println(OptimizerFactory.terminatedBecause() + "\nFound solution: "); System.out.println(OptimizerFactory.terminatedBecause() + "\nFound solution: ");
for (int i=0; i<b1.getProblemDimension(); i++) System.out.print(sol.get(i)+" "); for (int i=0; i<b1.getProblemDimension(); i++) {
System.out.print(sol.get(i)+" ");
}
System.out.println(); System.out.println();
}; };
} }

View File

@ -4,14 +4,10 @@
*/ */
package eva2.gui; package eva2.gui;
import eva2.EvAInfo;
import eva2.tools.BasicResourceLoader; import eva2.tools.BasicResourceLoader;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*; import javax.swing.*;
import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener; import javax.swing.event.HyperlinkListener;

View File

@ -13,7 +13,6 @@ import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport; import java.beans.PropertyChangeSupport;
import java.beans.PropertyEditor; import java.beans.PropertyEditor;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;

View File

@ -1,5 +1,11 @@
package eva2.gui; package eva2.gui;
import eva2.server.go.populations.Population;
import eva2.server.go.strategies.GeneticAlgorithm;
import eva2.tools.Pair;
import eva2.tools.SelectedTag;
import eva2.tools.StringTools;
import eva2.tools.Tag;
import java.beans.BeanInfo; import java.beans.BeanInfo;
import java.beans.IntrospectionException; import java.beans.IntrospectionException;
import java.beans.Introspector; import java.beans.Introspector;
@ -10,13 +16,6 @@ import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import eva2.server.go.populations.Population;
import eva2.server.go.strategies.GeneticAlgorithm;
import eva2.tools.Pair;
import eva2.tools.SelectedTag;
import eva2.tools.StringTools;
import eva2.tools.Tag;
/** /**
* Some miscellaneous functions to help with Beans, reflection, conversion and generic display. * Some miscellaneous functions to help with Beans, reflection, conversion and generic display.
@ -234,7 +233,9 @@ public class BeanInspector {
private static void addIndent(StringBuffer sbuf, String indentStr, int indentDepth) { private static void addIndent(StringBuffer sbuf, String indentStr, int indentDepth) {
if (indentStr!=null && (indentDepth>0)) { if (indentStr!=null && (indentDepth>0)) {
for (int i=0; i<indentDepth; i++) sbuf.append(indentStr); for (int i=0; i<indentDepth; i++) {
sbuf.append(indentStr);
}
} }
} }
@ -243,7 +244,9 @@ public class BeanInspector {
if (indentDepth<1) return ""; if (indentDepth<1) return "";
else { else {
StringBuffer sbuf = new StringBuffer(indentStr); StringBuffer sbuf = new StringBuffer(indentStr);
for (int i=2; i<=indentDepth; i++) sbuf.append(indentStr); for (int i=2; i<=indentDepth; i++) {
sbuf.append(indentStr);
}
return sbuf.toString(); return sbuf.toString();
} }
} else return ""; } else return "";

View File

@ -16,8 +16,6 @@ import java.beans.*;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import javax.swing.*; import javax.swing.*;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;
/*==========================================================================* /*==========================================================================*
* CLASS DECLARATION * CLASS DECLARATION

View File

@ -2,12 +2,6 @@ package eva2.gui;
import java.awt.BasicStroke;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Stroke;
import java.util.ArrayList;
import eva2.tools.chart2d.DArray; import eva2.tools.chart2d.DArray;
import eva2.tools.chart2d.DBorder; import eva2.tools.chart2d.DBorder;
import eva2.tools.chart2d.DComponent; import eva2.tools.chart2d.DComponent;
@ -17,6 +11,11 @@ import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointIcon; import eva2.tools.chart2d.DPointIcon;
import eva2.tools.chart2d.DPointSet; import eva2.tools.chart2d.DPointSet;
import eva2.tools.chart2d.DRectangle; import eva2.tools.chart2d.DRectangle;
import java.awt.BasicStroke;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Stroke;
import java.util.ArrayList;
/** /**

View File

@ -12,11 +12,10 @@ package eva2.gui;
/*==========================================================================* /*==========================================================================*
* IMPORTS * IMPORTS
*==========================================================================*/ *==========================================================================*/
import java.net.InetAddress;
import java.util.ArrayList;
import eva2.tools.jproxy.MainAdapterClient; import eva2.tools.jproxy.MainAdapterClient;
import eva2.tools.jproxy.RMIProxyRemote; import eva2.tools.jproxy.RMIProxyRemote;
import java.net.InetAddress;
import java.util.ArrayList;
/*==========================================================================* /*==========================================================================*
* CLASS DECLARATION * CLASS DECLARATION

View File

@ -4,7 +4,6 @@ import java.awt.BorderLayout;
import java.awt.event.WindowAdapter; import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import java.awt.event.WindowEvent;
import java.beans.PropertyEditorSupport; import java.beans.PropertyEditorSupport;
import javax.swing.JFrame; import javax.swing.JFrame;
/** /**
@ -52,7 +51,9 @@ public class EnumEditor extends PropertyEditorSupport {
public String[] getTags() { public String[] getTags() {
if (getValue()==null) return null; if (getValue()==null) return null;
String[] tags = new String[enumConstants.length]; String[] tags = new String[enumConstants.length];
for (int i=0; i<tags.length; i++) tags[i]=enumConstants[i].toString(); for (int i=0; i<tags.length; i++) {
tags[i]=enumConstants[i].toString();
}
return tags; return tags;
} }

View File

@ -9,7 +9,6 @@ package eva2.gui;
* $Date: 2007-11-27 14:37:05 +0100 (Tue, 27 Nov 2007) $ * $Date: 2007-11-27 14:37:05 +0100 (Tue, 27 Nov 2007) $
* $Author: mkron $ * $Author: mkron $
*/ */
import eva2.EvAInfo;
import eva2.server.modules.ModuleAdapter; import eva2.server.modules.ModuleAdapter;
import eva2.server.stat.EvAJob; import eva2.server.stat.EvAJob;
import eva2.tools.ToolBoxGui; import eva2.tools.ToolBoxGui;

View File

@ -4,7 +4,6 @@ import java.awt.Component;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.beans.PropertyEditor; import java.beans.PropertyEditor;
import javax.swing.JTree; import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener; import javax.swing.event.TreeSelectionListener;

View File

@ -13,9 +13,9 @@ package eva2.gui;
* IMPORTS * IMPORTS
*==========================================================================*/ *==========================================================================*/
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.Icon; import javax.swing.Icon;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;
import javax.swing.Action;
/** /**
* *
*/ */

View File

@ -12,8 +12,8 @@ package eva2.gui;
/*==========================================================================* /*==========================================================================*
* IMPORTS * IMPORTS
*==========================================================================*/ *==========================================================================*/
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JComponent; import javax.swing.JComponent;
/** /**
* *

View File

@ -11,6 +11,21 @@ package eva2.gui;
* IMPORTS * IMPORTS
*========================================================================== *==========================================================================
*/ */
import eva2.server.go.individuals.AbstractEAIndividual;
import eva2.server.go.mocco.paretofrontviewer.InterfaceRefPointListener;
import eva2.tools.ToolBoxGui;
import eva2.tools.chart2d.Chart2DDPointIconCircle;
import eva2.tools.chart2d.Chart2DDPointIconContent;
import eva2.tools.chart2d.Chart2DDPointIconCross;
import eva2.tools.chart2d.Chart2DDPointIconPoint;
import eva2.tools.chart2d.Chart2DDPointIconText;
import eva2.tools.chart2d.DArea;
import eva2.tools.chart2d.DBorder;
import eva2.tools.chart2d.DFunction;
import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointIcon;
import eva2.tools.chart2d.DPointSet;
import eva2.tools.chart2d.ScaledBorder;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics; import java.awt.Graphics;
@ -27,29 +42,12 @@ import java.io.Serializable;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;
import javax.swing.JPopupMenu; import javax.swing.JPopupMenu;
import eva2.server.go.individuals.AbstractEAIndividual;
import eva2.server.go.mocco.paretofrontviewer.InterfaceRefPointListener;
import eva2.tools.ToolBoxGui;
import eva2.tools.chart2d.Chart2DDPointIconCircle;
import eva2.tools.chart2d.Chart2DDPointIconContent;
import eva2.tools.chart2d.Chart2DDPointIconCross;
import eva2.tools.chart2d.Chart2DDPointIconPoint;
import eva2.tools.chart2d.Chart2DDPointIconText;
import eva2.tools.chart2d.DArea;
import eva2.tools.chart2d.DBorder;
import eva2.tools.chart2d.DFunction;
import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointIcon;
import eva2.tools.chart2d.DPointSet;
import eva2.tools.chart2d.ScaledBorder;
import java.util.logging.Level;
import java.util.logging.Logger;
/* /*
* ==========================================================================* * ==========================================================================*
* CLASS DECLARATION * CLASS DECLARATION

View File

@ -16,7 +16,6 @@ import java.awt.event.KeyListener;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport; import java.beans.PropertyChangeSupport;
import java.beans.PropertyEditor; import java.beans.PropertyEditor;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;

View File

@ -1,11 +1,11 @@
package eva2.gui; package eva2.gui;
import javax.swing.*;
import java.beans.PropertyEditor;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyChangeListener;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyEditor;
import javax.swing.*;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
@ -44,7 +44,9 @@ public class GenericEpsilonConstraintEditor extends JPanel implements PropertyEd
this.m_TargetPanel.setLayout(new GridLayout(1, 2)); this.m_TargetPanel.setLayout(new GridLayout(1, 2));
this.m_TargetPanel.add(new JLabel("Optimize:")); this.m_TargetPanel.add(new JLabel("Optimize:"));
this.m_Objective = new JComboBox(); this.m_Objective = new JComboBox();
for (int i = 0; i < this.m_EpsilonConstraint.m_TargetValue.length; i++) this.m_Objective.addItem("Objective "+i); for (int i = 0; i < this.m_EpsilonConstraint.m_TargetValue.length; i++) {
this.m_Objective.addItem("Objective "+i);
}
this.m_TargetPanel.add(this.m_Objective); this.m_TargetPanel.add(this.m_Objective);
this.m_Objective.addItemListener(this.objectiveAction); this.m_Objective.addItemListener(this.objectiveAction);
this.m_CustomEditor.add(this.m_TargetPanel, BorderLayout.NORTH); this.m_CustomEditor.add(this.m_TargetPanel, BorderLayout.NORTH);

View File

@ -1,11 +1,11 @@
package eva2.gui; package eva2.gui;
import javax.swing.*;
import java.beans.PropertyEditor;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyChangeListener;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyEditor;
import javax.swing.*;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
@ -44,7 +44,9 @@ public class GenericEpsilonThresholdEditor extends JPanel implements PropertyEdi
this.m_TargetPanel.setLayout(new GridLayout(1, 2)); this.m_TargetPanel.setLayout(new GridLayout(1, 2));
this.m_TargetPanel.add(new JLabel("Optimize:")); this.m_TargetPanel.add(new JLabel("Optimize:"));
this.m_Objective = new JComboBox(); this.m_Objective = new JComboBox();
for (int i = 0; i < this.m_EpsilonThreshhold.m_TargetValue.length; i++) this.m_Objective.addItem("Objective "+i); for (int i = 0; i < this.m_EpsilonThreshhold.m_TargetValue.length; i++) {
this.m_Objective.addItem("Objective "+i);
}
this.m_TargetPanel.add(this.m_Objective); this.m_TargetPanel.add(this.m_Objective);
this.m_Objective.addItemListener(this.objectiveAction); this.m_Objective.addItemListener(this.objectiveAction);
this.m_CustomEditor.add(this.m_TargetPanel, BorderLayout.NORTH); this.m_CustomEditor.add(this.m_TargetPanel, BorderLayout.NORTH);

View File

@ -1,14 +1,14 @@
package eva2.gui; package eva2.gui;
import javax.swing.*;
import java.beans.PropertyEditor;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyChangeListener;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.KeyListener; import java.awt.event.ActionListener;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyEditor;
import javax.swing.*;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -5,6 +5,9 @@ package eva2.gui;
* $Revision: 266 $ $Date: 2007-11-20 14:33:48 +0100 (Tue, 20 Nov 2007) $ $Author: mkron $ * $Revision: 266 $ $Date: 2007-11-20 14:33:48 +0100 (Tue, 20 Nov 2007) $ $Author: mkron $
*/ */
import eva2.EvAInfo;
import eva2.tools.ReflectPackage;
import eva2.tools.jproxy.RMIProxyLocal;
import java.awt.Component; import java.awt.Component;
import java.awt.FontMetrics; import java.awt.FontMetrics;
import java.awt.Graphics; import java.awt.Graphics;
@ -26,10 +29,6 @@ import java.util.Vector;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import eva2.EvAInfo;
import eva2.tools.ReflectPackage;
import eva2.tools.jproxy.RMIProxyLocal;
public class GenericObjectEditor implements PropertyEditor { public class GenericObjectEditor implements PropertyEditor {
private static final Logger logger = Logger.getLogger(GenericObjectEditor.class.getName()); private static final Logger logger = Logger.getLogger(GenericObjectEditor.class.getName());

View File

@ -33,7 +33,6 @@ import eva2.server.go.problems.InterfaceOptimizationTarget;
import eva2.server.go.tools.AbstractObjectEditor; import eva2.server.go.tools.AbstractObjectEditor;
import eva2.server.go.tools.GeneralGOEProperty; import eva2.server.go.tools.GeneralGOEProperty;
import eva2.tools.BasicResourceLoader; import eva2.tools.BasicResourceLoader;
import java.awt.Color;
/** /**
@ -147,7 +146,9 @@ public class GenericOptimizationObjectivesEditor extends JPanel implements Prope
this.m_Targets = new JComponent[list.length]; this.m_Targets = new JComponent[list.length];
this.m_Delete = new JButton[list.length]; this.m_Delete = new JButton[list.length];
String[] cups = new String[8]; String[] cups = new String[8];
for (int i = 0; i < cups.length; i++) cups[i] = ""+(i+1); for (int i = 0; i < cups.length; i++) {
cups[i] = ""+(i+1);
}
// The head title // The head title
gbc.anchor = GridBagConstraints.WEST; gbc.anchor = GridBagConstraints.WEST;
gbc.fill = GridBagConstraints.BOTH; gbc.fill = GridBagConstraints.BOTH;

View File

@ -1,6 +1,10 @@
package eva2.gui; package eva2.gui;
import eva2.server.go.problems.InterfaceOptimizationObjective;
import eva2.server.go.tools.AbstractObjectEditor;
import eva2.server.go.tools.GeneralGOEProperty;
import eva2.tools.BasicResourceLoader;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Component; import java.awt.Component;
import java.awt.Dimension; import java.awt.Dimension;
@ -20,7 +24,6 @@ import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport; import java.beans.PropertyChangeSupport;
import java.beans.PropertyEditor; import java.beans.PropertyEditor;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import javax.swing.JButton; import javax.swing.JButton;
@ -32,11 +35,6 @@ import javax.swing.JTextArea;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.SwingConstants; import javax.swing.SwingConstants;
import eva2.server.go.problems.InterfaceOptimizationObjective;
import eva2.server.go.tools.AbstractObjectEditor;
import eva2.server.go.tools.GeneralGOEProperty;
import eva2.tools.BasicResourceLoader;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
@ -160,7 +158,9 @@ public class GenericOptimizationObjectivesWithParamEditor extends JPanel impleme
this.m_Targets = new JComponent[list.length]; this.m_Targets = new JComponent[list.length];
this.m_Delete = new JButton[list.length]; this.m_Delete = new JButton[list.length];
String[] cups = new String[8]; String[] cups = new String[8];
for (int i = 0; i < cups.length; i++) cups[i] = ""+(i+1); for (int i = 0; i < cups.length; i++) {
cups[i] = ""+(i+1);
}
// The head title // The head title
gbc.anchor = GridBagConstraints.WEST; gbc.anchor = GridBagConstraints.WEST;
gbc.fill = GridBagConstraints.BOTH; gbc.fill = GridBagConstraints.BOTH;
@ -288,7 +288,7 @@ public class GenericOptimizationObjectivesWithParamEditor extends JPanel impleme
} }
if (sum != 0) { if (sum != 0) {
for (int i = 0; i < newW.length; i++) { for (int i = 0; i < newW.length; i++) {
newW[i] = newW[i]/sum; newW[i] /= sum;
} }
m_OptimizationObjectivesWithWeights.setWeights(newW); m_OptimizationObjectivesWithWeights.setWeights(newW);
} }

View File

@ -3,7 +3,6 @@ package eva2.gui;
import javax.swing.*; import javax.swing.*;
import eva2.server.go.SwingWorker;
import eva2.tools.BasicResourceLoader; import eva2.tools.BasicResourceLoader;
import java.beans.PropertyEditor; import java.beans.PropertyEditor;
@ -12,8 +11,6 @@ import java.beans.PropertyChangeListener;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import java.io.*; import java.io.*;
import java.util.Vector;
import java.util.Enumeration;
/** /**
@ -131,7 +128,9 @@ public class GenericRemoteServersEditor extends JPanel implements PropertyEditor
this.m_CPUs = new JComboBox[this.m_RemoteServers.size()]; this.m_CPUs = new JComboBox[this.m_RemoteServers.size()];
this.m_Delete = new JButton[this.m_RemoteServers.size()]; this.m_Delete = new JButton[this.m_RemoteServers.size()];
String[] cups = new String[8]; String[] cups = new String[8];
for (int i = 0; i < cups.length; i++) cups[i] = ""+(i+1); for (int i = 0; i < cups.length; i++) {
cups[i] = ""+(i+1);
}
// The head title // The head title
setGBC(gbc, GridBagConstraints.WEST, GridBagConstraints.BOTH, 0, 1); setGBC(gbc, GridBagConstraints.WEST, GridBagConstraints.BOTH, 0, 1);
this.m_ServerList.add(new JLabel("Status"), gbc); this.m_ServerList.add(new JLabel("Status"), gbc);

View File

@ -1,11 +1,11 @@
package eva2.gui; package eva2.gui;
import javax.swing.*;
import java.beans.PropertyEditor;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyChangeListener;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyEditor;
import javax.swing.*;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -14,17 +14,16 @@ package eva2.gui;
* IMPORTS * IMPORTS
*==========================================================================*/ *==========================================================================*/
import java.awt.BasicStroke;
import java.awt.Color;
import java.io.Serializable;
import java.util.ArrayList;
import eva2.tools.chart2d.DArea; import eva2.tools.chart2d.DArea;
import eva2.tools.chart2d.DMeasures; import eva2.tools.chart2d.DMeasures;
import eva2.tools.chart2d.DPoint; import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointIcon; import eva2.tools.chart2d.DPointIcon;
import eva2.tools.chart2d.DPointSet; import eva2.tools.chart2d.DPointSet;
import eva2.tools.math.Mathematics; import eva2.tools.math.Mathematics;
import java.awt.BasicStroke;
import java.awt.Color;
import java.io.Serializable;
import java.util.ArrayList;
/*==========================================================================* /*==========================================================================*
* CLASS DECLARATION * CLASS DECLARATION
@ -79,8 +78,9 @@ public class GraphPointSet {
public DPointSet getDPointSet() { public DPointSet getDPointSet() {
DPointSet ret = new DPointSet(100); DPointSet ret = new DPointSet(100);
ret.setColor(m_Color); ret.setColor(m_Color);
for (int i = 0; i < m_X.length; i++) for (int i = 0; i < m_X.length; i++) {
ret.addDPoint(m_X[i], m_Y[i]); ret.addDPoint(m_X[i], m_Y[i]);
}
return ret; return ret;
} }

View File

@ -1,5 +1,8 @@
package eva2.gui; package eva2.gui;
import eva2.tools.Pair;
import eva2.tools.StringTools;
import eva2.tools.chart2d.SlimRect;
import java.awt.Color; import java.awt.Color;
import java.awt.FontMetrics; import java.awt.FontMetrics;
import java.awt.Graphics; import java.awt.Graphics;
@ -9,17 +12,12 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.SortedSet; import java.util.SortedSet;
import java.util.TreeSet; import java.util.TreeSet;
import javax.swing.BoxLayout; import javax.swing.BoxLayout;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import eva2.tools.Pair;
import eva2.tools.StringTools;
import eva2.tools.chart2d.SlimRect;
/** /**
* A class representing the legend of a plot. It is created from a list of * A class representing the legend of a plot. It is created from a list of
* GraphPointSets as used in FunctionArea. Painting is done in FunctionArea. As * GraphPointSets as used in FunctionArea. Painting is done in FunctionArea. As

View File

@ -5,11 +5,10 @@ package eva2.gui;
* $ $Date: 2007-12-06 16:05:11 +0100 (Thu, 06 Dec 2007) $ $Author: mkron $ * $ $Date: 2007-12-06 16:05:11 +0100 (Thu, 06 Dec 2007) $ $Author: mkron $
*/ */
import java.net.InetAddress;
import java.util.ArrayList;
import eva2.tools.jproxy.MainAdapterClient; import eva2.tools.jproxy.MainAdapterClient;
import eva2.tools.jproxy.RMIProxyRemote; import eva2.tools.jproxy.RMIProxyRemote;
import java.net.InetAddress;
import java.util.ArrayList;
/** /**
* It represents one plot window in the client GUI. * It represents one plot window in the client GUI.

View File

@ -5,9 +5,7 @@ package eva2.gui;
* $Date: 2006-01-18 11:02:22 +0100 (Wed, 18 Jan 2006) $ $Author: streiche $ * $Date: 2006-01-18 11:02:22 +0100 (Wed, 18 Jan 2006) $ $Author: streiche $
*/ */
import java.awt.BorderLayout;
import java.awt.Component; import java.awt.Component;
import java.awt.Dimension;
import java.awt.Event; import java.awt.Event;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;

View File

@ -5,7 +5,6 @@ import eva2.tools.ToolBoxGui;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.SwingConstants; import javax.swing.SwingConstants;
/** /**

View File

@ -12,8 +12,8 @@ package eva2.gui;
/*==========================================================================* /*==========================================================================*
* IMPORTS * IMPORTS
*==========================================================================*/ *==========================================================================*/
import javax.swing.*;
import java.io.File; import java.io.File;
import javax.swing.*;
public class JExtFileChooser extends JFileChooser{ public class JExtFileChooser extends JFileChooser{
private boolean overwriteWarning = true; private boolean overwriteWarning = true;

View File

@ -12,7 +12,6 @@ package eva2.gui;
/*==========================================================================* /*==========================================================================*
* IMPORTS * IMPORTS
*==========================================================================*/ *==========================================================================*/
import java.awt.Font;
import javax.swing.JMenu; import javax.swing.JMenu;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;

View File

@ -12,14 +12,14 @@ package eva2.gui;
/*==========================================================================* /*==========================================================================*
* IMPORTS * IMPORTS
*==========================================================================*/ *==========================================================================*/
import java.awt.Event;
import java.awt.event.*;
import java.io.*;
import java.util.Hashtable;
import javax.swing.*; import javax.swing.*;
import javax.swing.event.*; import javax.swing.event.*;
import javax.swing.text.*; import javax.swing.text.*;
import javax.swing.undo.*; import javax.swing.undo.*;
import java.io.*;
import java.util.Hashtable;
import java.awt.event.* ;
import java.awt.Event;
public class JTextEditorInternalFrame extends JDocFrame{ public class JTextEditorInternalFrame extends JDocFrame{
@ -138,7 +138,9 @@ public class JTextEditorInternalFrame extends JDocFrame{
hashActions.put(redoAction, actRedo = new RedoAction()); hashActions.put(redoAction, actRedo = new RedoAction());
Action[] actions = textArea.getActions(); Action[] actions = textArea.getActions();
for(int i = 0; i < actions.length; i++) hashActions.put((String)actions[i].getValue(Action.NAME), actions[i]); for(int i = 0; i < actions.length; i++) {
hashActions.put((String)actions[i].getValue(Action.NAME), actions[i]);
}
mnuEdit = new JExtMenu("&Bearbeiten"); mnuEdit = new JExtMenu("&Bearbeiten");
barEdit = new JExtToolBar(); barEdit = new JExtToolBar();

View File

@ -9,7 +9,6 @@ import java.awt.event.ActionListener;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.awt.event.MouseListener; import java.awt.event.MouseListener;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;

View File

@ -11,14 +11,10 @@ package eva2.gui;
*/ */
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Point; import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.JTextArea; import javax.swing.JTextArea;
@ -26,12 +22,7 @@ import javax.swing.JViewport;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import eva2.EvAInfo;
import eva2.tools.BasicResourceLoader;
import java.awt.Color; import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.beans.PropertyChangeListener;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.logging.Handler; import java.util.logging.Handler;
import java.util.logging.LogRecord; import java.util.logging.LogRecord;

View File

@ -1,8 +1,8 @@
package eva2.gui; package eva2.gui;
import java.beans.*;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import java.beans.*;
/** /**

View File

@ -11,11 +11,8 @@ import java.awt.Dimension;
import java.awt.FlowLayout; import java.awt.FlowLayout;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.Robot; import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
@ -32,7 +29,6 @@ import java.util.Locale;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;

View File

@ -3,7 +3,6 @@ package eva2.gui;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; import java.awt.event.ItemListener;
import java.beans.PropertyEditor; import java.beans.PropertyEditor;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
/** /**

View File

@ -7,14 +7,12 @@ package eva2.gui;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Component; import java.awt.Component;
import java.awt.Toolkit;
import java.beans.PropertyEditor; import java.beans.PropertyEditor;
import eva2.EvAInfo; import eva2.EvAInfo;
import eva2.tools.BasicResourceLoader; import eva2.tools.BasicResourceLoader;
import eva2.tools.EVAHELP; import eva2.tools.EVAHELP;
import javax.swing.JDialog; import javax.swing.JDialog;
import javax.swing.JFrame;
/** /**
* *

View File

@ -52,7 +52,9 @@ public class PropertyDoubleArray implements java.io.Serializable {
*/ */
public void setDoubleArray(double[] d) { public void setDoubleArray(double[] d) {
this.m_DoubleArray = new double[d.length][1]; this.m_DoubleArray = new double[d.length][1];
for (int i=0; i<d.length; i++) m_DoubleArray[i][0] = d[i]; for (int i=0; i<d.length; i++) {
m_DoubleArray[i][0] = d[i];
}
m_numCols=1; m_numCols=1;
} }
@ -81,7 +83,9 @@ public class PropertyDoubleArray implements java.io.Serializable {
throw new IllegalArgumentException("Error, invalid column selected, " + col + " of " + m_numCols); throw new IllegalArgumentException("Error, invalid column selected, " + col + " of " + m_numCols);
} }
double[] ret = new double[m_DoubleArray.length]; double[] ret = new double[m_DoubleArray.length];
for (int i=0; i<ret.length; i++) ret[i]=m_DoubleArray[i][col]; for (int i=0; i<ret.length; i++) {
ret[i]=m_DoubleArray[i][col];
}
return ret; return ret;
} }
@ -119,7 +123,9 @@ public class PropertyDoubleArray implements java.io.Serializable {
int inc=0; int inc=0;
for (int i = 0; i < newDD.length; i++) { for (int i = 0; i < newDD.length; i++) {
if (i==k) inc=1; if (i==k) inc=1;
for (int j=0; j<getNumCols(); j++) newDD[i][j] = m_DoubleArray[i+inc][j]; for (int j=0; j<getNumCols(); j++) {
newDD[i][j] = m_DoubleArray[i+inc][j];
}
} }
setDoubleArray(newDD); setDoubleArray(newDD);
} }
@ -134,10 +140,17 @@ public class PropertyDoubleArray implements java.io.Serializable {
if (k<0 || k>= getNumRows()) k=getNumRows()-1; if (k<0 || k>= getNumRows()) k=getNumRows()-1;
double[][] newDD = new double[getNumRows()+1][getNumCols()]; double[][] newDD = new double[getNumRows()+1][getNumCols()];
for (int i = 0; i < getNumRows(); i++) for (int i = 0; i < getNumRows(); i++) {
for (int j=0; j<getNumCols(); j++) newDD[i][j] = m_DoubleArray[i][j]; for (int j = 0; j<getNumCols(); j++) {
if (k>=0) for (int j=0; j<getNumCols(); j++) newDD[newDD.length-1][j] = newDD[k][j]; newDD[i][j] = m_DoubleArray[i][j];
else for (int j=0; j<getNumCols(); j++) newDD[newDD.length-1][j] = 1.; // if the array was empty }
}
if (k>=0) for (int j=0; j<getNumCols(); j++) {
newDD[newDD.length-1][j] = newDD[k][j];
}
else for (int j=0; j<getNumCols(); j++) {
newDD[newDD.length-1][j] = 1.;
} // if the array was empty
setDoubleArray(newDD); setDoubleArray(newDD);
} }

View File

@ -1,13 +1,12 @@
package eva2.gui; package eva2.gui;
import java.beans.PropertyDescriptor;
import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
import eva2.server.go.InterfaceTerminator; import eva2.server.go.InterfaceTerminator;
import eva2.server.go.individuals.codings.gp.GPArea; import eva2.server.go.individuals.codings.gp.GPArea;
import eva2.tools.SelectedTag; import eva2.tools.SelectedTag;
import eva2.tools.StringSelection; import eva2.tools.StringSelection;
import java.beans.PropertyDescriptor;
import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
public class PropertyEditorProvider { public class PropertyEditorProvider {
final static boolean TRACE = false; final static boolean TRACE = false;

View File

@ -53,7 +53,9 @@ public class PropertyOptimizationObjectivesWithParam implements java.io.Serializ
if (this.m_Weights == null) { if (this.m_Weights == null) {
this.m_Weights = new double[d.length]; this.m_Weights = new double[d.length];
for (int i = 0; i < this.m_Weights.length; i++) this.m_Weights[i] = 1.0; for (int i = 0; i < this.m_Weights.length; i++) {
this.m_Weights[i] = 1.0;
}
return; return;
} }
@ -61,11 +63,15 @@ public class PropertyOptimizationObjectivesWithParam implements java.io.Serializ
if (d.length > this.m_Weights.length) { if (d.length > this.m_Weights.length) {
double[] newWeights = new double[d.length]; double[] newWeights = new double[d.length];
for (int i = 0; i < this.m_Weights.length; i++) newWeights[i] = this.m_Weights[i]; for (int i = 0; i < this.m_Weights.length; i++) {
newWeights[i] = this.m_Weights[i];
}
this.m_Weights = newWeights; this.m_Weights = newWeights;
} else { } else {
double[] newWeights = new double[d.length]; double[] newWeights = new double[d.length];
for (int i = 0; i < d.length; i++) newWeights[i] = this.m_Weights[i]; for (int i = 0; i < d.length; i++) {
newWeights[i] = this.m_Weights[i];
}
this.m_Weights = newWeights; this.m_Weights = newWeights;
} }
} }

View File

@ -13,8 +13,6 @@ import eva2.tools.EVAHELP;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.beans.PropertyEditor; import java.beans.PropertyEditor;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.JButton; import javax.swing.JButton;

View File

@ -1,10 +1,9 @@
package eva2.gui; package eva2.gui;
import eva2.tools.jproxy.RMIInvocationHandler;
import java.rmi.Naming; import java.rmi.Naming;
import java.util.ArrayList; import java.util.ArrayList;
import eva2.tools.jproxy.RMIInvocationHandler;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -24,8 +24,6 @@ import javax.swing.BorderFactory;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingConstants; import javax.swing.SwingConstants;
/** /**
* *

View File

@ -9,11 +9,10 @@ package eva2.gui;
* $Date: 2007-10-23 13:43:24 +0200 (Tue, 23 Oct 2007) $ * $Date: 2007-10-23 13:43:24 +0200 (Tue, 23 Oct 2007) $
* $Author: mkron $ * $Author: mkron $
*/ */
import java.beans.*;
import java.awt.*;
import javax.swing.*;
import eva2.server.stat.GenericStatistics; import eva2.server.stat.GenericStatistics;
import java.awt.*;
import java.beans.*;
import javax.swing.*;
public class StatisticsEditor implements PropertyEditor { public class StatisticsEditor implements PropertyEditor {

View File

@ -10,19 +10,17 @@ package eva2.gui;
* $Author: marcekro $ * $Author: marcekro $
*/ */
import eva2.EvAInfo;
import eva2.tools.BasicResourceLoader;
import eva2.tools.SelectedTag;
import eva2.tools.Tag;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Toolkit; import java.awt.Toolkit;
import java.awt.event.WindowAdapter; import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import java.awt.event.WindowEvent;
import java.beans.PropertyEditorManager; import java.beans.PropertyEditorManager;
import java.beans.PropertyEditorSupport; import java.beans.PropertyEditorSupport;
import javax.swing.JFrame; import javax.swing.JFrame;
import eva2.EvAInfo;
import eva2.tools.BasicResourceLoader;
import eva2.tools.SelectedTag;
import eva2.tools.Tag;
/** /**
* *
*/ */

View File

@ -12,15 +12,13 @@ package eva2.gui;
/*==========================================================================* /*==========================================================================*
* IMPORTS * IMPORTS
*==========================================================================*/ *==========================================================================*/
import java.awt.Color;
import javax.swing.JPanel;
import eva2.server.go.problems.Interface2DBorderProblem; import eva2.server.go.problems.Interface2DBorderProblem;
import eva2.server.go.problems.InterfaceFirstOrderDerivableProblem; import eva2.server.go.problems.InterfaceFirstOrderDerivableProblem;
import eva2.tools.chart2d.DRectangle; import eva2.tools.chart2d.DRectangle;
import eva2.tools.diagram.ColorBarCalculator; import eva2.tools.diagram.ColorBarCalculator;
import eva2.tools.math.Mathematics; import eva2.tools.math.Mathematics;
import java.awt.Color;
import javax.swing.JPanel;
/*==========================================================================* /*==========================================================================*
@ -121,7 +119,9 @@ public class TopoPlot extends Plot {
if (tmp > max) max = tmp; if (tmp > max) max = tmp;
if (withGradientsIfAvailable && (problem instanceof InterfaceFirstOrderDerivableProblem)) { if (withGradientsIfAvailable && (problem instanceof InterfaceFirstOrderDerivableProblem)) {
double[] deriv = ((InterfaceFirstOrderDerivableProblem)problem).getFirstOrderGradients(problem.project2DPoint(pos)); double[] deriv = ((InterfaceFirstOrderDerivableProblem)problem).getFirstOrderGradients(problem.project2DPoint(pos));
for (int i=0; i<2;i++) maxDeriv=Math.max(maxDeriv, Math.abs(deriv[i])); // maximum deriv of first 2 dims for (int i=0; i<2;i++) {
maxDeriv=Math.max(maxDeriv, Math.abs(deriv[i]));
} // maximum deriv of first 2 dims
} }
} // for y } // for y

View File

@ -4,13 +4,13 @@
*/ */
package eva2.gui.utils; package eva2.gui.utils;
import javax.swing.*;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicTabbedPaneUI;
import java.awt.*; import java.awt.*;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.awt.event.MouseListener; import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener; import java.awt.event.MouseMotionListener;
import javax.swing.*;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicTabbedPaneUI;
public class CustomTabbedPaneUI extends BasicTabbedPaneUI { public class CustomTabbedPaneUI extends BasicTabbedPaneUI {

View File

@ -19,8 +19,8 @@ import eva2.tools.jproxy.MainAdapterClient;
import eva2.tools.jproxy.RMIProxyLocal; import eva2.tools.jproxy.RMIProxyLocal;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;

View File

@ -2,6 +2,7 @@ package eva2.server.go;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.gui.JParaPanel; import eva2.gui.JParaPanel;
import eva2.server.go.SwingWorker;
import eva2.server.go.individuals.AbstractEAIndividual; import eva2.server.go.individuals.AbstractEAIndividual;
import eva2.server.go.individuals.ESIndividualDoubleData; import eva2.server.go.individuals.ESIndividualDoubleData;
import eva2.server.go.individuals.GAIndividualDoubleData; import eva2.server.go.individuals.GAIndividualDoubleData;
@ -231,7 +232,9 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
m_Continue.setEnabled(true); m_Continue.setEnabled(true);
m_StopButton.setEnabled(false); m_StopButton.setEnabled(false);
worker.interrupt(); worker.interrupt();
for (int i = 0; i < m_MultiRuns; i++) m_Plot.clearGraph(1000 +i); for (int i = 0; i < m_MultiRuns; i++) {
m_Plot.clearGraph(1000 +i);
}
} }
}; };
@ -448,7 +451,9 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
System.out.println("Failed to close output file!"); System.out.println("Failed to close output file!");
} }
} }
if (this.show) for (int i = 0; i < this.m_MultiRuns; i++) this.m_Plot.clearGraph(1000 +i); if (this.show) for (int i = 0; i < this.m_MultiRuns; i++) {
this.m_Plot.clearGraph(1000 +i);
}
updateStatus(0); updateStatus(0);
if (this.show) this.m_StatusField.setText("Finished..."); if (this.show) this.m_StatusField.setText("Finished...");
return "All Done"; return "All Done";
@ -573,7 +578,9 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
tmpLine.append("\t"); tmpLine.append("\t");
tmpLine.append(population.getBestEAIndividual().getFitness(0)); tmpLine.append(population.getBestEAIndividual().getFitness(0));
tmpLine.append("\t"); tmpLine.append("\t");
for (int i = 0; i < population.size(); i++) tmpd += ((AbstractEAIndividual)population.get(i)).getFitness(0)/(double)population.size(); for (int i = 0; i < population.size(); i++) {
tmpd += ((AbstractEAIndividual)population.get(i)).getFitness(0)/(double)population.size();
}
tmpLine.append("\t"); tmpLine.append("\t");
tmpLine.append(tmpd); tmpLine.append(tmpd);
tmpLine.append("\t"); tmpLine.append("\t");

View File

@ -1,8 +1,7 @@
package eva2.server.go; package eva2.server.go;
import java.util.List;
import eva2.server.go.problems.InterfaceAdditionalPopulationInformer; import eva2.server.go.problems.InterfaceAdditionalPopulationInformer;
import java.util.List;
public interface InterfaceNotifyOnInformers { public interface InterfaceNotifyOnInformers {
/** /**

View File

@ -2,6 +2,7 @@ package eva2.server.go;
import eva2.gui.JParaPanel; import eva2.gui.JParaPanel;
import eva2.gui.PropertyDoubleArray; import eva2.gui.PropertyDoubleArray;
import eva2.server.go.SwingWorker;
import eva2.server.go.individuals.AbstractEAIndividual; import eva2.server.go.individuals.AbstractEAIndividual;
import eva2.server.go.mocco.*; import eva2.server.go.mocco.*;
import eva2.server.go.mocco.paretofrontviewer.MOCCOViewer; import eva2.server.go.mocco.paretofrontviewer.MOCCOViewer;
@ -17,7 +18,6 @@ import java.awt.Dimension;
import java.awt.GridLayout; import java.awt.GridLayout;
import java.awt.event.WindowAdapter; import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import java.awt.event.WindowEvent;
import java.io.Serializable;
import java.io.*; import java.io.*;
import javax.swing.*; import javax.swing.*;

View File

@ -1,13 +1,12 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import java.util.BitSet;
import eva2.server.go.operators.crossover.CrossoverESDefault; import eva2.server.go.operators.crossover.CrossoverESDefault;
import eva2.server.go.operators.mutation.InterfaceMutation; import eva2.server.go.operators.mutation.InterfaceMutation;
import eva2.server.go.operators.mutation.MutateESGlobal; import eva2.server.go.operators.mutation.MutateESGlobal;
import eva2.server.go.problems.InterfaceHasInitRange; import eva2.server.go.problems.InterfaceHasInitRange;
import eva2.server.go.problems.InterfaceOptimizationProblem; import eva2.server.go.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.util.BitSet;
/** This individual uses a real-valued genotype to code for binary values, either /** This individual uses a real-valued genotype to code for binary values, either
@ -206,9 +205,13 @@ public class ESIndividualBinaryData extends AbstractEAIndividual implements Inte
String result = ""; String result = "";
result += "ESIndividual coding double: ("; result += "ESIndividual coding double: (";
result += "Fitness {"; result += "Fitness {";
for (int i = 0; i < this.m_Fitness.length; i++) result += this.m_Fitness[i] + ";"; for (int i = 0; i < this.m_Fitness.length; i++) {
result += this.m_Fitness[i] + ";";
}
result += "}/SelProb{"; result += "}/SelProb{";
for (int i = 0; i < this.m_SelectionProbability.length; i++) result += this.m_SelectionProbability[i] + ";"; for (int i = 0; i < this.m_SelectionProbability.length; i++) {
result += this.m_SelectionProbability[i] + ";";
}
result += "})\n Value: "; result += "})\n Value: ";
result += "["; result += "[";
for (int i = 0; i < this.m_Genotype.length; i++) { for (int i = 0; i < this.m_Genotype.length; i++) {

View File

@ -223,9 +223,13 @@ public class ESIndividualIntegerData extends AbstractEAIndividual implements Int
String result = ""; String result = "";
result += "ESIndividual coding int: ("; result += "ESIndividual coding int: (";
result += "Fitness {"; result += "Fitness {";
for (int i = 0; i < this.m_Fitness.length; i++) result += this.m_Fitness[i] + ";"; for (int i = 0; i < this.m_Fitness.length; i++) {
result += this.m_Fitness[i] + ";";
}
result += "}/SelProb{"; result += "}/SelProb{";
for (int i = 0; i < this.m_SelectionProbability.length; i++) result += this.m_SelectionProbability[i] + ";"; for (int i = 0; i < this.m_SelectionProbability.length; i++) {
result += this.m_SelectionProbability[i] + ";";
}
result += "})\n Value: "; result += "})\n Value: ";
result += "["; result += "[";
for (int i = 0; i < this.m_Genotype.length; i++) { for (int i = 0; i < this.m_Genotype.length; i++) {

View File

@ -252,9 +252,13 @@ public class ESIndividualPermutationData extends AbstractEAIndividual implements
String result = ""; String result = "";
result += "ESIndividual coding permutation: ("; result += "ESIndividual coding permutation: (";
result += "Fitness {"; result += "Fitness {";
for (int i = 0; i < this.m_Fitness.length; i++) result += this.m_Fitness[i] + ";"; for (int i = 0; i < this.m_Fitness.length; i++) {
result += this.m_Fitness[i] + ";";
}
result += "}/SelProb{"; result += "}/SelProb{";
for (int i = 0; i < this.m_SelectionProbability.length; i++) result += this.m_SelectionProbability[i] + ";"; for (int i = 0; i < this.m_SelectionProbability.length; i++) {
result += this.m_SelectionProbability[i] + ";";
}
result += "})\n Value: "; result += "})\n Value: ";
result += "["; result += "[";
for (int i = 0; i < this.m_Genotype.length; i++) { for (int i = 0; i < this.m_Genotype.length; i++) {

View File

@ -1,12 +1,11 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import java.util.BitSet;
import eva2.server.go.operators.mutation.InterfaceMutation; import eva2.server.go.operators.mutation.InterfaceMutation;
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.math.RNG; import eva2.tools.math.RNG;
import java.util.BitSet;
/** This individual combines a binary and a real-valued phenotype. /** This individual combines a binary and a real-valued phenotype.
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
@ -139,12 +138,16 @@ public class GAESIndividualBinaryDoubleData extends AbstractEAIndividual impleme
numTmp = (AbstractEAIndividual)this.getNumbers(); numTmp = (AbstractEAIndividual)this.getNumbers();
numPop = new Population(); numPop = new Population();
for (int i = 0; i < partners.size(); i++) numPop.add(((GAESIndividualBinaryDoubleData)partners.get(i)).getNumbers()); for (int i = 0; i < partners.size(); i++) {
numPop.add(((GAESIndividualBinaryDoubleData)partners.get(i)).getNumbers());
}
resNum = numTmp.mateWith(numPop); resNum = numTmp.mateWith(numPop);
binTmp = (AbstractEAIndividual)this.getBitSet(); binTmp = (AbstractEAIndividual)this.getBitSet();
binPop = new Population(); binPop = new Population();
for (int i = 0; i < partners.size(); i++) binPop.add(((GAESIndividualBinaryDoubleData)partners.get(i)).getBitSet()); for (int i = 0; i < partners.size(); i++) {
binPop.add(((GAESIndividualBinaryDoubleData)partners.get(i)).getBitSet());
}
resBin = binTmp.mateWith(binPop); resBin = binTmp.mateWith(binPop);
result = new GAESIndividualBinaryDoubleData[resNum.length]; result = new GAESIndividualBinaryDoubleData[resNum.length];
@ -172,7 +175,9 @@ public class GAESIndividualBinaryDoubleData extends AbstractEAIndividual impleme
result[i+1] = (AbstractEAIndividual) ((AbstractEAIndividual)partners.get(i)).clone(); result[i+1] = (AbstractEAIndividual) ((AbstractEAIndividual)partners.get(i)).clone();
} }
} }
for (int i = 0; i < result.length; i++) result[i].giveNewName(); for (int i = 0; i < result.length; i++) {
result[i].giveNewName();
}
return result; return result;
} }

View File

@ -1,14 +1,13 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import java.util.BitSet;
import eva2.server.go.operators.crossover.CrossoverGAGINPoint; import eva2.server.go.operators.crossover.CrossoverGAGINPoint;
import eva2.server.go.operators.crossover.InterfaceCrossover; import eva2.server.go.operators.crossover.InterfaceCrossover;
import eva2.server.go.operators.mutation.InterfaceMutation; import eva2.server.go.operators.mutation.InterfaceMutation;
import eva2.server.go.operators.mutation.MutateGANBit; import eva2.server.go.operators.mutation.MutateGANBit;
import eva2.server.go.problems.InterfaceOptimizationProblem; import eva2.server.go.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.util.BitSet;
/** This individual uses a binary genotype to code for binary values. /** This individual uses a binary genotype to code for binary values.
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
@ -126,8 +125,10 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
return this.m_Fitness; return this.m_Fitness;
} }
/** This method will return a string description of the GAIndividal /**
* noteably the Genotype. * This method will return a string description of the GAIndividal
* notably the Genotype.
*
* @return A descriptive string * @return A descriptive string
*/ */
@Override @Override
@ -135,9 +136,13 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
String result = ""; String result = "";
result += "GAIndividual: ("; result += "GAIndividual: (";
result += "Fitness {"; result += "Fitness {";
for (int i = 0; i < this.m_Fitness.length; i++) result += this.m_Fitness[i] + ";"; for (int i = 0; i < this.m_Fitness.length; i++) {
result += this.m_Fitness[i] + ";";
}
result += "}/SelProb{"; result += "}/SelProb{";
for (int i = 0; i < this.m_SelectionProbability.length; i++) result += this.m_SelectionProbability[i] + ";"; for (int i = 0; i < this.m_SelectionProbability.length; i++) {
result += this.m_SelectionProbability[i] + ";";
}
result += "})\n Value: "; result += "})\n Value: ";
result += "{"; result += "{";
for (int i = 0; i < this.m_GenotypeLength; i++) { for (int i = 0; i < this.m_GenotypeLength; i++) {
@ -149,9 +154,6 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
result += "\n Mutation ("+this.m_MutationProbability+"):" + this.m_MutationOperator.getStringRepresentation(); result += "\n Mutation ("+this.m_MutationProbability+"):" + this.m_MutationOperator.getStringRepresentation();
return result; return result;
} }
/************************************************************************************
* InterfaceGAIndividual methods
*/
/** This method allows you to read the binary data /** This method allows you to read the binary data
* @return BitSet representing the binary data. * @return BitSet representing the binary data.
@ -161,8 +163,10 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
return this.m_Genotype; return this.m_Genotype;
} }
/** This method allows you to set the binary data, this can be used for /**
* This method allows you to set the binary data, this can be used for
* memetic algorithms. * memetic algorithms.
*
* @param binaryData The new binary data. * @param binaryData The new binary data.
*/ */
@Override @Override

View File

@ -1,8 +1,6 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import java.util.BitSet;
import eva2.server.go.individuals.codings.ga.GAStandardCodingDouble; import eva2.server.go.individuals.codings.ga.GAStandardCodingDouble;
import eva2.server.go.individuals.codings.ga.InterfaceGADoubleCoding; import eva2.server.go.individuals.codings.ga.InterfaceGADoubleCoding;
import eva2.server.go.operators.crossover.CrossoverGAGINPoint; import eva2.server.go.operators.crossover.CrossoverGAGINPoint;
@ -11,6 +9,7 @@ import eva2.server.go.operators.mutation.InterfaceMutation;
import eva2.server.go.operators.mutation.MutateGAUniform; import eva2.server.go.operators.mutation.MutateGAUniform;
import eva2.server.go.problems.InterfaceOptimizationProblem; import eva2.server.go.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.util.BitSet;
/** This individual uses a binary genotype to code for double values /** This individual uses a binary genotype to code for double values
* using two alternative encodings. * using two alternative encodings.
@ -247,9 +246,13 @@ public class GAIndividualDoubleData extends AbstractEAIndividual implements Inte
String result = ""; String result = "";
result += "GAIndividual coding double: ("; result += "GAIndividual coding double: (";
result += "Fitness {"; result += "Fitness {";
for (int i = 0; i < this.m_Fitness.length; i++) result += this.m_Fitness[i] + ";"; for (int i = 0; i < this.m_Fitness.length; i++) {
result += this.m_Fitness[i] + ";";
}
result += "}/SelProb{"; result += "}/SelProb{";
for (int i = 0; i < this.m_SelectionProbability.length; i++) result += this.m_SelectionProbability[i] + ";"; for (int i = 0; i < this.m_SelectionProbability.length; i++) {
result += this.m_SelectionProbability[i] + ";";
}
result += "})\n Value: "; result += "})\n Value: ";
result += "["; result += "[";
double[] d = this.getDoubleData(); double[] d = this.getDoubleData();

View File

@ -1,8 +1,6 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import java.util.BitSet;
import eva2.server.go.individuals.codings.ga.GAStandardCodingInteger; import eva2.server.go.individuals.codings.ga.GAStandardCodingInteger;
import eva2.server.go.individuals.codings.ga.InterfaceGAIntegerCoding; import eva2.server.go.individuals.codings.ga.InterfaceGAIntegerCoding;
import eva2.server.go.operators.crossover.CrossoverGAGINPoint; import eva2.server.go.operators.crossover.CrossoverGAGINPoint;
@ -10,6 +8,7 @@ import eva2.server.go.operators.mutation.InterfaceMutation;
import eva2.server.go.operators.mutation.MutateGANBit; import eva2.server.go.operators.mutation.MutateGANBit;
import eva2.server.go.problems.InterfaceOptimizationProblem; import eva2.server.go.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.util.BitSet;
/** This individual uses a binary genotype to code for binary values using /** This individual uses a binary genotype to code for binary values using
* two alternative encodings. * two alternative encodings.
@ -273,9 +272,13 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
String result = ""; String result = "";
result += "GAIndividual coding int: ("; result += "GAIndividual coding int: (";
result += "Fitness {"; result += "Fitness {";
for (int i = 0; i < this.m_Fitness.length; i++) result += this.m_Fitness[i] + ";"; for (int i = 0; i < this.m_Fitness.length; i++) {
result += this.m_Fitness[i] + ";";
}
result += "}/SelProb{"; result += "}/SelProb{";
for (int i = 0; i < this.m_SelectionProbability.length; i++) result += this.m_SelectionProbability[i] + ";"; for (int i = 0; i < this.m_SelectionProbability.length; i++) {
result += this.m_SelectionProbability[i] + ";";
}
result += "})\n Value: "; result += "})\n Value: ";
result += "["; result += "[";
int[] d = this.getIntegerData(); int[] d = this.getIntegerData();
@ -295,7 +298,9 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
result += "]\n"; result += "]\n";
result += "{"; result += "{";
int overallLength = 0; int overallLength = 0;
for (int i = 0; i < this.m_CodingLenghts.length; i++) overallLength += this.m_CodingLenghts[i]; for (int i = 0; i < this.m_CodingLenghts.length; i++) {
overallLength += this.m_CodingLenghts[i];
}
for (int i = 0; i < overallLength; i++) { for (int i = 0; i < overallLength; i++) {
if (this.m_Genotype.get(i)) result += "1"; if (this.m_Genotype.get(i)) result += "1";
else result += "0"; else result += "0";
@ -333,14 +338,18 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
@Override @Override
public int getGenotypeLength() { public int getGenotypeLength() {
int overallLength = 0; int overallLength = 0;
for (int i = 0; i < this.m_CodingLenghts.length; i++) overallLength += this.m_CodingLenghts[i]; for (int i = 0; i < this.m_CodingLenghts.length; i++) {
overallLength += this.m_CodingLenghts[i];
}
return overallLength; return overallLength;
} }
@Override @Override
public void defaultInit(InterfaceOptimizationProblem prob) { public void defaultInit(InterfaceOptimizationProblem prob) {
int overallLength = 0; int overallLength = 0;
for (int i = 0; i < this.m_CodingLenghts.length; i++) overallLength += this.m_CodingLenghts[i]; for (int i = 0; i < this.m_CodingLenghts.length; i++) {
overallLength += this.m_CodingLenghts[i];
}
for (int i = 0; i < overallLength; i++) { for (int i = 0; i < overallLength; i++) {
if (RNG.flipCoin(0.5)) this.m_Genotype.set(i); if (RNG.flipCoin(0.5)) this.m_Genotype.set(i);
else this.m_Genotype.clear(i); else this.m_Genotype.clear(i);
@ -352,7 +361,9 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
@Override @Override
public void defaultMutate() { public void defaultMutate() {
int overallLength = 0; int overallLength = 0;
for (int i = 0; i < this.m_CodingLenghts.length; i++) overallLength += this.m_CodingLenghts[i]; for (int i = 0; i < this.m_CodingLenghts.length; i++) {
overallLength += this.m_CodingLenghts[i];
}
int mutationIndex = RNG.randomInt(0, overallLength); int mutationIndex = RNG.randomInt(0, overallLength);
if (this.m_Genotype.get(mutationIndex)) this.m_Genotype.clear(mutationIndex); if (this.m_Genotype.get(mutationIndex)) this.m_Genotype.clear(mutationIndex);
else this.m_Genotype.set(mutationIndex); else this.m_Genotype.set(mutationIndex);

View File

@ -134,12 +134,16 @@ public class GAPIndividualProgramData extends AbstractEAIndividual implements In
numTmp = (AbstractEAIndividual)this.getNumbers(); numTmp = (AbstractEAIndividual)this.getNumbers();
numPop = new Population(); numPop = new Population();
for (int i = 0; i < partners.size(); i++) numPop.add(((GAPIndividualProgramData)partners.get(i)).getNumbers()); for (int i = 0; i < partners.size(); i++) {
numPop.add(((GAPIndividualProgramData)partners.get(i)).getNumbers());
}
resNum = numTmp.mateWith(numPop); resNum = numTmp.mateWith(numPop);
binTmp = (AbstractEAIndividual)this.getProgramRepresentation(); binTmp = (AbstractEAIndividual)this.getProgramRepresentation();
binPop = new Population(); binPop = new Population();
for (int i = 0; i < partners.size(); i++) binPop.add(((GAPIndividualProgramData)partners.get(i)).getProgramRepresentation()); for (int i = 0; i < partners.size(); i++) {
binPop.add(((GAPIndividualProgramData)partners.get(i)).getProgramRepresentation());
}
resBin = binTmp.mateWith(binPop); resBin = binTmp.mateWith(binPop);
result = new GAPIndividualProgramData[resNum.length]; result = new GAPIndividualProgramData[resNum.length];
@ -156,7 +160,9 @@ public class GAPIndividualProgramData extends AbstractEAIndividual implements In
result[i+1] = (AbstractEAIndividual) ((AbstractEAIndividual)partners.get(i)).clone(); result[i+1] = (AbstractEAIndividual) ((AbstractEAIndividual)partners.get(i)).clone();
} }
} }
for (int i = 0; i < result.length; i++) result[i].giveNewName(); for (int i = 0; i < result.length; i++) {
result[i].giveNewName();
}
return result; return result;
} }

View File

@ -1,9 +1,6 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import java.util.ArrayList;
import java.util.BitSet;
import eva2.server.go.individuals.codings.gp.AbstractGPNode; import eva2.server.go.individuals.codings.gp.AbstractGPNode;
import eva2.server.go.individuals.codings.gp.GPArea; import eva2.server.go.individuals.codings.gp.GPArea;
import eva2.server.go.individuals.codings.gp.InterfaceProgram; import eva2.server.go.individuals.codings.gp.InterfaceProgram;
@ -12,6 +9,8 @@ import eva2.server.go.operators.mutation.InterfaceMutation;
import eva2.server.go.operators.mutation.MutateDefault; import eva2.server.go.operators.mutation.MutateDefault;
import eva2.server.go.problems.InterfaceOptimizationProblem; import eva2.server.go.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.util.ArrayList;
import java.util.BitSet;
/** This individual uses a binary genotype to code for a tree-based representation /** This individual uses a binary genotype to code for a tree-based representation
* using a BNF grammar, see also Grammatical Evolution. * using a BNF grammar, see also Grammatical Evolution.
@ -154,7 +153,9 @@ public class GEIndividualProgramData extends AbstractEAIndividual implements Int
// Now i get a sorted list // Now i get a sorted list
ArrayList[] directList = new ArrayList[maxArity + 1]; ArrayList[] directList = new ArrayList[maxArity + 1];
for (int i = 0; i < directList.length; i++) directList[i] = new ArrayList(); for (int i = 0; i < directList.length; i++) {
directList[i] = new ArrayList();
}
for (int i = 0; i < area.size(); i++) { for (int i = 0; i < area.size(); i++) {
directList[((AbstractGPNode) area.get(i)).getArity()].add(area.get(i)); directList[((AbstractGPNode) area.get(i)).getArity()].add(area.get(i));
} }
@ -173,7 +174,9 @@ public class GEIndividualProgramData extends AbstractEAIndividual implements Int
// this is a <opX> <expr> <expr>.... // this is a <opX> <expr> <expr>....
if (directList[i].size() > 0) { if (directList[i].size() > 0) {
tmpRule[0] = i+1; tmpRule[0] = i+1;
for (int j = 1; j < i+1; j++) tmpRule[j] = 0; for (int j = 1; j < i+1; j++) {
tmpRule[j] = 0;
}
} else { } else {
tmpRule = null; tmpRule = null;
} }
@ -228,7 +231,9 @@ public class GEIndividualProgramData extends AbstractEAIndividual implements Int
result += "T \t := \t{"; result += "T \t := \t{";
this.m_Area[t].compileReducedList(); this.m_Area[t].compileReducedList();
ArrayList area = this.m_Area[t].getReducedList(); ArrayList area = this.m_Area[t].getReducedList();
for (int i = 0; i < area.size(); i++) result += ((AbstractGPNode)area.get(i)).getStringRepresentation()+", "; for (int i = 0; i < area.size(); i++) {
result += ((AbstractGPNode)area.get(i)).getStringRepresentation()+", ";
}
result += "}\n"; result += "}\n";
// now the S // now the S
result += "S \t := \t<expr>\n\n"; result += "S \t := \t<expr>\n\n";
@ -250,13 +255,17 @@ public class GEIndividualProgramData extends AbstractEAIndividual implements Int
// These are the GP-Terminals // These are the GP-Terminals
tmpNodes = (AbstractGPNode[])this.m_Rules[t][i]; tmpNodes = (AbstractGPNode[])this.m_Rules[t][i];
result += "1. \t := \t<var> \t::\t"+ tmpNodes[0].getStringRepresentation()+"\n"; result += "1. \t := \t<var> \t::\t"+ tmpNodes[0].getStringRepresentation()+"\n";
for (int j = 1; j < tmpNodes.length; j++) result += "\t \t \t \t \t \t"+ tmpNodes[j].getStringRepresentation()+"\n"; for (int j = 1; j < tmpNodes.length; j++) {
result += "\t \t \t \t \t \t"+ tmpNodes[j].getStringRepresentation()+"\n";
}
} else { } else {
// These are the GP-Functions // These are the GP-Functions
tmpNodes = (AbstractGPNode[])this.m_Rules[t][i]; tmpNodes = (AbstractGPNode[])this.m_Rules[t][i];
if (tmpNodes.length > 0) { if (tmpNodes.length > 0) {
result += i+". \t := \t<op"+(i-1)+"> \t::\t"+ tmpNodes[0].getStringRepresentation()+"\n"; result += i+". \t := \t<op"+(i-1)+"> \t::\t"+ tmpNodes[0].getStringRepresentation()+"\n";
for (int j = 1; j < tmpNodes.length; j++) result += "\t \t \t \t \t \t"+ tmpNodes[j].getStringRepresentation()+"\n"; for (int j = 1; j < tmpNodes.length; j++) {
result += "\t \t \t \t \t \t"+ tmpNodes[j].getStringRepresentation()+"\n";
}
} }
} }
} }

View File

@ -231,9 +231,13 @@ public class GIIndividualIntegerData extends AbstractEAIndividual implements Int
String result = ""; String result = "";
result += "GIIndividual coding int: ("; result += "GIIndividual coding int: (";
result += "Fitness {"; result += "Fitness {";
for (int i = 0; i < this.m_Fitness.length; i++) result += this.m_Fitness[i] + ";"; for (int i = 0; i < this.m_Fitness.length; i++) {
result += this.m_Fitness[i] + ";";
}
result += "}/SelProb{"; result += "}/SelProb{";
for (int i = 0; i < this.m_SelectionProbability.length; i++) result += this.m_SelectionProbability[i] + ";"; for (int i = 0; i < this.m_SelectionProbability.length; i++) {
result += this.m_SelectionProbability[i] + ";";
}
result += "})\n Value: "; result += "})\n Value: ";
result += "["; result += "[";
int[] d = this.getIntegerData(); int[] d = this.getIntegerData();

View File

@ -136,12 +136,16 @@ public class GIOBGAIndividualIntegerPermutationData extends AbstractEAIndividual
numTmp = (AbstractEAIndividual)this.getIntegers(); numTmp = (AbstractEAIndividual)this.getIntegers();
numPop = new Population(); numPop = new Population();
for (int i = 0; i < partners.size(); i++) numPop.add(((GIOBGAIndividualIntegerPermutationData)partners.get(i)).getIntegers()); for (int i = 0; i < partners.size(); i++) {
numPop.add(((GIOBGAIndividualIntegerPermutationData)partners.get(i)).getIntegers());
}
resNum = numTmp.mateWith(numPop); resNum = numTmp.mateWith(numPop);
binTmp = (AbstractEAIndividual)this.getPermutations(); binTmp = (AbstractEAIndividual)this.getPermutations();
binPop = new Population(); binPop = new Population();
for (int i = 0; i < partners.size(); i++) binPop.add(((GIOBGAIndividualIntegerPermutationData)partners.get(i)).getPermutations()); for (int i = 0; i < partners.size(); i++) {
binPop.add(((GIOBGAIndividualIntegerPermutationData)partners.get(i)).getPermutations());
}
resBin = binTmp.mateWith(binPop); resBin = binTmp.mateWith(binPop);
result = new GIOBGAIndividualIntegerPermutationData[resNum.length]; result = new GIOBGAIndividualIntegerPermutationData[resNum.length];
@ -169,7 +173,9 @@ public class GIOBGAIndividualIntegerPermutationData extends AbstractEAIndividual
result[i+1] = (AbstractEAIndividual) ((AbstractEAIndividual)partners.get(i)).clone(); result[i+1] = (AbstractEAIndividual) ((AbstractEAIndividual)partners.get(i)).clone();
} }
} }
for (int i = 0; i < result.length; i++) result[i].giveNewName(); for (int i = 0; i < result.length; i++) {
result[i].giveNewName();
}
return result; return result;
} }

View File

@ -1,7 +1,6 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import java.util.ArrayList;
import eva2.server.go.individuals.codings.gp.AbstractGPNode; import eva2.server.go.individuals.codings.gp.AbstractGPNode;
import eva2.server.go.individuals.codings.gp.GPArea; import eva2.server.go.individuals.codings.gp.GPArea;
@ -168,10 +167,11 @@ public class GPIndividualProgramData extends AbstractEAIndividual implements Int
public void SetProgramPhenotype(InterfaceProgram[] program) { public void SetProgramPhenotype(InterfaceProgram[] program) {
if (program instanceof AbstractGPNode[]) { if (program instanceof AbstractGPNode[]) {
this.m_Phenotype = new AbstractGPNode[program.length]; this.m_Phenotype = new AbstractGPNode[program.length];
for (int i = 0; i < this.m_Phenotype.length; i++) for (int i = 0; i < this.m_Phenotype.length; i++) {
this.m_Phenotype[i] = (AbstractGPNode)((AbstractGPNode)program[i]).clone(); this.m_Phenotype[i] = (AbstractGPNode)((AbstractGPNode)program[i]).clone();
} }
} }
}
/** This method allows you to set the program genotype. /** This method allows you to set the program genotype.
* @param program The new program. * @param program The new program.
@ -181,10 +181,11 @@ public class GPIndividualProgramData extends AbstractEAIndividual implements Int
this.SetProgramPhenotype(program); this.SetProgramPhenotype(program);
if (program instanceof AbstractGPNode[]) { if (program instanceof AbstractGPNode[]) {
this.m_Genotype = new AbstractGPNode[program.length]; this.m_Genotype = new AbstractGPNode[program.length];
for (int i = 0; i < this.m_Genotype.length; i++) for (int i = 0; i < this.m_Genotype.length; i++) {
this.m_Genotype[i] = (AbstractGPNode)((AbstractGPNode)program[i]).clone(); this.m_Genotype[i] = (AbstractGPNode)((AbstractGPNode)program[i]).clone();
} }
} }
}
/** This method allows you to set the function area /** This method allows you to set the function area
* @param area The area contains functions and terminals * @param area The area contains functions and terminals
@ -233,9 +234,13 @@ public class GPIndividualProgramData extends AbstractEAIndividual implements Int
String result = ""; String result = "";
result += "GPIndividual coding program: ("; result += "GPIndividual coding program: (";
result += "Fitness {"; result += "Fitness {";
for (int i = 0; i < this.m_Fitness.length; i++) result += this.m_Fitness[i] + ";"; for (int i = 0; i < this.m_Fitness.length; i++) {
result += this.m_Fitness[i] + ";";
}
result += "}/SelProb{"; result += "}/SelProb{";
for (int i = 0; i < this.m_SelectionProbability.length; i++) result += this.m_SelectionProbability[i] + ";"; for (int i = 0; i < this.m_SelectionProbability.length; i++) {
result += this.m_SelectionProbability[i] + ";";
}
result += "})\n Value: "; result += "})\n Value: ";
for (int i = 0; i < this.m_Genotype.length; i++) { for (int i = 0; i < this.m_Genotype.length; i++) {
if (this.m_Genotype[i] != null) result += this.m_Genotype[i].getStringRepresentation(); if (this.m_Genotype[i] != null) result += this.m_Genotype[i].getStringRepresentation();

View File

@ -1,10 +1,9 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import eva2.server.go.operators.distancemetric.InterfaceDistanceMetric;
import java.io.Serializable; import java.io.Serializable;
import java.util.Comparator; import java.util.Comparator;
import eva2.server.go.operators.distancemetric.InterfaceDistanceMetric;
/** /**
* Compare two AbstractEAIndividuals by their distance to a reference individual. * Compare two AbstractEAIndividuals by their distance to a reference individual.
* Usable to sort by a distance. * Usable to sort by a distance.

View File

@ -1,10 +1,9 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import eva2.tools.EVAERROR;
import java.io.Serializable; import java.io.Serializable;
import java.util.Comparator; import java.util.Comparator;
import eva2.tools.EVAERROR;
/** /**
* Compare two individuals based on a linear combination of the fitness values. * Compare two individuals based on a linear combination of the fitness values.
* *

View File

@ -1,13 +1,12 @@
package eva2.server.go.individuals; package eva2.server.go.individuals;
import java.util.ArrayList;
import eva2.server.go.operators.crossover.CrossoverOBGAPMX; import eva2.server.go.operators.crossover.CrossoverOBGAPMX;
import eva2.server.go.operators.mutation.InterfaceMutation; import eva2.server.go.operators.mutation.InterfaceMutation;
import eva2.server.go.operators.mutation.MutateOBGAFlip; import eva2.server.go.operators.mutation.MutateOBGAFlip;
import eva2.server.go.problems.InterfaceOptimizationProblem; import eva2.server.go.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.util.ArrayList;
/** This individual uses a permutation based genotype to code for /** This individual uses a permutation based genotype to code for
* permutations. * permutations.
@ -128,9 +127,13 @@ public class OBGAIndividualPermutationData extends AbstractEAIndividual implemen
String result = ""; String result = "";
result += "OBGAIndividual: ("; result += "OBGAIndividual: (";
result += "Fitness {"; result += "Fitness {";
for (int i = 0; i < this.m_Fitness.length; i++) result += this.m_Fitness[i] + ";"; for (int i = 0; i < this.m_Fitness.length; i++) {
result += this.m_Fitness[i] + ";";
}
result += "}/SelProb{"; result += "}/SelProb{";
for (int i = 0; i < this.m_SelectionProbability.length; i++) result += this.m_SelectionProbability[i] + ";"; for (int i = 0; i < this.m_SelectionProbability.length; i++) {
result += this.m_SelectionProbability[i] + ";";
}
result += "})\n Value: "; result += "})\n Value: ";
result += "{"; result += "{";
int[] sizes = this.sizePermutation(); int[] sizes = this.sizePermutation();

View File

@ -1,9 +1,8 @@
package eva2.server.go.individuals.codings.ga; package eva2.server.go.individuals.codings.ga;
import java.util.BitSet;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.util.BitSet;
/** This gives the gray coding for double with a variable number of bits for coding /** This gives the gray coding for double with a variable number of bits for coding
@ -40,7 +39,9 @@ public class GAGrayCodingDouble implements InterfaceGADoubleCoding, java.io.Seri
for (int i = 0; i < tmpLocus[1]; i++) { for (int i = 0; i < tmpLocus[1]; i++) {
tmpB = refBitSet.get(locus[0]); tmpB = refBitSet.get(locus[0]);
for (int j = 1; j <= i; j++) tmpB = tmpB ^ refBitSet.get(locus[0] + j); for (int j = 1; j <= i; j++) {
tmpB ^= refBitSet.get(locus[0] + j);
}
if (tmpB) tmpBitSet.set(i); if (tmpB) tmpBitSet.set(i);
else tmpBitSet.clear(i); else tmpBitSet.clear(i);
} }

View File

@ -40,7 +40,9 @@ public class GAGrayCodingInteger implements InterfaceGAIntegerCoding,java.io.Ser
// } // }
for (int i = 0; i < tmpLocus[1]; i++) { for (int i = 0; i < tmpLocus[1]; i++) {
tmpB = refBitSet.get(locus[0]); tmpB = refBitSet.get(locus[0]);
for (int j = 1; j <= i; j++) tmpB = tmpB ^ refBitSet.get(locus[0] + j); for (int j = 1; j <= i; j++) {
tmpB ^= refBitSet.get(locus[0] + j);
}
if (tmpB) tmpBitSet.set(i); if (tmpB) tmpBitSet.set(i);
else tmpBitSet.clear(i); else tmpBitSet.clear(i);
} }

View File

@ -128,7 +128,7 @@ public class GAStandardCodingDouble implements InterfaceGADoubleCoding, java.io.
//System.out.println("set 0"); //System.out.println("set 0");
} }
counter++; counter++;
tmpV = tmpV / 2; tmpV /= 2;
// with this method the least significant bit will be at the lowest position // with this method the least significant bit will be at the lowest position
} }
//System.out.print("FLOAT Value coded : " + value + " " + this.printBitSet(tmpBitSet, m_length)); //System.out.print("FLOAT Value coded : " + value + " " + this.printBitSet(tmpBitSet, m_length));

View File

@ -1,9 +1,8 @@
package eva2.server.go.individuals.codings.ga; package eva2.server.go.individuals.codings.ga;
import java.util.BitSet;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.util.BitSet;
/** The traditional binary coding for integer number, no variable number of bits here, sorry. /** The traditional binary coding for integer number, no variable number of bits here, sorry.
@ -50,7 +49,7 @@ public class GAStandardCodingInteger implements InterfaceGAIntegerCoding, java.i
} }
} }
//System.out.println(tmpV); //System.out.println(tmpV);
tmpV = tmpV + u_min; tmpV += u_min;
//System.out.println("Korregiere: " + tmpV + " " + u_min + " " + u_max + " " + output); //System.out.println("Korregiere: " + tmpV + " " + u_min + " " + u_max + " " + output);
if (tmpV > u_max) { if (tmpV > u_max) {
// this value is invalid // this value is invalid
@ -106,7 +105,7 @@ public class GAStandardCodingInteger implements InterfaceGAIntegerCoding, java.i
//System.out.println("set 0"); //System.out.println("set 0");
} }
counter++; counter++;
tmpV = tmpV / 2; tmpV /= 2;
// with this method the least significant bit will be at the lowest position // with this method the least significant bit will be at the lowest position
} }
//System.out.println("tmpV " + tmpOut + " Range("+m_min+";"+m_max+") "+m_length+" "+this.printBitSet(tmpBitSet,m_length)); //System.out.println("tmpV " + tmpOut + " Range("+m_min+";"+m_max+") "+m_length+" "+this.printBitSet(tmpBitSet,m_length));

View File

@ -1,10 +1,6 @@
package eva2.server.go.individuals.codings.gp; package eva2.server.go.individuals.codings.gp;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Vector;
import eva2.gui.BeanInspector; import eva2.gui.BeanInspector;
import eva2.gui.GenericObjectEditor; import eva2.gui.GenericObjectEditor;
import eva2.server.go.problems.GPFunctionProblem; import eva2.server.go.problems.GPFunctionProblem;
@ -13,6 +9,9 @@ import eva2.tools.Pair;
import eva2.tools.ReflectPackage; import eva2.tools.ReflectPackage;
import eva2.tools.math.Mathematics; import eva2.tools.math.Mathematics;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Vector;
/** This gives an abstract node, with default functionality for get and set methods. /** This gives an abstract node, with default functionality for get and set methods.
@ -69,7 +68,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
this.m_Depth = node.m_Depth; this.m_Depth = node.m_Depth;
this.m_Parent = node.m_Parent; this.m_Parent = node.m_Parent;
this.m_Nodes = new AbstractGPNode[node.m_Nodes.length]; this.m_Nodes = new AbstractGPNode[node.m_Nodes.length];
for (int i = 0; i < node.m_Nodes.length; i++) this.m_Nodes[i] = (AbstractGPNode) node.m_Nodes[i].clone(); for (int i = 0; i < node.m_Nodes.length; i++) {
this.m_Nodes[i] = (AbstractGPNode) node.m_Nodes[i].clone();
}
} }
private static void appendStringRepresentation(AbstractGPNode node, StringBuffer sbuf) { private static void appendStringRepresentation(AbstractGPNode node, StringBuffer sbuf) {
@ -206,7 +207,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
else if (nodes.length==1) return op+"(" + nodes[0].getStringRepresentation()+")"; else if (nodes.length==1) return op+"(" + nodes[0].getStringRepresentation()+")";
else { else {
String result = "( "+nodes[0].getStringRepresentation(); String result = "( "+nodes[0].getStringRepresentation();
for (int i = 1; i < nodes.length; i++) result += " " + op + " " + nodes[i].getStringRepresentation(); for (int i = 1; i < nodes.length; i++) {
result += " " + op + " " + nodes[i].getStringRepresentation();
}
result += ")"; result += ")";
return result; return result;
} }
@ -386,7 +389,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
*/ */
public void addNodesTo(ArrayList ListOfNodes) { public void addNodesTo(ArrayList ListOfNodes) {
ListOfNodes.add(this); ListOfNodes.add(this);
for (int i = 0; i < this.m_Nodes.length; i++) this.m_Nodes[i].addNodesTo(ListOfNodes); for (int i = 0; i < this.m_Nodes.length; i++) {
this.m_Nodes[i].addNodesTo(ListOfNodes);
}
} }
/** /**
@ -430,7 +435,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
this.m_Parent = parent; this.m_Parent = parent;
if (parent != null) this.m_Depth = this.m_Parent.getDepth()+1; if (parent != null) this.m_Depth = this.m_Parent.getDepth()+1;
else this.m_Depth = 0; else this.m_Depth = 0;
for (int i = 0; i < this.m_Nodes.length; i++) this.m_Nodes[i].connect(this); for (int i = 0; i < this.m_Nodes.length; i++) {
this.m_Nodes[i].connect(this);
}
} }
/** This method will simply init the array of nodes /** This method will simply init the array of nodes
@ -474,7 +481,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
*/ */
public int getNumberOfNodes() { public int getNumberOfNodes() {
int result = 1; int result = 1;
for (int i = 0; i < this.m_Nodes.length; i++) result += this.m_Nodes[i].getNumberOfNodes(); for (int i = 0; i < this.m_Nodes.length; i++) {
result += this.m_Nodes[i].getNumberOfNodes();
}
return result; return result;
} }
@ -534,7 +543,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
} }
} else { } else {
// else i call the method on my followup nodes // else i call the method on my followup nodes
for (int i = 0; i < this.m_Nodes.length; i++) this.m_Nodes[i].repairMaxDepth(area, depth); for (int i = 0; i < this.m_Nodes.length; i++) {
this.m_Nodes[i].repairMaxDepth(area, depth);
}
} }
} }

View File

@ -1,12 +1,11 @@
package eva2.server.go.individuals.codings.gp; package eva2.server.go.individuals.codings.gp;
import eva2.tools.math.RNG;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport; import java.beans.PropertyChangeSupport;
import java.util.ArrayList; import java.util.ArrayList;
import eva2.tools.math.RNG;
/** This class gives the area of GPNodes for a GP problem. The area gives /** This class gives the area of GPNodes for a GP problem. The area gives
* the range of possible nodes to select from for a GP. * the range of possible nodes to select from for a GP.

View File

@ -1,7 +1,6 @@
package eva2.server.go.individuals.codings.gp; package eva2.server.go.individuals.codings.gp;
import java.util.ArrayList;
import eva2.server.go.problems.InterfaceProgramProblem; import eva2.server.go.problems.InterfaceProgramProblem;

View File

@ -68,7 +68,7 @@ public class GPNodeDiv extends AbstractGPNode implements java.io.Serializable {
if (tmpValue < 0) tmpValue = -this.m_LowerBorderForSec; if (tmpValue < 0) tmpValue = -this.m_LowerBorderForSec;
else tmpValue = this.m_LowerBorderForSec; else tmpValue = this.m_LowerBorderForSec;
} }
result = result / tmpValue; result /= tmpValue;
} }
return new Double(result); return new Double(result);
} }

View File

@ -52,7 +52,7 @@ public class GPNodeMult extends AbstractGPNode implements java.io.Serializable {
for (int i = 0; i < this.m_Nodes.length; i++) { for (int i = 0; i < this.m_Nodes.length; i++) {
tmpObj = this.m_Nodes[i].evaluate(environment); tmpObj = this.m_Nodes[i].evaluate(environment);
if (tmpObj instanceof Double) result = result * ((Double)tmpObj).doubleValue(); if (tmpObj instanceof Double) result *= ((Double)tmpObj).doubleValue();
else System.err.println("Unexpected type returned in evaluate for "+this.getClass().getSimpleName()); else System.err.println("Unexpected type returned in evaluate for "+this.getClass().getSimpleName());
} }
return new Double(result); return new Double(result);

View File

@ -45,7 +45,9 @@ public class GPNodeProd extends AbstractGPNode implements java.io.Serializable {
if (tmpObj instanceof double[]) result*=Mathematics.product((double[])tmpObj); if (tmpObj instanceof double[]) result*=Mathematics.product((double[])tmpObj);
else if (tmpObj instanceof Double[]) { else if (tmpObj instanceof Double[]) {
Double[] vals = (Double[])tmpObj; Double[] vals = (Double[])tmpObj;
for (int j=0; j<vals.length; j++) result*=vals[j]; for (int j=0; j<vals.length; j++) {
result*=vals[j];
}
} else if (tmpObj instanceof Double) result=(Double)tmpObj; } else if (tmpObj instanceof Double) result=(Double)tmpObj;
} }
return new Double(result); return new Double(result);

View File

@ -54,7 +54,9 @@ public class GPNodeSum extends AbstractGPNode implements java.io.Serializable {
if (tmpObj instanceof double[]) result+=Mathematics.sum((double[])tmpObj); if (tmpObj instanceof double[]) result+=Mathematics.sum((double[])tmpObj);
else if (tmpObj instanceof Double[]) { else if (tmpObj instanceof Double[]) {
Double[] vals = (Double[])tmpObj; Double[] vals = (Double[])tmpObj;
for (int j=0; j<vals.length; j++) result+=vals[j]; for (int j=0; j<vals.length; j++) {
result+=vals[j];
}
} else if (tmpObj instanceof Double) result=(Double)tmpObj; } else if (tmpObj instanceof Double) result=(Double)tmpObj;
} }
return new Double(result); return new Double(result);

View File

@ -1,14 +1,12 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import javax.swing.*;
import eva2.server.go.MOCCOStandalone; import eva2.server.go.MOCCOStandalone;
import eva2.tools.BasicResourceLoader; import eva2.tools.BasicResourceLoader;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/** /**

View File

@ -1,16 +1,14 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import javax.swing.*;
import eva2.server.go.MOCCOStandalone; import eva2.server.go.MOCCOStandalone;
import eva2.server.go.mocco.paretofrontviewer.InterfaceRefPointListener; import eva2.server.go.mocco.paretofrontviewer.InterfaceRefPointListener;
import eva2.server.go.problems.InterfaceMultiObjectiveDeNovoProblem; import eva2.server.go.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.server.go.problems.InterfaceOptimizationObjective; import eva2.server.go.problems.InterfaceOptimizationObjective;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -1,18 +1,16 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import javax.swing.*;
import eva2.server.go.MOCCOStandalone; import eva2.server.go.MOCCOStandalone;
import eva2.server.go.individuals.AbstractEAIndividual; import eva2.server.go.individuals.AbstractEAIndividual;
import eva2.server.go.mocco.paretofrontviewer.InterfaceRefSolutionListener; import eva2.server.go.mocco.paretofrontviewer.InterfaceRefSolutionListener;
import eva2.server.go.populations.Population; import eva2.server.go.populations.Population;
import eva2.server.go.problems.InterfaceMultiObjectiveDeNovoProblem; import eva2.server.go.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.server.go.problems.InterfaceOptimizationObjective; import eva2.server.go.problems.InterfaceOptimizationObjective;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -1,8 +1,6 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import javax.swing.*;
import eva2.gui.GenericObjectEditor; import eva2.gui.GenericObjectEditor;
import eva2.gui.PropertyDoubleArray; import eva2.gui.PropertyDoubleArray;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
@ -17,11 +15,11 @@ import eva2.server.go.strategies.GeneticAlgorithm;
import eva2.server.go.strategies.InterfaceOptimizer; import eva2.server.go.strategies.InterfaceOptimizer;
import eva2.server.go.tools.AbstractObjectEditor; import eva2.server.go.tools.AbstractObjectEditor;
import eva2.server.go.tools.GeneralGOEProperty; import eva2.server.go.tools.GeneralGOEProperty;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList; import java.util.ArrayList;
import javax.swing.*;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
@ -247,7 +245,9 @@ public class MOCCOParameterizeGDF extends MOCCOPhase implements InterfaceProcess
} }
double[] result = new double[tmpA.size()]; double[] result = new double[tmpA.size()];
for (int i = 0; i < result.length; i++) result[i] = ((Double)tmpA.get(i)).doubleValue(); for (int i = 0; i < result.length; i++) {
result[i] = ((Double)tmpA.get(i)).doubleValue();
}
return result; return result;
} }
} }

View File

@ -1,8 +1,6 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import javax.swing.*;
import eva2.gui.GenericObjectEditor; import eva2.gui.GenericObjectEditor;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.server.go.InterfaceTerminator; import eva2.server.go.InterfaceTerminator;
@ -13,10 +11,10 @@ import eva2.server.go.strategies.InterfaceOptimizer;
import eva2.server.go.strategies.MultiObjectiveEA; import eva2.server.go.strategies.MultiObjectiveEA;
import eva2.server.go.tools.AbstractObjectEditor; import eva2.server.go.tools.AbstractObjectEditor;
import eva2.server.go.tools.GeneralGOEProperty; import eva2.server.go.tools.GeneralGOEProperty;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -1,17 +1,6 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import eva2.gui.GenericObjectEditor; import eva2.gui.GenericObjectEditor;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.gui.PropertyRemoteServers; import eva2.gui.PropertyRemoteServers;
@ -24,6 +13,15 @@ import eva2.server.go.strategies.IslandModelEA;
import eva2.server.go.tools.AbstractObjectEditor; import eva2.server.go.tools.AbstractObjectEditor;
import eva2.server.go.tools.GeneralGOEProperty; import eva2.server.go.tools.GeneralGOEProperty;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -1,17 +1,6 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import eva2.gui.GenericObjectEditor; import eva2.gui.GenericObjectEditor;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.server.go.InterfaceTerminator; import eva2.server.go.InterfaceTerminator;
@ -21,6 +10,15 @@ import eva2.server.go.strategies.InterfaceOptimizer;
import eva2.server.go.strategies.MultiObjectiveEA; import eva2.server.go.strategies.MultiObjectiveEA;
import eva2.server.go.tools.AbstractObjectEditor; import eva2.server.go.tools.AbstractObjectEditor;
import eva2.server.go.tools.GeneralGOEProperty; import eva2.server.go.tools.GeneralGOEProperty;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -1,20 +1,6 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import eva2.gui.GenericObjectEditor; import eva2.gui.GenericObjectEditor;
import eva2.gui.PropertyDoubleArray; import eva2.gui.PropertyDoubleArray;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
@ -29,6 +15,18 @@ import eva2.server.go.strategies.GeneticAlgorithm;
import eva2.server.go.strategies.InterfaceOptimizer; import eva2.server.go.strategies.InterfaceOptimizer;
import eva2.server.go.tools.AbstractObjectEditor; import eva2.server.go.tools.AbstractObjectEditor;
import eva2.server.go.tools.GeneralGOEProperty; import eva2.server.go.tools.GeneralGOEProperty;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
@ -324,7 +322,9 @@ public class MOCCOParameterizeSTEP extends MOCCOPhase implements InterfaceProces
} }
double[] result = new double[tmpA.size()]; double[] result = new double[tmpA.size()];
for (int i = 0; i < result.length; i++) result[i] = ((Double)tmpA.get(i)).doubleValue(); for (int i = 0; i < result.length; i++) {
result[i] = ((Double)tmpA.get(i)).doubleValue();
}
return result; return result;
} }
} }

View File

@ -1,19 +1,6 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import eva2.gui.GenericObjectEditor; import eva2.gui.GenericObjectEditor;
import eva2.gui.PropertyEditorProvider; import eva2.gui.PropertyEditorProvider;
import eva2.gui.PropertyRemoteServers; import eva2.gui.PropertyRemoteServers;
@ -26,6 +13,17 @@ import eva2.server.go.strategies.IslandModelEA;
import eva2.server.go.tools.AbstractObjectEditor; import eva2.server.go.tools.AbstractObjectEditor;
import eva2.server.go.tools.GeneralGOEProperty; import eva2.server.go.tools.GeneralGOEProperty;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.
@ -271,7 +269,9 @@ public class MOCCOParameterizeTchebycheff extends MOCCOPhase implements Interfac
else tmpD[j] = 1; else tmpD[j] = 1;
sum += tmpD[j]; sum += tmpD[j];
} }
for (int j = 0; j < tmpD.length; j++) tmpD[j] = tmpD[j]/sum; for (int j = 0; j < tmpD.length; j++) {
tmpD[j] /= sum;
}
tmpLPs[i] = new MOSOWeightedLPTchebycheff(); tmpLPs[i] = new MOSOWeightedLPTchebycheff();
// I've to set this before I change the parameters, because the problem sets the // I've to set this before I change the parameters, because the problem sets the
// output dimension based on the AbstractMultiObjectiveOptimizationProblem and // output dimension based on the AbstractMultiObjectiveOptimizationProblem and

View File

@ -1,15 +1,13 @@
package eva2.server.go.mocco; package eva2.server.go.mocco;
import javax.swing.*;
import eva2.gui.JParaPanel; import eva2.gui.JParaPanel;
import eva2.server.go.MOCCOStandalone; import eva2.server.go.MOCCOStandalone;
import eva2.server.go.problems.InterfaceOptimizationProblem; import eva2.server.go.problems.InterfaceOptimizationProblem;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -94,7 +94,9 @@ public class MOCCOState {
} }
Population[] newPop = new Population[this.m_PopulationHistory.length +1]; Population[] newPop = new Population[this.m_PopulationHistory.length +1];
for (int i = 0; i < this.m_PopulationHistory.length; i++) newPop[i] = this.m_PopulationHistory[i]; for (int i = 0; i < this.m_PopulationHistory.length; i++) {
newPop[i] = this.m_PopulationHistory[i];
}
newPop[newPop.length-1] = (Population)pop.clone(); newPop[newPop.length-1] = (Population)pop.clone();
newPop[newPop.length-1].addPopulation(newPop[newPop.length-1].getArchive()); newPop[newPop.length-1].addPopulation(newPop[newPop.length-1].getArchive());
newPop[newPop.length-1].SetArchive(null); newPop[newPop.length-1].SetArchive(null);

View File

@ -1,8 +1,6 @@
package eva2.server.go.mocco.paretofrontviewer; package eva2.server.go.mocco.paretofrontviewer;
import javax.swing.*;
import eva2.gui.FunctionArea; import eva2.gui.FunctionArea;
import eva2.gui.GraphPointSet; import eva2.gui.GraphPointSet;
import eva2.gui.InterfaceDPointWithContent; import eva2.gui.InterfaceDPointWithContent;
@ -15,16 +13,16 @@ import eva2.tools.chart2d.Chart2DDPointContentSelectable;
import eva2.tools.chart2d.DPoint; import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointIcon; import eva2.tools.chart2d.DPointIcon;
import eva2.tools.chart2d.ScaledBorder; import eva2.tools.chart2d.ScaledBorder;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter; import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import javax.swing.*;
/** /**
@ -212,7 +210,9 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
} }
InterfaceOptimizationObjective[] obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives(); InterfaceOptimizationObjective[] obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives();
tmp = ""; tmp = "";
for (int j = 0; j < obj.length; j++) tmp += obj[j].getIdentName() +"\t"; for (int j = 0; j < obj.length; j++) {
tmp += obj[j].getIdentName() +"\t";
}
try { out.write(tmp+"\n"); } catch (java.io.IOException e) { } try { out.write(tmp+"\n"); } catch (java.io.IOException e) { }
for (int i = 0; i < pop.size(); i++) { for (int i = 0; i < pop.size(); i++) {
if (!((AbstractEAIndividual)pop.get(i)).violatesConstraint()) { if (!((AbstractEAIndividual)pop.get(i)).violatesConstraint()) {
@ -235,10 +235,14 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
return; return;
} }
pop = new Population(); pop = new Population();
for (int i = 0; i < m_MOCCO.m_State.m_PopulationHistory.length; i++) pop.addPopulation(m_MOCCO.m_State.m_PopulationHistory[i]); for (int i = 0; i < m_MOCCO.m_State.m_PopulationHistory.length; i++) {
pop.addPopulation(m_MOCCO.m_State.m_PopulationHistory[i]);
}
obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives(); obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives();
tmp = ""; tmp = "";
for (int j = 0; j < obj.length; j++) tmp += obj[j].getIdentName() +"\t"; for (int j = 0; j < obj.length; j++) {
tmp += obj[j].getIdentName() +"\t";
}
try { out.write(tmp+"\n"); } catch (java.io.IOException e) { } try { out.write(tmp+"\n"); } catch (java.io.IOException e) { }
for (int i = 0; i < pop.size(); i++) { for (int i = 0; i < pop.size(); i++) {
if (!((AbstractEAIndividual)pop.get(i)).violatesConstraint()) { if (!((AbstractEAIndividual)pop.get(i)).violatesConstraint()) {
@ -261,10 +265,14 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
return; return;
} }
pop = new Population(); pop = new Population();
for (int i = 0; i < m_MOCCO.m_State.m_PopulationHistory.length; i++) pop.addPopulation(m_MOCCO.m_State.m_PopulationHistory[i]); for (int i = 0; i < m_MOCCO.m_State.m_PopulationHistory.length; i++) {
pop.addPopulation(m_MOCCO.m_State.m_PopulationHistory[i]);
}
obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives(); obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives();
tmp = ""; tmp = "";
for (int j = 0; j < obj.length; j++) tmp += obj[j].getIdentName() +"\t"; for (int j = 0; j < obj.length; j++) {
tmp += obj[j].getIdentName() +"\t";
}
try { out.write(tmp+"\n"); } catch (java.io.IOException e) { } try { out.write(tmp+"\n"); } catch (java.io.IOException e) { }
for (int i = 0; i < pop.size(); i++) { for (int i = 0; i < pop.size(); i++) {
if (((AbstractEAIndividual)pop.get(i)).violatesConstraint()) { if (((AbstractEAIndividual)pop.get(i)).violatesConstraint()) {
@ -289,7 +297,9 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
pop = m_MOCCO.m_State.m_ParetoFront.getMarkedIndividuals(); pop = m_MOCCO.m_State.m_ParetoFront.getMarkedIndividuals();
obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives(); obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives();
tmp = ""; tmp = "";
for (int j = 0; j < obj.length; j++) tmp += obj[j].getIdentName() +"\t"; for (int j = 0; j < obj.length; j++) {
tmp += obj[j].getIdentName() +"\t";
}
try { out.write(tmp+"\n"); } catch (java.io.IOException e) { } try { out.write(tmp+"\n"); } catch (java.io.IOException e) { }
for (int i = 0; i < pop.size(); i++) { for (int i = 0; i < pop.size(); i++) {
// write // write
@ -312,11 +322,15 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
pop = m_MOCCO.m_State.m_ParetoFront.getMarkedIndividuals(); pop = m_MOCCO.m_State.m_ParetoFront.getMarkedIndividuals();
obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives(); obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives();
tmp = ""; tmp = "";
for (int j = 0; j < obj.length; j++) tmp += obj[j].getIdentName() +"\t"; for (int j = 0; j < obj.length; j++) {
tmp += obj[j].getIdentName() +"\t";
}
try { out.write(tmp+"\n"); } catch (java.io.IOException e) { } try { out.write(tmp+"\n"); } catch (java.io.IOException e) { }
tmp = ""; tmp = "";
if (m_ReferencePoint != null) { if (m_ReferencePoint != null) {
for (int j = 0; j < m_ReferencePoint.length; j++) tmp += m_ReferencePoint[j] +"\t"; for (int j = 0; j < m_ReferencePoint.length; j++) {
tmp += m_ReferencePoint[j] +"\t";
}
try { out.write(tmp+"\n"); } catch (java.io.IOException e) { } try { out.write(tmp+"\n"); } catch (java.io.IOException e) { }
} }
try { out.close(); } catch(java.io.IOException e) {} try { out.close(); } catch(java.io.IOException e) {}
@ -466,7 +480,9 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
if (this.m_RefPointSelectable) { if (this.m_RefPointSelectable) {
int dim = ((AbstractEAIndividual)this.m_MOCCO.m_State.m_ParetoFront.get(0)).getFitness().length; int dim = ((AbstractEAIndividual)this.m_MOCCO.m_State.m_ParetoFront.get(0)).getFitness().length;
this.m_ReferencePoint = new double[dim]; this.m_ReferencePoint = new double[dim];
for (int i = 0; i < dim; i++) this.m_ReferencePoint[i] = 0; for (int i = 0; i < dim; i++) {
this.m_ReferencePoint[i] = 0;
}
} else { } else {
//this.m_ReferencePoint = null; //this.m_ReferencePoint = null;
} }

View File

@ -1,8 +1,6 @@
package eva2.server.go.mocco.paretofrontviewer; package eva2.server.go.mocco.paretofrontviewer;
import javax.swing.*;
import eva2.gui.*; import eva2.gui.*;
import eva2.server.go.individuals.AbstractEAIndividual; import eva2.server.go.individuals.AbstractEAIndividual;
import eva2.server.go.populations.Population; import eva2.server.go.populations.Population;
@ -14,11 +12,11 @@ import eva2.tools.chart2d.Chart2DDPointIconPoint;
import eva2.tools.chart2d.DPoint; import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointIcon; import eva2.tools.chart2d.DPointIcon;
import eva2.tools.chart2d.ScaledBorder; import eva2.tools.chart2d.ScaledBorder;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList; import java.util.ArrayList;
import javax.swing.*;
/** /**

View File

@ -17,7 +17,6 @@ import eva2.tools.chart2d.ScaledBorder;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.util.ArrayList;
/** /**
* Created by IntelliJ IDEA. * Created by IntelliJ IDEA.

View File

@ -84,7 +84,9 @@ public abstract class AbstractArchiving implements InterfaceArchiving, java.io.S
**/ **/
public void plotParetoFront(Population pop, Plot plot) { public void plotParetoFront(Population pop, Plot plot) {
DPointIcon[] icons = new DPointIcon[pop.size()]; DPointIcon[] icons = new DPointIcon[pop.size()];
for (int i = 0; i < icons.length; i++) icons[i] = new Chart2DDPointIconCross(); for (int i = 0; i < icons.length; i++) {
icons[i] = new Chart2DDPointIconCross();
}
this.plotParetoFront(pop, icons, plot); this.plotParetoFront(pop, icons, plot);
} }

View File

@ -136,8 +136,9 @@ public class ArchivingNSGAII extends ArchivingNSGA implements java.io.Serializab
if (tmpDom.size() < 1) { if (tmpDom.size() < 1) {
System.out.println("Problem NSGA II at level " + level + "."); System.out.println("Problem NSGA II at level " + level + ".");
tmpDom.addPopulation(tmpNonDom); tmpDom.addPopulation(tmpNonDom);
for (int i = 0; i < tmpDom.size(); i++) for (int i = 0; i < tmpDom.size(); i++) {
((AbstractEAIndividual)tmpDom.get(i)).putData("ParetoLevel", new Integer(level)); ((AbstractEAIndividual)tmpDom.get(i)).putData("ParetoLevel", new Integer(level));
}
tmpPop.clear(); tmpPop.clear();
// System.out.println(""+tmpPop.getStringRepresentation()); // System.out.println(""+tmpPop.getStringRepresentation());
// tmpPop.removeDoubleInstancesUsingFitness(); // tmpPop.removeDoubleInstancesUsingFitness();
@ -146,7 +147,9 @@ public class ArchivingNSGAII extends ArchivingNSGA implements java.io.Serializab
level++; level++;
} }
result = new Population[tmpResult.size()]; result = new Population[tmpResult.size()];
for (int i = 0; i < result.length; i++) result[i] = (Population) tmpResult.get(i); for (int i = 0; i < result.length; i++) {
result[i] = (Population) tmpResult.get(i);
}
return result; return result;
} }
/** This method will cacluated the NSGAII crowding distance /** This method will cacluated the NSGAII crowding distance

View File

@ -285,7 +285,9 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial
if (pop.getArchive() != null) tmp.addPopulation(pop.getArchive()); if (pop.getArchive() != null) tmp.addPopulation(pop.getArchive());
double[][] fitness = new double[tmp.size()][]; double[][] fitness = new double[tmp.size()][];
for (int i = 0; i < tmp.size(); i++) fitness[i] = ((AbstractEAIndividual)tmp.get(i)).getFitness(); for (int i = 0; i < tmp.size(); i++) {
fitness[i] = ((AbstractEAIndividual)tmp.get(i)).getFitness();
}
double[] minY, maxY; double[] minY, maxY;
minY = fitness[0]; minY = fitness[0];
maxY = fitness[0]; maxY = fitness[0];
@ -322,7 +324,9 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial
} }
} }
if (this.soutDebug) { if (this.soutDebug) {
for (int i = 0; i < SPEAStrength.length; i++) System.out.println("SPEAStrength "+i+": "+SPEAStrength[i]); for (int i = 0; i < SPEAStrength.length; i++) {
System.out.println("SPEAStrength "+i+": "+SPEAStrength[i]);
}
} }
// now calculate the SPEAFitness // now calculate the SPEAFitness
@ -345,7 +349,9 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial
} }
} }
if (this.soutDebug) { if (this.soutDebug) {
for (int i = 0; i < result.length; i++) System.out.println("Result "+i+": "+result[i]); for (int i = 0; i < result.length; i++) {
System.out.println("Result "+i+": "+result[i]);
}
this.m_Plot = new eva2.gui.Plot("Debug SPEAII", "Y1", "Y2", true); this.m_Plot = new eva2.gui.Plot("Debug SPEAII", "Y1", "Y2", true);
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);

View File

@ -1,13 +1,11 @@
package eva2.server.go.operators.classification; package eva2.server.go.operators.classification;
import javax.swing.*;
import eva2.tools.chart2d.*; import eva2.tools.chart2d.*;
import eva2.tools.math.RNG; import eva2.tools.math.RNG;
import java.awt.*;
import java.awt.event.WindowAdapter; import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import java.awt.event.WindowEvent;
import java.awt.*; import javax.swing.*;
/** Self-organizing maps, a simple, but easy to visualize method /** Self-organizing maps, a simple, but easy to visualize method
* for classification. The Dikel flag is an undocumented extension, * for classification. The Dikel flag is an undocumented extension,
@ -113,7 +111,7 @@ public class ClassificationSelfOrganizingMaps implements java.io.Serializable, I
} }
} }
for (int i = 0; i < this.m_Range.length; i++) { for (int i = 0; i < this.m_Range.length; i++) {
this.m_Range[i][2] = this.m_Range[i][2]/((double)space.length); this.m_Range[i][2] /= ((double)space.length);
for (int j = 0; j < space.length; j++) { for (int j = 0; j < space.length; j++) {
this.m_Range[i][3] += Math.pow((this.m_Range[i][2] - space[j][i]), 2); this.m_Range[i][3] += Math.pow((this.m_Range[i][2] - space[j][i]), 2);
} }
@ -298,7 +296,7 @@ public class ClassificationSelfOrganizingMaps implements java.io.Serializable, I
} }
} }
for (int i = 0; i < this.m_SOM[w[0]][w[1]].length; i++) { for (int i = 0; i < this.m_SOM[w[0]][w[1]].length; i++) {
vec[i] = vec[i] - (a/2.0)*nec[i]; vec[i] -= (a/2.0)*nec[i];
this.m_SOM[w[0]][w[1]][i] += a * vec[i]; this.m_SOM[w[0]][w[1]][i] += a * vec[i];
} }
} }

View File

@ -1,10 +1,9 @@
package eva2.server.go.operators.cluster; package eva2.server.go.operators.cluster;
import eva2.server.go.populations.Population;
import java.io.Serializable; import java.io.Serializable;
import java.util.Arrays; import java.util.Arrays;
import eva2.server.go.populations.Population;
/** /**
* Dummy class which assigns all individuals to a single cluster only. * Dummy class which assigns all individuals to a single cluster only.
* *

View File

@ -1,12 +1,11 @@
package eva2.server.go.operators.cluster; package eva2.server.go.operators.cluster;
import java.util.ArrayList;
import eva2.server.go.individuals.AbstractEAIndividual; import eva2.server.go.individuals.AbstractEAIndividual;
import eva2.server.go.operators.distancemetric.InterfaceDistanceMetric; import eva2.server.go.operators.distancemetric.InterfaceDistanceMetric;
import eva2.server.go.operators.distancemetric.PhenotypeMetric; import eva2.server.go.operators.distancemetric.PhenotypeMetric;
import eva2.server.go.populations.Population; import eva2.server.go.populations.Population;
import eva2.tools.Pair; import eva2.tools.Pair;
import java.util.ArrayList;
/** The DBSCAN method. As far as I recall this is an hierachical /** The DBSCAN method. As far as I recall this is an hierachical
@ -120,7 +119,9 @@ public class ClusteringDensityBased implements InterfaceClusteringDistanceParam,
} }
} }
for (int i = 0; i < Clustered.length; i++) Clustered[i] = false; for (int i = 0; i < Clustered.length; i++) {
Clustered[i] = false;
}
// Now identify clusters within pop and add them to the result // Now identify clusters within pop and add them to the result
for (int i = 0; i < ConnectionMatrix.length; i++) { for (int i = 0; i < ConnectionMatrix.length; i++) {
@ -133,7 +134,9 @@ public class ClusteringDensityBased implements InterfaceClusteringDistanceParam,
} }
Population[] result = new Population[ClusteredPopulations.size()]; Population[] result = new Population[ClusteredPopulations.size()];
for (int i = 0; i < ClusteredPopulations.size(); i++) result[i] = ClusteredPopulations.get(i); for (int i = 0; i < ClusteredPopulations.size(); i++) {
result[i] = ClusteredPopulations.get(i);
}
return result; return result;
} }

Some files were not shown because too many files have changed in this diff Show More