-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implemented the Adaptive Epsilon Sampling EA (#7)
* Implemented the basic structure of the survivor- and the mating-selection * implemented tests for the adaptive epsilon sampling EA * Integrated the AeSeH into the EA Gui * separated the modules of NSGA and AeSeH; made AeSeH more flexible towards different parent and offspring numbers * fixed module bug * tests for AeSeH; addressed code smells of AeSeH * changed the way the sampling accesses objective values to cope with null values * fixed the value access for the epsilon mapping function * refactored the non-dominated sorting * fixed typos * added a check for infeasible objectives; adjusted the test cases accordingly * created an extra package for the classes of the AeSeH MOEA * moved the tests to the new package as well * restored the build.gradle file * Implemented non dominated sorting in a non-static way * forgot to add stuff before committing * changed the build to get mockito from maven * cleaned up the comments * fixed infeasible objectives bug * used the citation-annotation and removed the comments * improved javadoc comments * updated class names and package description * changed the module structure * minor corrections + implemented a coupler module for the gui * refactored code so that the coupler and the selecotor can be used individually * restructured the coupler- and selector modules * implemented the changes requested in the review * added new lines at the end of files * typo * Update EpsilonSamplingSelectorModule.java * see comment * phrase removed seems to be nothing more to say about it
- Loading branch information
1 parent
5a72265
commit 28b44c3
Showing
35 changed files
with
2,040 additions
and
131 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,7 @@ | ||
dependencies { | ||
compile project(':opt4j-core') | ||
compile project(':opt4j-operators') | ||
|
||
testCompile group: 'junit', name: 'junit', version: '[4.0,)' | ||
testCompile group: 'org.mockito', name: 'mockito-all', version: '1.9.5' | ||
} |
18 changes: 18 additions & 0 deletions
18
opt4j-optimizers/src/main/java/org/opt4j/optimizers/ea/CouplerDefaultModule.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package org.opt4j.optimizers.ea; | ||
|
||
import org.opt4j.core.config.annotations.Name; | ||
|
||
/** | ||
* Binds the {@link CouplerDefault} as the {@link Coupler}. | ||
* | ||
* @author Fedor Smirnov | ||
* | ||
*/ | ||
@Name("Default") | ||
public class CouplerDefaultModule extends CouplerModule { | ||
|
||
@Override | ||
protected void config() { | ||
bindCoupler(CouplerDefault.class); | ||
} | ||
} |
29 changes: 29 additions & 0 deletions
29
opt4j-optimizers/src/main/java/org/opt4j/optimizers/ea/CouplerModule.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package org.opt4j.optimizers.ea; | ||
|
||
import org.opt4j.core.config.Icons; | ||
import org.opt4j.core.config.annotations.Category; | ||
import org.opt4j.core.config.annotations.Icon; | ||
import org.opt4j.core.config.annotations.Parent; | ||
import org.opt4j.core.start.Opt4JModule; | ||
|
||
/** | ||
* Abstract module class for the {@link Coupler}. | ||
* | ||
* @author Fedor Smirnov | ||
* | ||
*/ | ||
@Icon(Icons.SELECTOR) | ||
@Category | ||
@Parent(EvolutionaryAlgorithmModule.class) | ||
public abstract class CouplerModule extends Opt4JModule { | ||
|
||
/** | ||
* Binds the given {@link Coupler}. | ||
* | ||
* @param coupler | ||
* the {@link Coupler} to bind | ||
*/ | ||
protected void bindCoupler(Class<? extends Coupler> coupler) { | ||
bind(Coupler.class).to(coupler).in(SINGLETON); | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
opt4j-optimizers/src/main/java/org/opt4j/optimizers/ea/CouplerRandomModule.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package org.opt4j.optimizers.ea; | ||
|
||
import org.opt4j.core.config.annotations.Name; | ||
|
||
/** | ||
* Binds the {@link CouplerRandom} as the {@link Coupler}. | ||
* | ||
* @author Fedor Smirnov | ||
* | ||
*/ | ||
@Name("Random") | ||
public class CouplerRandomModule extends CouplerModule { | ||
|
||
@Override | ||
protected void config() { | ||
bindCoupler(CouplerRandom.class); | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
opt4j-optimizers/src/main/java/org/opt4j/optimizers/ea/CouplerUniqueModule.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package org.opt4j.optimizers.ea; | ||
|
||
import org.opt4j.core.config.annotations.Name; | ||
|
||
/** | ||
* Binds the {@link CouplerUnique} as the {@link Coupler}. | ||
* | ||
* @author Fedor Smirnov | ||
* | ||
*/ | ||
@Name("Unique") | ||
public class CouplerUniqueModule extends CouplerModule { | ||
|
||
@Override | ||
protected void config() { | ||
bindCoupler(CouplerUnique.class); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.