or-tools 0.8.1 → 0.8.2
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 +6 -1
- data/README.md +1 -1
- data/ext/or-tools/constraint.cpp +12 -2
- data/lib/or_tools/cp_model.rb +27 -18
- 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: 3f76c7d5e0a5232ea519e3d96773c1c62ec718c4431f26d770db31881680662a
|
4
|
+
data.tar.gz: 951a90e2c6a30418ebc6c267a55205acb0946048278ee822912767b2a639ebc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be8e00e0553d9413a4d213af5647cccd46baaf3f724981c7e3234d08420cf44cc039a5ef24b6f35460ba36644d6690ba697b19c6f62a647a0ddda5af447f887d
|
7
|
+
data.tar.gz: 1219df9128db35f3fec3c040b19c9a66a26a08c9222a97ef10aec5c09173bb256e7c35cbeb528d6bf2c5f81ebc06c58149f3f2f48a8dc1e5ac370b668b6f20df
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 0.8.2 (2022-11-05)
|
2
|
+
|
3
|
+
- Added support for bool vars to `add_hint`
|
4
|
+
- Added support for empty sums to `CpModel`
|
5
|
+
|
1
6
|
## 0.8.1 (2022-08-22)
|
2
7
|
|
3
8
|
- Added binary installation for Ubuntu 22.04
|
@@ -11,7 +16,7 @@
|
|
11
16
|
|
12
17
|
## 0.7.3 (2022-07-23)
|
13
18
|
|
14
|
-
- Added more methods to `RoutingModel` and
|
19
|
+
- Added more methods to `RoutingModel` and `RoutingDimension`
|
15
20
|
|
16
21
|
## 0.7.2 (2022-05-28)
|
17
22
|
|
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/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/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.8.
|
4
|
+
version: 0.8.2
|
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-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rice
|