-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add neldermead #34
Merged
Merged
Add neldermead #34
Changes from 28 commits
Commits
Show all changes
39 commits
Select commit
Hold shift + click to select a range
7e3c6bb
basic Nelder Mead Simplex
jangerit 07ccd66
add bounds, reflection, translation
jangerit e24e3a1
neldermead before code clean up
jangerit 56b72c7
neldermead cleanup 1
jangerit 898fb7f
neldermead cleanup 2
jangerit b17e2da
neldermead fix bound constraints
jangerit 196de71
neldermead fix dimension recovery
jangerit ca255f1
handling constraints internally, initialization improvement, further …
jangerit 82b7b2a
fix check_constraints
jangerit 844bbfd
fix check_constraint 2
jangerit 253ba59
fix check_constraints 3
jangerit 3b2e9ea
update pandas version
jangerit fbe9447
downgrade python
jangerit cb7111d
Revert "downgrade python"
jangerit 67a7fcd
update comments
jangerit bfc4cd9
revert to original pandas version
jangerit 758bee5
Test py37 in ci.yml for debugging
jangerit 65af3c3
Test py37 in ci.yml for debugging 2
jangerit cb5a762
use python 3.8.2 and pandas 0.25.3
jangerit 29c6d1a
adjustments for pandas 0.25.3
jangerit fc99143
small change for transformation of next_experiments to DataSet
jangerit 6b2169f
up python version to 3.8.3 in workflows
jangerit 249582f
Create notebook for Nelder Mead Tutorial
marcosfelt 047c775
Revert "Create notebook for Nelder Mead Tutorial"
marcosfelt c0fc082
Merge in master and rerun poetry lock
marcosfelt 545b58e
Merge in snobfit test code
marcosfelt c70706c
Merge in master
marcosfelt c89b349
Change to python 3.7.7 and add transforms to NelderMead
marcosfelt d3452e9
add un_transform
jangerit c94c8df
encapsulation of test functions from test strategies
jangerit a752729
move plotting to indiviual benchmarks
jangerit cb7a0ce
update doctest
jangerit 213fd3f
Made plotting optional in tests and removed doctest from snobfit sinc…
marcosfelt 18b217e
Remove wide error catching from tests
marcosfelt a839d48
update tests, fix bug in inner loop of neldermead
jangerit ff2af8a
uncomment snobfit in test
jangerit b65c11f
fix inner loop
jangerit 1059b40
Rerun tests with modified stochastics for snobfit
jangerit 6da710c
rerun test with fixed typo in snobfit repo
jangerit File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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
Large diffs are not rendered by default.
Oops, something went wrong.
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,5 @@ | ||
from .base import Strategy, Transform, MultitoSingleObjective, LogSpaceObjectives | ||
from .random import Random, LHS | ||
from .tsemo import TSEMO2 | ||
from .snobfit import SNOBFIT | ||
from .neldermead import NelderMead | ||
from .snobfit import SNOBFIT |
Large diffs are not rendered by default.
Oops, something went wrong.
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer not to have plotting code in the unit tests. Maybe it would be better to break the simulation function and plotting code out into a benchmark and then run the tests against that? I think the plots are really nice and would be great to have in general for this benchmark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, thanks for the suggestion! I've outsourced the test functions for the optimization algorithms (Himmelblau and Hartmann3D) to an extra file
test_functions.py
which is part of the benchmark class. Thus, the test functions evaluations are treated similar to the chemical simulations now.Also, I've added a function
plot()
to both test functions. The points that are evaluated withrun_experiments()
are automatically stored and passed to the plot function if called. So,test_strategies.py
does not have plotting code anymore. Only the simplex of the current iteration needs to be stored, if the Nelder-Mead algorithm is used, so that later the simplexes can be plotted.