main page
modules
namespaces
classes
files
Gecode home
Generated on Mon Feb 8 2021 00:00:00 for Gecode by
doxygen
1.8.20
gecode
int
branch
view-sel.cpp
Go to the documentation of this file.
1
/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2
/*
3
* Main authors:
4
* Christian Schulte <schulte@gecode.org>
5
*
6
* Copyright:
7
* Christian Schulte, 2012
8
*
9
* This file is part of Gecode, the generic constraint
10
* development environment:
11
* http://www.gecode.org
12
*
13
* Permission is hereby granted, free of charge, to any person obtaining
14
* a copy of this software and associated documentation files (the
15
* "Software"), to deal in the Software without restriction, including
16
* without limitation the rights to use, copy, modify, merge, publish,
17
* distribute, sublicense, and/or sell copies of the Software, and to
18
* permit persons to whom the Software is furnished to do so, subject to
19
* the following conditions:
20
*
21
* The above copyright notice and this permission notice shall be
22
* included in all copies or substantial portions of the Software.
23
*
24
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31
*
32
*/
33
34
#include <
gecode/int/branch.hh
>
35
36
namespace
Gecode
{
namespace
Int {
namespace
Branch {
37
38
ViewSel<IntView>*
39
viewsel
(
Space
& home,
const
IntVarBranch
& ivb) {
40
switch
(ivb.
select
()) {
41
case
IntVarBranch::SEL_NONE
:
42
return
new
(home)
ViewSelNone<IntView>
(home,ivb);
43
case
IntVarBranch::SEL_RND
:
44
return
new
(home)
ViewSelRnd<IntView>
(home,ivb);
45
default
:
break
;
46
}
47
if
(ivb.
tbl
() != NULL) {
48
switch
(ivb.
select
()) {
49
case
IntVarBranch::SEL_MERIT_MIN
:
50
return
new
(home)
ViewSelMinTbl
<
MeritFunction<IntView>
>(home,ivb);
51
case
IntVarBranch::SEL_MERIT_MAX
:
52
return
new
(home)
ViewSelMaxTbl
<
MeritFunction<IntView>
>(home,ivb);
53
case
IntVarBranch::SEL_MIN_MIN
:
54
return
new
(home)
ViewSelMinTbl
<
MeritMin<IntView>
>(home,ivb);
55
case
IntVarBranch::SEL_MIN_MAX
:
56
return
new
(home)
ViewSelMaxTbl
<
MeritMin<IntView>
>(home,ivb);
57
case
IntVarBranch::SEL_MAX_MIN
:
58
return
new
(home)
ViewSelMinTbl
<
MeritMax<IntView>
>(home,ivb);
59
case
IntVarBranch::SEL_MAX_MAX
:
60
return
new
(home)
ViewSelMaxTbl
<
MeritMax<IntView>
>(home,ivb);
61
case
IntVarBranch::SEL_SIZE_MIN
:
62
return
new
(home)
ViewSelMinTbl
<
MeritSize<IntView>
>(home,ivb);
63
case
IntVarBranch::SEL_SIZE_MAX
:
64
return
new
(home)
ViewSelMaxTbl
<
MeritSize<IntView>
>(home,ivb);
65
case
IntVarBranch::SEL_DEGREE_MIN
:
66
return
new
(home)
ViewSelMinTbl
<
MeritDegree<IntView>
>(home,ivb);
67
case
IntVarBranch::SEL_DEGREE_MAX
:
68
return
new
(home)
ViewSelMaxTbl
<
MeritDegree<IntView>
>(home,ivb);
69
case
IntVarBranch::SEL_AFC_MIN
:
70
return
new
(home)
ViewSelMinTbl
<
MeritAFC<IntView>
>(home,ivb);
71
case
IntVarBranch::SEL_AFC_MAX
:
72
return
new
(home)
ViewSelMaxTbl
<
MeritAFC<IntView>
>(home,ivb);
73
case
IntVarBranch::SEL_ACTION_MIN
:
74
return
new
(home)
ViewSelMinTbl
<
MeritAction<IntView>
>(home,ivb);
75
case
IntVarBranch::SEL_ACTION_MAX
:
76
return
new
(home)
ViewSelMaxTbl
<
MeritAction<IntView>
>(home,ivb);
77
case
IntVarBranch::SEL_CHB_MIN
:
78
return
new
(home)
ViewSelMinTbl
<
MeritCHB<IntView>
>(home,ivb);
79
case
IntVarBranch::SEL_CHB_MAX
:
80
return
new
(home)
ViewSelMaxTbl
<
MeritCHB<IntView>
>(home,ivb);
81
case
IntVarBranch::SEL_DEGREE_SIZE_MIN
:
82
return
new
(home)
ViewSelMinTbl
<
MeritDegreeSize<IntView>
>(home,ivb);
83
case
IntVarBranch::SEL_DEGREE_SIZE_MAX
:
84
return
new
(home)
ViewSelMaxTbl
<
MeritDegreeSize<IntView>
>(home,ivb);
85
case
IntVarBranch::SEL_AFC_SIZE_MIN
:
86
return
new
(home)
ViewSelMinTbl
<
MeritAFCSize<IntView>
>(home,ivb);
87
case
IntVarBranch::SEL_AFC_SIZE_MAX
:
88
return
new
(home)
ViewSelMaxTbl
<
MeritAFCSize<IntView>
>(home,ivb);
89
case
IntVarBranch::SEL_ACTION_SIZE_MIN
:
90
return
new
(home)
ViewSelMinTbl
<
MeritActionSize<IntView>
>(home,ivb);
91
case
IntVarBranch::SEL_ACTION_SIZE_MAX
:
92
return
new
(home)
ViewSelMaxTbl
<
MeritActionSize<IntView>
>(home,ivb);
93
case
IntVarBranch::SEL_CHB_SIZE_MIN
:
94
return
new
(home)
ViewSelMinTbl
<
MeritCHBSize<IntView>
>(home,ivb);
95
case
IntVarBranch::SEL_CHB_SIZE_MAX
:
96
return
new
(home)
ViewSelMaxTbl
<
MeritCHBSize<IntView>
>(home,ivb);
97
case
IntVarBranch::SEL_REGRET_MIN_MIN
:
98
return
new
(home)
ViewSelMinTbl
<
MeritRegretMin<IntView>
>(home,ivb);
99
case
IntVarBranch::SEL_REGRET_MIN_MAX
:
100
return
new
(home)
ViewSelMaxTbl
<
MeritRegretMin<IntView>
>(home,ivb);
101
case
IntVarBranch::SEL_REGRET_MAX_MIN
:
102
return
new
(home)
ViewSelMinTbl
<
MeritRegretMax<IntView>
>(home,ivb);
103
case
IntVarBranch::SEL_REGRET_MAX_MAX
:
104
return
new
(home)
ViewSelMaxTbl
<
MeritRegretMax<IntView>
>(home,ivb);
105
default
:
106
throw
UnknownBranching
(
"Int::branch"
);
107
}
108
}
else
{
109
switch
(ivb.
select
()) {
110
case
IntVarBranch::SEL_MERIT_MIN
:
111
return
new
(home)
ViewSelMin
<
MeritFunction<IntView>
>(home,ivb);
112
case
IntVarBranch::SEL_MERIT_MAX
:
113
return
new
(home)
ViewSelMax
<
MeritFunction<IntView>
>(home,ivb);
114
case
IntVarBranch::SEL_MIN_MIN
:
115
return
new
(home)
ViewSelMin
<
MeritMin<IntView>
>(home,ivb);
116
case
IntVarBranch::SEL_MIN_MAX
:
117
return
new
(home)
ViewSelMax
<
MeritMin<IntView>
>(home,ivb);
118
case
IntVarBranch::SEL_MAX_MIN
:
119
return
new
(home)
ViewSelMin
<
MeritMax<IntView>
>(home,ivb);
120
case
IntVarBranch::SEL_MAX_MAX
:
121
return
new
(home)
ViewSelMax
<
MeritMax<IntView>
>(home,ivb);
122
case
IntVarBranch::SEL_SIZE_MIN
:
123
return
new
(home)
ViewSelMin
<
MeritSize<IntView>
>(home,ivb);
124
case
IntVarBranch::SEL_SIZE_MAX
:
125
return
new
(home)
ViewSelMax
<
MeritSize<IntView>
>(home,ivb);
126
case
IntVarBranch::SEL_DEGREE_MIN
:
127
return
new
(home)
ViewSelMin
<
MeritDegree<IntView>
>(home,ivb);
128
case
IntVarBranch::SEL_DEGREE_MAX
:
129
return
new
(home)
ViewSelMax
<
MeritDegree<IntView>
>(home,ivb);
130
case
IntVarBranch::SEL_AFC_MIN
:
131
return
new
(home)
ViewSelMin
<
MeritAFC<IntView>
>(home,ivb);
132
case
IntVarBranch::SEL_AFC_MAX
:
133
return
new
(home)
ViewSelMax
<
MeritAFC<IntView>
>(home,ivb);
134
case
IntVarBranch::SEL_ACTION_MIN
:
135
return
new
(home)
ViewSelMin
<
MeritAction<IntView>
>(home,ivb);
136
case
IntVarBranch::SEL_ACTION_MAX
:
137
return
new
(home)
ViewSelMax
<
MeritAction<IntView>
>(home,ivb);
138
case
IntVarBranch::SEL_CHB_MIN
:
139
return
new
(home)
ViewSelMin
<
MeritCHB<IntView>
>(home,ivb);
140
case
IntVarBranch::SEL_CHB_MAX
:
141
return
new
(home)
ViewSelMax
<
MeritCHB<IntView>
>(home,ivb);
142
case
IntVarBranch::SEL_DEGREE_SIZE_MIN
:
143
return
new
(home)
ViewSelMin
<
MeritDegreeSize<IntView>
>(home,ivb);
144
case
IntVarBranch::SEL_DEGREE_SIZE_MAX
:
145
return
new
(home)
ViewSelMax
<
MeritDegreeSize<IntView>
>(home,ivb);
146
case
IntVarBranch::SEL_AFC_SIZE_MIN
:
147
return
new
(home)
ViewSelMin
<
MeritAFCSize<IntView>
>(home,ivb);
148
case
IntVarBranch::SEL_AFC_SIZE_MAX
:
149
return
new
(home)
ViewSelMax
<
MeritAFCSize<IntView>
>(home,ivb);
150
case
IntVarBranch::SEL_ACTION_SIZE_MIN
:
151
return
new
(home)
ViewSelMin
<
MeritActionSize<IntView>
>(home,ivb);
152
case
IntVarBranch::SEL_ACTION_SIZE_MAX
:
153
return
new
(home)
ViewSelMax
<
MeritActionSize<IntView>
>(home,ivb);
154
case
IntVarBranch::SEL_CHB_SIZE_MIN
:
155
return
new
(home)
ViewSelMin
<
MeritCHBSize<IntView>
>(home,ivb);
156
case
IntVarBranch::SEL_CHB_SIZE_MAX
:
157
return
new
(home)
ViewSelMax
<
MeritCHBSize<IntView>
>(home,ivb);
158
case
IntVarBranch::SEL_REGRET_MIN_MIN
:
159
return
new
(home)
ViewSelMin
<
MeritRegretMin<IntView>
>(home,ivb);
160
case
IntVarBranch::SEL_REGRET_MIN_MAX
:
161
return
new
(home)
ViewSelMax
<
MeritRegretMin<IntView>
>(home,ivb);
162
case
IntVarBranch::SEL_REGRET_MAX_MIN
:
163
return
new
(home)
ViewSelMin
<
MeritRegretMax<IntView>
>(home,ivb);
164
case
IntVarBranch::SEL_REGRET_MAX_MAX
:
165
return
new
(home)
ViewSelMax
<
MeritRegretMax<IntView>
>(home,ivb);
166
default
:
167
throw
UnknownBranching
(
"Int::branch"
);
168
}
169
}
170
GECODE_NEVER
;
171
return
NULL;
172
}
173
174
ViewSel<BoolView>
*
175
viewsel
(
Space
& home,
const
BoolVarBranch
& bvb) {
176
switch
(bvb.
select
()) {
177
case
BoolVarBranch::SEL_NONE
:
178
return
new
(home)
ViewSelNone<BoolView>
(home,bvb);
179
case
BoolVarBranch::SEL_RND
:
180
return
new
(home)
ViewSelRnd<BoolView>
(home,bvb);
181
default
:
break
;
182
}
183
if
(bvb.
tbl
() != NULL) {
184
switch
(bvb.
select
()) {
185
case
BoolVarBranch::SEL_MERIT_MIN
:
186
return
new
(home)
ViewSelMinTbl
<
MeritFunction<BoolView>
>(home,bvb);
187
case
BoolVarBranch::SEL_MERIT_MAX
:
188
return
new
(home)
ViewSelMaxTbl
<
MeritFunction<BoolView>
>(home,bvb);
189
case
BoolVarBranch::SEL_DEGREE_MIN
:
190
return
new
(home)
ViewSelMinTbl
<
MeritDegree<BoolView>
>(home,bvb);
191
case
BoolVarBranch::SEL_DEGREE_MAX
:
192
return
new
(home)
ViewSelMaxTbl
<
MeritDegree<BoolView>
>(home,bvb);
193
case
BoolVarBranch::SEL_AFC_MIN
:
194
return
new
(home)
ViewSelMinTbl
<
MeritAFC<BoolView>
>(home,bvb);
195
case
BoolVarBranch::SEL_AFC_MAX
:
196
return
new
(home)
ViewSelMaxTbl
<
MeritAFC<BoolView>
>(home,bvb);
197
case
BoolVarBranch::SEL_ACTION_MIN
:
198
return
new
(home)
ViewSelMinTbl
<
MeritAction<BoolView>
>(home,bvb);
199
case
BoolVarBranch::SEL_ACTION_MAX
:
200
return
new
(home)
ViewSelMaxTbl
<
MeritAction<BoolView>
>(home,bvb);
201
case
BoolVarBranch::SEL_CHB_MIN
:
202
return
new
(home)
ViewSelMinTbl
<
MeritCHB<BoolView>
>(home,bvb);
203
case
BoolVarBranch::SEL_CHB_MAX
:
204
return
new
(home)
ViewSelMaxTbl
<
MeritCHB<BoolView>
>(home,bvb);
205
default
:
206
throw
UnknownBranching
(
"Int::branch"
);
207
}
208
}
else
{
209
switch
(bvb.
select
()) {
210
case
BoolVarBranch::SEL_MERIT_MIN
:
211
return
new
(home)
ViewSelMin
<
MeritFunction<BoolView>
>(home,bvb);
212
case
BoolVarBranch::SEL_MERIT_MAX
:
213
return
new
(home)
ViewSelMax
<
MeritFunction<BoolView>
>(home,bvb);
214
case
BoolVarBranch::SEL_DEGREE_MIN
:
215
return
new
(home)
ViewSelMin
<
MeritDegree<BoolView>
>(home,bvb);
216
case
BoolVarBranch::SEL_DEGREE_MAX
:
217
return
new
(home)
ViewSelMax
<
MeritDegree<BoolView>
>(home,bvb);
218
case
BoolVarBranch::SEL_AFC_MIN
:
219
return
new
(home)
ViewSelMin
<
MeritAFC<BoolView>
>(home,bvb);
220
case
BoolVarBranch::SEL_AFC_MAX
:
221
return
new
(home)
ViewSelMax
<
MeritAFC<BoolView>
>(home,bvb);
222
case
BoolVarBranch::SEL_ACTION_MIN
:
223
return
new
(home)
ViewSelMin
<
MeritAction<BoolView>
>(home,bvb);
224
case
BoolVarBranch::SEL_ACTION_MAX
:
225
return
new
(home)
ViewSelMax
<
MeritAction<BoolView>
>(home,bvb);
226
case
BoolVarBranch::SEL_CHB_MIN
:
227
return
new
(home)
ViewSelMin
<
MeritCHB<BoolView>
>(home,bvb);
228
case
BoolVarBranch::SEL_CHB_MAX
:
229
return
new
(home)
ViewSelMax
<
MeritCHB<BoolView>
>(home,bvb);
230
default
:
231
throw
UnknownBranching
(
"Int::branch"
);
232
}
233
}
234
GECODE_NEVER
;
235
return
NULL;
236
}
237
238
}}}
239
240
241
// STATISTICS: int-branch
242
Gecode::IntVarBranch::SEL_CHB_SIZE_MIN
@ SEL_CHB_SIZE_MIN
With smallest CHB Q-score divided by domain size.
Definition:
int.hh:4598
Gecode::ViewSelMinTbl
Select view with least merit taking tie-break limit into account.
Definition:
view-sel.hpp:315
Gecode::ViewSelRnd
Select a view randomly.
Definition:
view-sel.hpp:149
Gecode::ViewSelNone
Select the first unassigned view.
Definition:
view-sel.hpp:109
Gecode::IntVarBranch::SEL_RND
@ SEL_RND
Random (uniform, for tie breaking)
Definition:
int.hh:4575
Gecode::IntVarBranch::SEL_CHB_MAX
@ SEL_CHB_MAX
With highest CHB Q-score.
Definition:
int.hh:4585
Gecode::BoolVarBranch::SEL_ACTION_MAX
@ SEL_ACTION_MAX
With highest action.
Definition:
int.hh:4669
Gecode::Int::Branch::MeritSize
Merit class for size.
Definition:
branch.hh:105
Gecode::Int::Branch::MeritCHBSize
Merit class for CHB over size.
Definition:
branch.hh:191
Gecode::IntVarBranch::SEL_SIZE_MAX
@ SEL_SIZE_MAX
With largest domain size.
Definition:
int.hh:4591
Gecode::IntVarBranch::SEL_MERIT_MIN
@ SEL_MERIT_MIN
With least merit.
Definition:
int.hh:4576
Gecode::IntVarBranch::select
Select select(void) const
Return selection strategy.
Definition:
var.hpp:69
Gecode::MeritDegree
Merit class for degree.
Definition:
merit.hpp:93
Gecode::Int::Branch::viewsel
ViewSel< IntView > * viewsel(Space &home, const IntVarBranch &ivb)
Return view selectors for integer views.
Definition:
view-sel.cpp:39
Gecode::MeritFunction
Merit class for user-defined merit function.
Definition:
merit.hpp:68
Gecode::IntVarBranch::SEL_CHB_SIZE_MAX
@ SEL_CHB_SIZE_MAX
With largest CHB Q-score divided by domain size.
Definition:
int.hh:4599
Gecode::IntVarBranch::SEL_ACTION_MAX
@ SEL_ACTION_MAX
With highest action.
Definition:
int.hh:4583
Gecode::IntVarBranch::SEL_DEGREE_MAX
@ SEL_DEGREE_MAX
With largest degree.
Definition:
int.hh:4579
Gecode::BoolVarBranch::SEL_RND
@ SEL_RND
Random (uniform, for tie breaking)
Definition:
int.hh:4661
Gecode::IntVarBranch::SEL_AFC_MIN
@ SEL_AFC_MIN
With smallest accumulated failure count.
Definition:
int.hh:4580
Gecode::IntVarBranch::SEL_REGRET_MAX_MIN
@ SEL_REGRET_MAX_MIN
With smallest max-regret.
Definition:
int.hh:4617
Gecode::Space
Computation spaces.
Definition:
core.hpp:1742
Gecode::IntVarBranch
Which integer variable to select for branching.
Definition:
int.hh:4570
Gecode::BoolVarBranch::SEL_AFC_MIN
@ SEL_AFC_MIN
With smallest accumulated failure count.
Definition:
int.hh:4666
Gecode::IntVarBranch::SEL_MAX_MAX
@ SEL_MAX_MAX
With largest max.
Definition:
int.hh:4589
Gecode::BoolVarBranch::SEL_AFC_MAX
@ SEL_AFC_MAX
With largest accumulated failure count.
Definition:
int.hh:4667
Gecode::IntVarBranch::SEL_DEGREE_MIN
@ SEL_DEGREE_MIN
With smallest degree.
Definition:
int.hh:4578
Gecode::IntVarBranch::SEL_MAX_MIN
@ SEL_MAX_MIN
With smallest max.
Definition:
int.hh:4588
Gecode::Int::UnknownBranching
Exception: Unknown value or variable selection passed as argument
Definition:
exception.hpp:108
Gecode::BoolVarBranch::SEL_ACTION_MIN
@ SEL_ACTION_MIN
With lowest action.
Definition:
int.hh:4668
Gecode
Gecode toplevel namespace
Gecode::IntVarBranch::SEL_AFC_MAX
@ SEL_AFC_MAX
With largest accumulated failure count.
Definition:
int.hh:4581
Gecode::MeritAFC
Merit class for AFC.
Definition:
merit.hpp:108
Gecode::BoolVarBranch::SEL_CHB_MAX
@ SEL_CHB_MAX
With highest CHB.
Definition:
int.hh:4671
Gecode::BoolVarBranch
Which Boolean variable to select for branching.
Definition:
int.hh:4656
Gecode::ViewSelMax
Select view with largest merit.
Definition:
view-sel.hpp:335
Gecode::Int::Branch::MeritAFCSize
Merit class for AFC over size.
Definition:
branch.hh:141
Gecode::Int::Branch::MeritRegretMin
Merit class for minimum regret.
Definition:
branch.hh:216
Gecode::IntVarBranch::SEL_REGRET_MIN_MAX
@ SEL_REGRET_MIN_MAX
With largest min-regret.
Definition:
int.hh:4611
Gecode::VarBranch::tbl
BranchTbl tbl(void) const
Return tie-break limit function.
Definition:
var.hpp:168
Gecode::IntVarBranch::SEL_REGRET_MAX_MAX
@ SEL_REGRET_MAX_MAX
With largest max-regret.
Definition:
int.hh:4623
branch.hh
Gecode::IntVarBranch::SEL_AFC_SIZE_MIN
@ SEL_AFC_SIZE_MIN
With smallest accumulated failure count divided by domain size.
Definition:
int.hh:4594
Gecode::IntVarBranch::SEL_DEGREE_SIZE_MIN
@ SEL_DEGREE_SIZE_MIN
With smallest degree divided by domain size.
Definition:
int.hh:4592
Gecode::IntVarBranch::SEL_AFC_SIZE_MAX
@ SEL_AFC_SIZE_MAX
With largest accumulated failure count divided by domain size.
Definition:
int.hh:4595
Gecode::IntVarBranch::SEL_NONE
@ SEL_NONE
First unassigned.
Definition:
int.hh:4574
GECODE_NEVER
#define GECODE_NEVER
Assert that this command is never executed.
Definition:
macros.hpp:56
Gecode::BoolVarBranch::select
Select select(void) const
Return selection strategy.
Definition:
var.hpp:340
Gecode::BoolVarBranch::SEL_DEGREE_MIN
@ SEL_DEGREE_MIN
With smallest degree.
Definition:
int.hh:4664
Gecode::Int::Branch::MeritMin
Merit class for mimimum of integer views.
Definition:
branch.hh:69
Gecode::BoolVarBranch::SEL_MERIT_MAX
@ SEL_MERIT_MAX
With highest merit.
Definition:
int.hh:4663
Gecode::IntVarBranch::SEL_MERIT_MAX
@ SEL_MERIT_MAX
With highest merit.
Definition:
int.hh:4577
Gecode::BoolVarBranch::SEL_MERIT_MIN
@ SEL_MERIT_MIN
With least merit.
Definition:
int.hh:4662
Gecode::ViewSel
Abstract class for view selection.
Definition:
view-sel.hpp:44
Gecode::BoolVarBranch::SEL_CHB_MIN
@ SEL_CHB_MIN
With lowest CHB.
Definition:
int.hh:4670
Gecode::IntVarBranch::SEL_MIN_MIN
@ SEL_MIN_MIN
With smallest min.
Definition:
int.hh:4586
Gecode::Int::Branch::MeritRegretMax
Merit class for maximum regret.
Definition:
branch.hh:234
Gecode::IntVarBranch::SEL_ACTION_MIN
@ SEL_ACTION_MIN
With lowest action.
Definition:
int.hh:4582
Gecode::IntVarBranch::SEL_ACTION_SIZE_MAX
@ SEL_ACTION_SIZE_MAX
With largest action divided by domain size.
Definition:
int.hh:4597
Gecode::ViewSelMaxTbl
Select view with largest merit taking tie-break limit into account.
Definition:
view-sel.hpp:355
Gecode::IntVarBranch::SEL_DEGREE_SIZE_MAX
@ SEL_DEGREE_SIZE_MAX
With largest degree divided by domain size.
Definition:
int.hh:4593
Gecode::ViewSelMin
Select view with least merit.
Definition:
view-sel.hpp:295
Gecode::MeritCHB
Merit class for CHB.
Definition:
merit.hpp:153
Gecode::IntVarBranch::SEL_ACTION_SIZE_MIN
@ SEL_ACTION_SIZE_MIN
With smallest action divided by domain size.
Definition:
int.hh:4596
Gecode::BoolVarBranch::SEL_NONE
@ SEL_NONE
First unassigned.
Definition:
int.hh:4660
Gecode::MeritAction
Merit class for action.
Definition:
merit.hpp:130
Gecode::Int::Branch::MeritMax
Merit class for maximum.
Definition:
branch.hh:87
Gecode::IntVarBranch::SEL_SIZE_MIN
@ SEL_SIZE_MIN
With smallest domain size.
Definition:
int.hh:4590
Gecode::IntVarBranch::SEL_CHB_MIN
@ SEL_CHB_MIN
With lowest CHB Q-score.
Definition:
int.hh:4584
Gecode::Int::Branch::MeritActionSize
Merit class for action over size.
Definition:
branch.hh:166
Gecode::IntVarBranch::SEL_MIN_MAX
@ SEL_MIN_MAX
With largest min.
Definition:
int.hh:4587
Gecode::Int::Branch::MeritDegreeSize
Merit class for degree over size.
Definition:
branch.hh:123
Gecode::IntVarBranch::SEL_REGRET_MIN_MIN
@ SEL_REGRET_MIN_MIN
With smallest min-regret.
Definition:
int.hh:4605
Gecode::BoolVarBranch::SEL_DEGREE_MAX
@ SEL_DEGREE_MAX
With largest degree.
Definition:
int.hh:4665