こんな感じかな?
1. 上限が4GBとか決める
2. 対象のファイル名と容量を配列に入れる
3. 配列のあらゆる組合せを計算して別の配列に入れる
4. 上限に限りなく近い組合せからISO化する
5. ISO化したものは配列から消す
6. 4に戻る