Originally posted by: SatishKumarA
Hi All,
I am trying to find out how search space is being calculated by CP Optimizer. I got the following engine log for my CP problem
! ----------------------------------------------------------------------------
! Minimization problem - 497 variables, 1,250 constraints, 4 phases
! Presolve : 108 extractables eliminated, 105 constraints generated
! Workers = 1
! RelativeOptimalityTolerance = 0.5
! TimeLimit = 100
! Initial process time : 0.00s (0.00s extraction + 0.00s propagation)
! . Log search space : 795.8 (before), 795.8 (after)
! . Memory usage : 2.9 MB (before), 2.9 MB (after)
! Using sequential search.
! ----------------------------------------------------------------------------
As per the engine log explanation in the documentation: "The value for "Log search space" provides an estimate on the size of the depth-first search tree; this value is the log (base 2) of the products of the domains sizes of all the decision variables of the problem".
When I calculated the log search space for my problem it is coming to around 46.46 whereas CPO is showing it as 795.8(highlighted). I have six group of variables and following table lists the the domain and variables of my problem with the search space (domain*variables)
|
Variable
|
1
|
2
|
3
|
4
|
5
|
6
|
|
Domain(No. of values in domain)
|
1
|
13
|
2
|
4
|
2
|
2
|
|
No.of Variables of this group
|
21
|
84
|
56
|
84
|
168
|
168
|
|
Search Space of each variable
|
21
|
1092
|
112
|
336
|
336
|
336
|
Total Search Space = 9.74267E+13 and Log Search Space = 46.47
I would like to reduce this search space of my problem. Can anyone help me to understand the calculation of search space and how CPO came out with log search space as 795.8?
#DecisionOptimization#OPLusingCPOptimizer