EvA2 issueshttps://gitlab.cs.uni-tuebingen.de/groups/eva2/-/issues2017-05-11T14:38:02Zhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/68Add CONTRIBUTING.md2017-05-11T14:38:02ZFabian BeckerAdd CONTRIBUTING.mdWe should have a contributing file explaining how to contribute to the project. Especially for the mirror on Github it's important to let people know how to do PRs.We should have a contributing file explaining how to contribute to the project. Especially for the mirror on Github it's important to let people know how to do PRs.2.3.0Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/65Fix IslandEA2018-02-10T05:17:30ZFabian BeckerFix IslandEAThe current IslandEA implementation is very fragile and only works if parallelisation is performed locally (single threaded). There should be two implementations of IslandEA:
- [ ] Threaded
- [ ] Using MPI
The MPI solution needs t...The current IslandEA implementation is very fragile and only works if parallelisation is performed locally (single threaded). There should be two implementations of IslandEA:
- [ ] Threaded
- [ ] Using MPI
The MPI solution needs to be investigated as I'm not sure how easy it is to fire up an MPI instance and parallelise from Java.
2.4.0Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/64ObjectArrayEditor [Config] button throws exception when nothing is selected2018-02-10T05:17:30ZFabian BeckerObjectArrayEditor [Config] button throws exception when nothing is selectednTnT2.3.0https://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/63Make sense of ParamControl2018-02-10T05:17:30ZFabian BeckerMake sense of ParamControl`eva2.optimization.operator.paramcontrol.InterfaceParamControllable` exists but doesn't seem to be implemented anywhere. The `eva2.optimization.Processor` however tries to magically call the `getParamControl` method defined in this inter...`eva2.optimization.operator.paramcontrol.InterfaceParamControllable` exists but doesn't seem to be implemented anywhere. The `eva2.optimization.Processor` however tries to magically call the `getParamControl` method defined in this interface. Instead of wasting CPU cycles on reflection we should either make Optimizers/Problems implement this interface or remove the interface.2.3.0https://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/61Test all terminators2017-05-11T14:38:02ZFabian BeckerTest all terminatorsThis should be easily testable. Goal is to have 100% test coverage in `eva2.optimization.operator.terminators`.
- [ ] CombinedTerminator
- [ ] DiversityTerminator
- [ ] EvaluationTerminator
- [ ] FitnessConvergenceTerminator
- [ ] Fitne...This should be easily testable. Goal is to have 100% test coverage in `eva2.optimization.operator.terminators`.
- [ ] CombinedTerminator
- [ ] DiversityTerminator
- [ ] EvaluationTerminator
- [ ] FitnessConvergenceTerminator
- [ ] FitnessValueTerminator
- [x] GenerationTerminator
- [ ] HistoryConvergenceTerminator
- [ ] KnownOptimimaFoundTerminator
- [x] MaximumTimeTerminator
- [ ] ParetoMetricTerminator
- [ ] PhenotypeConvergenceTerminator
- [ ] PopulationArchiveTerminator
- [ ] PopulationMeasureTerminator2.3.0Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/59Document / Implement trigger for Plot/SolutionViewer redrawing.2018-02-10T05:17:30ZFabian BeckerDocument / Implement trigger for Plot/SolutionViewer redrawing.FLensProblem currently redraws its solution viewer after every population evaluation. This is highly inefficient. Optimally this should obey the StatisticalSettings output verbosity K. Same should account for the optimization plot which ...FLensProblem currently redraws its solution viewer after every population evaluation. This is highly inefficient. Optimally this should obey the StatisticalSettings output verbosity K. Same should account for the optimization plot which seems to use the same trigger mechanics.
```
@Override
public void evaluatePopulationEnd(Population pop) {
if (this.show) {
this.updateProblemFrame(pop);
}
}
```2.3.0https://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/58Remove GUI options from InterfaceStatisticsParameters2018-02-10T05:17:30ZFabian BeckerRemove GUI options from InterfaceStatisticsParametersInterfaceStatisticsParameters should only handle non-GUI options. StatisticsParameters can then define how to handle file/text window output (and this should be the default implementation for the GUI). This allows for more abstract stati...InterfaceStatisticsParameters should only handle non-GUI options. StatisticsParameters can then define how to handle file/text window output (and this should be the default implementation for the GUI). This allows for more abstract statistics parameters that can also be used for the CLI without cluttering up CLI options that don't make sense to have in CLI (e.g. OutputTo.WINDOW)2.3.0https://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/57Refactor AbstractStatistics2018-02-10T05:17:31ZFabian BeckerRefactor AbstractStatisticsAbstractStatistics is too heavily tied to the text output window (or at least the listeners). It should only handle data collection and leave text output to a subclass `TextStatistics`. This way the CLI's CommandLineStatistics doesn't ha...AbstractStatistics is too heavily tied to the text output window (or at least the listeners). It should only handle data collection and leave text output to a subclass `TextStatistics`. This way the CLI's CommandLineStatistics doesn't have to reimplement data collection.2.3.0https://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/56Build interactive and non-interactive CLI mode2018-02-10T05:17:31ZFabian BeckerBuild interactive and non-interactive CLI mode## Interactive mode
New CLI flag `-i` allows to enter interactive mode and get into a JavaScript (Nashorn) powered shell. The shell has access to the optimization parameters and the command line statistics.
## Non-interactive mode...## Interactive mode
New CLI flag `-i` allows to enter interactive mode and get into a JavaScript (Nashorn) powered shell. The shell has access to the optimization parameters and the command line statistics.
## Non-interactive mode
The non-interactive mode is the default and just prints the optimization results and stats as YAML to the console. A new `--script` flag will allow the user to alter the output (replace) and generate their own output. This makes wrapper scripts unneccessary. 2.3.0Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/54Merge AbstractObjectEditor and GenericObjectEditor2018-02-10T05:17:31ZFabian BeckerMerge AbstractObjectEditor and GenericObjectEditorThis has been a ToDo for ages. Let's get rid of it.This has been a ToDo for ages. Let's get rid of it.2.3.0https://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/53Improve test coverage across the board2017-05-11T14:38:02ZFabian BeckerImprove test coverage across the boardAll the Statistics/Mathematics classes should be thoroughly tested.All the Statistics/Mathematics classes should be thoroughly tested.Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/52Update Documentation for 2.2.0 release2018-02-10T05:17:31ZFabian BeckerUpdate Documentation for 2.2.0 releaseKeeping track of all new documentation related updates here:
- [ ] Document use of EvA2 CLI
- [ ] Document new EvA2ABC library
- [ ] Document new image exporting
- [ ] Document NativeProblemKeeping track of all new documentation related updates here:
- [ ] Document use of EvA2 CLI
- [ ] Document new EvA2ABC library
- [ ] Document new image exporting
- [ ] Document NativeProblem2.2.0Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/50Fix axis labeling2018-02-10T05:17:31ZFabian BeckerFix axis labelingFor long running optimizations the axis labels can start to look absolutely ridiculous:
![Screen_Shot_2015-12-10_at_11.10.44](/uploads/ae15a2994a5cc33cc66c3abaa1419775/Screen_Shot_2015-12-10_at_11.10.44.png)
For long running optimizations the axis labels can start to look absolutely ridiculous:
![Screen_Shot_2015-12-10_at_11.10.44](/uploads/ae15a2994a5cc33cc66c3abaa1419775/Screen_Shot_2015-12-10_at_11.10.44.png)
2.3.0https://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/49Allow export of graphs to vector formats (EPS/PDF/SVG)2018-02-10T05:17:31ZFabian BeckerAllow export of graphs to vector formats (EPS/PDF/SVG)While the current export feature was greatly improved by 34d360db it is still far from usable in publications. Most papers require plots to be available in .eps or .pdf.
This 36kb library supports exporting to SVG/EPS/PDF and utilizes...While the current export feature was greatly improved by 34d360db it is still far from usable in publications. Most papers require plots to be available in .eps or .pdf.
This 36kb library supports exporting to SVG/EPS/PDF and utilizes the Graphics2D features. https://github.com/eseifert/vectorgraphics2d2.3.0Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/48Open new Plot Window when OptimizationProblem is changed2018-02-10T05:17:31ZFabian BeckerOpen new Plot Window when OptimizationProblem is changedInstead of showing all results in a single plot window, EvA2 should open a new plot window for each OptimizationProblem. So when I run DE, PSO and GA against the Sphere problem all results end up in a single graph window and when I run t...Instead of showing all results in a single plot window, EvA2 should open a new plot window for each OptimizationProblem. So when I run DE, PSO and GA against the Sphere problem all results end up in a single graph window and when I run them against Schwefel (or other) a new window will open with the new graphs.
- The graph should get a title with the name of the function
- The legend should only list an abbreviation of the Optimizer and the dimension (maybe params?)
- The graph should simply show f(x) on the y-axis instead of `fitness`2.3.0Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/46Improve Scheduling / Job handling2018-02-10T05:17:31ZFabian BeckerImprove Scheduling / Job handlingThere is rudimentary support for scheduling jobs and a very simple version of a job list that displays past runs and their status. This issue tracks all future work to improve both scheduling and job handling.
- [ ] Visually improve...There is rudimentary support for scheduling jobs and a very simple version of a job list that displays past runs and their status. This issue tracks all future work to improve both scheduling and job handling.
- [ ] Visually improve the Job list so it becomes easier to see the status of a job (JTable instead of JList, colours, filter by status, ...)
- [ ] Only allow to perform statistical tests on jobs that have completed
- [ ] Allow selecting scheduled jobs and running them consecutively.
- [ ] **Advanced:** Allow saving all results of a single run in an "experiments" folder (graph, optimization TSV, solution viewer, ...)
2.4.0https://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/45Allow Single-Window-Mode & Multi-Window-Mode2018-02-10T05:17:31ZFabian BeckerAllow Single-Window-Mode & Multi-Window-ModeDepending on the use-case it might be preferable to use a Multi-Window-Mode compared to the now default Single-Window-Mode.
The JEFrameRegister needs to be refactored to handle JPanels (that can then be added to JFrames or JDesktopPa...Depending on the use-case it might be preferable to use a Multi-Window-Mode compared to the now default Single-Window-Mode.
The JEFrameRegister needs to be refactored to handle JPanels (that can then be added to JFrames or JDesktopPanes).
This issue has multiple parts eventually allowing easier window management and custom views for problems (like the FLensViewer)
- [ ] Refactor JEFrameRegister to handle JPanels (`.addPanel(String name, JPanel panel)`)
- [ ] Adjust all classes that implement JDesktopPane to extend JPanel and register them with the new JEFrameRegister
- [ ] Add preferences window to allow configuring Single-Window-Mode vs. Multi-Window-Mode
- [ ] Add configuration for whether to show Problem solution viewers or not and automatically show them when an optimization is started. Properly handle when windows are closed. This makes this a global setting instead of a per-problem setting.
I'll raise each task as an individual issue to track the progress.2.3.0https://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/44Load/Save buttons don't use correct loading mechanism2018-02-10T05:17:31ZFabian BeckerLoad/Save buttons don't use correct loading mechanismThe load and save button for Statistics and OptimizationParameters don't correctly use the Yaml load sequence with custom representers / constructors causing the action to fail.
Loading/Saving should be refactored into `eva2.yaml`.The load and save button for Statistics and OptimizationParameters don't correctly use the Yaml load sequence with custom representers / constructors causing the action to fail.
Loading/Saving should be refactored into `eva2.yaml`.2.3.0Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/43StringSelection cannot be deserialized2018-02-10T05:17:31ZFabian BeckerStringSelection cannot be deserialized```
Cannot create property=fieldSelection for JavaBean=
StatisticsParameter (eva2.optimization.statistics.StatisticsParameters@4bae6387):
multiRuns=1, textOutput=0, verbosity= K-th iterations
To Text-window, [ currentBest meanFit cur...```
Cannot create property=fieldSelection for JavaBean=
StatisticsParameter (eva2.optimization.statistics.StatisticsParameters@4bae6387):
multiRuns=1, textOutput=0, verbosity= K-th iterations
To Text-window, [ currentBest meanFit currentWorst runBest currentBestFeasible runBestFeasible avgEucPopDistance maxEucPopDistance avgPopMetricDist maxPopMetricDist ]
in 'reader', line 1, column 1:
!!eva2.optimization.statistics.S ...
^
java.lang.NoSuchMethodException: eva2.tools.StringSelection.<init>()
in 'reader', line 3, column 17:
fieldSelection: {}
^
```
This prevents `Statistics.yml` and possibly other things from being saved/loaded.2.3.0Fabian BeckerFabian Beckerhttps://gitlab.cs.uni-tuebingen.de/eva2/eva2/-/issues/41Humanize dropdown fields2018-02-10T05:17:31ZFabian BeckerHumanize dropdown fields![Screen_Shot_2015-12-04_at_17.42.01](/uploads/616e2faf728cec4c30b5be7725ea381b/Screen_Shot_2015-12-04_at_17.42.01.png)
This looks terrible![Screen_Shot_2015-12-04_at_17.42.01](/uploads/616e2faf728cec4c30b5be7725ea381b/Screen_Shot_2015-12-04_at_17.42.01.png)
This looks terrible2.3.0Fabian BeckerFabian Becker