OR-Tools
7.1
Main Page
Related Pages
Namespaces
Classes
Files
File List
ortools
sat
samples
ReifiedSampleSat.java
Go to the documentation of this file.
1
// Copyright 2010-2018 Google LLC
2
// Licensed under the Apache License, Version 2.0 (the "License");
3
// you may not use this file except in compliance with the License.
4
// You may obtain a copy of the License at
5
//
6
// http://www.apache.org/licenses/LICENSE-2.0
7
//
8
// Unless required by applicable law or agreed to in writing, software
9
// distributed under the License is distributed on an "AS IS" BASIS,
10
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
// See the License for the specific language governing permissions and
12
// limitations under the License.
13
14
import
com
.
google
.
ortools
.
sat
.
CpModel
;
15
import
com
.
google
.
ortools
.
sat
.
IntVar
;
16
import
com
.
google
.
ortools
.
sat
.
Literal
;
17
28
public
class
ReifiedSampleSat
{
29
static
{
30
System.loadLibrary(
"jniortools"
);
31
}
32
33
public
static
void
main
(String[] args)
throws
Exception {
34
CpModel
model =
new
CpModel
();
35
36
IntVar
x = model.
newBoolVar
(
"x"
);
37
IntVar
y = model.
newBoolVar
(
"y"
);
38
IntVar
b = model.
newBoolVar
(
"b"
);
39
40
// Version 1: a half-reified boolean and.
41
model.
addBoolAnd
(
new
Literal
[] {x, y.
not
()}).onlyEnforceIf(b);
42
43
// Version 2: implications.
44
model.
addImplication
(b, x);
45
model.
addImplication
(b, y.
not
());
46
47
// Version 3: boolean or.
48
model.
addBoolOr
(
new
Literal
[] {b.
not
(), x});
49
model.
addBoolOr
(
new
Literal
[] {b.
not
(), y.
not
()});
50
}
51
}
com.google.ortools.sat
Definition:
AllDifferentConstraintProto.java:4
com.google.ortools.sat.IntVar.not
Literal not()
Returns the negation of a boolean variable.
Definition:
com/google/ortools/sat/IntVar.java:104
ReifiedSampleSat.main
static void main(String[] args)
Definition:
ReifiedSampleSat.java:33
com
com.google.ortools.sat.CpModel.addBoolOr
Constraint addBoolOr(Literal[] literals)
Adds.
Definition:
CpModel.java:97
com.google.ortools.sat.CpModel.newBoolVar
IntVar newBoolVar(String name)
Creates a Boolean variable with the given name.
Definition:
CpModel.java:85
com.google.ortools
com.google.ortools.sat.IntVar
An integer variable.
Definition:
com/google/ortools/sat/IntVar.java:21
com.google.ortools.sat.Literal
Interface to describe a boolean variable or its negation.
Definition:
Literal.java:17
com.google.ortools.sat.CpModel
Main modeling class.
Definition:
CpModel.java:40
com.google.ortools.sat.CpModel.addBoolAnd
Constraint addBoolAnd(Literal[] literals)
Adds.
Definition:
CpModel.java:107
com.google.ortools.sat.CpModel.addImplication
Constraint addImplication(Literal a, Literal b)
Adds.
Definition:
CpModel.java:127
com.google
ReifiedSampleSat
Reification is the action of associating a Boolean variable to a constraint.
Definition:
ReifiedSampleSat.java:28
Generated by
1.8.15