protected override BinPacking2D CreatePacking( Solution partialSolution, ref IList <int> remainingIDs, IList <PackingItem> items) { var bp = new BinPacking2D(partialSolution.BinShape); bp.ExtremePointBasedPacking(ref remainingIDs, items, stackingConstraints: false); return(bp); }
public Solution Decode(Permutation permutation, PackingShape binShape, IList <PackingItem> items) { Solution result = new Solution(binShape, useExtremePoints: true, stackingConstraints: false); IList <int> remainingIDs = new List <int>(permutation); while (remainingIDs.Count > 0) { var bp = new BinPacking2D(binShape); bp.ExtremePointBasedPacking(ref remainingIDs, items, stackingConstraints: false); result.Bins.Add(bp); } result.UpdateBinPackings(); return(result); }