Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/24/18 17:15:15 (6 years ago)
Author:
rhanghof
Message:

#2817:

  • Little changes on the packer
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2817-BinPackingSpeedup/HeuristicLab.Problems.BinPacking/3.3/3D/Packer/BinPackerMinRSLeft.cs

    r15646 r15652  
    7373    }
    7474
     75
     76    public override void PackItemsToPackingList(IList<BinPacking3D> packingList, Permutation sortedItems, PackingShape binShape, IList<PackingItem> items, ExtremePointCreationMethod epCreationMethod, ExtremePointPruningMethod epPruningMethod, bool useStackingConstraints) {
     77      var workingItems = CloneItems(items);
     78      IList<int> remainingIds = new List<int>(sortedItems);
     79
     80      try {
     81        if (packingList.Count > 0) {
     82          BinPacking3D packingBin = packingList.Last();
     83          PackRemainingItems(ref remainingIds, ref packingBin, workingItems, epCreationMethod, useStackingConstraints);
     84        }
     85
     86        while (remainingIds.Count > 0) {
     87          BinPacking3D packingBin = new BinPacking3D(binShape);
     88          PackRemainingItems(ref remainingIds, ref packingBin, workingItems, epCreationMethod, useStackingConstraints);
     89          packingList.Add(packingBin);
     90        }
     91      } catch (BinPacking3DException e) {
     92      }
     93
     94      ExtremePointPruningFactory.CreatePruning().PruneExtremePoints(epPruningMethod, packingList);
     95    }
     96
    7597    /// <summary>
    7698    /// Tries to pack the remainig items into a given BinPacking3D object. Each item could be packed into the BinPacking3D object will be removed from the list of remaining ids
     
    248270    }
    249271
     272   
    250273    protected class ResidualSpaceDifference : IComparable {
    251274      public static ResidualSpaceDifference Create(PackingPosition position, PackingItem item, ResidualSpace rs) {
Note: See TracChangeset for help on using the changeset viewer.