v9.8
Platforms
- Add Python 3.12 support.
- Add Ubuntu 23.10 support.
Dependencies
- abseil-cpp
20230802.1
. - Protobuf
v25.0
. - re2
2023-11-01
. - SCIP
v804
.
Linear Solver
- Port
ModelBuilder
to .Net. - Rename
LogCallback
toMbLogCallback
to avoid collision with SAT LogCallback. - Extend ModelBuilder API:
- Add indicator constraints.
- Add hinting support.
- Add model cloning.
Math Opt
- Deep rework.
Routing
- Add
ROUTING_OPTIMAL
status. - Make
RoutingModel
non copyable nor movable. - Fix some infinite loop in local search operators.
- Add a
PickupDeliveryPosition
internal struct. - Add
IsPickup()
andIsDelivery()
methods.
SAT
- Reduce memory footprint for large model.
- Improved scheduling search.
- add packing_precedences_lns.
- optimize and fix feasibility jump.
- optimize linear presolve and better presolve logging.
- Improve presolve for
int_abs
,int_mod
,int_prod
andlin_max
. - Improve Panda support
- Few bug fix.
Troubleshoot for Distro Maintainers
issue re2::StringPiece
$SRC_DIR/ortools/lp_data/lp_parser.cc: In function 'absl::lts_20230802::StatusOr<operations_research::glop::ParsedConstraint> operations_research::glop::ParseConstraint(absl::lts_20230802::string_view)':
$SRC_DIR/ortools/lp_data/lp_parser.cc:365:20: error: cannot convert 'absl::lts_20230802::string_view*' {aka 'std::basic_string_view<char>*'} to 'operations_research::glop::{anonymous}::StringPiece*' {aka 're2::StringPiece*'}
365 | ConsumeToken(&constraint, &consumed_name, &consumed_coeff);
| ^~~~~~~~~~~
| |
| absl::lts_20230802::string_view* {aka std::basic_string_view<char>*}
answer: You need to bump re2 to at least 2023-06-01
(re2::StringPiece
become an alias to absl::string_view
)
src: google/re2@49d776b
issue operator<<
$PREFIX/include/absl/log/internal/log_message.h:289:17: error: no match for 'operator<<' (operand types are 'std::ostream' {aka 'std::basic_ostream<char>'} and 'const operations_research::sat::CpSolverResponse')
289 | view.stream() << log_internal::NullGuard<T>().Guard(v);
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
answer: You need to bump Protobuf to at least v23.3 (protobuf depends on abseil-cpp)
issue absl::int128
$SRC_DIR/ortools/sat/cuts.cc:79:36: error: no matching function for call to 'StrCat(const char [13], const absl::lts_20230802::int128&, const char [2])'
79 | std::string result = absl::StrCat("CutData rhs=", rhs, "\n");
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
answer: : You need to bump abseil-cpp to at least 20230802.1 (abseil-cpp will provide a int128::toString()
)
src: abseil/abseil-cpp@34eb767
What's Changed
- build(deps): bump tornado from 6.2 to 6.3.3 in /bazel by @dependabot in #3893
- build(deps): bump pygments from 2.14.0 to 2.15.0 in /bazel by @dependabot in #3885
- build(deps): bump jupyter-server from 2.7.0 to 2.7.2 in /bazel by @dependabot in #3904
- Update Visual Studio Version in README.md by @arnabanimesh in #3968
New Contributors
- @dependabot made their first contribution in #3893
- @arnabanimesh made their first contribution in #3968
Full Changelog: v9.7...v9.8