anyoptimization / anyoptimization/pysamoo

Default number of DOE points for SurrogateAssistedAlgorithm class

Open
#7 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
52
Forks
16
PR merge metrics
No merged PRs in 30d

Description

In pysamoo.core.algorithm, the docstring for the SurrogateAssistedAlgorithm class states that if n_initial_doe = None, "the default is 11n - 1 (but at most n_max_doe)".

Further down, in _setup(), it sets the number of initial DOE points to:
self.n_initial_doe = min(self.n_initial_max_doe, default_n_doe(problem.n_var))

Then at the top of pysamoo.core.algorithm it has the definition for default_n_doe as:

def default_n_doe(n, max=float("inf")):
    return min(2 * n + 1, max)

This suggests the number of initial DOE points would default to 2n + 1, instead of 11n - 1. Is the docstring incorrect or is default_n_doe defined incorrectly? I am using this code in my research, and I just want to be sure that I am using the correct defaults.

Thanks!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in pysamoo.core.algorithm by reading default_n_doe and the SurrogateAssistedAlgorithm docstring together with _setup(). Trace how n_initial_doe and n_initial_max_doe are used, then determine which default the project intends. Done means the documented and implemented defaults agree, with the behavior verified through the relevant algorithm setup path.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.