or-tools 0.6.3 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a94dfe67ccc7166a4ab27cbf5747d332452715db7ad302fa325ef7b5b270ef12
4
- data.tar.gz: 36aacbdbf3be07f26e8711bc0ec00d8c1ac929288c62661f7425c721eb827c5d
3
+ metadata.gz: 03544e925041f7337e6e6ba1b00b6d6c4d97353bcd7ee3785a46959a952bf09c
4
+ data.tar.gz: eddbab6814900afc7ddda651da92a53aa06b0db857659ab2ccd1c1adb9770fe0
5
5
  SHA512:
6
- metadata.gz: 9c66c41c7b34b75f09725bbf74c04e7d7a9c2eee5251cc294480baa9a4f8a1a0fcde3534f75f3462d69fdc7c97ec5367dac1cf5fae210351ae731c1cb3c4d5f3
7
- data.tar.gz: c8cc4f3c87e7199f9322caa714435699e000be1888f33e2c6b1121aa72dfab1d8b10ba8100fd3ff64b6dcc43853c2b36485922cab2f3b0268ec8cddb1fe15bdc
6
+ metadata.gz: '041939b99da310567a099f7654658697b93e36436abf06779336ca51e0d02be94473c0474d238041285975f293734cde65c37e5db565b8f30b49f856fe519100'
7
+ data.tar.gz: '09f6a2f0701acb005f356555df0d0e19befe36090d4de1b2188e7944a55836c80022eed5d4e185dc3b3b016c9c73fa3d5957e8c3cf8adf83bf4773b1090e5f0a'
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 0.7.0 (2022-03-23)
2
+
3
+ - Updated OR-Tools to 9.3
4
+ - Removed `add_lin_min_equality` (use `add_min_equality` instead)
5
+ - Removed `add_lin_max_equality` (use `add_max_equality` instead)
6
+ - Dropped support for Debian 10
7
+
1
8
  ## 0.6.3 (2022-03-13)
2
9
 
3
10
  - Reduced gem size
@@ -57,11 +57,11 @@ namespace Rice::detail
57
57
  auto coeff = From_Ruby<int64_t>().convert(cvar[1].value());
58
58
 
59
59
  if (var.is_a(rb_cBoolVar)) {
60
- expr.AddTerm(From_Ruby<BoolVar>().convert(var.value()), coeff);
60
+ expr += From_Ruby<BoolVar>().convert(var.value()) * coeff;
61
61
  } else if (var.is_a(rb_cInteger)) {
62
- expr.AddConstant(From_Ruby<int64_t>().convert(var.value()) * coeff);
62
+ expr += From_Ruby<int64_t>().convert(var.value()) * coeff;
63
63
  } else {
64
- expr.AddTerm(From_Ruby<IntVar>().convert(var.value()), coeff);
64
+ expr += From_Ruby<IntVar>().convert(var.value()) * coeff;
65
65
  }
66
66
  }
67
67
  } else {
@@ -253,42 +253,32 @@ void init_constraint(Rice::Module& m) {
253
253
  })
