2020-09-01 16:00:33 +02:00
<!-- HTML header for doxygen 1.8.18 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
2022-01-17 21:42:14 +01:00
< meta name = "generator" content = "Doxygen 1.9.3" / >
2020-09-01 16:00:33 +02:00
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > OR-Tools: cp_model_objective.cc Source File< / title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "resize.js" > < / script >
< script type = "text/javascript" src = "navtreedata.js" > < / script >
< script type = "text/javascript" src = "navtree.js" > < / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/searchdata.js" > < / script >
< script type = "text/javascript" src = "search/search.js" > < / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< link href = "styleSheet.tmp.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td id = "projectlogo" > < img alt = "Logo" src = "orLogo.png" / > < / td >
< td id = "projectalign" style = "padding-left: 0.5em;" >
< div id = "projectname" > OR-Tools
2021-12-14 13:41:01 +01:00
  < span id = "projectnumber" > 9.2< / span >
2020-09-01 16:00:33 +02:00
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
2022-01-17 21:42:14 +01:00
<!-- Generated by Doxygen 1.9.3 -->
2020-09-01 16:00:33 +02:00
< script type = "text/javascript" >
2022-01-17 21:42:14 +01:00
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
2020-09-01 16:00:33 +02:00
/* @license-end */
< / script >
< script type = "text/javascript" src = "menudata.js" > < / script >
< script type = "text/javascript" src = "menu.js" > < / script >
< script type = "text/javascript" >
2022-01-17 21:42:14 +01:00
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
2020-09-01 16:00:33 +02:00
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
2022-01-17 21:42:14 +01:00
/* @license-end */
< / script >
2020-09-01 16:00:33 +02:00
< div id = "main-nav" > < / div >
< / div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" > < / div >
< / div >
< / div >
< div id = "splitbar" style = "-moz-user-select:none;"
class="ui-resizable-handle">
< / div >
< / div >
< script type = "text/javascript" >
2022-01-17 21:42:14 +01:00
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699& dn=expat.txt MIT */
$(document).ready(function(){initNavTree('cp__model__objective_8cc_source.html',''); initResizable(); });
2020-09-01 16:00:33 +02:00
/* @license-end */
< / script >
< div id = "doc-content" >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
< div class = "header" >
2022-01-17 21:42:14 +01:00
< div class = "headertitle" > < div class = "title" > cp_model_objective.cc< / div > < / div >
2020-09-01 16:00:33 +02:00
< / div > <!-- header -->
< div class = "contents" >
2022-01-17 21:42:14 +01:00
< a href = "cp__model__objective_8cc.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < div class = "line" > < a id = "l00001" name = "l00001" > < / a > < span class = "lineno" > 1< / span > < span class = "comment" > // Copyright 2010-2021 Google LLC< / span > < / div >
< div class = "line" > < a id = "l00002" name = "l00002" > < / a > < span class = "lineno" > 2< / span > < span class = "comment" > // Licensed under the Apache License, Version 2.0 (the " License" );< / span > < / div >
< div class = "line" > < a id = "l00003" name = "l00003" > < / a > < span class = "lineno" > 3< / span > < span class = "comment" > // you may not use this file except in compliance with the License.< / span > < / div >
< div class = "line" > < a id = "l00004" name = "l00004" > < / a > < span class = "lineno" > 4< / span > < span class = "comment" > // You may obtain a copy of the License at< / span > < / div >
< div class = "line" > < a id = "l00005" name = "l00005" > < / a > < span class = "lineno" > 5< / span > < span class = "comment" > //< / span > < / div >
< div class = "line" > < a id = "l00006" name = "l00006" > < / a > < span class = "lineno" > 6< / span > < span class = "comment" > // http://www.apache.org/licenses/LICENSE-2.0< / span > < / div >
< div class = "line" > < a id = "l00007" name = "l00007" > < / a > < span class = "lineno" > 7< / span > < span class = "comment" > //< / span > < / div >
< div class = "line" > < a id = "l00008" name = "l00008" > < / a > < span class = "lineno" > 8< / span > < span class = "comment" > // Unless required by applicable law or agreed to in writing, software< / span > < / div >
< div class = "line" > < a id = "l00009" name = "l00009" > < / a > < span class = "lineno" > 9< / span > < span class = "comment" > // distributed under the License is distributed on an " AS IS" BASIS,< / span > < / div >
< div class = "line" > < a id = "l00010" name = "l00010" > < / a > < span class = "lineno" > 10< / span > < span class = "comment" > // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.< / span > < / div >
< div class = "line" > < a id = "l00011" name = "l00011" > < / a > < span class = "lineno" > 11< / span > < span class = "comment" > // See the License for the specific language governing permissions and< / span > < / div >
< div class = "line" > < a id = "l00012" name = "l00012" > < / a > < span class = "lineno" > 12< / span > < span class = "comment" > // limitations under the License.< / span > < / div >
< div class = "line" > < a id = "l00013" name = "l00013" > < / a > < span class = "lineno" > 13< / span > < / div >
< div class = "line" > < a id = "l00014" name = "l00014" > < / a > < span class = "lineno" > 14< / span > < span class = "preprocessor" > #include " < a class = "code" href = "cp__model__objective_8h.html" > ortools/sat/cp_model_objective.h< / a > " < / span > < / div >
< div class = "line" > < a id = "l00015" name = "l00015" > < / a > < span class = "lineno" > 15< / span > < / div >
< div class = "line" > < a id = "l00016" name = "l00016" > < / a > < span class = "lineno" > 16< / span > < span class = "preprocessor" > #include < cstdint> < / span > < / div >
< div class = "line" > < a id = "l00017" name = "l00017" > < / a > < span class = "lineno" > 17< / span > < / div >
< div class = "line" > < a id = "l00018" name = "l00018" > < / a > < span class = "lineno" > 18< / span > < span class = "preprocessor" > #include " < a class = "code" href = "cp__model__utils_8h.html" > ortools/sat/cp_model_utils.h< / a > " < / span > < / div >
< div class = "line" > < a id = "l00019" name = "l00019" > < / a > < span class = "lineno" > 19< / span > < / div >
< div class = "line" > < a id = "l00020" name = "l00020" > < / a > < span class = "lineno" > 20< / span > < span class = "keyword" > namespace < / span > < a class = "code hl_namespace" href = "namespaceoperations__research.html" > operations_research< / a > {< / div >
< div class = "line" > < a id = "l00021" name = "l00021" > < / a > < span class = "lineno" > 21< / span > < span class = "keyword" > namespace < / span > sat {< / div >
< div class = "line" > < a id = "l00022" name = "l00022" > < / a > < span class = "lineno" > 22< / span > < / div >
< div class = "line" > < a id = "l00023" name = "l00023" > < / a > < span class = "lineno" > < a class = "line" href = "namespaceoperations__research_1_1sat.html#a21831f6f427a84bea58317eea88aa1fa" > 23< / a > < / span > < span class = "keywordtype" > void< / span > < a class = "code hl_function" href = "namespaceoperations__research_1_1sat.html#a21831f6f427a84bea58317eea88aa1fa" > EncodeObjectiveAsSingleVariable< / a > (< a class = "code hl_class" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html" > CpModelProto< / a > * cp_model) {< / div >
< div class = "line" > < a id = "l00024" name = "l00024" > < / a > < span class = "lineno" > 24< / span > < span class = "keywordflow" > if< / span > (!cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a777a6e330a22a8889389cb9b9c9f12d6" > has_objective< / a > ()) < span class = "keywordflow" > return< / span > ;< / div >
< div class = "line" > < a id = "l00025" name = "l00025" > < / a > < span class = "lineno" > 25< / span > < / div >
< div class = "line" > < a id = "l00026" name = "l00026" > < / a > < span class = "lineno" > 26< / span > < span class = "keywordflow" > if< / span > (cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a76c521af56ab0e96eb06deeb679f46f7" > vars_size< / a > () == 1) {< / div >
< div class = "line" > < a id = "l00027" name = "l00027" > < / a > < span class = "lineno" > 27< / span > < span class = "comment" > // Canonicalize the objective to make it easier on us by always making the< / span > < / div >
< div class = "line" > < a id = "l00028" name = "l00028" > < / a > < span class = "lineno" > 28< / span > < span class = "comment" > // coefficient equal to 1.0.< / span > < / div >
< div class = "line" > < a id = "l00029" name = "l00029" > < / a > < span class = "lineno" > 29< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > old_ref = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a81a65d7e582fb45427e0ffe69666bad9" > vars< / a > (0);< / div >
< div class = "line" > < a id = "l00030" name = "l00030" > < / a > < span class = "lineno" > 30< / span > < span class = "keyword" > const< / span > int64_t old_coeff = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a821ea964897901bfecffe8325b225736" > coeffs< / a > (0);< / div >
< div class = "line" > < a id = "l00031" name = "l00031" > < / a > < span class = "lineno" > 31< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > double< / span > muliplier = < span class = "keyword" > static_cast< < / span > < span class = "keywordtype" > double< / span > < span class = "keyword" > > < / span > (std::abs(old_coeff));< / div >
< div class = "line" > < a id = "l00032" name = "l00032" > < / a > < span class = "lineno" > 32< / span > < span class = "keywordflow" > if< / span > (old_coeff < 0) {< / div >
< div class = "line" > < a id = "l00033" name = "l00033" > < / a > < span class = "lineno" > 33< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > mutable_objective< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#af7c9b649d2e87fef602817962e0e7434" > set_vars< / a > (0, < a class = "code hl_function" href = "namespaceoperations__research_1_1sat.html#ae0803b8198728cd4f6e58498d9c60091" > NegatedRef< / a > (old_ref));< / div >
< div class = "line" > < a id = "l00034" name = "l00034" > < / a > < span class = "lineno" > 34< / span > }< / div >
< div class = "line" > < a id = "l00035" name = "l00035" > < / a > < span class = "lineno" > 35< / span > < span class = "keywordflow" > if< / span > (muliplier != 1.0) {< / div >
< div class = "line" > < a id = "l00036" name = "l00036" > < / a > < span class = "lineno" > 36< / span > < span class = "comment" > // TODO(user): deal with this case.< / span > < / div >
< div class = "line" > < a id = "l00037" name = "l00037" > < / a > < span class = "lineno" > 37< / span > < a class = "code hl_define" href = "base_2logging_8h.html#a3e1cfef60e774a81f30eaddf26a3a274" > CHECK< / a > (cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a7d8011ca186f4ad850fcd0e2278d278c" > domain< / a > ().empty());< / div >
< div class = "line" > < a id = "l00038" name = "l00038" > < / a > < span class = "lineno" > 38< / span > < / div >
< div class = "line" > < a id = "l00039" name = "l00039" > < / a > < span class = "lineno" > 39< / span > < span class = "keywordtype" > double< / span > old_factor = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a9e32504c3f1bddb0f25f1386ecf7987b" > scaling_factor< / a > ();< / div >
< div class = "line" > < a id = "l00040" name = "l00040" > < / a > < span class = "lineno" > 40< / span > < span class = "keywordflow" > if< / span > (old_factor == 0.0) old_factor = 1.0;< / div >
< div class = "line" > < a id = "l00041" name = "l00041" > < / a > < span class = "lineno" > 41< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > double< / span > old_offset = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a96ffc785b7b2135c7980c985883ffdd3" > offset< / a > ();< / div >
< div class = "line" > < a id = "l00042" name = "l00042" > < / a > < span class = "lineno" > 42< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > mutable_objective< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#af02334eb54337092e11b9a74312a4c25" > set_scaling_factor< / a > (old_factor * muliplier);< / div >
< div class = "line" > < a id = "l00043" name = "l00043" > < / a > < span class = "lineno" > 43< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > mutable_objective< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#ac7453c28e1da85ea4728b31419c0d6b7" > set_offset< / a > (old_offset / muliplier);< / div >
< div class = "line" > < a id = "l00044" name = "l00044" > < / a > < span class = "lineno" > 44< / span > }< / div >
< div class = "line" > < a id = "l00045" name = "l00045" > < / a > < span class = "lineno" > 45< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > mutable_objective< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a40607e597befbbf0e7378c92cd1255a7" > set_coeffs< / a > (0, 1.0);< / div >
< div class = "line" > < a id = "l00046" name = "l00046" > < / a > < span class = "lineno" > 46< / span > < span class = "keywordflow" > return< / span > ;< / div >
< div class = "line" > < a id = "l00047" name = "l00047" > < / a > < span class = "lineno" > 47< / span > }< / div >
< div class = "line" > < a id = "l00048" name = "l00048" > < / a > < span class = "lineno" > 48< / span > < / div >
< div class = "line" > < a id = "l00049" name = "l00049" > < / a > < span class = "lineno" > 49< / span > < span class = "comment" > // Compute trivial bounds on the objective, this is needed otherwise the< / span > < / div >
< div class = "line" > < a id = "l00050" name = "l00050" > < / a > < span class = "lineno" > 50< / span > < span class = "comment" > // overflow checker might not be happy with the new constraint we are about< / span > < / div >
< div class = "line" > < a id = "l00051" name = "l00051" > < / a > < span class = "lineno" > 51< / span > < span class = "comment" > // to create. Note that the model validator should make sure that there is no< / span > < / div >
< div class = "line" > < a id = "l00052" name = "l00052" > < / a > < span class = "lineno" > 52< / span > < span class = "comment" > // overflow in the computation below.< / span > < / div >
< div class = "line" > < a id = "l00053" name = "l00053" > < / a > < span class = "lineno" > 53< / span > int64_t min_obj = 0;< / div >
< div class = "line" > < a id = "l00054" name = "l00054" > < / a > < span class = "lineno" > 54< / span > int64_t max_obj = 0;< / div >
< div class = "line" > < a id = "l00055" name = "l00055" > < / a > < span class = "lineno" > 55< / span > < span class = "keywordflow" > for< / span > (< span class = "keywordtype" > int< / span > i = 0; i < cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().vars_size(); ++i) {< / div >
< div class = "line" > < a id = "l00056" name = "l00056" > < / a > < span class = "lineno" > 56< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > ref = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a81a65d7e582fb45427e0ffe69666bad9" > vars< / a > (i);< / div >
< div class = "line" > < a id = "l00057" name = "l00057" > < / a > < span class = "lineno" > 57< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > < a class = "code hl_variable" href = "expr__array_8cc.html#a472a99923cbe11ae7b5a5d157d9ad465" > var< / a > = < a class = "code hl_function" href = "namespaceoperations__research_1_1sat.html#acdbc8ad33149d45a6e6fcd8b72fd68ed" > PositiveRef< / a > (ref);< / div >
< div class = "line" > < a id = "l00058" name = "l00058" > < / a > < span class = "lineno" > 58< / span > < span class = "keyword" > const< / span > int64_t < a class = "code hl_variable" href = "variable__and__expressions_8cc.html#a2091cd7d80fdd31762020bce86138587" > coeff< / a > =< / div >
< div class = "line" > < a id = "l00059" name = "l00059" > < / a > < span class = "lineno" > 59< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a821ea964897901bfecffe8325b225736" > coeffs< / a > (i) * (< a class = "code hl_function" href = "namespaceoperations__research_1_1sat.html#a217338425de4389014563f1f24331713" > RefIsPositive< / a > (ref) ? 1 : -1);< / div >
< div class = "line" > < a id = "l00060" name = "l00060" > < / a > < span class = "lineno" > 60< / span > < span class = "keyword" > const< / span > int64_t value1 = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a6a4544ca20489d70e302f5d6d374a012" > variables< / a > (< a class = "code hl_variable" href = "expr__array_8cc.html#a472a99923cbe11ae7b5a5d157d9ad465" > var< / a > ).< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_integer_variable_proto.html#a7d8011ca186f4ad850fcd0e2278d278c" > domain< / a > (0) * < a class = "code hl_variable" href = "variable__and__expressions_8cc.html#a2091cd7d80fdd31762020bce86138587" > coeff< / a > ;< / div >
< div class = "line" > < a id = "l00061" name = "l00061" > < / a > < span class = "lineno" > 61< / span > < span class = "keyword" > const< / span > int64_t value2 = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a6a4544ca20489d70e302f5d6d374a012" > variables< / a > (< a class = "code hl_variable" href = "expr__array_8cc.html#a472a99923cbe11ae7b5a5d157d9ad465" > var< / a > ).< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_integer_variable_proto.html#a7d8011ca186f4ad850fcd0e2278d278c" > domain< / a > (< / div >
< div class = "line" > < a id = "l00062" name = "l00062" > < / a > < span class = "lineno" > 62< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a6a4544ca20489d70e302f5d6d374a012" > variables< / a > (< a class = "code hl_variable" href = "expr__array_8cc.html#a472a99923cbe11ae7b5a5d157d9ad465" > var< / a > ).< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_integer_variable_proto.html#a0cf3e2ef19d1e580d07b8c50d95cfa1e" > domain_size< / a > () - 1) *< / div >
< div class = "line" > < a id = "l00063" name = "l00063" > < / a > < span class = "lineno" > 63< / span > < a class = "code hl_variable" href = "variable__and__expressions_8cc.html#a2091cd7d80fdd31762020bce86138587" > coeff< / a > ;< / div >
< div class = "line" > < a id = "l00064" name = "l00064" > < / a > < span class = "lineno" > 64< / span > min_obj += < a class = "code hl_variable" href = "alldiff__cst_8cc.html#ad10edae0a852d72fb76afb1c77735045" > std::min< / a > (value1, value2);< / div >
< div class = "line" > < a id = "l00065" name = "l00065" > < / a > < span class = "lineno" > 65< / span > max_obj += < a class = "code hl_variable" href = "alldiff__cst_8cc.html#a26e6db9bcc64b584051ecc28171ed11f" > std::max< / a > (value1, value2);< / div >
< div class = "line" > < a id = "l00066" name = "l00066" > < / a > < span class = "lineno" > 66< / span > }< / div >
< div class = "line" > < a id = "l00067" name = "l00067" > < / a > < span class = "lineno" > 67< / span > < / div >
< div class = "line" > < a id = "l00068" name = "l00068" > < / a > < span class = "lineno" > 68< / span > < span class = "comment" > // Create the new objective var.< / span > < / div >
< div class = "line" > < a id = "l00069" name = "l00069" > < / a > < span class = "lineno" > 69< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > obj_ref = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#abef5f55c3278c137faca92b8e433f8ea" > variables_size< / a > ();< / div >
< div class = "line" > < a id = "l00070" name = "l00070" > < / a > < span class = "lineno" > 70< / span > {< / div >
< div class = "line" > < a id = "l00071" name = "l00071" > < / a > < span class = "lineno" > 71< / span > < a class = "code hl_class" href = "classoperations__research_1_1sat_1_1_integer_variable_proto.html" > IntegerVariableProto< / a > * obj = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad03d1e2f94c4ca4c8004ac5355e6504a" > add_variables< / a > ();< / div >
< div class = "line" > < a id = "l00072" name = "l00072" > < / a > < span class = "lineno" > 72< / span > < a class = "code hl_class" href = "classoperations__research_1_1_domain.html" > Domain< / a > obj_domain(min_obj, max_obj);< / div >
< div class = "line" > < a id = "l00073" name = "l00073" > < / a > < span class = "lineno" > 73< / span > < span class = "keywordflow" > if< / span > (!cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a7d8011ca186f4ad850fcd0e2278d278c" > domain< / a > ().empty()) {< / div >
< div class = "line" > < a id = "l00074" name = "l00074" > < / a > < span class = "lineno" > 74< / span > obj_domain = obj_domain.< a class = "code hl_function" href = "classoperations__research_1_1_domain.html#a835826c4c5129b74553042a357a721ff" > IntersectionWith< / a > (< / div >
< div class = "line" > < a id = "l00075" name = "l00075" > < / a > < span class = "lineno" > 75< / span > < a class = "code hl_function" href = "namespaceoperations__research_1_1sat.html#ab1240060466ba48a36a4b36379bce26a" > ReadDomainFromProto< / a > (cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ()));< / div >
< div class = "line" > < a id = "l00076" name = "l00076" > < / a > < span class = "lineno" > 76< / span > }< / div >
< div class = "line" > < a id = "l00077" name = "l00077" > < / a > < span class = "lineno" > 77< / span > < a class = "code hl_function" href = "namespaceoperations__research_1_1sat.html#a901c19b12842f8af153e588a689a90b5" > FillDomainInProto< / a > (obj_domain, obj);< / div >
< div class = "line" > < a id = "l00078" name = "l00078" > < / a > < span class = "lineno" > 78< / span > }< / div >
< div class = "line" > < a id = "l00079" name = "l00079" > < / a > < span class = "lineno" > 79< / span > < / div >
< div class = "line" > < a id = "l00080" name = "l00080" > < / a > < span class = "lineno" > 80< / span > < span class = "comment" > // Add the linear constraint.< / span > < / div >
< div class = "line" > < a id = "l00081" name = "l00081" > < / a > < span class = "lineno" > 81< / span > < a class = "code hl_class" href = "classoperations__research_1_1sat_1_1_linear_constraint_proto.html" > LinearConstraintProto< / a > * < a class = "code hl_variable" href = "demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695" > ct< / a > = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ac01de597eeeff5521a8bf54568bf1373" > add_constraints< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_constraint_proto.html#ad653c55b371ae98444295965c6622ddb" > mutable_linear< / a > ();< / div >
< div class = "line" > < a id = "l00082" name = "l00082" > < / a > < span class = "lineno" > 82< / span > < a class = "code hl_variable" href = "demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695" > ct< / a > -> add_domain(0);< / div >
< div class = "line" > < a id = "l00083" name = "l00083" > < / a > < span class = "lineno" > 83< / span > < a class = "code hl_variable" href = "demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695" > ct< / a > -> add_domain(0);< / div >
< div class = "line" > < a id = "l00084" name = "l00084" > < / a > < span class = "lineno" > 84< / span > *(< a class = "code hl_variable" href = "demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695" > ct< / a > -> mutable_vars()) = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a81a65d7e582fb45427e0ffe69666bad9" > vars< / a > ();< / div >
< div class = "line" > < a id = "l00085" name = "l00085" > < / a > < span class = "lineno" > 85< / span > *(< a class = "code hl_variable" href = "demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695" > ct< / a > -> mutable_coeffs()) = cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > objective< / a > ().< a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a821ea964897901bfecffe8325b225736" > coeffs< / a > ();< / div >
< div class = "line" > < a id = "l00086" name = "l00086" > < / a > < span class = "lineno" > 86< / span > < a class = "code hl_variable" href = "demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695" > ct< / a > -> add_vars(obj_ref);< / div >
< div class = "line" > < a id = "l00087" name = "l00087" > < / a > < span class = "lineno" > 87< / span > < a class = "code hl_variable" href = "demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695" > ct< / a > -> add_coeffs(-1);< / div >
< div class = "line" > < a id = "l00088" name = "l00088" > < / a > < span class = "lineno" > 88< / span > < / div >
< div class = "line" > < a id = "l00089" name = "l00089" > < / a > < span class = "lineno" > 89< / span > < span class = "comment" > // Update the objective.< / span > < / div >
< div class = "line" > < a id = "l00090" name = "l00090" > < / a > < span class = "lineno" > 90< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > mutable_objective< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#ab1a05788afa206a0fd73ba052ac18520" > clear_vars< / a > ();< / div >
< div class = "line" > < a id = "l00091" name = "l00091" > < / a > < span class = "lineno" > 91< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > mutable_objective< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a06a99a40cbd48fec5a10b7096f0a027d" > clear_coeffs< / a > ();< / div >
< div class = "line" > < a id = "l00092" name = "l00092" > < / a > < span class = "lineno" > 92< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > mutable_objective< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a52d17efda66accf5a25aab163625e0dc" > add_vars< / a > (obj_ref);< / div >
< div class = "line" > < a id = "l00093" name = "l00093" > < / a > < span class = "lineno" > 93< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > mutable_objective< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a4b9572c4b6c4b51f1e98efdcd69a7d0f" > add_coeffs< / a > (1);< / div >
< div class = "line" > < a id = "l00094" name = "l00094" > < / a > < span class = "lineno" > 94< / span > cp_model-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > mutable_objective< / a > ()-> < a class = "code hl_function" href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a44f2e1631cdbf3b9a89a8afa8acb8ebd" > clear_domain< / a > ();< / div >
< div class = "line" > < a id = "l00095" name = "l00095" > < / a > < span class = "lineno" > 95< / span > }< / div >
< div class = "line" > < a id = "l00096" name = "l00096" > < / a > < span class = "lineno" > 96< / span > < / div >
< div class = "line" > < a id = "l00097" name = "l00097" > < / a > < span class = "lineno" > 97< / span > } < span class = "comment" > // namespace sat< / span > < / div >
< div class = "line" > < a id = "l00098" name = "l00098" > < / a > < span class = "lineno" > 98< / span > } < span class = "comment" > // namespace operations_research< / span > < / div >
< div class = "ttc" id = "aalldiff__cst_8cc_html_a26e6db9bcc64b584051ecc28171ed11f" > < div class = "ttname" > < a href = "alldiff__cst_8cc.html#a26e6db9bcc64b584051ecc28171ed11f" > max< / a > < / div > < div class = "ttdeci" > int64_t max< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "alldiff__cst_8cc_source.html#l00140" > alldiff_cst.cc:140< / a > < / div > < / div >
< div class = "ttc" id = "aalldiff__cst_8cc_html_ad10edae0a852d72fb76afb1c77735045" > < div class = "ttname" > < a href = "alldiff__cst_8cc.html#ad10edae0a852d72fb76afb1c77735045" > min< / a > < / div > < div class = "ttdeci" > int64_t min< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "alldiff__cst_8cc_source.html#l00139" > alldiff_cst.cc:139< / a > < / div > < / div >
< div class = "ttc" id = "abase_2logging_8h_html_a3e1cfef60e774a81f30eaddf26a3a274" > < div class = "ttname" > < a href = "base_2logging_8h.html#a3e1cfef60e774a81f30eaddf26a3a274" > CHECK< / a > < / div > < div class = "ttdeci" > #define CHECK(condition)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "base_2logging_8h_source.html#l00495" > base/logging.h:495< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1_domain_html" > < div class = "ttname" > < a href = "classoperations__research_1_1_domain.html" > operations_research::Domain< / a > < / div > < div class = "ttdoc" > We call domain any subset of Int64 = [kint64min, kint64max].< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "sorted__interval__list_8h_source.html#l00081" > sorted_interval_list.h:81< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1_domain_html_a835826c4c5129b74553042a357a721ff" > < div class = "ttname" > < a href = "classoperations__research_1_1_domain.html#a835826c4c5129b74553042a357a721ff" > operations_research::Domain::IntersectionWith< / a > < / div > < div class = "ttdeci" > Domain IntersectionWith(const Domain & domain) const< / div > < div class = "ttdoc" > Returns the intersection of D and domain.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "sorted__interval__list_8cc_source.html#l00303" > sorted_interval_list.cc:303< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_constraint_proto_html_ad653c55b371ae98444295965c6622ddb" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_constraint_proto.html#ad653c55b371ae98444295965c6622ddb" > operations_research::sat::ConstraintProto::mutable_linear< / a > < / div > < div class = "ttdeci" > ::operations_research::sat::LinearConstraintProto * mutable_linear()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l10240" > cp_model.pb.h:10240< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_model_proto_html" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_model_proto.html" > operations_research::sat::CpModelProto< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l06111" > cp_model.pb.h:6112< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_model_proto_html_a2787b866382b560920d55ce5cf129920" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a2787b866382b560920d55ce5cf129920" > operations_research::sat::CpModelProto::objective< / a > < / div > < div class = "ttdeci" > const ::operations_research::sat::CpObjectiveProto & objective() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l12319" > cp_model.pb.h:12319< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_model_proto_html_a6a4544ca20489d70e302f5d6d374a012" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a6a4544ca20489d70e302f5d6d374a012" > operations_research::sat::CpModelProto::variables< / a > < / div > < div class = "ttdeci" > const ::operations_research::sat::IntegerVariableProto & variables(int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l12243" > cp_model.pb.h:12243< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_model_proto_html_a777a6e330a22a8889389cb9b9c9f12d6" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#a777a6e330a22a8889389cb9b9c9f12d6" > operations_research::sat::CpModelProto::has_objective< / a > < / div > < div class = "ttdeci" > bool has_objective() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l12305" > cp_model.pb.h:12305< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_model_proto_html_abef5f55c3278c137faca92b8e433f8ea" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#abef5f55c3278c137faca92b8e433f8ea" > operations_research::sat::CpModelProto::variables_size< / a > < / div > < div class = "ttdeci" > int variables_size() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l12225" > cp_model.pb.h:12225< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_model_proto_html_ac01de597eeeff5521a8bf54568bf1373" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ac01de597eeeff5521a8bf54568bf1373" > operations_research::sat::CpModelProto::add_constraints< / a > < / div > < div class = "ttdeci" > ::operations_research::sat::ConstraintProto * add_constraints()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l12290" > cp_model.pb.h:12290< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_model_proto_html_ad03d1e2f94c4ca4c8004ac5355e6504a" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad03d1e2f94c4ca4c8004ac5355e6504a" > operations_research::sat::CpModelProto::add_variables< / a > < / div > < div class = "ttdeci" > ::operations_research::sat::IntegerVariableProto * add_variables()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l12250" > cp_model.pb.h:12250< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_model_proto_html_ad3badc7aa3d94e81e0126edbfa452fda" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_model_proto.html#ad3badc7aa3d94e81e0126edbfa452fda" > operations_research::sat::CpModelProto::mutable_objective< / a > < / div > < div class = "ttdeci" > ::operations_research::sat::CpObjectiveProto * mutable_objective()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l12366" > cp_model.pb.h:12366< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a06a99a40cbd48fec5a10b7096f0a027d" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a06a99a40cbd48fec5a10b7096f0a027d" > operations_research::sat::CpObjectiveProto::clear_coeffs< / a > < / div > < div class = "ttdeci" > void clear_coeffs()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11275" > cp_model.pb.h:11275< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a40607e597befbbf0e7378c92cd1255a7" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a40607e597befbbf0e7378c92cd1255a7" > operations_research::sat::CpObjectiveProto::set_coeffs< / a > < / div > < div class = "ttdeci" > void set_coeffs(int index, int64_t value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11285" > cp_model.pb.h:11285< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a44f2e1631cdbf3b9a89a8afa8acb8ebd" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a44f2e1631cdbf3b9a89a8afa8acb8ebd" > operations_research::sat::CpObjectiveProto::clear_domain< / a > < / div > < div class = "ttdeci" > void clear_domain()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11362" > cp_model.pb.h:11362< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a4b9572c4b6c4b51f1e98efdcd69a7d0f" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a4b9572c4b6c4b51f1e98efdcd69a7d0f" > operations_research::sat::CpObjectiveProto::add_coeffs< / a > < / div > < div class = "ttdeci" > void add_coeffs(int64_t value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11292" > cp_model.pb.h:11292< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a52d17efda66accf5a25aab163625e0dc" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a52d17efda66accf5a25aab163625e0dc" > operations_research::sat::CpObjectiveProto::add_vars< / a > < / div > < div class = "ttdeci" > void add_vars(int32_t value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11245" > cp_model.pb.h:11245< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a76c521af56ab0e96eb06deeb679f46f7" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a76c521af56ab0e96eb06deeb679f46f7" > operations_research::sat::CpObjectiveProto::vars_size< / a > < / div > < div class = "ttdeci" > int vars_size() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11225" > cp_model.pb.h:11225< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a7d8011ca186f4ad850fcd0e2278d278c" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a7d8011ca186f4ad850fcd0e2278d278c" > operations_research::sat::CpObjectiveProto::domain< / a > < / div > < div class = "ttdeci" > int64_t domain(int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11368" > cp_model.pb.h:11368< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a81a65d7e582fb45427e0ffe69666bad9" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a81a65d7e582fb45427e0ffe69666bad9" > operations_research::sat::CpObjectiveProto::vars< / a > < / div > < div class = "ttdeci" > int32_t vars(int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11234" > cp_model.pb.h:11234< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a821ea964897901bfecffe8325b225736" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a821ea964897901bfecffe8325b225736" > operations_research::sat::CpObjectiveProto::coeffs< / a > < / div > < div class = "ttdeci" > int64_t coeffs(int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11281" > cp_model.pb.h:11281< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a96ffc785b7b2135c7980c985883ffdd3" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a96ffc785b7b2135c7980c985883ffdd3" > operations_research::sat::CpObjectiveProto::offset< / a > < / div > < div class = "ttdeci" > double offset() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11322" > cp_model.pb.h:11322< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_a9e32504c3f1bddb0f25f1386ecf7987b" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#a9e32504c3f1bddb0f25f1386ecf7987b" > operations_research::sat::CpObjectiveProto::scaling_factor< / a > < / div > < div class = "ttdeci" > double scaling_factor() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11342" > cp_model.pb.h:11342< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_ab1a05788afa206a0fd73ba052ac18520" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#ab1a05788afa206a0fd73ba052ac18520" > operations_research::sat::CpObjectiveProto::clear_vars< / a > < / div > < div class = "ttdeci" > void clear_vars()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11228" > cp_model.pb.h:11228< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_ac7453c28e1da85ea4728b31419c0d6b7" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#ac7453c28e1da85ea4728b31419c0d6b7" > operations_research::sat::CpObjectiveProto::set_offset< / a > < / div > < div class = "ttdeci" > void set_offset(double value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11330" > cp_model.pb.h:11330< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_af02334eb54337092e11b9a74312a4c25" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#af02334eb54337092e11b9a74312a4c25" > operations_research::sat::CpObjectiveProto::set_scaling_factor< / a > < / div > < div class = "ttdeci" > void set_scaling_factor(double value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11350" > cp_model.pb.h:11350< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_cp_objective_proto_html_af7c9b649d2e87fef602817962e0e7434" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_cp_objective_proto.html#af7c9b649d2e87fef602817962e0e7434" > operations_research::sat::CpObjectiveProto::set_vars< / a > < / div > < div class = "ttdeci" > void set_vars(int index, int32_t value)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l11238" > cp_model.pb.h:11238< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_integer_variable_proto_html" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_integer_variable_proto.html" > operations_research::sat::IntegerVariableProto< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l00272" > cp_model.pb.h:273< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_integer_variable_proto_html_a0cf3e2ef19d1e580d07b8c50d95cfa1e" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_integer_variable_proto.html#a0cf3e2ef19d1e580d07b8c50d95cfa1e" > operations_research::sat::IntegerVariableProto::domain_size< / a > < / div > < div class = "ttdeci" > int domain_size() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l07093" > cp_model.pb.h:7093< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_integer_variable_proto_html_a7d8011ca186f4ad850fcd0e2278d278c" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_integer_variable_proto.html#a7d8011ca186f4ad850fcd0e2278d278c" > operations_research::sat::IntegerVariableProto::domain< / a > < / div > < div class = "ttdeci" > int64_t domain(int index) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l07102" > cp_model.pb.h:7102< / a > < / div > < / div >
< div class = "ttc" id = "aclassoperations__research_1_1sat_1_1_linear_constraint_proto_html" > < div class = "ttname" > < a href = "classoperations__research_1_1sat_1_1_linear_constraint_proto.html" > operations_research::sat::LinearConstraintProto< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model_8pb_8h_source.html#l01134" > cp_model.pb.h:1135< / a > < / div > < / div >
< div class = "ttc" id = "acp__model__objective_8h_html" > < div class = "ttname" > < a href = "cp__model__objective_8h.html" > cp_model_objective.h< / a > < / div > < / div >
< div class = "ttc" id = "acp__model__utils_8h_html" > < div class = "ttname" > < a href = "cp__model__utils_8h.html" > cp_model_utils.h< / a > < / div > < / div >
< div class = "ttc" id = "ademon__profiler_8cc_html_a05da18ca9c7b657a4a6ea24e07c9b695" > < div class = "ttname" > < a href = "demon__profiler_8cc.html#a05da18ca9c7b657a4a6ea24e07c9b695" > ct< / a > < / div > < div class = "ttdeci" > const Constraint * ct< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "demon__profiler_8cc_source.html#l00043" > demon_profiler.cc:43< / a > < / div > < / div >
< div class = "ttc" id = "aexpr__array_8cc_html_a472a99923cbe11ae7b5a5d157d9ad465" > < div class = "ttname" > < a href = "expr__array_8cc.html#a472a99923cbe11ae7b5a5d157d9ad465" > var< / a > < / div > < div class = "ttdeci" > IntVar * var< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "expr__array_8cc_source.html#l01874" > expr_array.cc:1874< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_1_1sat_html_a217338425de4389014563f1f24331713" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1sat.html#a217338425de4389014563f1f24331713" > operations_research::sat::RefIsPositive< / a > < / div > < div class = "ttdeci" > bool RefIsPositive(int ref)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model__utils_8h_source.html#l00036" > cp_model_utils.h:36< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_1_1sat_html_a21831f6f427a84bea58317eea88aa1fa" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1sat.html#a21831f6f427a84bea58317eea88aa1fa" > operations_research::sat::EncodeObjectiveAsSingleVariable< / a > < / div > < div class = "ttdeci" > void EncodeObjectiveAsSingleVariable(CpModelProto *cp_model)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model__objective_8cc_source.html#l00023" > cp_model_objective.cc:23< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_1_1sat_html_a901c19b12842f8af153e588a689a90b5" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1sat.html#a901c19b12842f8af153e588a689a90b5" > operations_research::sat::FillDomainInProto< / a > < / div > < div class = "ttdeci" > void FillDomainInProto(const Domain & domain, ProtoWithDomain *proto)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model__utils_8h_source.html#l00093" > cp_model_utils.h:93< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_1_1sat_html_ab1240060466ba48a36a4b36379bce26a" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1sat.html#ab1240060466ba48a36a4b36379bce26a" > operations_research::sat::ReadDomainFromProto< / a > < / div > < div class = "ttdeci" > Domain ReadDomainFromProto(const ProtoWithDomain & proto)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model__utils_8h_source.html#l00104" > cp_model_utils.h:104< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_1_1sat_html_acdbc8ad33149d45a6e6fcd8b72fd68ed" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1sat.html#acdbc8ad33149d45a6e6fcd8b72fd68ed" > operations_research::sat::PositiveRef< / a > < / div > < div class = "ttdeci" > int PositiveRef(int ref)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model__utils_8h_source.html#l00035" > cp_model_utils.h:35< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_1_1sat_html_ae0803b8198728cd4f6e58498d9c60091" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1sat.html#ae0803b8198728cd4f6e58498d9c60091" > operations_research::sat::NegatedRef< / a > < / div > < div class = "ttdeci" > int NegatedRef(int ref)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model__utils_8h_source.html#l00034" > cp_model_utils.h:34< / a > < / div > < / div >
< div class = "ttc" id = "anamespaceoperations__research_html" > < div class = "ttname" > < a href = "namespaceoperations__research.html" > operations_research< / a > < / div > < div class = "ttdoc" > Collection of objects used to extend the Constraint Solver library.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "dense__doubly__linked__list_8h_source.html#l00021" > dense_doubly_linked_list.h:21< / a > < / div > < / div >
< div class = "ttc" id = "avariable__and__expressions_8cc_html_a2091cd7d80fdd31762020bce86138587" > < div class = "ttname" > < a href = "variable__and__expressions_8cc.html#a2091cd7d80fdd31762020bce86138587" > coeff< / a > < / div > < div class = "ttdeci" > const double coeff< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "variable__and__expressions_8cc_source.html#l00104" > variable_and_expressions.cc:104< / a > < / div > < / div >
2021-01-26 11:28:50 +01:00
< / div > <!-- fragment --> < / div > <!-- contents -->
< / div > <!-- doc - content -->
2020-09-01 16:00:33 +02:00
<!-- HTML footer for doxygen 1.8.18 -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< li class = "navelem" > < a class = "el" href = "dir_a7cc1eeded8f693d0da6c729bc88c45a.html" > ortools< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_dddac007a45022d9da6ea1dee012c3b9.html" > sat< / a > < / li > < li class = "navelem" > < a class = "el" href = "cp__model__objective_8cc.html" > cp_model_objective.cc< / a > < / li >
< li class = "footer" > Generated by
< a href = "http://www.doxygen.org/index.html" >
2022-01-17 21:42:14 +01:00
< img class = "footer" src = "doxygen.png" alt = "doxygen" / > < / a > 1.9.3 < / li >
2020-09-01 16:00:33 +02:00
< / ul >
< / div >
< / body >
< / html >