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
         |