Java Reference

Java Reference

CpSolverSolutionCallback.java
Go to the documentation of this file.
1// Copyright 2010-2021 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
14package com.google.ortools.sat;
15
39public class CpSolverSolutionCallback extends SolutionCallback {
41 public long value(LinearArgument expr) {
42 final LinearExpr e = expr.build();
43 long result = e.getOffset();
44 for (int i = 0; i < e.numElements(); ++i) {
45 result += solutionIntegerValue(e.getVariableIndex(i)) * e.getCoefficient(i);
46 }
47 return result;
48 }
49
51 public Boolean booleanValue(Literal literal) {
52 return solutionBooleanValue(literal.getIndex());
53 }
54
56 @Override
57 public void onSolutionCallback() {}
58}
Parent class to create a callback called at each solution.
long value(LinearArgument expr)
Returns the value of the linear expression in the current solution.
Boolean booleanValue(Literal literal)
Returns the Boolean value of the literal in the current solution.
A object that can build a LinearExpr object.
LinearExpr build()
Builds a linear expression.
A linear expression (sum (ai * xi) + b).
Definition: LinearExpr.java:19
long getCoefficient(int index)
Returns the ith coefficient.
int numElements()
Returns the number of terms (excluding the constant one) in this expression.
long getOffset()
Returns the constant part of the expression.
int getVariableIndex(int index)
Returns the index of the ith variable.
Interface to describe a boolean variable or its negation.
Definition: Literal.java:17