  Optimization - minimization or maximization - in the lattice of subsets is a
frequent operation in Artificial Intelligence tasks. Examples are
subset-minimal model-based diagnosis, nonmonotonic reasoning by means of
circumscription, or preferred extensions in abstract argumentation. Finding the
optimum among many admissible solutions is often harder than finding admissible
solutions with respect to both computational complexity and methodology. This
paper addresses the former issue by means of an effective method for finding
subset-optimal solutions. It is based on the relationship between
cardinality-optimal and subset-optimal solutions, and the fact that many
logic-based declarative programming systems provide constructs for finding
cardinality-optimal solutions, for example maximum satisfiability (MaxSAT) or
weak constraints in Answer Set Programming (ASP). Clearly each
cardinality-optimal solution is also a subset-optimal one, and if the language
also allows for the addition of particular restricting constructs (both MaxSAT
and ASP do) then all subset-optimal solutions can be found by an iterative
computation of cardinality-optimal solutions. As a showcase, the computation of
preferred extensions of abstract argumentation frameworks using the proposed
method is studied.