254
254
  .define_method(
255
255
  "add_min_equality",
256
- [](CpModelBuilder& self, IntVar target, std::vector<IntVar> vars) {
256
+ [](CpModelBuilder& self, LinearExpr target, std::vector<LinearExpr> vars) {
257
257
  return self.AddMinEquality(target, vars);
258
258
  })
259
- .define_method(
260
- "add_lin_min_equality",
261
- [](CpModelBuilder& self, LinearExpr target, std::vector<LinearExpr> exprs) {
262
- return self.AddLinMinEquality(target, exprs);
263
- })
264
259
  .define_method(
265
260
  "add_max_equality",
266
- [](CpModelBuilder& self, IntVar target, std::vector<IntVar> vars) {
261
+ [](CpModelBuilder& self, LinearExpr target, std::vector<LinearExpr> vars) {
267
262
  return self.AddMaxEquality(target, vars);
268
263
  })
269
- .define_method(
270
- "add_lin_max_equality",
271
- [](CpModelBuilder& self, LinearExpr target, std::vector<LinearExpr> exprs) {
272
- return self.AddLinMaxEquality(target, exprs);
273
- })
274
264
  .define_method(
275
265
  "add_division_equality",
276
- [](CpModelBuilder& self, IntVar target, IntVar numerator, IntVar denominator) {
266
+ [](CpModelBuilder& self, LinearExpr target, LinearExpr numerator, LinearExpr denominator) {
277
267
  return self.AddDivisionEquality(target, numerator, denominator);
278
268
  })
279
269
  .define_method(
280
270
  "add_abs_equality",
281
- [](CpModelBuilder& self, IntVar target, IntVar var) {
271
+ [](CpModelBuilder& self, LinearExpr target, LinearExpr var) {
282
272
  return self.AddAbsEquality(target, var);
283
273
  })
284
274
  .define_method(
285
275
  "add_modulo_equality",
286
- [](CpModelBuilder& self, IntVar target, IntVar var, IntVar mod) {
276
+ [](CpModelBuilder& self, LinearExpr target, LinearExpr var, LinearExpr mod) {
287
277
  return self.AddModuloEquality(target, var, mod);
288
278
  })
289
279
  .define_method(
290
280
  "add_multiplication_equality",
291
- [](CpModelBuilder& self, IntVar target, std::vector<IntVar> vars) {
281
+ [](CpModelBuilder& self, LinearExpr target, std::vector<LinearExpr> vars) {
292
282
  return self.AddMultiplicationEquality(target, vars);
293
283
  })
294
284
  .define_method(
@@ -4,7 +4,7 @@ require "fileutils"
4
4
  require "net/http"
5
5
  require "tmpdir"
6
6
 
7
- version = "9.2.9972"
7
+ version = "9.3.10497"
8
8
 
9
9
  if RbConfig::CONFIG["host_os"] =~ /darwin/i
10
10
  if RbConfig::CONFIG["host_cpu"] =~ /arm|aarch64/i
@@ -17,8 +17,8 @@ if RbConfig::CONFIG["host_os"] =~ /darwin/i
17
17
 
18
18
  MSG
19
19
  else
20
- filename = "or-tools_MacOsX-12.0.1_v#{version}.tar.gz"
21
- checksum = "796791a8ef84507d62e193e647cccb1c7725dae4f1474476e1777fe4a44ee3e0"
20
+ filename = "or-tools_MacOsX-12.2.1_v#{version}.tar.gz"
21
+ checksum = "33941702c59983897935eef06d91aca6c89ed9a8f5f4de3a9dfe489e97d7ca8c"
22
22
  end
23
23
  else
24
24
  # try /etc/os-release with fallback to /usr/lib/os-release
@@ -32,23 +32,21 @@ else
32
32
  os_version = os_info["VERSION_ID"]
33
33
 
34
34
  if os == "ubuntu" && os_version == "20.04"
35
- filename = "or-tools_amd64_ubuntu-20.04_v#{version}.tar.gz"
36
- checksum = "985e3036eaecacfc8a0258ec2ebef429240491577d4e0896d68fc076e65451ec"
35
+ # TODO remove sub in v9.4
36
+ filename = "or-tools_amd64_ubuntu-20.04_v#{version.sub(".10497", ".10502")}.tar.gz"
37
+ checksum = "3d1979967a2c9358b5bc956f2e6b608b00e89e13c71d48d075475ce4138b6d1c"
37
38
  elsif os == "ubuntu" && os_version == "18.04"
38
39
  filename = "or-tools_amd64_ubuntu-18.04_v#{version}.tar.gz"
39
- checksum = "e36406c4fe8c111e1ace0ede9d0787ff0e98f11afd7db9cc074adfd0f55628a6"
40
+ checksum = "6ba5cc153417267e8f8e15f8b6390b17f22de07bacc61f3740a4172ccd56c274"
40
41
  elsif os == "debian" && os_version == "11"
41
42
  filename = "or-tools_amd64_debian-11_v#{version}.tar.gz"
42
- checksum = "bd49ee916213b2140ab255414d35a28f19dff7caf87632309753d3fc553f85dd"
43
- elsif os == "debian" && os_version == "10"
44
- filename = "or-tools_amd64_debian-10_v#{version}.tar.gz"
45
- checksum = "b152fee584f0c8228fe2ff21b74c789870ff9b7064e42ca26305c6b5653f0064"
43
+ checksum = "db0636bab909eabf06a7004f7572dca6fa152f3823c1365b0b7428405bf250e6"
46
44
  elsif os == "centos" && os_version == "8"
47
45
  filename = "or-tools_amd64_centos-8_v#{version}.tar.gz"
48
- checksum = "66ed4bb800acf92c672f7e68acdf4ea27bbfdb17bbddc02f8326cd55a97305f6"
46
+ checksum = "e5649069fd7a3e8228cc18b91e265a90562c5d03a0c962b0346911aada0aedc9"
49
47
  elsif os == "centos" && os_version == "7"
50
48
  filename = "or-tools_amd64_centos-7_v#{version}.tar.gz"
51
- checksum = "4a5c1b1639a2828cd7e1ba82a574ef37876557b59e8aab8b81811bb750d53035"
49
+ checksum = "3bffdec8c09fc1345dcbd6a553437e2894014093fafb53e50adc7d4d776bb08b"
52
50
  else
53
51
  platform =
54
52
  if Gem.win_platform?
@@ -144,9 +142,13 @@ Dir.mktmpdir do |extract_path|
144
142
 
145
143
  # shared library
146
144
  FileUtils.mkdir(File.join(path, "lib"))
147
- Dir.glob("lib/libortools.{dylib,so}", base: extract_path) do |file|
145
+ Dir.glob("lib/libortools.{dylib,so.9}", base: extract_path) do |file|
148
146
  FileUtils.cp(File.join(extract_path, file), File.join(path, file))
149
147
  end
148
+ so_path = File.join(path, "lib/libortools.so.9")
149
+ if File.exist?(so_path)
150
+ File.symlink(so_path, File.join(path, "lib/libortools.so"))
151
+ end
150
152
  end
151
153
 
152
154
  # export
@@ -1,3 +1,3 @@
1
1
  module ORTools
2
- VERSION = "0.6.3"
2
+ VERSION = "0.7.0"
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.6.3
4
+ version: 0.7.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-03-13 00:00:00.000000000 Z
11
+ date: 2022-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rice