Skip to content
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

✨ Added a generic function optimizer based on Simulated Annealing #148

Merged
merged 56 commits into from
Mar 22, 2023

Conversation

marcelwa
Copy link
Collaborator

@marcelwa marcelwa commented Mar 17, 2023

Description

This PR adds an optimizer for generic functions based on Simulated Annealing. Single- and multi-run implementations are available. If your system supports it, the multi-run implementation will be multi-threaded out of the box. For Linux and macOS this might require you to install Intel's oneTBB library.

Checklist:

  • The pull request only contains commits that are related to it.
  • I have added appropriate tests and documentation.
  • I have made sure that all CI jobs on GitHub pass.
  • The pull request introduces no new warnings and follows the project's style guidelines.

…ifferent solutions based on n random states and returns the best. The algorithm is parallelized/vectorized if execution policies are supported by the compiler
…d evaluate various placements of the same set of network nodes
@marcelwa marcelwa added the enhancement New feature or request label Mar 17, 2023
@marcelwa marcelwa self-assigned this Mar 17, 2023
@codecov
Copy link

codecov bot commented Mar 17, 2023

Codecov Report

Merging #148 (023a63d) into main (eb84d7a) will decrease coverage by 0.04%.
The diff coverage is 100.00%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #148      +/-   ##
==========================================
- Coverage   94.03%   94.00%   -0.04%     
==========================================
  Files          75       76       +1     
  Lines        7043     7085      +42     
==========================================
+ Hits         6623     6660      +37     
- Misses        420      425       +5     
Impacted Files Coverage Δ
...on/algorithms/optimization/simulated_annealing.hpp 100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update eb84d7a...023a63d. Read the comment docs.

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

3 similar comments
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CodeQL found more than 10 potential problems in the proposed changes. Check the Files changed tab for more details.

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

}

// Test the Schwefel implementation
TEST_CASE("1D Schwefel function", "[sim-anneal]")

Check notice

Code scanning / CodeQL

Unused static function

Static function CATCH2_INTERNAL_TEST_0 is unreachable ([autoRegistrar1](1) must be removed at the same time)
@marcelwa marcelwa merged commit ebe0543 into main Mar 22, 2023
@marcelwa marcelwa deleted the placer branch March 22, 2023 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant