Learn R Programming

FLSSS (version 9.2.8)

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

318

Version

9.2.8

License

GPL-3

Maintainer

Charlie Wusuo Liu

Last Published

June 22nd, 2025

Functions in FLSSS (9.2.8)

auxKnapsack01bb

Multithreaded binary knapsack problem solver via branch and bound
mFLSSSobjRun

Run an mFLSSS instance
ksumHash

Build k-sum accelerator
auxKnapsack01dp

Multithreaded binary knapsack problem solver via dynamic programming
mFLSSSparImposeBounds

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

An advanced version of mFLSSSpar()
mFLSSSpar

Multithreaded multidimensional Subset Sum given error thresholds
decomposeMflsss

mFLSSS decomposition
decomposeArbFLSSS

arbFLSSS decomposition
mFLSSSparImposeBoundsIntegerized

An advanced version of mFLSSSparImposeBounds()
mmKnapsackIntegerized

An advanced version of mmKnapsack()
mmKnapsack

Multithreaded multidimensional Knapsack problem solver
auxGAPbb

Multithreaded generalized assignment problem solver via branch and bound
FLSSSmultiset

Multi-Subset Sum given error threshold
FLSSS

One-dimensional Subset Sum given error threshold
addNumStrings

Add numeric strings.
auxGAPga

Multithreaded generalized assignment problem solver via genetic algorithm
GAP

Generalized Assignment Problem solver
arbFLSSSobjRun

Run an arbFLSSS instance
auxGAPbbDp

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

Multidimensional exact subset sum in arbitrary precision and magnitude