Skip to content

Chips-n-Salsa, v2.7.0

Compare
Choose a tag to compare
@cicirello cicirello released this 25 Feb 15:37
· 1599 commits to master since this release
2a4af65

[2.7.0] - 2021-2-25

Added

  • Added HybridConstructiveHeuristic, which provides the ability
    to use multiple heuristics with a stochastic sampling search,
    where a heuristic is chosen from a set of constructive heuristics
    at the start of each iteration of the stochastic sampler and used
    for all decisions made during that iteration. The class supports the
    following strategies for selecting the next heuristic:
    • Heuristic uniformly at random from among the available heuristics.
    • Heuristic chosen using a round robin strategy that systematically cycles
      over the heuristics.
    • Heuristic chosen via a weighted random selection process.
  • Added versions of a few constructive heuristics for
    scheduling problems that precompute heuristic values
    upon construction of the heuristic. Many of the scheduling
    heuristic implementations already do this, where it is
    possible to do so, provided the memory and time requirements
    for precomputing heuristic values is linear in the number
    of jobs. Some heuristics that consider setup times, however,
    need quadratic memory if the heuristic is precomputed prior
    to running the search. The existing implementations of these
    compute the heuristic as it is needed during the search,
    which means for a stochastic sampler with many iterations
    that the same heuristic values will be computed repeatedly.
    We've added versions of these that precompute the heuristic
    values so that if your problem is small enough to afford the
    quadratic memory, and if you will be running enough iterations
    of the stochastic sampler to afford the quadratic time of
    this precomputation step, then you can choose to use a
    precomputed version.
    • A scheduling heuristic, SmallestSetupPrecompute, which is
      a version of SmallestSetup, but which precomputes a table
      of heuristic values to avoid recomputing the same heuristic
      values repeatedly across multiple iterations of a stochastic
      sampling search.
    • A scheduling heuristic, ShortestProcessingPlusSetupTimePrecompute, which is
      a version of ShortestProcessingPlusSetupTime, but which precomputes a table
      of heuristic values to avoid recomputing the same heuristic
      values repeatedly across multiple iterations of a stochastic
      sampling search.
    • A scheduling heuristic, WeightedShortestProcessingPlusSetupTimePrecompute, which is
      a version of WeightedShortestProcessingPlusSetupTime, but which precomputes a table
      of heuristic values to avoid recomputing the same heuristic
      values repeatedly across multiple iterations of a stochastic
      sampling search.

Changed

  • Dependency updated to JPT v2.4.0.