We study an extension of the cardinality-constrained knapsack problem where each item has a concave piecewise-linear utility structure. Our main contributions are approximation algorithms for the problem and the investigation of an online version in the random order model. For the offline problem, we present a fully polynomial-time approximation scheme and show that it can be cast as the maximization of a submodular function with cardinality constraints; the latter result allows us to derive a greedy (1 − 1 e )approximation algorithm. For the online problem in the random order model, we present a 6.027-competitive algorithm. Finally, we investigate the empirical performance of the greedy and online algorithms in numerical experiments.