Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c66e224
Adds the Dirichlet Rescale Constraints (DRSC) algorithm for generatin…
dk-teknologisk-mon Dec 17, 2025
b8e4b12
Expands the SumEquals constraint type to use the new DRSC algorithm b…
dk-teknologisk-mon Dec 17, 2025
adff4b2
Adjusts tolerance in the test of factor sum constraint check to match…
dk-teknologisk-mon Dec 17, 2025
cb40d5e
Updates function documentation format to be consistent with function …
dk-teknologisk-mon Dec 17, 2025
69ebc86
Adds tests for asking for multiple new suggestions with SumEquals con…
dk-teknologisk-mon Dec 17, 2025
e34a6b7
Remove unneeded function from first try at implementing the algorithm
dk-teknologisk-mon Dec 18, 2025
13bf424
Add a guardrail to the main algorithm to handle rare cases where the …
dk-teknologisk-mon Dec 18, 2025
6cf9526
Adjusts how clipping is done to ensure that we both preserve the desi…
dk-teknologisk-mon Dec 18, 2025
14e11c7
Increased the number of samples to check during testing to catch rare…
dk-teknologisk-mon Dec 18, 2025
87eb9d1
Fix small omission in test call of opt.ask(3) during SumEquals testing
dk-teknologisk-mon Dec 18, 2025
3c5748d
Fixed a bunch of spelling mistakes through the file
dk-teknologisk-mon Dec 18, 2025
181e244
Updates changelog for DRSC algorithm addition
dk-teknologisk-mon Dec 18, 2025
5ae0d89
Merge branch 'develop' into DRSC_constraint_handling
dk-teknologisk-mon Dec 19, 2025
0785a72
fix: Swtiched evaluation order
SRFU-NN Feb 5, 2026
7ec5caa
fix: Catching error and raising the correct type
SRFU-NN Feb 5, 2026
bd3e3ce
Updates changelog and adds a demonstration script for the DRSC algorithm
dk-teknologisk-mon Feb 9, 2026
c07b732
Merge branch 'DRSC_constraint_handling' of ssh://github.com/novonordi…
dk-teknologisk-mon Feb 9, 2026
3697a42
Removes the old null_space sampler option from SumEquals sampling
dk-teknologisk-mon Feb 9, 2026
e6a47b9
Removes need to specify sampler when getting DRSC generator
dk-teknologisk-mon Feb 9, 2026
e77b5c1
Adds an example script demonstrating the use of SumEquals sampling wi…
dk-teknologisk-mon Feb 9, 2026
dd32362
Updates changelog and pyproject.toml to make clear we no longer suppo…
dk-teknologisk-mon Feb 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Release history

## Version 1.1.3 [unpublished]

### Changes

- Implemented the DRSC algorithm for SumEquals constraints. A side-effect of this implementation is that you can now
ask for multiple points with opt.ask() while using this type of constraint (previously you could only ask for one).
- Dropped support for Python 3.9

### Bugfixes

- Fixed TypeError when combining categorical and numerical dimensions in get_Brownie_Bee_Pareto

## Version 1.1.2 [unpublished]

### Changes
Expand Down
12 changes: 7 additions & 5 deletions ProcessOptimizer/optimizer/optimizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,9 +269,11 @@ def __init__(
)

# check if regressor
if not is_regressor(base_estimator) and base_estimator is not None:
raise ValueError("%s has to be a regressor." % base_estimator)

try:
if base_estimator is not None and not is_regressor(base_estimator):
raise ValueError("%s has to be a regressor." % base_estimator)
except AttributeError as me:
raise ValueError("%s has to be a regressor." % base_estimator) from me
# treat per second acqusition function specially
is_multi_regressor = isinstance(base_estimator, MultiOutputRegressor)
if "ps" in self.acq_func and not is_multi_regressor:
Expand Down Expand Up @@ -1309,12 +1311,12 @@ def __MinimalDistance(X, Y):
# This function calls NSGAII to estimate the Pareto Front
def NSGAII(self, MU=40):
from ._NSGA2 import NSGAII

if MU % 4 != 0:
raise ValueError(
"Number of simulated points must be divisible by 4 for the NSGAII algorithm"
)

pop, logbook, front = NSGAII(
self.n_objectives,
self.__ObjectiveGP,
Expand Down
Loading