I will give you the main idea in the following steps: 1. You must put initially the empty set directly without counting (I'm assuming that the set contains only positive numbers) 2. You construct the following mathematical program: $$ x_i = \begin{cases} 1,&\ if\ the\ element\ i\ of\ the\ set\ A\ is\ choosen\\0,& otherwise \end{cases}$$ $$ (P)\begin{cases} \min \sum_{i=1}^{n} A_ix_i\\s.t.\\ \sum_{i=1}^{n} x_i \geq 1\\ \end{cases}$$ where $n=|A_i|$. 3. You solve the problem $(P)$, and let $B$ the set of the outer base variables of the optimal solution. 4. Generate the constraint that exclude the current optimal solution from your domain: $$ \sum_{i\in B} x_i \geq 1$$ 5. Add the new constraint to $(P)$ 6. Repeat the steps 3,4 and 5 until $(P)$ become empty. Terminate Each solution you get is the minimal possible in the current domain, so you w'll get your subsets in the wanting order. By doing that, I'm assuming that we have only positive numbers, if you have negative numbers (and evantually the number zero) you must omit the step one and the constraint $\sum_{i=1}^{n} x_i \geq 1$ from $(P)$.