or-tools 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -1
- data/README.md +1 -1
- data/ext/or-tools/constraint.cpp +12 -2
- data/ext/or-tools/linear.cpp +0 -1
- data/ext/or-tools/routing.cpp +5 -0
- data/ext/or-tools/vendor.rb +12 -12
- data/lib/or_tools/comparison.rb +2 -3
- data/lib/or_tools/cp_model.rb +27 -18
- data/lib/or_tools/mp_variable.rb +0 -1
- data/lib/or_tools/product_cst.rb +5 -1
- data/lib/or_tools/sat_int_var.rb +1 -2
- data/lib/or_tools/sat_linear_expr.rb +2 -3
- data/lib/or_tools/sum_array.rb +1 -1
- data/lib/or_tools/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c04ebe4cc7e1ab63d7cd996f683afe5966d3069b2915d87d68a69f3767a9bea
|
4
|
+
data.tar.gz: 44975b51bc4433d3b2d35ea8aa55a5860f77aa21503f2983bb4d83de225e1774
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5667583ce71e21fb774d499ed8b9efb12dc13776f39632595517b1d60c1c5c3f6d1d2c58f712f2e1356fb69af81a91ba8507fcb3b001df67ea2e0eb04cfa562
|
7
|
+
data.tar.gz: 0db18ffcb4b67f75067fb1b805f0160ba72fdd18d1894f47a29e6a76a969c0463d7d7e787b0a8d77891cd517eb5b9bdf4780ee771a876fde6ca53a8561084f7c
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
## 0.9.0 (2022-12-02)
|
2
|
+
|
3
|
+
- Updated OR-Tools to 9.5
|
4
|
+
- Added `solve_from_assignment_with_parameters` to `RoutingModel`
|
5
|
+
- Improved `inspect` and `to_s` for expressions
|
6
|
+
|
7
|
+
## 0.8.2 (2022-11-05)
|
8
|
+
|
9
|
+
- Added support for bool vars to `add_hint`
|
10
|
+
- Added support for empty sums to `CpModel`
|
11
|
+
|
1
12
|
## 0.8.1 (2022-08-22)
|
2
13
|
|
3
14
|
- Added binary installation for Ubuntu 22.04
|
@@ -11,7 +22,7 @@
|
|
11
22
|
|
12
23
|
## 0.7.3 (2022-07-23)
|
13
24
|
|
14
|
-
- Added more methods to `RoutingModel` and
|
25
|
+
- Added more methods to `RoutingModel` and `RoutingDimension`
|
15
26
|
|
16
27
|
## 0.7.2 (2022-05-28)
|
17
28
|
|
data/README.md
CHANGED
data/ext/or-tools/constraint.cpp
CHANGED
@@ -298,8 +298,18 @@ void init_constraint(Rice::Module& m) {
|
|
298
298
|
})
|
299
299
|
.define_method(
|
300
300
|
"add_hint",
|
301
|
-
[](CpModelBuilder& self,
|
302
|
-
|
301
|
+
[](CpModelBuilder& self, Object var, Object value) {
|
302
|
+
if (var.is_a(rb_cBoolVar)) {
|
303
|
+
self.AddHint(
|
304
|
+
Rice::detail::From_Ruby<BoolVar>().convert(var.value()),
|
305
|
+
Rice::detail::From_Ruby<bool>().convert(value.value())
|
306
|
+
);
|
307
|
+
} else {
|
308
|
+
self.AddHint(
|
309
|
+
Rice::detail::From_Ruby<IntVar>().convert(var.value()),
|
310
|
+
Rice::detail::From_Ruby<int64_t>().convert(value.value())
|
311
|
+
);
|
312
|
+
}
|
303
313
|
})
|
304
314
|
.define_method(
|
305
315
|
"clear_hints",
|
data/ext/or-tools/linear.cpp
CHANGED
@@ -47,7 +47,6 @@ namespace Rice::detail
|
|
47
47
|
void init_linear(Rice::Module& m) {
|
48
48
|
Rice::define_class_under<LinearRange>(m, "LinearRange");
|
49
49
|
|
50
|
-
// TODO remove in 0.8.0
|
51
50
|
auto rb_cLinearExpr = Rice::define_class_under<LinearExpr>(m, "LinearExpr");
|
52
51
|
rb_cLinearExpr.define_constructor(Rice::Constructor<LinearExpr>());
|
53
52
|
|
data/ext/or-tools/routing.cpp
CHANGED
@@ -388,6 +388,11 @@ void init_routing(Rice::Module& m) {
|
|
388
388
|
[](RoutingModel& self, const RoutingSearchParameters& search_parameters) {
|
389
389
|
return self.SolveWithParameters(search_parameters);
|
390
390
|
})
|
391
|
+
.define_method(
|
392
|
+
"solve_from_assignment_with_parameters",
|
393
|
+
[](RoutingModel& self, const Assignment* assignment, const RoutingSearchParameters& search_parameters) {
|
394
|
+
return self.SolveFromAssignmentWithParameters(assignment, search_parameters);
|
395
|
+
})
|
391
396
|
.define_method("compute_lower_bound", &RoutingModel::ComputeLowerBound)
|
392
397
|
.define_method("status",
|
393
398
|
[](RoutingModel& self) {
|
data/ext/or-tools/vendor.rb
CHANGED
@@ -4,15 +4,15 @@ require "fileutils"
|
|
4
4
|
require "net/http"
|
5
5
|
require "tmpdir"
|
6
6
|
|
7
|
-
version = "9.
|
7
|
+
version = "9.5.2237"
|
8
8
|
|
9
9
|
if RbConfig::CONFIG["host_os"] =~ /darwin/i
|
10
10
|
if RbConfig::CONFIG["host_cpu"] =~ /arm|aarch64/i
|
11
|
-
filename = "or-
|
12
|
-
checksum = "
|
11
|
+
filename = "or-tools_arm64_macOS-13.0.1_cpp_v#{version}.tar.gz"
|
12
|
+
checksum = "9041ccb29618bce793c68eaa30a01b1fbaa6491656bddd942753d9a412544db7"
|
13
13
|
else
|
14
|
-
filename = "or-
|
15
|
-
checksum = "
|
14
|
+
filename = "or-tools_x86_64_macOS-13.0.1_cpp_v#{version}.tar.gz"
|
15
|
+
checksum = "f4af2bfd3b19cff6056e01abcddf1f5a54a0da891cafd73a25a671a3abd17c76"
|
16
16
|
end
|
17
17
|
else
|
18
18
|
# try /etc/os-release with fallback to /usr/lib/os-release
|
@@ -27,25 +27,25 @@ else
|
|
27
27
|
|
28
28
|
if os == "ubuntu" && os_version == "22.04"
|
29
29
|
filename = "or-tools_amd64_ubuntu-22.04_cpp_v#{version}.tar.gz"
|
30
|
-
checksum = "
|
30
|
+
checksum = "acecd79867f4bd5f6b91d95743fc858e939d8611e534914a540ee4f46c535247"
|
31
31
|
elsif os == "ubuntu" && os_version == "20.04"
|
32
32
|
filename = "or-tools_amd64_ubuntu-20.04_cpp_v#{version}.tar.gz"
|
33
|
-
checksum = "
|
33
|
+
checksum = "506b420e1b1232440e49680e55ae087000f2c92b1009e46417c774d8332f217b"
|
34
34
|
elsif os == "ubuntu" && os_version == "18.04"
|
35
35
|
filename = "or-tools_amd64_ubuntu-18.04_cpp_v#{version}.tar.gz"
|
36
|
-
checksum = "
|
36
|
+
checksum = "96ee5b4f3cf6dfece6dc54a78c6aa4a55dae5bd7d4f4176b332d3f3aa6cd973f"
|
37
37
|
elsif os == "debian" && os_version == "11"
|
38
38
|
filename = "or-tools_amd64_debian-11_cpp_v#{version}.tar.gz"
|
39
|
-
checksum = "
|
39
|
+
checksum = "00bef600d0e2452544484f26f49bada4f717d7735f9d65c3961def8ab83876d3"
|
40
40
|
elsif os == "debian" && os_version == "10"
|
41
41
|
filename = "or-tools_amd64_debian-10_cpp_v#{version}.tar.gz"
|
42
|
-
checksum = "
|
42
|
+
checksum = "a45c566dbfe818386bc1aa061a167650c691f447b2937cdc8bdb1e9054ba4715"
|
43
43
|
elsif os == "centos" && os_version == "8"
|
44
44
|
filename = "or-tools_amd64_centos-8_cpp_v#{version}.tar.gz"
|
45
|
-
checksum = "
|
45
|
+
checksum = "af82328d06c402917735482045e7abc37a6f9258db3d607d6efc62c27f765334"
|
46
46
|
elsif os == "centos" && os_version == "7"
|
47
47
|
filename = "or-tools_amd64_centos-7_cpp_v#{version}.tar.gz"
|
48
|
-
checksum = "
|
48
|
+
checksum = "3d28bdd3ab27224b80960393c7f51e7c228ae78297c28e4ae79bc6c269ae44fe"
|
49
49
|
else
|
50
50
|
platform =
|
51
51
|
if Gem.win_platform?
|
data/lib/or_tools/comparison.rb
CHANGED
data/lib/or_tools/cp_model.rb
CHANGED
@@ -1,25 +1,34 @@
|
|
1
1
|
module ORTools
|
2
2
|
class CpModel
|
3
3
|
def add(comparison)
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
4
|
+
case comparison
|
5
|
+
when Comparison
|
6
|
+
method_name =
|
7
|
+
case comparison.operator
|
8
|
+
when "=="
|
9
|
+
:add_equality
|
10
|
+
when "!="
|
11
|
+
:add_not_equal
|
12
|
+
when ">"
|
13
|
+
:add_greater_than
|
14
|
+
when ">="
|
15
|
+
:add_greater_or_equal
|
16
|
+
when "<"
|
17
|
+
:add_less_than
|
18
|
+
when "<="
|
19
|
+
:add_less_or_equal
|
20
|
+
else
|
21
|
+
raise ArgumentError, "Unknown operator: #{comparison.operator}"
|
22
|
+
end
|
21
23
|
|
22
|
-
|
24
|
+
send(method_name, comparison.left, comparison.right)
|
25
|
+
when true
|
26
|
+
add_bool_or([true_var])
|
27
|
+
when false
|
28
|
+
add_bool_or([])
|
29
|
+
else
|
30
|
+
raise TypeError, "Not supported: CpModel#add(#{comparison})"
|
31
|
+
end
|
23
32
|
end
|
24
33
|
|
25
34
|
def sum(arr)
|
data/lib/or_tools/mp_variable.rb
CHANGED
data/lib/or_tools/product_cst.rb
CHANGED
data/lib/or_tools/sat_int_var.rb
CHANGED
@@ -27,7 +27,7 @@ module ORTools
|
|
27
27
|
def to_s
|
28
28
|
vars.map do |v|
|
29
29
|
k = v[0]
|
30
|
-
k = k.respond_to?(:name) ? k.name : k.
|
30
|
+
k = k.respond_to?(:name) ? k.name : k.to_s
|
31
31
|
if v[1] == 1
|
32
32
|
k
|
33
33
|
else
|
@@ -36,9 +36,8 @@ module ORTools
|
|
36
36
|
end.join(" + ").sub(" + -", " - ")
|
37
37
|
end
|
38
38
|
|
39
|
-
# TODO add class
|
40
39
|
def inspect
|
41
|
-
to_s
|
40
|
+
"#<#{self.class.name} #{to_s}>"
|
42
41
|
end
|
43
42
|
|
44
43
|
private
|
data/lib/or_tools/sum_array.rb
CHANGED
data/lib/or_tools/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: or-tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rice
|