Learn R Programming

⚠️There's a newer version (9.2.8) of this package.Take me there.

FLSSS (version 9.2.0)

Mining Rigs for Problems in the Subset Sum Family

Description

Specialized solvers for combinatorial optimization problems in the Subset Sum family. The solvers differ from the mainstream in the options of (i) restricting subset size, (ii) bounding subset elements, (iii) mining real-value multisets with predefined subset sum errors, (iv) finding one or more subsets in limited time. A novel algorithm for mining the one-dimensional Subset Sum induced algorithms for the multi-Subset Sum and the multidimensional Subset Sum. The multi-threaded framework for the latter offers exact algorithms to the multidimensional Knapsack and the Generalized Assignment problems. Historical updates include (a) renewed implementation of the multi-Subset Sum, multidimensional Knapsack and Generalized Assignment solvers; (b) availability of bounding solution space in the multidimensional Subset Sum; (c) fundamental data structure and architectural changes for enhanced cache locality and better chance of SIMD vectorization; (d) option of mapping floating-point instance to compressed 64-bit integer instance with user-controlled precision loss, which could yield substantial speedup due to the dimension reduction and efficient compressed integer arithmetic via bit-manipulations; (e) distributed computing infrastructure for multidimensional subset sum; (f) arbitrary-precision zero-margin-of-error multidimensional Subset Sum accelerated by a simplified Bloom filter. The package contains a copy of xxHash from . Package vignette () detailed a few historical updates. Functions prefixed with 'aux' (auxiliary) are independent implementations of published algorithms for solving optimization problems less relevant to Subset Sum.

Copy Link

Version

Install

install.packages('FLSSS')

Monthly Downloads

77

Version

9.2.0

License

GPL-3

Maintainer

Charlie Wusuo Liu

Last Published

January 24th, 2025

Functions in FLSSS (9.2.0)

FLSSS

One-dimensional Subset Sum given error threshold
addNumStrings

Add numeric strings.
arbFLSSSobjRun

Run an arbFLSSS instance
FLSSSmultiset

Multi-Subset Sum given error threshold
auxGAPga

Multithreaded generalized assignment problem solver via genetic algorithm
arbFLSSS

Multidimensional exact subset sum in arbitrary precision and magnitude
GAP

Generalized Assignment Problem solver
auxGAPbbDp

Multithreaded generalized assignment problem solver via a hybrid of branch-and-bound and dynamic programming.
auxKnapsack01bb

Multithreaded binary knapsack problem solver via branch and bound
auxGAPbb

Multithreaded generalized assignment problem solver via branch and bound
decomposeArbFLSSS

arbFLSSS decomposition
mFLSSSobjRun

Run an mFLSSS instance
mmKnapsack

Multithreaded multidimensional Knapsack problem solver
mFLSSSpar

Multithreaded multidimensional Subset Sum given error thresholds
auxKnapsack01dp

Multithreaded binary knapsack problem solver via dynamic programming
ksumHash

Build k-sum accelerator
mFLSSSparIntegerized

An advanced version of mFLSSSpar()
decomposeMflsss

mFLSSS decomposition
mFLSSSparImposeBounds

Multithreaded multidimensional Subset Sum in bounded solution space given error thresholds
mFLSSSparImposeBoundsIntegerized

An advanced version of mFLSSSparImposeBounds()
mmKnapsackIntegerized

An advanced version of mmKnapsack()