From f3b113e6e22d14ff23f25fd09c4e04f1467400db Mon Sep 17 00:00:00 2001 From: OrestisLomis Date: Mon, 27 Apr 2026 14:29:35 +0200 Subject: [PATCH 1/2] update --- examples/advanced/hyperparameter_search.py | 26 +++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/examples/advanced/hyperparameter_search.py b/examples/advanced/hyperparameter_search.py index 912196676..c32f64e24 100644 --- a/examples/advanced/hyperparameter_search.py +++ b/examples/advanced/hyperparameter_search.py @@ -3,9 +3,8 @@ Generally applicable, and demonstrated on n-queens with ortools """ -import sys -from cpmpy import * -from cpmpy.solvers import CPM_ortools, param_combinations +import cpmpy as cp +from cpmpy.solvers import param_combinations from cpmpy.transformations.flatten_model import flatten_model def main(): @@ -22,7 +21,7 @@ def main(): configs = [] # (runtime, param) for params in param_combinations(all_params): print("Running with", params) - s = CPM_ortools(model) + s = cp.SolverLookup.get("ortools", model) s.solve(**params) print(s.status()) @@ -36,24 +35,25 @@ def main(): print("Fastest in", round(best[0],2), "seconds, config:", best[1]) print("Comparing best -- worst:", round(configs[0][0],2), "--", round(configs[-1][0],2)) - s = CPM_ortools(model); s.solve() + s = cp.SolverLookup.get("ortools", model) + s.solve() print("With default parameters:", round(s.status().runtime,2)) # Outputs: - # Fastest in 0.02 seconds, config: {'cp_model_probing_level': 0, 'linearization_level': 0, 'symmetry_level': 1} - # Comparing best -- worst: 0.02 -- 0.2 - # With default parameters: 0.13 + # Fastest in 0.01 seconds, config: {'cp_model_probing_level': 0, 'linearization_level': 2, 'symmetry_level': 0} + # Comparing best -- worst: 0.01 -- 0.03 + # With default parameters: 0.03 def nqueens(n=8): """ N-queens problem """ - queens = intvar(1,n, shape=n) - return Model( - AllDifferent(queens), - AllDifferent([queens[i] + i for i in range(n)]), - AllDifferent([queens[i] - i for i in range(n)]), + queens = cp.intvar(1,n, shape=n) + return cp.Model( + cp.AllDifferent(queens), + cp.AllDifferent([queens[i] + i for i in range(n)]), + cp.AllDifferent([queens[i] - i for i in range(n)]), ) From d288c9a28eb2a5bdb5c86114432ca6ba62e74dc7 Mon Sep 17 00:00:00 2001 From: OrestisLomis Date: Mon, 27 Apr 2026 14:38:40 +0200 Subject: [PATCH 2/2] increase nb queens --- examples/advanced/hyperparameter_search.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/advanced/hyperparameter_search.py b/examples/advanced/hyperparameter_search.py index c32f64e24..cd6c95791 100644 --- a/examples/advanced/hyperparameter_search.py +++ b/examples/advanced/hyperparameter_search.py @@ -8,7 +8,7 @@ from cpmpy.transformations.flatten_model import flatten_model def main(): - model = nqueens(n=25) + model = nqueens(n=50) # flatten once upfront, reduces overhead of multiple solves model = flatten_model(model) @@ -41,8 +41,8 @@ def main(): # Outputs: # Fastest in 0.01 seconds, config: {'cp_model_probing_level': 0, 'linearization_level': 2, 'symmetry_level': 0} - # Comparing best -- worst: 0.01 -- 0.03 - # With default parameters: 0.03 + # Comparing best -- worst: 0.05 -- 0.24 + # With default parameters: 0.16