Files
ortools-clone/docs/javadoc/com/google/ortools/sat/ConstraintProtoOrBuilder.html
Mizux Seiha 3b81c981c2 Update doc
2022-03-04 00:19:15 +01:00

1832 lines
102 KiB
HTML

<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Thu Mar 03 21:59:09 CET 2022 -->
<title>ConstraintProtoOrBuilder (com.google.ortools:ortools-java 9.3.10440 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-03-03">
<meta name="description" content="declaration: package: com.google.ortools.sat, interface: ConstraintProtoOrBuilder">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/ConstraintProtoOrBuilder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.google.ortools.sat</a></div>
<h1 title="Interface ConstraintProtoOrBuilder" class="title">Interface ConstraintProtoOrBuilder</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code>com.google.protobuf.MessageLiteOrBuilder</code>, <code>com.google.protobuf.MessageOrBuilder</code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="ConstraintProto.html" title="class in com.google.ortools.sat">ConstraintProto</a></code>, <code><a href="ConstraintProto.Builder.html" title="class in com.google.ortools.sat">ConstraintProto.Builder</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ConstraintProtoOrBuilder</span><span class="extends-implements">
extends com.google.protobuf.MessageOrBuilder</span></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="AllDifferentConstraintProto.html" title="class in com.google.ortools.sat">AllDifferentConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAllDiff()" class="member-name-link">getAllDiff</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The all_diff constraint forces all variables to take different values.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="AllDifferentConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">AllDifferentConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAllDiffOrBuilder()" class="member-name-link">getAllDiffOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The all_diff constraint forces all variables to take different values.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAtMostOne()" class="member-name-link">getAtMostOne</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The at_most_one constraint enforces that no more than one literal is
true at the same time.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAtMostOneOrBuilder()" class="member-name-link">getAtMostOneOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The at_most_one constraint enforces that no more than one literal is
true at the same time.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="AutomatonConstraintProto.html" title="class in com.google.ortools.sat">AutomatonConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAutomaton()" class="member-name-link">getAutomaton</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The automaton constraint forces a sequence of variables to be accepted
by an automaton.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="AutomatonConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">AutomatonConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAutomatonOrBuilder()" class="member-name-link">getAutomatonOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The automaton constraint forces a sequence of variables to be accepted
by an automaton.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getBoolAnd()" class="member-name-link">getBoolAnd</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The bool_and constraint forces all of the literals to be true.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getBoolAndOrBuilder()" class="member-name-link">getBoolAndOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The bool_and constraint forces all of the literals to be true.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getBoolOr()" class="member-name-link">getBoolOr</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The bool_or constraint forces at least one literal to be true.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getBoolOrOrBuilder()" class="member-name-link">getBoolOrOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The bool_or constraint forces at least one literal to be true.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getBoolXor()" class="member-name-link">getBoolXor</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The bool_xor constraint forces an odd number of the literals to be true.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getBoolXorOrBuilder()" class="member-name-link">getBoolXorOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The bool_xor constraint forces an odd number of the literals to be true.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="CircuitConstraintProto.html" title="class in com.google.ortools.sat">CircuitConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCircuit()" class="member-name-link">getCircuit</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The circuit constraint takes a graph and forces the arcs present
(with arc presence indicated by a literal) to form a unique cycle.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="CircuitConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">CircuitConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCircuitOrBuilder()" class="member-name-link">getCircuitOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The circuit constraint takes a graph and forces the arcs present
(with arc presence indicated by a literal) to form a unique cycle.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ConstraintProto.ConstraintCase.html" title="enum in com.google.ortools.sat">ConstraintProto.ConstraintCase</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getConstraintCase()" class="member-name-link">getConstraintCase</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="CumulativeConstraintProto.html" title="class in com.google.ortools.sat">CumulativeConstraintProto</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCumulative()" class="member-name-link">getCumulative</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The cumulative constraint ensures that for any integer point, the sum
of the demands of the intervals containing that point does not exceed
the capacity.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="CumulativeConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">CumulativeConstraintProtoOrBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCumulativeOrBuilder()" class="member-name-link">getCumulativeOrBuilder</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The cumulative constraint ensures that for any integer point, the sum
of the demands of the intervals containing that point does not exceed
the capacity.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ListOfVariablesProto.html" title="class in com.google.ortools.sat">ListOfVariablesProto</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getDummyConstraint()" class="member-name-link">getDummyConstraint</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
This constraint is not meant to be used and will be rejected by the
solver.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ListOfVariablesProtoOrBuilder.html" title="interface in com.google.ortools.sat">ListOfVariablesProtoOrBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getDummyConstraintOrBuilder()" class="member-name-link">getDummyConstraintOrBuilder</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
This constraint is not meant to be used and will be rejected by the
solver.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ElementConstraintProto.html" title="class in com.google.ortools.sat">ElementConstraintProto</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getElement()" class="member-name-link">getElement</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The element constraint forces the variable with the given index
to be equal to the target.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ElementConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">ElementConstraintProtoOrBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getElementOrBuilder()" class="member-name-link">getElementOrBuilder</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The element constraint forces the variable with the given index
to be equal to the target.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getEnforcementLiteral(int)" class="member-name-link">getEnforcementLiteral</a><wbr>(int&nbsp;index)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The constraint will be enforced iff all literals listed here are true.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getEnforcementLiteralCount()" class="member-name-link">getEnforcementLiteralCount</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The constraint will be enforced iff all literals listed here are true.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getEnforcementLiteralList()" class="member-name-link">getEnforcementLiteralList</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The constraint will be enforced iff all literals listed here are true.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getExactlyOne()" class="member-name-link">getExactlyOne</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The exactly_one constraint force exactly one literal to true and no more.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getExactlyOneOrBuilder()" class="member-name-link">getExactlyOneOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The exactly_one constraint force exactly one literal to true and no more.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearArgumentProto.html" title="class in com.google.ortools.sat">LinearArgumentProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getIntDiv()" class="member-name-link">getIntDiv</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The int_div constraint forces the target to equal exprs[0] / exprs[1].</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearArgumentProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getIntDivOrBuilder()" class="member-name-link">getIntDivOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The int_div constraint forces the target to equal exprs[0] / exprs[1].</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IntervalConstraintProto.html" title="class in com.google.ortools.sat">IntervalConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getInterval()" class="member-name-link">getInterval</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The interval constraint takes a start, end, and size, and forces
start + size == end.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IntervalConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">IntervalConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getIntervalOrBuilder()" class="member-name-link">getIntervalOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The interval constraint takes a start, end, and size, and forces
start + size == end.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearArgumentProto.html" title="class in com.google.ortools.sat">LinearArgumentProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getIntMod()" class="member-name-link">getIntMod</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The int_mod constraint forces the target to equal exprs[0] % exprs[1].</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearArgumentProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getIntModOrBuilder()" class="member-name-link">getIntModOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The int_mod constraint forces the target to equal exprs[0] % exprs[1].</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearArgumentProto.html" title="class in com.google.ortools.sat">LinearArgumentProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getIntProd()" class="member-name-link">getIntProd</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The int_prod constraint forces the target to equal the product of all
variables.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearArgumentProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getIntProdOrBuilder()" class="member-name-link">getIntProdOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The int_prod constraint forces the target to equal the product of all
variables.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="InverseConstraintProto.html" title="class in com.google.ortools.sat">InverseConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getInverse()" class="member-name-link">getInverse</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The inverse constraint forces two arrays to be inverses of each other:
the values of one are the indices of the other, and vice versa.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="InverseConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">InverseConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getInverseOrBuilder()" class="member-name-link">getInverseOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The inverse constraint forces two arrays to be inverses of each other:
the values of one are the indices of the other, and vice versa.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearConstraintProto.html" title="class in com.google.ortools.sat">LinearConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLinear()" class="member-name-link">getLinear</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The linear constraint enforces a linear inequality among the variables,
such as 0 &lt;= x + 2y &lt;= 10.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLinearOrBuilder()" class="member-name-link">getLinearOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The linear constraint enforces a linear inequality among the variables,
such as 0 &lt;= x + 2y &lt;= 10.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearArgumentProto.html" title="class in com.google.ortools.sat">LinearArgumentProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLinMax()" class="member-name-link">getLinMax</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The lin_max constraint forces the target to equal the maximum of all
linear expressions.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="LinearArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearArgumentProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLinMaxOrBuilder()" class="member-name-link">getLinMaxOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The lin_max constraint forces the target to equal the maximum of all
linear expressions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getName()" class="member-name-link">getName</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
For debug/logging only.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>com.google.protobuf.ByteString</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getNameBytes()" class="member-name-link">getNameBytes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
For debug/logging only.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="NoOverlapConstraintProto.html" title="class in com.google.ortools.sat">NoOverlapConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getNoOverlap()" class="member-name-link">getNoOverlap</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The no_overlap constraint prevents a set of intervals from
overlapping; in scheduling, this is called a disjunctive
constraint.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="NoOverlap2DConstraintProto.html" title="class in com.google.ortools.sat">NoOverlap2DConstraintProto</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getNoOverlap2D()" class="member-name-link">getNoOverlap2D</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The no_overlap_2d constraint prevents a set of boxes from overlapping.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="NoOverlap2DConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">NoOverlap2DConstraintProtoOrBuilder</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getNoOverlap2DOrBuilder()" class="member-name-link">getNoOverlap2DOrBuilder</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The no_overlap_2d constraint prevents a set of boxes from overlapping.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="NoOverlapConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">NoOverlapConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getNoOverlapOrBuilder()" class="member-name-link">getNoOverlapOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The no_overlap constraint prevents a set of intervals from
overlapping; in scheduling, this is called a disjunctive
constraint.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ReservoirConstraintProto.html" title="class in com.google.ortools.sat">ReservoirConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getReservoir()" class="member-name-link">getReservoir</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The reservoir constraint forces the sum of a set of active demands
to always be between a specified minimum and maximum value during
specific times.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ReservoirConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">ReservoirConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getReservoirOrBuilder()" class="member-name-link">getReservoirOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The reservoir constraint forces the sum of a set of active demands
to always be between a specified minimum and maximum value during
specific times.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="RoutesConstraintProto.html" title="class in com.google.ortools.sat">RoutesConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRoutes()" class="member-name-link">getRoutes</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The routes constraint implements the vehicle routing problem.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="RoutesConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">RoutesConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRoutesOrBuilder()" class="member-name-link">getRoutesOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The routes constraint implements the vehicle routing problem.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="TableConstraintProto.html" title="class in com.google.ortools.sat">TableConstraintProto</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTable()" class="member-name-link">getTable</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The table constraint enforces what values a tuple of variables may
take.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="TableConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">TableConstraintProtoOrBuilder</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTableOrBuilder()" class="member-name-link">getTableOrBuilder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The table constraint enforces what values a tuple of variables may
take.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasAllDiff()" class="member-name-link">hasAllDiff</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The all_diff constraint forces all variables to take different values.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasAtMostOne()" class="member-name-link">hasAtMostOne</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The at_most_one constraint enforces that no more than one literal is
true at the same time.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasAutomaton()" class="member-name-link">hasAutomaton</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The automaton constraint forces a sequence of variables to be accepted
by an automaton.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasBoolAnd()" class="member-name-link">hasBoolAnd</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The bool_and constraint forces all of the literals to be true.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasBoolOr()" class="member-name-link">hasBoolOr</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The bool_or constraint forces at least one literal to be true.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasBoolXor()" class="member-name-link">hasBoolXor</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The bool_xor constraint forces an odd number of the literals to be true.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasCircuit()" class="member-name-link">hasCircuit</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The circuit constraint takes a graph and forces the arcs present
(with arc presence indicated by a literal) to form a unique cycle.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasCumulative()" class="member-name-link">hasCumulative</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The cumulative constraint ensures that for any integer point, the sum
of the demands of the intervals containing that point does not exceed
the capacity.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasDummyConstraint()" class="member-name-link">hasDummyConstraint</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
This constraint is not meant to be used and will be rejected by the
solver.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasElement()" class="member-name-link">hasElement</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The element constraint forces the variable with the given index
to be equal to the target.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasExactlyOne()" class="member-name-link">hasExactlyOne</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The exactly_one constraint force exactly one literal to true and no more.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasIntDiv()" class="member-name-link">hasIntDiv</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The int_div constraint forces the target to equal exprs[0] / exprs[1].</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasInterval()" class="member-name-link">hasInterval</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The interval constraint takes a start, end, and size, and forces
start + size == end.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasIntMod()" class="member-name-link">hasIntMod</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The int_mod constraint forces the target to equal exprs[0] % exprs[1].</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasIntProd()" class="member-name-link">hasIntProd</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The int_prod constraint forces the target to equal the product of all
variables.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasInverse()" class="member-name-link">hasInverse</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The inverse constraint forces two arrays to be inverses of each other:
the values of one are the indices of the other, and vice versa.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasLinear()" class="member-name-link">hasLinear</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The linear constraint enforces a linear inequality among the variables,
such as 0 &lt;= x + 2y &lt;= 10.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasLinMax()" class="member-name-link">hasLinMax</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The lin_max constraint forces the target to equal the maximum of all
linear expressions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasNoOverlap()" class="member-name-link">hasNoOverlap</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The no_overlap constraint prevents a set of intervals from
overlapping; in scheduling, this is called a disjunctive
constraint.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasNoOverlap2D()" class="member-name-link">hasNoOverlap2D</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The no_overlap_2d constraint prevents a set of boxes from overlapping.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasReservoir()" class="member-name-link">hasReservoir</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The reservoir constraint forces the sum of a set of active demands
to always be between a specified minimum and maximum value during
specific times.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasRoutes()" class="member-name-link">hasRoutes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The routes constraint implements the vehicle routing problem.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasTable()" class="member-name-link">hasTable</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">
The table constraint enforces what values a tuple of variables may
take.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.google.protobuf.MessageLiteOrBuilder">Methods inherited from interface&nbsp;com.google.protobuf.MessageLiteOrBuilder</h3>
<code>isInitialized</code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-com.google.protobuf.MessageOrBuilder">Methods inherited from interface&nbsp;com.google.protobuf.MessageOrBuilder</h3>
<code>findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof</code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block"><pre>
For debug/logging only. Can be empty.
</pre>
<code>string name = 1;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The name.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNameBytes()">
<h3>getNameBytes</h3>
<div class="member-signature"><span class="return-type">com.google.protobuf.ByteString</span>&nbsp;<span class="element-name">getNameBytes</span>()</div>
<div class="block"><pre>
For debug/logging only. Can be empty.
</pre>
<code>string name = 1;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The bytes for name.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getEnforcementLiteralList()">
<h3>getEnforcementLiteralList</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>&gt;</span>&nbsp;<span class="element-name">getEnforcementLiteralList</span>()</div>
<div class="block"><pre>
The constraint will be enforced iff all literals listed here are true. If
this is empty, then the constraint will always be enforced. An enforced
constraint must be satisfied, and an un-enforced one will simply be
ignored.
This is also called half-reification. To have an equivalence between a
literal and a constraint (full reification), one must add both a constraint
(controlled by a literal l) and its negation (controlled by the negation of
l).
Important: as of September 2018, only a few constraint support enforcement:
- bool_or, bool_and, linear: fully supported.
- interval: only support a single enforcement literal.
- other: no support (but can be added on a per-demand basis).
</pre>
<code>repeated int32 enforcement_literal = 2;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>A list containing the enforcementLiteral.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getEnforcementLiteralCount()">
<h3>getEnforcementLiteralCount</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getEnforcementLiteralCount</span>()</div>
<div class="block"><pre>
The constraint will be enforced iff all literals listed here are true. If
this is empty, then the constraint will always be enforced. An enforced
constraint must be satisfied, and an un-enforced one will simply be
ignored.
This is also called half-reification. To have an equivalence between a
literal and a constraint (full reification), one must add both a constraint
(controlled by a literal l) and its negation (controlled by the negation of
l).
Important: as of September 2018, only a few constraint support enforcement:
- bool_or, bool_and, linear: fully supported.
- interval: only support a single enforcement literal.
- other: no support (but can be added on a per-demand basis).
</pre>
<code>repeated int32 enforcement_literal = 2;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The count of enforcementLiteral.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getEnforcementLiteral(int)">
<h3>getEnforcementLiteral</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getEnforcementLiteral</span><wbr><span class="parameters">(int&nbsp;index)</span></div>
<div class="block"><pre>
The constraint will be enforced iff all literals listed here are true. If
this is empty, then the constraint will always be enforced. An enforced
constraint must be satisfied, and an un-enforced one will simply be
ignored.
This is also called half-reification. To have an equivalence between a
literal and a constraint (full reification), one must add both a constraint
(controlled by a literal l) and its negation (controlled by the negation of
l).
Important: as of September 2018, only a few constraint support enforcement:
- bool_or, bool_and, linear: fully supported.
- interval: only support a single enforcement literal.
- other: no support (but can be added on a per-demand basis).
</pre>
<code>repeated int32 enforcement_literal = 2;</code></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>index</code> - The index of the element to return.</dd>
<dt>Returns:</dt>
<dd>The enforcementLiteral at the given index.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasBoolOr()">
<h3>hasBoolOr</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasBoolOr</span>()</div>
<div class="block"><pre>
The bool_or constraint forces at least one literal to be true.
</pre>
<code>.operations_research.sat.BoolArgumentProto bool_or = 3;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the boolOr field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBoolOr()">
<h3>getBoolOr</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></span>&nbsp;<span class="element-name">getBoolOr</span>()</div>
<div class="block"><pre>
The bool_or constraint forces at least one literal to be true.
</pre>
<code>.operations_research.sat.BoolArgumentProto bool_or = 3;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The boolOr.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBoolOrOrBuilder()">
<h3>getBoolOrOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></span>&nbsp;<span class="element-name">getBoolOrOrBuilder</span>()</div>
<div class="block"><pre>
The bool_or constraint forces at least one literal to be true.
</pre>
<code>.operations_research.sat.BoolArgumentProto bool_or = 3;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasBoolAnd()">
<h3>hasBoolAnd</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasBoolAnd</span>()</div>
<div class="block"><pre>
The bool_and constraint forces all of the literals to be true.
This is a "redundant" constraint in the sense that this can easily be
encoded with many bool_or or at_most_one. It is just more space efficient
and handled slightly differently internally.
</pre>
<code>.operations_research.sat.BoolArgumentProto bool_and = 4;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the boolAnd field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBoolAnd()">
<h3>getBoolAnd</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></span>&nbsp;<span class="element-name">getBoolAnd</span>()</div>
<div class="block"><pre>
The bool_and constraint forces all of the literals to be true.
This is a "redundant" constraint in the sense that this can easily be
encoded with many bool_or or at_most_one. It is just more space efficient
and handled slightly differently internally.
</pre>
<code>.operations_research.sat.BoolArgumentProto bool_and = 4;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The boolAnd.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBoolAndOrBuilder()">
<h3>getBoolAndOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></span>&nbsp;<span class="element-name">getBoolAndOrBuilder</span>()</div>
<div class="block"><pre>
The bool_and constraint forces all of the literals to be true.
This is a "redundant" constraint in the sense that this can easily be
encoded with many bool_or or at_most_one. It is just more space efficient
and handled slightly differently internally.
</pre>
<code>.operations_research.sat.BoolArgumentProto bool_and = 4;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasAtMostOne()">
<h3>hasAtMostOne</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasAtMostOne</span>()</div>
<div class="block"><pre>
The at_most_one constraint enforces that no more than one literal is
true at the same time.
Note that an at most one constraint of length n could be encoded with n
bool_and constraint with n-1 term on the right hand side. So in a sense,
this constraint contribute directly to the "implication-graph" or the
2-SAT part of the model.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.
</pre>
<code>.operations_research.sat.BoolArgumentProto at_most_one = 26;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the atMostOne field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAtMostOne()">
<h3>getAtMostOne</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></span>&nbsp;<span class="element-name">getAtMostOne</span>()</div>
<div class="block"><pre>
The at_most_one constraint enforces that no more than one literal is
true at the same time.
Note that an at most one constraint of length n could be encoded with n
bool_and constraint with n-1 term on the right hand side. So in a sense,
this constraint contribute directly to the "implication-graph" or the
2-SAT part of the model.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.
</pre>
<code>.operations_research.sat.BoolArgumentProto at_most_one = 26;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The atMostOne.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAtMostOneOrBuilder()">
<h3>getAtMostOneOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></span>&nbsp;<span class="element-name">getAtMostOneOrBuilder</span>()</div>
<div class="block"><pre>
The at_most_one constraint enforces that no more than one literal is
true at the same time.
Note that an at most one constraint of length n could be encoded with n
bool_and constraint with n-1 term on the right hand side. So in a sense,
this constraint contribute directly to the "implication-graph" or the
2-SAT part of the model.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.
</pre>
<code>.operations_research.sat.BoolArgumentProto at_most_one = 26;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasExactlyOne()">
<h3>hasExactlyOne</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasExactlyOne</span>()</div>
<div class="block"><pre>
The exactly_one constraint force exactly one literal to true and no more.
Anytime a bool_or (it could have been called at_least_one) is included
into an at_most_one, then the bool_or is actually an exactly one
constraint, and the extra literal in the at_most_one can be set to false.
So in this sense, this constraint is not really needed. it is just here
for a better description of the problem structure and to facilitate some
algorithm.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.
</pre>
<code>.operations_research.sat.BoolArgumentProto exactly_one = 29;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the exactlyOne field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getExactlyOne()">
<h3>getExactlyOne</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></span>&nbsp;<span class="element-name">getExactlyOne</span>()</div>
<div class="block"><pre>
The exactly_one constraint force exactly one literal to true and no more.
Anytime a bool_or (it could have been called at_least_one) is included
into an at_most_one, then the bool_or is actually an exactly one
constraint, and the extra literal in the at_most_one can be set to false.
So in this sense, this constraint is not really needed. it is just here
for a better description of the problem structure and to facilitate some
algorithm.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.
</pre>
<code>.operations_research.sat.BoolArgumentProto exactly_one = 29;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The exactlyOne.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getExactlyOneOrBuilder()">
<h3>getExactlyOneOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></span>&nbsp;<span class="element-name">getExactlyOneOrBuilder</span>()</div>
<div class="block"><pre>
The exactly_one constraint force exactly one literal to true and no more.
Anytime a bool_or (it could have been called at_least_one) is included
into an at_most_one, then the bool_or is actually an exactly one
constraint, and the extra literal in the at_most_one can be set to false.
So in this sense, this constraint is not really needed. it is just here
for a better description of the problem structure and to facilitate some
algorithm.
This constraint does not support enforcement_literal. Just use a linear
constraint if you need to enforce it. You also do not need to use it
directly, we will extract it from the model in most situations.
</pre>
<code>.operations_research.sat.BoolArgumentProto exactly_one = 29;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasBoolXor()">
<h3>hasBoolXor</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasBoolXor</span>()</div>
<div class="block"><pre>
The bool_xor constraint forces an odd number of the literals to be true.
</pre>
<code>.operations_research.sat.BoolArgumentProto bool_xor = 5;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the boolXor field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBoolXor()">
<h3>getBoolXor</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProto.html" title="class in com.google.ortools.sat">BoolArgumentProto</a></span>&nbsp;<span class="element-name">getBoolXor</span>()</div>
<div class="block"><pre>
The bool_xor constraint forces an odd number of the literals to be true.
</pre>
<code>.operations_research.sat.BoolArgumentProto bool_xor = 5;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The boolXor.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBoolXorOrBuilder()">
<h3>getBoolXorOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="BoolArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">BoolArgumentProtoOrBuilder</a></span>&nbsp;<span class="element-name">getBoolXorOrBuilder</span>()</div>
<div class="block"><pre>
The bool_xor constraint forces an odd number of the literals to be true.
</pre>
<code>.operations_research.sat.BoolArgumentProto bool_xor = 5;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasIntDiv()">
<h3>hasIntDiv</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasIntDiv</span>()</div>
<div class="block"><pre>
The int_div constraint forces the target to equal exprs[0] / exprs[1].
In particular, exprs[1] can never take the value 0. Also, as for now, we
do not support exprs[1] spanning across 0.
</pre>
<code>.operations_research.sat.LinearArgumentProto int_div = 7;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the intDiv field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIntDiv()">
<h3>getIntDiv</h3>
<div class="member-signature"><span class="return-type"><a href="LinearArgumentProto.html" title="class in com.google.ortools.sat">LinearArgumentProto</a></span>&nbsp;<span class="element-name">getIntDiv</span>()</div>
<div class="block"><pre>
The int_div constraint forces the target to equal exprs[0] / exprs[1].
In particular, exprs[1] can never take the value 0. Also, as for now, we
do not support exprs[1] spanning across 0.
</pre>
<code>.operations_research.sat.LinearArgumentProto int_div = 7;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The intDiv.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIntDivOrBuilder()">
<h3>getIntDivOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="LinearArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearArgumentProtoOrBuilder</a></span>&nbsp;<span class="element-name">getIntDivOrBuilder</span>()</div>
<div class="block"><pre>
The int_div constraint forces the target to equal exprs[0] / exprs[1].
In particular, exprs[1] can never take the value 0. Also, as for now, we
do not support exprs[1] spanning across 0.
</pre>
<code>.operations_research.sat.LinearArgumentProto int_div = 7;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasIntMod()">
<h3>hasIntMod</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasIntMod</span>()</div>
<div class="block"><pre>
The int_mod constraint forces the target to equal exprs[0] % exprs[1].
The domain of exprs[1] must be strictly positive. The sign of the target
is the same as the sign of exprs[0].
</pre>
<code>.operations_research.sat.LinearArgumentProto int_mod = 8;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the intMod field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIntMod()">
<h3>getIntMod</h3>
<div class="member-signature"><span class="return-type"><a href="LinearArgumentProto.html" title="class in com.google.ortools.sat">LinearArgumentProto</a></span>&nbsp;<span class="element-name">getIntMod</span>()</div>
<div class="block"><pre>
The int_mod constraint forces the target to equal exprs[0] % exprs[1].
The domain of exprs[1] must be strictly positive. The sign of the target
is the same as the sign of exprs[0].
</pre>
<code>.operations_research.sat.LinearArgumentProto int_mod = 8;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The intMod.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIntModOrBuilder()">
<h3>getIntModOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="LinearArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearArgumentProtoOrBuilder</a></span>&nbsp;<span class="element-name">getIntModOrBuilder</span>()</div>
<div class="block"><pre>
The int_mod constraint forces the target to equal exprs[0] % exprs[1].
The domain of exprs[1] must be strictly positive. The sign of the target
is the same as the sign of exprs[0].
</pre>
<code>.operations_research.sat.LinearArgumentProto int_mod = 8;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasIntProd()">
<h3>hasIntProd</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasIntProd</span>()</div>
<div class="block"><pre>
The int_prod constraint forces the target to equal the product of all
variables. By convention, because we can just remove term equal to one,
the empty product forces the target to be one.
Note that the solver checks for potential integer overflow. So it is
recommended to limit the domain of the variables such that the product
fits in [INT_MIN + 1..INT_MAX - 1].
TODO(user): Support more than two terms in the product.
</pre>
<code>.operations_research.sat.LinearArgumentProto int_prod = 11;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the intProd field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIntProd()">
<h3>getIntProd</h3>
<div class="member-signature"><span class="return-type"><a href="LinearArgumentProto.html" title="class in com.google.ortools.sat">LinearArgumentProto</a></span>&nbsp;<span class="element-name">getIntProd</span>()</div>
<div class="block"><pre>
The int_prod constraint forces the target to equal the product of all
variables. By convention, because we can just remove term equal to one,
the empty product forces the target to be one.
Note that the solver checks for potential integer overflow. So it is
recommended to limit the domain of the variables such that the product
fits in [INT_MIN + 1..INT_MAX - 1].
TODO(user): Support more than two terms in the product.
</pre>
<code>.operations_research.sat.LinearArgumentProto int_prod = 11;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The intProd.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIntProdOrBuilder()">
<h3>getIntProdOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="LinearArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearArgumentProtoOrBuilder</a></span>&nbsp;<span class="element-name">getIntProdOrBuilder</span>()</div>
<div class="block"><pre>
The int_prod constraint forces the target to equal the product of all
variables. By convention, because we can just remove term equal to one,
the empty product forces the target to be one.
Note that the solver checks for potential integer overflow. So it is
recommended to limit the domain of the variables such that the product
fits in [INT_MIN + 1..INT_MAX - 1].
TODO(user): Support more than two terms in the product.
</pre>
<code>.operations_research.sat.LinearArgumentProto int_prod = 11;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasLinMax()">
<h3>hasLinMax</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasLinMax</span>()</div>
<div class="block"><pre>
The lin_max constraint forces the target to equal the maximum of all
linear expressions.
Note that this can model a minimum simply by negating all expressions.
</pre>
<code>.operations_research.sat.LinearArgumentProto lin_max = 27;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the linMax field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLinMax()">
<h3>getLinMax</h3>
<div class="member-signature"><span class="return-type"><a href="LinearArgumentProto.html" title="class in com.google.ortools.sat">LinearArgumentProto</a></span>&nbsp;<span class="element-name">getLinMax</span>()</div>
<div class="block"><pre>
The lin_max constraint forces the target to equal the maximum of all
linear expressions.
Note that this can model a minimum simply by negating all expressions.
</pre>
<code>.operations_research.sat.LinearArgumentProto lin_max = 27;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The linMax.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLinMaxOrBuilder()">
<h3>getLinMaxOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="LinearArgumentProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearArgumentProtoOrBuilder</a></span>&nbsp;<span class="element-name">getLinMaxOrBuilder</span>()</div>
<div class="block"><pre>
The lin_max constraint forces the target to equal the maximum of all
linear expressions.
Note that this can model a minimum simply by negating all expressions.
</pre>
<code>.operations_research.sat.LinearArgumentProto lin_max = 27;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasLinear()">
<h3>hasLinear</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasLinear</span>()</div>
<div class="block"><pre>
The linear constraint enforces a linear inequality among the variables,
such as 0 &lt;= x + 2y &lt;= 10.
</pre>
<code>.operations_research.sat.LinearConstraintProto linear = 12;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the linear field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLinear()">
<h3>getLinear</h3>
<div class="member-signature"><span class="return-type"><a href="LinearConstraintProto.html" title="class in com.google.ortools.sat">LinearConstraintProto</a></span>&nbsp;<span class="element-name">getLinear</span>()</div>
<div class="block"><pre>
The linear constraint enforces a linear inequality among the variables,
such as 0 &lt;= x + 2y &lt;= 10.
</pre>
<code>.operations_research.sat.LinearConstraintProto linear = 12;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The linear.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLinearOrBuilder()">
<h3>getLinearOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="LinearConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">LinearConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getLinearOrBuilder</span>()</div>
<div class="block"><pre>
The linear constraint enforces a linear inequality among the variables,
such as 0 &lt;= x + 2y &lt;= 10.
</pre>
<code>.operations_research.sat.LinearConstraintProto linear = 12;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasAllDiff()">
<h3>hasAllDiff</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasAllDiff</span>()</div>
<div class="block"><pre>
The all_diff constraint forces all variables to take different values.
</pre>
<code>.operations_research.sat.AllDifferentConstraintProto all_diff = 13;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the allDiff field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAllDiff()">
<h3>getAllDiff</h3>
<div class="member-signature"><span class="return-type"><a href="AllDifferentConstraintProto.html" title="class in com.google.ortools.sat">AllDifferentConstraintProto</a></span>&nbsp;<span class="element-name">getAllDiff</span>()</div>
<div class="block"><pre>
The all_diff constraint forces all variables to take different values.
</pre>
<code>.operations_research.sat.AllDifferentConstraintProto all_diff = 13;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The allDiff.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAllDiffOrBuilder()">
<h3>getAllDiffOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="AllDifferentConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">AllDifferentConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getAllDiffOrBuilder</span>()</div>
<div class="block"><pre>
The all_diff constraint forces all variables to take different values.
</pre>
<code>.operations_research.sat.AllDifferentConstraintProto all_diff = 13;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasElement()">
<h3>hasElement</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasElement</span>()</div>
<div class="block"><pre>
The element constraint forces the variable with the given index
to be equal to the target.
</pre>
<code>.operations_research.sat.ElementConstraintProto element = 14;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the element field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getElement()">
<h3>getElement</h3>
<div class="member-signature"><span class="return-type"><a href="ElementConstraintProto.html" title="class in com.google.ortools.sat">ElementConstraintProto</a></span>&nbsp;<span class="element-name">getElement</span>()</div>
<div class="block"><pre>
The element constraint forces the variable with the given index
to be equal to the target.
</pre>
<code>.operations_research.sat.ElementConstraintProto element = 14;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The element.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getElementOrBuilder()">
<h3>getElementOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="ElementConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">ElementConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getElementOrBuilder</span>()</div>
<div class="block"><pre>
The element constraint forces the variable with the given index
to be equal to the target.
</pre>
<code>.operations_research.sat.ElementConstraintProto element = 14;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasCircuit()">
<h3>hasCircuit</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasCircuit</span>()</div>
<div class="block"><pre>
The circuit constraint takes a graph and forces the arcs present
(with arc presence indicated by a literal) to form a unique cycle.
</pre>
<code>.operations_research.sat.CircuitConstraintProto circuit = 15;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the circuit field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCircuit()">
<h3>getCircuit</h3>
<div class="member-signature"><span class="return-type"><a href="CircuitConstraintProto.html" title="class in com.google.ortools.sat">CircuitConstraintProto</a></span>&nbsp;<span class="element-name">getCircuit</span>()</div>
<div class="block"><pre>
The circuit constraint takes a graph and forces the arcs present
(with arc presence indicated by a literal) to form a unique cycle.
</pre>
<code>.operations_research.sat.CircuitConstraintProto circuit = 15;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The circuit.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCircuitOrBuilder()">
<h3>getCircuitOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="CircuitConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">CircuitConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getCircuitOrBuilder</span>()</div>
<div class="block"><pre>
The circuit constraint takes a graph and forces the arcs present
(with arc presence indicated by a literal) to form a unique cycle.
</pre>
<code>.operations_research.sat.CircuitConstraintProto circuit = 15;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasRoutes()">
<h3>hasRoutes</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasRoutes</span>()</div>
<div class="block"><pre>
The routes constraint implements the vehicle routing problem.
</pre>
<code>.operations_research.sat.RoutesConstraintProto routes = 23;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the routes field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRoutes()">
<h3>getRoutes</h3>
<div class="member-signature"><span class="return-type"><a href="RoutesConstraintProto.html" title="class in com.google.ortools.sat">RoutesConstraintProto</a></span>&nbsp;<span class="element-name">getRoutes</span>()</div>
<div class="block"><pre>
The routes constraint implements the vehicle routing problem.
</pre>
<code>.operations_research.sat.RoutesConstraintProto routes = 23;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The routes.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRoutesOrBuilder()">
<h3>getRoutesOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="RoutesConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">RoutesConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getRoutesOrBuilder</span>()</div>
<div class="block"><pre>
The routes constraint implements the vehicle routing problem.
</pre>
<code>.operations_research.sat.RoutesConstraintProto routes = 23;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasTable()">
<h3>hasTable</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasTable</span>()</div>
<div class="block"><pre>
The table constraint enforces what values a tuple of variables may
take.
</pre>
<code>.operations_research.sat.TableConstraintProto table = 16;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the table field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTable()">
<h3>getTable</h3>
<div class="member-signature"><span class="return-type"><a href="TableConstraintProto.html" title="class in com.google.ortools.sat">TableConstraintProto</a></span>&nbsp;<span class="element-name">getTable</span>()</div>
<div class="block"><pre>
The table constraint enforces what values a tuple of variables may
take.
</pre>
<code>.operations_research.sat.TableConstraintProto table = 16;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The table.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTableOrBuilder()">
<h3>getTableOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="TableConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">TableConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getTableOrBuilder</span>()</div>
<div class="block"><pre>
The table constraint enforces what values a tuple of variables may
take.
</pre>
<code>.operations_research.sat.TableConstraintProto table = 16;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasAutomaton()">
<h3>hasAutomaton</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasAutomaton</span>()</div>
<div class="block"><pre>
The automaton constraint forces a sequence of variables to be accepted
by an automaton.
</pre>
<code>.operations_research.sat.AutomatonConstraintProto automaton = 17;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the automaton field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAutomaton()">
<h3>getAutomaton</h3>
<div class="member-signature"><span class="return-type"><a href="AutomatonConstraintProto.html" title="class in com.google.ortools.sat">AutomatonConstraintProto</a></span>&nbsp;<span class="element-name">getAutomaton</span>()</div>
<div class="block"><pre>
The automaton constraint forces a sequence of variables to be accepted
by an automaton.
</pre>
<code>.operations_research.sat.AutomatonConstraintProto automaton = 17;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The automaton.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAutomatonOrBuilder()">
<h3>getAutomatonOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="AutomatonConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">AutomatonConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getAutomatonOrBuilder</span>()</div>
<div class="block"><pre>
The automaton constraint forces a sequence of variables to be accepted
by an automaton.
</pre>
<code>.operations_research.sat.AutomatonConstraintProto automaton = 17;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasInverse()">
<h3>hasInverse</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasInverse</span>()</div>
<div class="block"><pre>
The inverse constraint forces two arrays to be inverses of each other:
the values of one are the indices of the other, and vice versa.
</pre>
<code>.operations_research.sat.InverseConstraintProto inverse = 18;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the inverse field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInverse()">
<h3>getInverse</h3>
<div class="member-signature"><span class="return-type"><a href="InverseConstraintProto.html" title="class in com.google.ortools.sat">InverseConstraintProto</a></span>&nbsp;<span class="element-name">getInverse</span>()</div>
<div class="block"><pre>
The inverse constraint forces two arrays to be inverses of each other:
the values of one are the indices of the other, and vice versa.
</pre>
<code>.operations_research.sat.InverseConstraintProto inverse = 18;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The inverse.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInverseOrBuilder()">
<h3>getInverseOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="InverseConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">InverseConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getInverseOrBuilder</span>()</div>
<div class="block"><pre>
The inverse constraint forces two arrays to be inverses of each other:
the values of one are the indices of the other, and vice versa.
</pre>
<code>.operations_research.sat.InverseConstraintProto inverse = 18;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasReservoir()">
<h3>hasReservoir</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasReservoir</span>()</div>
<div class="block"><pre>
The reservoir constraint forces the sum of a set of active demands
to always be between a specified minimum and maximum value during
specific times.
</pre>
<code>.operations_research.sat.ReservoirConstraintProto reservoir = 24;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the reservoir field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getReservoir()">
<h3>getReservoir</h3>
<div class="member-signature"><span class="return-type"><a href="ReservoirConstraintProto.html" title="class in com.google.ortools.sat">ReservoirConstraintProto</a></span>&nbsp;<span class="element-name">getReservoir</span>()</div>
<div class="block"><pre>
The reservoir constraint forces the sum of a set of active demands
to always be between a specified minimum and maximum value during
specific times.
</pre>
<code>.operations_research.sat.ReservoirConstraintProto reservoir = 24;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The reservoir.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getReservoirOrBuilder()">
<h3>getReservoirOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="ReservoirConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">ReservoirConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getReservoirOrBuilder</span>()</div>
<div class="block"><pre>
The reservoir constraint forces the sum of a set of active demands
to always be between a specified minimum and maximum value during
specific times.
</pre>
<code>.operations_research.sat.ReservoirConstraintProto reservoir = 24;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasInterval()">
<h3>hasInterval</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasInterval</span>()</div>
<div class="block"><pre>
The interval constraint takes a start, end, and size, and forces
start + size == end.
</pre>
<code>.operations_research.sat.IntervalConstraintProto interval = 19;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the interval field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInterval()">
<h3>getInterval</h3>
<div class="member-signature"><span class="return-type"><a href="IntervalConstraintProto.html" title="class in com.google.ortools.sat">IntervalConstraintProto</a></span>&nbsp;<span class="element-name">getInterval</span>()</div>
<div class="block"><pre>
The interval constraint takes a start, end, and size, and forces
start + size == end.
</pre>
<code>.operations_research.sat.IntervalConstraintProto interval = 19;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The interval.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIntervalOrBuilder()">
<h3>getIntervalOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="IntervalConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">IntervalConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getIntervalOrBuilder</span>()</div>
<div class="block"><pre>
The interval constraint takes a start, end, and size, and forces
start + size == end.
</pre>
<code>.operations_research.sat.IntervalConstraintProto interval = 19;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasNoOverlap()">
<h3>hasNoOverlap</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasNoOverlap</span>()</div>
<div class="block"><pre>
The no_overlap constraint prevents a set of intervals from
overlapping; in scheduling, this is called a disjunctive
constraint.
</pre>
<code>.operations_research.sat.NoOverlapConstraintProto no_overlap = 20;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the noOverlap field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNoOverlap()">
<h3>getNoOverlap</h3>
<div class="member-signature"><span class="return-type"><a href="NoOverlapConstraintProto.html" title="class in com.google.ortools.sat">NoOverlapConstraintProto</a></span>&nbsp;<span class="element-name">getNoOverlap</span>()</div>
<div class="block"><pre>
The no_overlap constraint prevents a set of intervals from
overlapping; in scheduling, this is called a disjunctive
constraint.
</pre>
<code>.operations_research.sat.NoOverlapConstraintProto no_overlap = 20;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The noOverlap.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNoOverlapOrBuilder()">
<h3>getNoOverlapOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="NoOverlapConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">NoOverlapConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getNoOverlapOrBuilder</span>()</div>
<div class="block"><pre>
The no_overlap constraint prevents a set of intervals from
overlapping; in scheduling, this is called a disjunctive
constraint.
</pre>
<code>.operations_research.sat.NoOverlapConstraintProto no_overlap = 20;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasNoOverlap2D()">
<h3>hasNoOverlap2D</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasNoOverlap2D</span>()</div>
<div class="block"><pre>
The no_overlap_2d constraint prevents a set of boxes from overlapping.
</pre>
<code>.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the noOverlap2d field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNoOverlap2D()">
<h3>getNoOverlap2D</h3>
<div class="member-signature"><span class="return-type"><a href="NoOverlap2DConstraintProto.html" title="class in com.google.ortools.sat">NoOverlap2DConstraintProto</a></span>&nbsp;<span class="element-name">getNoOverlap2D</span>()</div>
<div class="block"><pre>
The no_overlap_2d constraint prevents a set of boxes from overlapping.
</pre>
<code>.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The noOverlap2d.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNoOverlap2DOrBuilder()">
<h3>getNoOverlap2DOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="NoOverlap2DConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">NoOverlap2DConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getNoOverlap2DOrBuilder</span>()</div>
<div class="block"><pre>
The no_overlap_2d constraint prevents a set of boxes from overlapping.
</pre>
<code>.operations_research.sat.NoOverlap2DConstraintProto no_overlap_2d = 21;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasCumulative()">
<h3>hasCumulative</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasCumulative</span>()</div>
<div class="block"><pre>
The cumulative constraint ensures that for any integer point, the sum
of the demands of the intervals containing that point does not exceed
the capacity.
</pre>
<code>.operations_research.sat.CumulativeConstraintProto cumulative = 22;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the cumulative field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCumulative()">
<h3>getCumulative</h3>
<div class="member-signature"><span class="return-type"><a href="CumulativeConstraintProto.html" title="class in com.google.ortools.sat">CumulativeConstraintProto</a></span>&nbsp;<span class="element-name">getCumulative</span>()</div>
<div class="block"><pre>
The cumulative constraint ensures that for any integer point, the sum
of the demands of the intervals containing that point does not exceed
the capacity.
</pre>
<code>.operations_research.sat.CumulativeConstraintProto cumulative = 22;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The cumulative.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCumulativeOrBuilder()">
<h3>getCumulativeOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="CumulativeConstraintProtoOrBuilder.html" title="interface in com.google.ortools.sat">CumulativeConstraintProtoOrBuilder</a></span>&nbsp;<span class="element-name">getCumulativeOrBuilder</span>()</div>
<div class="block"><pre>
The cumulative constraint ensures that for any integer point, the sum
of the demands of the intervals containing that point does not exceed
the capacity.
</pre>
<code>.operations_research.sat.CumulativeConstraintProto cumulative = 22;</code></div>
</section>
</li>
<li>
<section class="detail" id="hasDummyConstraint()">
<h3>hasDummyConstraint</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasDummyConstraint</span>()</div>
<div class="block"><pre>
This constraint is not meant to be used and will be rejected by the
solver. It is meant to mark variable when testing the presolve code.
</pre>
<code>.operations_research.sat.ListOfVariablesProto dummy_constraint = 30;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Whether the dummyConstraint field is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDummyConstraint()">
<h3>getDummyConstraint</h3>
<div class="member-signature"><span class="return-type"><a href="ListOfVariablesProto.html" title="class in com.google.ortools.sat">ListOfVariablesProto</a></span>&nbsp;<span class="element-name">getDummyConstraint</span>()</div>
<div class="block"><pre>
This constraint is not meant to be used and will be rejected by the
solver. It is meant to mark variable when testing the presolve code.
</pre>
<code>.operations_research.sat.ListOfVariablesProto dummy_constraint = 30;</code></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The dummyConstraint.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDummyConstraintOrBuilder()">
<h3>getDummyConstraintOrBuilder</h3>
<div class="member-signature"><span class="return-type"><a href="ListOfVariablesProtoOrBuilder.html" title="interface in com.google.ortools.sat">ListOfVariablesProtoOrBuilder</a></span>&nbsp;<span class="element-name">getDummyConstraintOrBuilder</span>()</div>
<div class="block"><pre>
This constraint is not meant to be used and will be rejected by the
solver. It is meant to mark variable when testing the presolve code.
</pre>
<code>.operations_research.sat.ListOfVariablesProto dummy_constraint = 30;</code></div>
</section>
</li>
<li>
<section class="detail" id="getConstraintCase()">
<h3>getConstraintCase</h3>
<div class="member-signature"><span class="return-type"><a href="ConstraintProto.ConstraintCase.html" title="enum in com.google.ortools.sat">ConstraintProto.ConstraintCase</a></span>&nbsp;<span class="element-name">getConstraintCase</span>()</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>