or-tools 0.8.0 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b7f1f552804f88337c4d277ac7062a984c13ea67e43a8cd5567e8c0b8f1b3c6
4
- data.tar.gz: 5bd93184a59799ef541745a8f4498f4cf25c525c290c3c2c7fbe2d5e5494c942
3
+ metadata.gz: 3f76c7d5e0a5232ea519e3d96773c1c62ec718c4431f26d770db31881680662a
4
+ data.tar.gz: 951a90e2c6a30418ebc6c267a55205acb0946048278ee822912767b2a639ebc3
5
5
  SHA512:
6
- metadata.gz: 91077d2961b42021ee98f580d132f99a84128354bd054053de600510c4aba7343e1da9696a5d08a7c214742b92cac45200f85aa136d3e092d77b25ceb4033cdc
7
- data.tar.gz: 316c4c0423522a2bdb78e006d38c412aa94cbaa14b4a37ebd3c04f340752d5f2adc5a3a9f5cf4adbd6968627a8e0504b58ae77d1d0876eb46cab783843957ead
6
+ metadata.gz: be8e00e0553d9413a4d213af5647cccd46baaf3f724981c7e3234d08420cf44cc039a5ef24b6f35460ba36644d6690ba697b19c6f62a647a0ddda5af447f887d
7
+ data.tar.gz: 1219df9128db35f3fec3c040b19c9a66a26a08c9222a97ef10aec5c09173bb256e7c35cbeb528d6bf2c5f81ebc06c58149f3f2f48a8dc1e5ac370b668b6f20df
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
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
+
6
+ ## 0.8.1 (2022-08-22)
7
+
8
+ - Added binary installation for Ubuntu 22.04
9
+
1
10
  ## 0.8.0 (2022-08-21)
2
11
 
3
12
  - Updated OR-Tools to 9.4
@@ -7,7 +16,7 @@
7
16
 
8
17
  ## 0.7.3 (2022-07-23)
9
18
 
10
- - Added more methods to `RoutingModel` and `RoutingDimension`
19
+ - Added more methods to `RoutingModel` and `RoutingDimension`
11
20
 
12
21
  ## 0.7.2 (2022-05-28)
13
22
 
data/README.md CHANGED
@@ -14,7 +14,7 @@ gem "or-tools"
14
14
 
15
15
  Installation can take a few minutes as OR-Tools downloads and builds.
16
16
 
17
- ## Guides
17
+ ## Getting Started
18
18
 
19
19
  Higher Level Interfaces
20
20
 
@@ -298,8 +298,18 @@ void init_constraint(Rice::Module& m) {
298
298
  })
299
299
  .define_method(
300
300
  "add_hint",
301
- [](CpModelBuilder& self, IntVar var, int64_t value) {
302
- self.AddHint(var, value);
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",
@@ -25,7 +25,10 @@ else
25
25
  os = os_info["ID"]
26
26
  os_version = os_info["VERSION_ID"]
27
27
 
28
- if os == "ubuntu" && os_version == "20.04"
28
+ if os == "ubuntu" && os_version == "22.04"
29
+ filename = "or-tools_amd64_ubuntu-22.04_cpp_v#{version}.tar.gz"
30
+ checksum = "d7e222fc4f30c9864bfa3062accc8b4dd291c3166ba9cf3576c6c86eded71940"
31
+ elsif os == "ubuntu" && os_version == "20.04"
29
32
  filename = "or-tools_amd64_ubuntu-20.04_cpp_v#{version}.tar.gz"
30
33
  checksum = "1b09f0f60b5aab83aeec468842e4a166cd3a4e7910e807f55bc7f96d5dffabdb"
31
34
  elsif os == "ubuntu" && os_version == "18.04"
@@ -1,25 +1,34 @@
1
1
  module ORTools
2
2
  class CpModel
3
3
  def add(comparison)
4
- method_name =
5
- case comparison.operator
6
- when "=="
7
- :add_equality
8
- when "!="
9
- :add_not_equal
10
- when ">"
11
- :add_greater_than
12
- when ">="
13
- :add_greater_or_equal
14
- when "<"
15
- :add_less_than
16
- when "<="
17
- :add_less_or_equal
18
- else
19
- raise ArgumentError, "Unknown operator: #{comparison.operator}"
20
- end
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
- send(method_name, comparison.left, comparison.right)
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)
@@ -1,3 +1,3 @@
1
1
  module ORTools
2
- VERSION = "0.8.0"
2
+ VERSION = "0.8.2"
3
3
  end
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.0
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-08-21 00:00:00.000000000 Z
11
+ date: 2022-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rice