Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/07/18 14:54:42 (6 years ago)
Author:
rhanghof
Message:

#2817:

  • Added a new packer.
  • Enhanced the material types.
  • Added extreme point pruning for layer support in the extrem point creators.
  • BinPacking3D: Added a graph for calculating weigth distribution of the items.
File:
1 edited

Legend:

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

    r15705 r15731  
    136136      return new Permutation(PermutationTypes.Absolute,
    137137                    items.Select((v, i) => new { Index = i, Item = v })
    138                          .OrderByDescending(x => x.Item.Layer)
     138                         .OrderBy(x => x.Item.Layer)
    139139                         .ThenByDescending(x => x.Item.Depth * x.Item.Width * x.Item.Height)
    140140                         .ThenByDescending(x => x.Item.Height)
     
    150150      return new Permutation(PermutationTypes.Absolute,
    151151                    items.Select((v, i) => new { Index = i, Item = v })
    152                          .OrderByDescending(x => x.Item.Layer)
     152                         .OrderBy(x => x.Item.Layer)
    153153                         .ThenByDescending(x => x.Item.Height)
    154154                         .ThenByDescending(x => x.Item.Depth * x.Item.Width * x.Item.Height)
     
    164164      return new Permutation(PermutationTypes.Absolute,
    165165                    items.Select((v, i) => new { Index = i, Item = v })
    166                          .OrderByDescending(x => x.Item.Layer)
     166                         .OrderBy(x => x.Item.Layer)
    167167                         .ThenByDescending(x => x.Item.Depth * x.Item.Width)
    168168                         .ThenByDescending(x => x.Item.Height)
     
    178178      return new Permutation(PermutationTypes.Absolute,
    179179                    items.Select((v, i) => new { Index = i, Item = v })
    180                          .OrderByDescending(x => x.Item.Layer)
     180                         .OrderBy(x => x.Item.Layer)
    181181                         .ThenByDescending(x => x.Item.Height)
    182182                         .ThenByDescending(x => x.Item.Depth * x.Item.Width)
     
    198198                items.Select((v, i) => new { Index = i, Item = v, ClusterId = (int)(Math.Ceiling(v.Width * v.Depth / clusterRange)) })
    199199                    .GroupBy(x => x.ClusterId)
    200                     .Select(x => new { Cluster = x.Key, Items = x.OrderByDescending(z => z.Item.Layer).ThenByDescending(y => y.Item.Height).ToList() })
     200                    .Select(x => new { Cluster = x.Key, Items = x.OrderBy(z => z.Item.Layer).ThenByDescending(y => y.Item.Height).ToList() })
    201201                    .OrderByDescending(x => x.Cluster)
    202202                    .SelectMany(x => x.Items)
     
    218218                items.Select((v, i) => new { Index = i, Item = v, ClusterId = (int)(Math.Ceiling(v.Height / clusterRange2)) })
    219219                    .GroupBy(x => x.ClusterId)
    220                     .Select(x => new { Cluster = x.Key, Items = x.OrderByDescending(z => z.Item.Layer).ThenByDescending(y => y.Item.Depth * y.Item.Width).ToList() })
     220                    .Select(x => new { Cluster = x.Key, Items = x.OrderBy(z => z.Item.Layer).ThenByDescending(y => y.Item.Depth * y.Item.Width).ToList() })
    221221                    .OrderByDescending(x => x.Cluster)
    222222                    .SelectMany(x => x.Items)
Note: See TracChangeset for help on using the changeset viewer.