parent
c16a592a26
commit
736ada3517
@ -12,6 +12,7 @@ package eva2.client;
|
||||
* $Author: mkron $
|
||||
*/
|
||||
import eva2.EvAInfo;
|
||||
import eva2.client.SplashScreen;
|
||||
import eva2.gui.*;
|
||||
import eva2.server.EvAServer;
|
||||
import eva2.server.go.InterfaceGOParameters;
|
||||
|
@ -1,13 +1,12 @@
|
||||
package eva2.client;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import eva2.server.EvAMainAdapter;
|
||||
import eva2.server.modules.ModuleAdapter;
|
||||
import eva2.tools.jproxy.MainAdapter;
|
||||
import eva2.tools.jproxy.MainAdapterClient;
|
||||
import eva2.tools.jproxy.RMIConnection;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -31,7 +31,9 @@ public class TerminatorExample {
|
||||
+ " evals performed. "
|
||||
+ OptimizerFactory.terminatedBecause()
|
||||
+ " 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();
|
||||
};
|
||||
}
|
@ -9,7 +9,9 @@ public class TestingF1PSO {
|
||||
OptimizerFactory.setEvaluationTerminator(50000);
|
||||
double[] sol = OptimizerFactory.optimizeToDouble(OptimizerFactory.PSO, f1, null);
|
||||
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();
|
||||
};
|
||||
}
|
@ -1,5 +1,4 @@
|
||||
package eva2.examples;
|
||||
import java.util.BitSet;
|
||||
import eva2.OptimizerFactory;
|
||||
import eva2.server.go.operators.selection.SelectXProbRouletteWheel;
|
||||
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.strategies.GeneticAlgorithm;
|
||||
import eva2.server.modules.GOParameters;
|
||||
import java.util.BitSet;
|
||||
|
||||
public class TestingGAB1 {
|
||||
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
|
||||
sol = OptimizerFactory.optimizeToBinary(gaParams, "ga-opt-results");
|
||||
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();
|
||||
};
|
||||
}
|
||||
|
@ -4,14 +4,10 @@
|
||||
*/
|
||||
package eva2.gui;
|
||||
|
||||
import eva2.EvAInfo;
|
||||
import eva2.tools.BasicResourceLoader;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
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.event.HyperlinkEvent;
|
||||
import javax.swing.event.HyperlinkListener;
|
||||
|
@ -13,7 +13,6 @@ import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyEditor;
|
||||
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
|
@ -1,5 +1,11 @@
|
||||
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.IntrospectionException;
|
||||
import java.beans.Introspector;
|
||||
@ -10,13 +16,6 @@ import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
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.
|
||||
@ -234,7 +233,9 @@ public class BeanInspector {
|
||||
|
||||
private static void addIndent(StringBuffer sbuf, String indentStr, int indentDepth) {
|
||||
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 "";
|
||||
else {
|
||||
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();
|
||||
}
|
||||
} else return "";
|
||||
|
@ -16,8 +16,6 @@ import java.beans.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.InternalFrameAdapter;
|
||||
import javax.swing.event.InternalFrameEvent;
|
||||
|
||||
/*==========================================================================*
|
||||
* CLASS DECLARATION
|
||||
|
@ -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.DBorder;
|
||||
import eva2.tools.chart2d.DComponent;
|
||||
@ -17,6 +11,11 @@ import eva2.tools.chart2d.DPoint;
|
||||
import eva2.tools.chart2d.DPointIcon;
|
||||
import eva2.tools.chart2d.DPointSet;
|
||||
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;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -12,11 +12,10 @@ package eva2.gui;
|
||||
/*==========================================================================*
|
||||
* IMPORTS
|
||||
*==========================================================================*/
|
||||
import java.net.InetAddress;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import eva2.tools.jproxy.MainAdapterClient;
|
||||
import eva2.tools.jproxy.RMIProxyRemote;
|
||||
import java.net.InetAddress;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/*==========================================================================*
|
||||
* CLASS DECLARATION
|
||||
|
@ -4,7 +4,6 @@ import java.awt.BorderLayout;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.beans.PropertyEditorSupport;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
|
||||
/**
|
||||
@ -52,7 +51,9 @@ public class EnumEditor extends PropertyEditorSupport {
|
||||
public String[] getTags() {
|
||||
if (getValue()==null) return null;
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,6 @@ package eva2.gui;
|
||||
* $Date: 2007-11-27 14:37:05 +0100 (Tue, 27 Nov 2007) $
|
||||
* $Author: mkron $
|
||||
*/
|
||||
import eva2.EvAInfo;
|
||||
import eva2.server.modules.ModuleAdapter;
|
||||
import eva2.server.stat.EvAJob;
|
||||
import eva2.tools.ToolBoxGui;
|
||||
|
@ -4,7 +4,6 @@ import java.awt.Component;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyEditor;
|
||||
|
||||
import javax.swing.JTree;
|
||||
import javax.swing.event.TreeSelectionEvent;
|
||||
import javax.swing.event.TreeSelectionListener;
|
||||
|
@ -13,9 +13,9 @@ package eva2.gui;
|
||||
* IMPORTS
|
||||
*==========================================================================*/
|
||||
import javax.swing.AbstractAction;
|
||||
import javax.swing.Action;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.KeyStroke;
|
||||
import javax.swing.Action;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
@ -12,8 +12,8 @@ package eva2.gui;
|
||||
/*==========================================================================*
|
||||
* IMPORTS
|
||||
*==========================================================================*/
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import javax.swing.JComponent;
|
||||
/**
|
||||
*
|
||||
|
@ -11,6 +11,21 @@ package eva2.gui;
|
||||
* 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.Dimension;
|
||||
import java.awt.Graphics;
|
||||
@ -27,29 +42,12 @@ import java.io.Serializable;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JMenuItem;
|
||||
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
|
||||
|
@ -16,7 +16,6 @@ import java.awt.event.KeyListener;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyEditor;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
|
@ -1,11 +1,11 @@
|
||||
package eva2.gui;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.beans.PropertyEditor;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyEditor;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* 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.add(new JLabel("Optimize:"));
|
||||
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_Objective.addItemListener(this.objectiveAction);
|
||||
this.m_CustomEditor.add(this.m_TargetPanel, BorderLayout.NORTH);
|
||||
|
@ -1,11 +1,11 @@
|
||||
package eva2.gui;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.beans.PropertyEditor;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyEditor;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* 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.add(new JLabel("Optimize:"));
|
||||
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_Objective.addItemListener(this.objectiveAction);
|
||||
this.m_CustomEditor.add(this.m_TargetPanel, BorderLayout.NORTH);
|
||||
|
@ -1,14 +1,14 @@
|
||||
package eva2.gui;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.beans.PropertyEditor;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.KeyListener;
|
||||
import java.awt.event.ActionListener;
|
||||
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.
|
||||
|
@ -5,6 +5,9 @@ package eva2.gui;
|
||||
* $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.FontMetrics;
|
||||
import java.awt.Graphics;
|
||||
@ -26,10 +29,6 @@ import java.util.Vector;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import eva2.EvAInfo;
|
||||
import eva2.tools.ReflectPackage;
|
||||
import eva2.tools.jproxy.RMIProxyLocal;
|
||||
|
||||
public class GenericObjectEditor implements PropertyEditor {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(GenericObjectEditor.class.getName());
|
||||
|
@ -33,7 +33,6 @@ import eva2.server.go.problems.InterfaceOptimizationTarget;
|
||||
import eva2.server.go.tools.AbstractObjectEditor;
|
||||
import eva2.server.go.tools.GeneralGOEProperty;
|
||||
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_Delete = new JButton[list.length];
|
||||
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
|
||||
gbc.anchor = GridBagConstraints.WEST;
|
||||
gbc.fill = GridBagConstraints.BOTH;
|
||||
|
@ -1,6 +1,10 @@
|
||||
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.Component;
|
||||
import java.awt.Dimension;
|
||||
@ -20,7 +24,6 @@ import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyEditor;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
@ -32,11 +35,6 @@ import javax.swing.JTextArea;
|
||||
import javax.swing.JTextField;
|
||||
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.
|
||||
@ -160,7 +158,9 @@ public class GenericOptimizationObjectivesWithParamEditor extends JPanel impleme
|
||||
this.m_Targets = new JComponent[list.length];
|
||||
this.m_Delete = new JButton[list.length];
|
||||
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
|
||||
gbc.anchor = GridBagConstraints.WEST;
|
||||
gbc.fill = GridBagConstraints.BOTH;
|
||||
@ -288,7 +288,7 @@ public class GenericOptimizationObjectivesWithParamEditor extends JPanel impleme
|
||||
}
|
||||
if (sum != 0) {
|
||||
for (int i = 0; i < newW.length; i++) {
|
||||
newW[i] = newW[i]/sum;
|
||||
newW[i] /= sum;
|
||||
}
|
||||
m_OptimizationObjectivesWithWeights.setWeights(newW);
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package eva2.gui;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.server.go.SwingWorker;
|
||||
import eva2.tools.BasicResourceLoader;
|
||||
|
||||
import java.beans.PropertyEditor;
|
||||
@ -12,8 +11,6 @@ import java.beans.PropertyChangeListener;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
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_Delete = new JButton[this.m_RemoteServers.size()];
|
||||
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
|
||||
setGBC(gbc, GridBagConstraints.WEST, GridBagConstraints.BOTH, 0, 1);
|
||||
this.m_ServerList.add(new JLabel("Status"), gbc);
|
||||
|
@ -1,11 +1,11 @@
|
||||
package eva2.gui;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.beans.PropertyEditor;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.beans.PropertyEditor;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -14,17 +14,16 @@ package eva2.gui;
|
||||
* 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.DMeasures;
|
||||
import eva2.tools.chart2d.DPoint;
|
||||
import eva2.tools.chart2d.DPointIcon;
|
||||
import eva2.tools.chart2d.DPointSet;
|
||||
import eva2.tools.math.Mathematics;
|
||||
import java.awt.BasicStroke;
|
||||
import java.awt.Color;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/*==========================================================================*
|
||||
* CLASS DECLARATION
|
||||
@ -79,8 +78,9 @@ public class GraphPointSet {
|
||||
public DPointSet getDPointSet() {
|
||||
DPointSet ret = new DPointSet(100);
|
||||
ret.setColor(m_Color);
|
||||
for (int i = 0; i < m_X.length; i++)
|
||||
ret.addDPoint(m_X[i], m_Y[i]);
|
||||
for (int i = 0; i < m_X.length; i++) {
|
||||
ret.addDPoint(m_X[i], m_Y[i]);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
package eva2.gui;
|
||||
|
||||
import eva2.tools.Pair;
|
||||
import eva2.tools.StringTools;
|
||||
import eva2.tools.chart2d.SlimRect;
|
||||
import java.awt.Color;
|
||||
import java.awt.FontMetrics;
|
||||
import java.awt.Graphics;
|
||||
@ -9,17 +12,12 @@ import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import javax.swing.BoxLayout;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
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
|
||||
* GraphPointSets as used in FunctionArea. Painting is done in FunctionArea. As
|
||||
|
@ -5,11 +5,10 @@ package eva2.gui;
|
||||
* $ $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.RMIProxyRemote;
|
||||
import java.net.InetAddress;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* It represents one plot window in the client GUI.
|
||||
|
@ -5,9 +5,7 @@ package eva2.gui;
|
||||
* $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.Dimension;
|
||||
import java.awt.Event;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
@ -5,7 +5,6 @@ import eva2.tools.ToolBoxGui;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JDesktopPane;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
/**
|
||||
|
@ -12,8 +12,8 @@ package eva2.gui;
|
||||
/*==========================================================================*
|
||||
* IMPORTS
|
||||
*==========================================================================*/
|
||||
import javax.swing.*;
|
||||
import java.io.File;
|
||||
import javax.swing.*;
|
||||
|
||||
public class JExtFileChooser extends JFileChooser{
|
||||
private boolean overwriteWarning = true;
|
||||
|
@ -12,7 +12,6 @@ package eva2.gui;
|
||||
/*==========================================================================*
|
||||
* IMPORTS
|
||||
*==========================================================================*/
|
||||
import java.awt.Font;
|
||||
import javax.swing.JMenu;
|
||||
import javax.swing.JMenuItem;
|
||||
import javax.swing.KeyStroke;
|
||||
|
@ -12,14 +12,14 @@ package eva2.gui;
|
||||
/*==========================================================================*
|
||||
* IMPORTS
|
||||
*==========================================================================*/
|
||||
import java.awt.Event;
|
||||
import java.awt.event.*;
|
||||
import java.io.*;
|
||||
import java.util.Hashtable;
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.*;
|
||||
import javax.swing.text.*;
|
||||
import javax.swing.undo.*;
|
||||
import java.io.*;
|
||||
import java.util.Hashtable;
|
||||
import java.awt.event.* ;
|
||||
import java.awt.Event;
|
||||
|
||||
|
||||
public class JTextEditorInternalFrame extends JDocFrame{
|
||||
@ -138,7 +138,9 @@ public class JTextEditorInternalFrame extends JDocFrame{
|
||||
hashActions.put(redoAction, actRedo = new RedoAction());
|
||||
|
||||
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");
|
||||
barEdit = new JExtToolBar();
|
||||
|
@ -9,7 +9,6 @@ import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.LogManager;
|
||||
import java.util.logging.Logger;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JMenuItem;
|
||||
|
@ -11,14 +11,10 @@ package eva2.gui;
|
||||
*/
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Point;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTextArea;
|
||||
@ -26,12 +22,7 @@ import javax.swing.JViewport;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
import javax.swing.event.ChangeListener;
|
||||
|
||||
import eva2.EvAInfo;
|
||||
import eva2.tools.BasicResourceLoader;
|
||||
import java.awt.Color;
|
||||
import java.awt.FlowLayout;
|
||||
import java.awt.event.*;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.logging.Handler;
|
||||
import java.util.logging.LogRecord;
|
||||
|
@ -1,8 +1,8 @@
|
||||
package eva2.gui;
|
||||
|
||||
import java.beans.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.beans.*;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -11,11 +11,8 @@ import java.awt.Dimension;
|
||||
import java.awt.FlowLayout;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.Robot;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedOutputStream;
|
||||
@ -32,7 +29,6 @@ import java.util.Locale;
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
|
@ -3,7 +3,6 @@ package eva2.gui;
|
||||
import java.awt.event.ItemEvent;
|
||||
import java.awt.event.ItemListener;
|
||||
import java.beans.PropertyEditor;
|
||||
|
||||
import javax.swing.JCheckBox;
|
||||
|
||||
/**
|
||||
|
@ -7,14 +7,12 @@ package eva2.gui;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Component;
|
||||
import java.awt.Toolkit;
|
||||
import java.beans.PropertyEditor;
|
||||
|
||||
import eva2.EvAInfo;
|
||||
import eva2.tools.BasicResourceLoader;
|
||||
import eva2.tools.EVAHELP;
|
||||
import javax.swing.JDialog;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -52,7 +52,9 @@ public class PropertyDoubleArray implements java.io.Serializable {
|
||||
*/
|
||||
public void setDoubleArray(double[] d) {
|
||||
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;
|
||||
}
|
||||
|
||||
@ -81,7 +83,9 @@ public class PropertyDoubleArray implements java.io.Serializable {
|
||||
throw new IllegalArgumentException("Error, invalid column selected, " + col + " of " + m_numCols);
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
@ -119,7 +123,9 @@ public class PropertyDoubleArray implements java.io.Serializable {
|
||||
int inc=0;
|
||||
for (int i = 0; i < newDD.length; i++) {
|
||||
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);
|
||||
}
|
||||
@ -134,10 +140,17 @@ public class PropertyDoubleArray implements java.io.Serializable {
|
||||
if (k<0 || k>= getNumRows()) k=getNumRows()-1;
|
||||
double[][] newDD = new double[getNumRows()+1][getNumCols()];
|
||||
|
||||
for (int i = 0; i < getNumRows(); i++)
|
||||
for (int j=0; j<getNumCols(); j++) newDD[i][j] = m_DoubleArray[i][j];
|
||||
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
|
||||
for (int i = 0; i < getNumRows(); i++) {
|
||||
for (int j = 0; j<getNumCols(); j++) {
|
||||
newDD[i][j] = m_DoubleArray[i][j];
|
||||
}
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -1,13 +1,12 @@
|
||||
package eva2.gui;
|
||||
|
||||
import java.beans.PropertyDescriptor;
|
||||
import java.beans.PropertyEditor;
|
||||
import java.beans.PropertyEditorManager;
|
||||
|
||||
import eva2.server.go.InterfaceTerminator;
|
||||
import eva2.server.go.individuals.codings.gp.GPArea;
|
||||
import eva2.tools.SelectedTag;
|
||||
import eva2.tools.StringSelection;
|
||||
import java.beans.PropertyDescriptor;
|
||||
import java.beans.PropertyEditor;
|
||||
import java.beans.PropertyEditorManager;
|
||||
|
||||
public class PropertyEditorProvider {
|
||||
final static boolean TRACE = false;
|
||||
|
@ -53,7 +53,9 @@ public class PropertyOptimizationObjectivesWithParam implements java.io.Serializ
|
||||
|
||||
if (this.m_Weights == null) {
|
||||
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;
|
||||
}
|
||||
|
||||
@ -61,11 +63,15 @@ public class PropertyOptimizationObjectivesWithParam implements java.io.Serializ
|
||||
|
||||
if (d.length > this.m_Weights.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;
|
||||
} else {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@ -13,8 +13,6 @@ import eva2.tools.EVAHELP;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.beans.PropertyEditor;
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.JButton;
|
||||
|
@ -1,10 +1,9 @@
|
||||
package eva2.gui;
|
||||
|
||||
import eva2.tools.jproxy.RMIInvocationHandler;
|
||||
import java.rmi.Naming;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import eva2.tools.jproxy.RMIInvocationHandler;
|
||||
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -24,8 +24,6 @@ import javax.swing.BorderFactory;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTextArea;
|
||||
import javax.swing.SwingConstants;
|
||||
/**
|
||||
*
|
||||
|
@ -9,11 +9,10 @@ package eva2.gui;
|
||||
* $Date: 2007-10-23 13:43:24 +0200 (Tue, 23 Oct 2007) $
|
||||
* $Author: mkron $
|
||||
*/
|
||||
import java.beans.*;
|
||||
import java.awt.*;
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.server.stat.GenericStatistics;
|
||||
import java.awt.*;
|
||||
import java.beans.*;
|
||||
import javax.swing.*;
|
||||
|
||||
public class StatisticsEditor implements PropertyEditor {
|
||||
|
||||
|
@ -10,19 +10,17 @@ package eva2.gui;
|
||||
* $Author: marcekro $
|
||||
*/
|
||||
|
||||
import eva2.EvAInfo;
|
||||
import eva2.tools.BasicResourceLoader;
|
||||
import eva2.tools.SelectedTag;
|
||||
import eva2.tools.Tag;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.beans.PropertyEditorManager;
|
||||
import java.beans.PropertyEditorSupport;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
|
||||
import eva2.EvAInfo;
|
||||
import eva2.tools.BasicResourceLoader;
|
||||
import eva2.tools.SelectedTag;
|
||||
import eva2.tools.Tag;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
@ -12,15 +12,13 @@ package eva2.gui;
|
||||
/*==========================================================================*
|
||||
* IMPORTS
|
||||
*==========================================================================*/
|
||||
import java.awt.Color;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import eva2.server.go.problems.Interface2DBorderProblem;
|
||||
import eva2.server.go.problems.InterfaceFirstOrderDerivableProblem;
|
||||
import eva2.tools.chart2d.DRectangle;
|
||||
import eva2.tools.diagram.ColorBarCalculator;
|
||||
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 (withGradientsIfAvailable && (problem instanceof InterfaceFirstOrderDerivableProblem)) {
|
||||
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
|
||||
|
@ -4,13 +4,13 @@
|
||||
*/
|
||||
package eva2.gui.utils;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
import javax.swing.plaf.basic.BasicTabbedPaneUI;
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
import java.awt.event.MouseMotionListener;
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.ComponentUI;
|
||||
import javax.swing.plaf.basic.BasicTabbedPaneUI;
|
||||
|
||||
public class CustomTabbedPaneUI extends BasicTabbedPaneUI {
|
||||
|
||||
|
@ -19,8 +19,8 @@ import eva2.tools.jproxy.MainAdapterClient;
|
||||
import eva2.tools.jproxy.RMIProxyLocal;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
@ -2,6 +2,7 @@ package eva2.server.go;
|
||||
|
||||
import eva2.gui.BeanInspector;
|
||||
import eva2.gui.JParaPanel;
|
||||
import eva2.server.go.SwingWorker;
|
||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||
import eva2.server.go.individuals.ESIndividualDoubleData;
|
||||
import eva2.server.go.individuals.GAIndividualDoubleData;
|
||||
@ -231,7 +232,9 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
|
||||
m_Continue.setEnabled(true);
|
||||
m_StopButton.setEnabled(false);
|
||||
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!");
|
||||
}
|
||||
}
|
||||
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);
|
||||
if (this.show) this.m_StatusField.setText("Finished...");
|
||||
return "All Done";
|
||||
@ -573,7 +578,9 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
|
||||
tmpLine.append("\t");
|
||||
tmpLine.append(population.getBestEAIndividual().getFitness(0));
|
||||
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(tmpd);
|
||||
tmpLine.append("\t");
|
||||
|
@ -1,8 +1,7 @@
|
||||
package eva2.server.go;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import eva2.server.go.problems.InterfaceAdditionalPopulationInformer;
|
||||
import java.util.List;
|
||||
|
||||
public interface InterfaceNotifyOnInformers {
|
||||
/**
|
||||
|
@ -2,6 +2,7 @@ package eva2.server.go;
|
||||
|
||||
import eva2.gui.JParaPanel;
|
||||
import eva2.gui.PropertyDoubleArray;
|
||||
import eva2.server.go.SwingWorker;
|
||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||
import eva2.server.go.mocco.*;
|
||||
import eva2.server.go.mocco.paretofrontviewer.MOCCOViewer;
|
||||
@ -17,7 +18,6 @@ import java.awt.Dimension;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.io.Serializable;
|
||||
import java.io.*;
|
||||
import javax.swing.*;
|
||||
|
||||
|
@ -1,13 +1,12 @@
|
||||
package eva2.server.go.individuals;
|
||||
|
||||
import java.util.BitSet;
|
||||
|
||||
import eva2.server.go.operators.crossover.CrossoverESDefault;
|
||||
import eva2.server.go.operators.mutation.InterfaceMutation;
|
||||
import eva2.server.go.operators.mutation.MutateESGlobal;
|
||||
import eva2.server.go.problems.InterfaceHasInitRange;
|
||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||
import eva2.tools.math.RNG;
|
||||
import java.util.BitSet;
|
||||
|
||||
|
||||
/** 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 = "";
|
||||
result += "ESIndividual coding double: (";
|
||||
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{";
|
||||
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 += "[";
|
||||
for (int i = 0; i < this.m_Genotype.length; i++) {
|
||||
|
@ -223,9 +223,13 @@ public class ESIndividualIntegerData extends AbstractEAIndividual implements Int
|
||||
String result = "";
|
||||
result += "ESIndividual coding int: (";
|
||||
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{";
|
||||
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 += "[";
|
||||
for (int i = 0; i < this.m_Genotype.length; i++) {
|
||||
|
@ -252,9 +252,13 @@ public class ESIndividualPermutationData extends AbstractEAIndividual implements
|
||||
String result = "";
|
||||
result += "ESIndividual coding permutation: (";
|
||||
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{";
|
||||
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 += "[";
|
||||
for (int i = 0; i < this.m_Genotype.length; i++) {
|
||||
|
@ -1,12 +1,11 @@
|
||||
package eva2.server.go.individuals;
|
||||
|
||||
|
||||
import java.util.BitSet;
|
||||
|
||||
import eva2.server.go.operators.mutation.InterfaceMutation;
|
||||
import eva2.server.go.populations.Population;
|
||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||
import eva2.tools.math.RNG;
|
||||
import java.util.BitSet;
|
||||
|
||||
/** This individual combines a binary and a real-valued phenotype.
|
||||
* Created by IntelliJ IDEA.
|
||||
@ -139,12 +138,16 @@ public class GAESIndividualBinaryDoubleData extends AbstractEAIndividual impleme
|
||||
|
||||
numTmp = (AbstractEAIndividual)this.getNumbers();
|
||||
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);
|
||||
|
||||
binTmp = (AbstractEAIndividual)this.getBitSet();
|
||||
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);
|
||||
|
||||
result = new GAESIndividualBinaryDoubleData[resNum.length];
|
||||
@ -172,7 +175,9 @@ public class GAESIndividualBinaryDoubleData extends AbstractEAIndividual impleme
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -1,14 +1,13 @@
|
||||
package eva2.server.go.individuals;
|
||||
|
||||
|
||||
import java.util.BitSet;
|
||||
|
||||
import eva2.server.go.operators.crossover.CrossoverGAGINPoint;
|
||||
import eva2.server.go.operators.crossover.InterfaceCrossover;
|
||||
import eva2.server.go.operators.mutation.InterfaceMutation;
|
||||
import eva2.server.go.operators.mutation.MutateGANBit;
|
||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||
import eva2.tools.math.RNG;
|
||||
import java.util.BitSet;
|
||||
|
||||
/** This individual uses a binary genotype to code for binary values.
|
||||
* Created by IntelliJ IDEA.
|
||||
@ -126,8 +125,10 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
|
||||
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
|
||||
*/
|
||||
@Override
|
||||
@ -135,9 +136,13 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
|
||||
String result = "";
|
||||
result += "GAIndividual: (";
|
||||
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{";
|
||||
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 += "{";
|
||||
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();
|
||||
return result;
|
||||
}
|
||||
/************************************************************************************
|
||||
* InterfaceGAIndividual methods
|
||||
*/
|
||||
|
||||
/** This method allows you to read the binary data
|
||||
* @return BitSet representing the binary data.
|
||||
@ -161,8 +163,10 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
|
||||
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.
|
||||
*
|
||||
* @param binaryData The new binary data.
|
||||
*/
|
||||
@Override
|
||||
|
@ -1,8 +1,6 @@
|
||||
package eva2.server.go.individuals;
|
||||
|
||||
|
||||
import java.util.BitSet;
|
||||
|
||||
import eva2.server.go.individuals.codings.ga.GAStandardCodingDouble;
|
||||
import eva2.server.go.individuals.codings.ga.InterfaceGADoubleCoding;
|
||||
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.problems.InterfaceOptimizationProblem;
|
||||
import eva2.tools.math.RNG;
|
||||
import java.util.BitSet;
|
||||
|
||||
/** This individual uses a binary genotype to code for double values
|
||||
* using two alternative encodings.
|
||||
@ -247,9 +246,13 @@ public class GAIndividualDoubleData extends AbstractEAIndividual implements Inte
|
||||
String result = "";
|
||||
result += "GAIndividual coding double: (";
|
||||
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{";
|
||||
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 += "[";
|
||||
double[] d = this.getDoubleData();
|
||||
|
@ -1,8 +1,6 @@
|
||||
package eva2.server.go.individuals;
|
||||
|
||||
|
||||
import java.util.BitSet;
|
||||
|
||||
import eva2.server.go.individuals.codings.ga.GAStandardCodingInteger;
|
||||
import eva2.server.go.individuals.codings.ga.InterfaceGAIntegerCoding;
|
||||
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.problems.InterfaceOptimizationProblem;
|
||||
import eva2.tools.math.RNG;
|
||||
import java.util.BitSet;
|
||||
|
||||
/** This individual uses a binary genotype to code for binary values using
|
||||
* two alternative encodings.
|
||||
@ -273,9 +272,13 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
|
||||
String result = "";
|
||||
result += "GAIndividual coding int: (";
|
||||
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{";
|
||||
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 += "[";
|
||||
int[] d = this.getIntegerData();
|
||||
@ -295,7 +298,9 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
|
||||
result += "]\n";
|
||||
result += "{";
|
||||
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++) {
|
||||
if (this.m_Genotype.get(i)) result += "1";
|
||||
else result += "0";
|
||||
@ -333,14 +338,18 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
|
||||
@Override
|
||||
public int getGenotypeLength() {
|
||||
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;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultInit(InterfaceOptimizationProblem prob) {
|
||||
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++) {
|
||||
if (RNG.flipCoin(0.5)) this.m_Genotype.set(i);
|
||||
else this.m_Genotype.clear(i);
|
||||
@ -352,7 +361,9 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
|
||||
@Override
|
||||
public void defaultMutate() {
|
||||
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);
|
||||
if (this.m_Genotype.get(mutationIndex)) this.m_Genotype.clear(mutationIndex);
|
||||
else this.m_Genotype.set(mutationIndex);
|
||||
|
@ -134,12 +134,16 @@ public class GAPIndividualProgramData extends AbstractEAIndividual implements In
|
||||
|
||||
numTmp = (AbstractEAIndividual)this.getNumbers();
|
||||
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);
|
||||
|
||||
binTmp = (AbstractEAIndividual)this.getProgramRepresentation();
|
||||
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);
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < result.length; i++) result[i].giveNewName();
|
||||
for (int i = 0; i < result.length; i++) {
|
||||
result[i].giveNewName();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,6 @@
|
||||
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.GPArea;
|
||||
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.problems.InterfaceOptimizationProblem;
|
||||
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
|
||||
* 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
|
||||
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++) {
|
||||
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>....
|
||||
if (directList[i].size() > 0) {
|
||||
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 {
|
||||
tmpRule = null;
|
||||
}
|
||||
@ -228,7 +231,9 @@ public class GEIndividualProgramData extends AbstractEAIndividual implements Int
|
||||
result += "T \t := \t{";
|
||||
this.m_Area[t].compileReducedList();
|
||||
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";
|
||||
// now the S
|
||||
result += "S \t := \t<expr>\n\n";
|
||||
@ -250,13 +255,17 @@ public class GEIndividualProgramData extends AbstractEAIndividual implements Int
|
||||
// These are the GP-Terminals
|
||||
tmpNodes = (AbstractGPNode[])this.m_Rules[t][i];
|
||||
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 {
|
||||
// These are the GP-Functions
|
||||
tmpNodes = (AbstractGPNode[])this.m_Rules[t][i];
|
||||
if (tmpNodes.length > 0) {
|
||||
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";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -231,9 +231,13 @@ public class GIIndividualIntegerData extends AbstractEAIndividual implements Int
|
||||
String result = "";
|
||||
result += "GIIndividual coding int: (";
|
||||
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{";
|
||||
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 += "[";
|
||||
int[] d = this.getIntegerData();
|
||||
|
@ -136,12 +136,16 @@ public class GIOBGAIndividualIntegerPermutationData extends AbstractEAIndividual
|
||||
|
||||
numTmp = (AbstractEAIndividual)this.getIntegers();
|
||||
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);
|
||||
|
||||
binTmp = (AbstractEAIndividual)this.getPermutations();
|
||||
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);
|
||||
|
||||
result = new GIOBGAIndividualIntegerPermutationData[resNum.length];
|
||||
@ -169,7 +173,9 @@ public class GIOBGAIndividualIntegerPermutationData extends AbstractEAIndividual
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
package eva2.server.go.individuals;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import eva2.server.go.individuals.codings.gp.AbstractGPNode;
|
||||
import eva2.server.go.individuals.codings.gp.GPArea;
|
||||
@ -168,8 +167,9 @@ public class GPIndividualProgramData extends AbstractEAIndividual implements Int
|
||||
public void SetProgramPhenotype(InterfaceProgram[] program) {
|
||||
if (program instanceof AbstractGPNode[]) {
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -181,8 +181,9 @@ public class GPIndividualProgramData extends AbstractEAIndividual implements Int
|
||||
this.SetProgramPhenotype(program);
|
||||
if (program instanceof AbstractGPNode[]) {
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -233,9 +234,13 @@ public class GPIndividualProgramData extends AbstractEAIndividual implements Int
|
||||
String result = "";
|
||||
result += "GPIndividual coding program: (";
|
||||
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{";
|
||||
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: ";
|
||||
for (int i = 0; i < this.m_Genotype.length; i++) {
|
||||
if (this.m_Genotype[i] != null) result += this.m_Genotype[i].getStringRepresentation();
|
||||
|
@ -1,10 +1,9 @@
|
||||
package eva2.server.go.individuals;
|
||||
|
||||
import eva2.server.go.operators.distancemetric.InterfaceDistanceMetric;
|
||||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
|
||||
import eva2.server.go.operators.distancemetric.InterfaceDistanceMetric;
|
||||
|
||||
/**
|
||||
* Compare two AbstractEAIndividuals by their distance to a reference individual.
|
||||
* Usable to sort by a distance.
|
||||
|
@ -1,10 +1,9 @@
|
||||
package eva2.server.go.individuals;
|
||||
|
||||
import eva2.tools.EVAERROR;
|
||||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
|
||||
import eva2.tools.EVAERROR;
|
||||
|
||||
/**
|
||||
* Compare two individuals based on a linear combination of the fitness values.
|
||||
*
|
||||
|
@ -1,13 +1,12 @@
|
||||
package eva2.server.go.individuals;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import eva2.server.go.operators.crossover.CrossoverOBGAPMX;
|
||||
import eva2.server.go.operators.mutation.InterfaceMutation;
|
||||
import eva2.server.go.operators.mutation.MutateOBGAFlip;
|
||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||
import eva2.tools.math.RNG;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/** This individual uses a permutation based genotype to code for
|
||||
* permutations.
|
||||
@ -128,9 +127,13 @@ public class OBGAIndividualPermutationData extends AbstractEAIndividual implemen
|
||||
String result = "";
|
||||
result += "OBGAIndividual: (";
|
||||
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{";
|
||||
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 += "{";
|
||||
int[] sizes = this.sizePermutation();
|
||||
|
@ -1,9 +1,8 @@
|
||||
package eva2.server.go.individuals.codings.ga;
|
||||
|
||||
|
||||
import java.util.BitSet;
|
||||
|
||||
import eva2.tools.math.RNG;
|
||||
import java.util.BitSet;
|
||||
|
||||
|
||||
/** 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++) {
|
||||
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);
|
||||
else tmpBitSet.clear(i);
|
||||
}
|
||||
|
@ -40,7 +40,9 @@ public class GAGrayCodingInteger implements InterfaceGAIntegerCoding,java.io.Ser
|
||||
// }
|
||||
for (int i = 0; i < tmpLocus[1]; i++) {
|
||||
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);
|
||||
else tmpBitSet.clear(i);
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ public class GAStandardCodingDouble implements InterfaceGADoubleCoding, java.io.
|
||||
//System.out.println("set 0");
|
||||
}
|
||||
counter++;
|
||||
tmpV = tmpV / 2;
|
||||
tmpV /= 2;
|
||||
// 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));
|
||||
|
@ -1,9 +1,8 @@
|
||||
package eva2.server.go.individuals.codings.ga;
|
||||
|
||||
|
||||
import java.util.BitSet;
|
||||
|
||||
import eva2.tools.math.RNG;
|
||||
import java.util.BitSet;
|
||||
|
||||
|
||||
/** 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);
|
||||
tmpV = tmpV + u_min;
|
||||
tmpV += u_min;
|
||||
//System.out.println("Korregiere: " + tmpV + " " + u_min + " " + u_max + " " + output);
|
||||
if (tmpV > u_max) {
|
||||
// this value is invalid
|
||||
@ -106,7 +105,7 @@ public class GAStandardCodingInteger implements InterfaceGAIntegerCoding, java.i
|
||||
//System.out.println("set 0");
|
||||
}
|
||||
counter++;
|
||||
tmpV = tmpV / 2;
|
||||
tmpV /= 2;
|
||||
// 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));
|
||||
|
@ -1,10 +1,6 @@
|
||||
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.GenericObjectEditor;
|
||||
import eva2.server.go.problems.GPFunctionProblem;
|
||||
@ -13,6 +9,9 @@ import eva2.tools.Pair;
|
||||
import eva2.tools.ReflectPackage;
|
||||
import eva2.tools.math.Mathematics;
|
||||
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.
|
||||
@ -69,7 +68,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
|
||||
this.m_Depth = node.m_Depth;
|
||||
this.m_Parent = node.m_Parent;
|
||||
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) {
|
||||
@ -206,7 +207,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
|
||||
else if (nodes.length==1) return op+"(" + nodes[0].getStringRepresentation()+")";
|
||||
else {
|
||||
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 += ")";
|
||||
return result;
|
||||
}
|
||||
@ -386,7 +389,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
|
||||
*/
|
||||
public void addNodesTo(ArrayList ListOfNodes) {
|
||||
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;
|
||||
if (parent != null) this.m_Depth = this.m_Parent.getDepth()+1;
|
||||
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
|
||||
@ -474,7 +481,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
|
||||
*/
|
||||
public int getNumberOfNodes() {
|
||||
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;
|
||||
}
|
||||
|
||||
@ -534,7 +543,9 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial
|
||||
}
|
||||
} else {
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,12 +1,11 @@
|
||||
package eva2.server.go.individuals.codings.gp;
|
||||
|
||||
|
||||
import eva2.tools.math.RNG;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import eva2.tools.math.RNG;
|
||||
|
||||
|
||||
/** 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.
|
||||
|
@ -1,7 +1,6 @@
|
||||
package eva2.server.go.individuals.codings.gp;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import eva2.server.go.problems.InterfaceProgramProblem;
|
||||
|
||||
|
@ -68,7 +68,7 @@ public class GPNodeDiv extends AbstractGPNode implements java.io.Serializable {
|
||||
if (tmpValue < 0) tmpValue = -this.m_LowerBorderForSec;
|
||||
else tmpValue = this.m_LowerBorderForSec;
|
||||
}
|
||||
result = result / tmpValue;
|
||||
result /= tmpValue;
|
||||
}
|
||||
return new Double(result);
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ public class GPNodeMult extends AbstractGPNode implements java.io.Serializable {
|
||||
|
||||
for (int i = 0; i < this.m_Nodes.length; i++) {
|
||||
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());
|
||||
}
|
||||
return new Double(result);
|
||||
|
@ -45,7 +45,9 @@ public class GPNodeProd extends AbstractGPNode implements java.io.Serializable {
|
||||
if (tmpObj instanceof double[]) result*=Mathematics.product((double[])tmpObj);
|
||||
else if (tmpObj instanceof Double[]) {
|
||||
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;
|
||||
}
|
||||
return new Double(result);
|
||||
|
@ -54,7 +54,9 @@ public class GPNodeSum extends AbstractGPNode implements java.io.Serializable {
|
||||
if (tmpObj instanceof double[]) result+=Mathematics.sum((double[])tmpObj);
|
||||
else if (tmpObj instanceof Double[]) {
|
||||
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;
|
||||
}
|
||||
return new Double(result);
|
||||
|
@ -1,14 +1,12 @@
|
||||
package eva2.server.go.mocco;
|
||||
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.server.go.MOCCOStandalone;
|
||||
import eva2.tools.BasicResourceLoader;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.*;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -1,16 +1,14 @@
|
||||
package eva2.server.go.mocco;
|
||||
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.server.go.MOCCOStandalone;
|
||||
import eva2.server.go.mocco.paretofrontviewer.InterfaceRefPointListener;
|
||||
import eva2.server.go.problems.InterfaceMultiObjectiveDeNovoProblem;
|
||||
import eva2.server.go.problems.InterfaceOptimizationObjective;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -1,18 +1,16 @@
|
||||
package eva2.server.go.mocco;
|
||||
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.server.go.MOCCOStandalone;
|
||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||
import eva2.server.go.mocco.paretofrontviewer.InterfaceRefSolutionListener;
|
||||
import eva2.server.go.populations.Population;
|
||||
import eva2.server.go.problems.InterfaceMultiObjectiveDeNovoProblem;
|
||||
import eva2.server.go.problems.InterfaceOptimizationObjective;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -1,8 +1,6 @@
|
||||
package eva2.server.go.mocco;
|
||||
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.gui.GenericObjectEditor;
|
||||
import eva2.gui.PropertyDoubleArray;
|
||||
import eva2.gui.PropertyEditorProvider;
|
||||
@ -17,11 +15,11 @@ import eva2.server.go.strategies.GeneticAlgorithm;
|
||||
import eva2.server.go.strategies.InterfaceOptimizer;
|
||||
import eva2.server.go.tools.AbstractObjectEditor;
|
||||
import eva2.server.go.tools.GeneralGOEProperty;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.ArrayList;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
@ -247,7 +245,9 @@ public class MOCCOParameterizeGDF extends MOCCOPhase implements InterfaceProcess
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
@ -1,8 +1,6 @@
|
||||
package eva2.server.go.mocco;
|
||||
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.gui.GenericObjectEditor;
|
||||
import eva2.gui.PropertyEditorProvider;
|
||||
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.tools.AbstractObjectEditor;
|
||||
import eva2.server.go.tools.GeneralGOEProperty;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -1,17 +1,6 @@
|
||||
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.PropertyEditorProvider;
|
||||
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.GeneralGOEProperty;
|
||||
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.
|
||||
|
@ -1,17 +1,6 @@
|
||||
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.PropertyEditorProvider;
|
||||
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.tools.AbstractObjectEditor;
|
||||
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.
|
||||
|
@ -1,20 +1,6 @@
|
||||
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.PropertyDoubleArray;
|
||||
import eva2.gui.PropertyEditorProvider;
|
||||
@ -29,6 +15,18 @@ import eva2.server.go.strategies.GeneticAlgorithm;
|
||||
import eva2.server.go.strategies.InterfaceOptimizer;
|
||||
import eva2.server.go.tools.AbstractObjectEditor;
|
||||
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.
|
||||
@ -324,7 +322,9 @@ public class MOCCOParameterizeSTEP extends MOCCOPhase implements InterfaceProces
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
@ -1,19 +1,6 @@
|
||||
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.PropertyEditorProvider;
|
||||
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.GeneralGOEProperty;
|
||||
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.
|
||||
@ -271,7 +269,9 @@ public class MOCCOParameterizeTchebycheff extends MOCCOPhase implements Interfac
|
||||
else tmpD[j] = 1;
|
||||
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();
|
||||
// I've to set this before I change the parameters, because the problem sets the
|
||||
// output dimension based on the AbstractMultiObjectiveOptimizationProblem and
|
||||
|
@ -1,15 +1,13 @@
|
||||
package eva2.server.go.mocco;
|
||||
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.gui.JParaPanel;
|
||||
import eva2.server.go.MOCCOStandalone;
|
||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -94,7 +94,9 @@ public class MOCCOState {
|
||||
}
|
||||
|
||||
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].addPopulation(newPop[newPop.length-1].getArchive());
|
||||
newPop[newPop.length-1].SetArchive(null);
|
||||
|
@ -1,8 +1,6 @@
|
||||
package eva2.server.go.mocco.paretofrontviewer;
|
||||
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.gui.FunctionArea;
|
||||
import eva2.gui.GraphPointSet;
|
||||
import eva2.gui.InterfaceDPointWithContent;
|
||||
@ -15,16 +13,16 @@ import eva2.tools.chart2d.Chart2DDPointContentSelectable;
|
||||
import eva2.tools.chart2d.DPoint;
|
||||
import eva2.tools.chart2d.DPointIcon;
|
||||
import eva2.tools.chart2d.ScaledBorder;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.text.SimpleDateFormat;
|
||||
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();
|
||||
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) { }
|
||||
for (int i = 0; i < pop.size(); i++) {
|
||||
if (!((AbstractEAIndividual)pop.get(i)).violatesConstraint()) {
|
||||
@ -235,10 +235,14 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
|
||||
return;
|
||||
}
|
||||
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();
|
||||
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) { }
|
||||
for (int i = 0; i < pop.size(); i++) {
|
||||
if (!((AbstractEAIndividual)pop.get(i)).violatesConstraint()) {
|
||||
@ -261,10 +265,14 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
|
||||
return;
|
||||
}
|
||||
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();
|
||||
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) { }
|
||||
for (int i = 0; i < pop.size(); i++) {
|
||||
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();
|
||||
obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives();
|
||||
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) { }
|
||||
for (int i = 0; i < pop.size(); i++) {
|
||||
// write
|
||||
@ -312,11 +322,15 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
|
||||
pop = m_MOCCO.m_State.m_ParetoFront.getMarkedIndividuals();
|
||||
obj = ((InterfaceMultiObjectiveDeNovoProblem)m_MOCCO.m_State.m_CurrentProblem).getProblemObjectives();
|
||||
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) { }
|
||||
tmp = "";
|
||||
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.close(); } catch(java.io.IOException e) {}
|
||||
@ -466,7 +480,9 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener,
|
||||
if (this.m_RefPointSelectable) {
|
||||
int dim = ((AbstractEAIndividual)this.m_MOCCO.m_State.m_ParetoFront.get(0)).getFitness().length;
|
||||
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 {
|
||||
//this.m_ReferencePoint = null;
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
package eva2.server.go.mocco.paretofrontviewer;
|
||||
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.gui.*;
|
||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||
import eva2.server.go.populations.Population;
|
||||
@ -14,11 +12,11 @@ import eva2.tools.chart2d.Chart2DDPointIconPoint;
|
||||
import eva2.tools.chart2d.DPoint;
|
||||
import eva2.tools.chart2d.DPointIcon;
|
||||
import eva2.tools.chart2d.ScaledBorder;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.ArrayList;
|
||||
import javax.swing.*;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -17,7 +17,6 @@ import eva2.tools.chart2d.ScaledBorder;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -84,7 +84,9 @@ public abstract class AbstractArchiving implements InterfaceArchiving, java.io.S
|
||||
**/
|
||||
public void plotParetoFront(Population pop, Plot plot) {
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -136,8 +136,9 @@ public class ArchivingNSGAII extends ArchivingNSGA implements java.io.Serializab
|
||||
if (tmpDom.size() < 1) {
|
||||
System.out.println("Problem NSGA II at level " + level + ".");
|
||||
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));
|
||||
}
|
||||
tmpPop.clear();
|
||||
// System.out.println(""+tmpPop.getStringRepresentation());
|
||||
// tmpPop.removeDoubleInstancesUsingFitness();
|
||||
@ -146,7 +147,9 @@ public class ArchivingNSGAII extends ArchivingNSGA implements java.io.Serializab
|
||||
level++;
|
||||
}
|
||||
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;
|
||||
}
|
||||
/** This method will cacluated the NSGAII crowding distance
|
||||
|
@ -285,7 +285,9 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial
|
||||
if (pop.getArchive() != null) tmp.addPopulation(pop.getArchive());
|
||||
|
||||
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;
|
||||
minY = fitness[0];
|
||||
maxY = fitness[0];
|
||||
@ -322,7 +324,9 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial
|
||||
}
|
||||
}
|
||||
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
|
||||
@ -345,7 +349,9 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial
|
||||
}
|
||||
}
|
||||
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.setUnconnectedPoint(0, 0, 11);
|
||||
this.m_Plot.setUnconnectedPoint(1.2, 2.0, 11);
|
||||
|
@ -1,13 +1,11 @@
|
||||
package eva2.server.go.operators.classification;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import eva2.tools.chart2d.*;
|
||||
import eva2.tools.math.RNG;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.awt.*;
|
||||
import javax.swing.*;
|
||||
|
||||
/** Self-organizing maps, a simple, but easy to visualize method
|
||||
* 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++) {
|
||||
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++) {
|
||||
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++) {
|
||||
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];
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package eva2.server.go.operators.cluster;
|
||||
|
||||
import eva2.server.go.populations.Population;
|
||||
import java.io.Serializable;
|
||||
import java.util.Arrays;
|
||||
|
||||
import eva2.server.go.populations.Population;
|
||||
|
||||
/**
|
||||
* Dummy class which assigns all individuals to a single cluster only.
|
||||
*
|
||||
|
@ -1,12 +1,11 @@
|
||||
package eva2.server.go.operators.cluster;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import eva2.server.go.individuals.AbstractEAIndividual;
|
||||
import eva2.server.go.operators.distancemetric.InterfaceDistanceMetric;
|
||||
import eva2.server.go.operators.distancemetric.PhenotypeMetric;
|
||||
import eva2.server.go.populations.Population;
|
||||
import eva2.tools.Pair;
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
||||
/** 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
|
||||
for (int i = 0; i < ConnectionMatrix.length; i++) {
|
||||
@ -133,7 +134,9 @@ public class ClusteringDensityBased implements InterfaceClusteringDistanceParam,
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user