1832 lines
102 KiB
HTML
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: </li>
|
|
<li>Nested | </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </li>
|
|
<li><a href="#method-summary">Method</a></li>
|
|
</ul>
|
|
<ul class="sub-nav-list">
|
|
<li>Detail: </li>
|
|
<li>Field | </li>
|
|
<li>Constr | </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> <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"> </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 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><<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>></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 <= x + 2y <= 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 <= x + 2y <= 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 <= x + 2y <= 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 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 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> <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> <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><<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>></span> <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> <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> <span class="element-name">getEnforcementLiteral</span><wbr><span class="parameters">(int 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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <span class="element-name">hasLinear</span>()</div>
|
|
<div class="block"><pre>
|
|
The linear constraint enforces a linear inequality among the variables,
|
|
such as 0 <= x + 2y <= 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> <span class="element-name">getLinear</span>()</div>
|
|
<div class="block"><pre>
|
|
The linear constraint enforces a linear inequality among the variables,
|
|
such as 0 <= x + 2y <= 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> <span class="element-name">getLinearOrBuilder</span>()</div>
|
|
<div class="block"><pre>
|
|
The linear constraint enforces a linear inequality among the variables,
|
|
such as 0 <= x + 2y <= 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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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> <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 © 2022. All rights reserved.</small></p>
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|