or-tools 0.6.3 → 0.7.0

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: 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