I have read in some .cnf
files using SCIP
and I am confused about the terms used. I am unable to find these terms in any SCIP
documentation either.
1) When 'display problem' is typed after reading in a .cnf
file, I see the following:
Problem name:
Variables:
Constraints: x initial, y maximal
What does initial
and maximal
mean in this context?
2) When optimize
is typed, SCIP
prints out a line every 100 iterations by default. There is a column called confs
, which stands for conflicts. What does conflict mean in this case?
Does it refer to conflict clauses? Or does it refer to the same kind of conflict in Conflict Driven Clause Learning (CDCL
), where it refers to the same variable taking 2 different values simultaneously in a conflict graph and is thus a conflict?
3) After typing write statistics
, there is a B&B tree section like this:
B&B Tree :
number of runs : 11
nodes : 46620 (32430 internal, 14190 leaves)
feasible leaves : 0
infeas. leaves : 14189
objective leaves : 0
nodes (total) : 264828 (185078 internal, 79750 leaves)
nodes left : 36
max depth : 187
max depth (total): 970
backtracks : 14238 (30.5%)
early backtracks : 0 (0.0%)
nodes exc. ref. : 0 (0.0%)
delayed cutoffs : 18206
repropagations : 43176 (2316736 domain reductions, 13733 cutoffs)
avg switch length: 2.71
switching time : 100.16
What is the difference between nodes and nodes (total)?
I currently comprehend nodes as the number of nodes SCIP
has managed to comb so far with the current time, while nodes(total) refers to the total number of nodes the entire problem has.
4) What does number of runs mean? From the above statistic, does it mean branch and bound is run from scratch 11 times?
5) What is the difference between max depth and max depth(total)?
I currently comprehend max depth as the maximum depth of the B&B tree reached so far, while max depth(total) is the maximum depth of the B&B tree that the whole problem can reach.
6) What does repropagations mean?
I don't have any understanding of this at the moment.
7) What does delayed cutoffs mean?
I don't have any understanding of this at the moment.
8) What is switch length and switching time?
I don't have any understanding of this at the moment.
Those are a lot of questions. I will try to answer what I can:
1) initial are the number of constraints when the problem is read. Constraint handlers can add additional constraints, therefore the maximal number of constraints could be larger.
2) SCIP is not a pure SAT solver, so I guess the answer is neither. For an article how conflict analysis works in MIP solvers, I would suggest looking at: https://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/6406
3) nodes total is the number of nodes through all runs (10 restarts in your case), nodes ist just from the current run
4) yes, you restart 10 times, so 11 runs. I am assuming you set emphasis to cpsolver since SCIP will normally restart only once.
5) no, it is the same as with the number of nodes. maxdepth total is the highest depth reached throughout all restarts
6) repropagations are when a node that was already solved is propagated again, e.g. to learn additional conflicts
7) a delayed cutoff, as far is I know, is when a node (that has been created before but not solved) is located in a subtree that has been cutoff.
8) when selecting a new focus node, you have a switch path from the current to the new focus node. The average switch length is the average length of that path (and the same for the time)