Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/01/18 12:21:34 (6 years ago)
Author:
rhanghof
Message:

#2817

  • Former material is now the layer.
  • Added material enumeration
  • Modification at the minimum residual space left bin packer
File:
1 edited

Legend:

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

    r15646 r15705  
    136136      return new Permutation(PermutationTypes.Absolute,
    137137                    items.Select((v, i) => new { Index = i, Item = v })
    138                          ./*OrderByDescending(x => x.Item.IsStackabel ? 1 : 0)
    139                          .*/OrderByDescending(x => x.Item.Material)
     138                         .OrderByDescending(x => x.Item.Layer)
    140139                         .ThenByDescending(x => x.Item.Depth * x.Item.Width * x.Item.Height)
    141140                         .ThenByDescending(x => x.Item.Height)
     
    151150      return new Permutation(PermutationTypes.Absolute,
    152151                    items.Select((v, i) => new { Index = i, Item = v })
    153                          ./*OrderByDescending(x => x.Item.IsStackabel ? 1 : 0)
    154                          .*/OrderByDescending(x => x.Item.Material)
     152                         .OrderByDescending(x => x.Item.Layer)
    155153                         .ThenByDescending(x => x.Item.Height)
    156154                         .ThenByDescending(x => x.Item.Depth * x.Item.Width * x.Item.Height)
     
    166164      return new Permutation(PermutationTypes.Absolute,
    167165                    items.Select((v, i) => new { Index = i, Item = v })
    168                          ./*OrderByDescending(x => x.Item.IsStackabel ? 1 : 0)
    169                          .*/OrderByDescending(x => x.Item.Material)
     166                         .OrderByDescending(x => x.Item.Layer)
    170167                         .ThenByDescending(x => x.Item.Depth * x.Item.Width)
    171168                         .ThenByDescending(x => x.Item.Height)
     
    181178      return new Permutation(PermutationTypes.Absolute,
    182179                    items.Select((v, i) => new { Index = i, Item = v })
    183                          ./*OrderByDescending(x => x.Item.IsStackabel ? 1 : 0)
    184                          .*/OrderByDescending(x => x.Item.Material)
     180                         .OrderByDescending(x => x.Item.Layer)
    185181                         .ThenByDescending(x => x.Item.Height)
    186182                         .ThenByDescending(x => x.Item.Depth * x.Item.Width)
     
    202198                items.Select((v, i) => new { Index = i, Item = v, ClusterId = (int)(Math.Ceiling(v.Width * v.Depth / clusterRange)) })
    203199                    .GroupBy(x => x.ClusterId)
    204                     .Select(x => new { Cluster = x.Key, Items = x.OrderByDescending(z => z.Item.Material).ThenByDescending(y => y.Item.Height).ToList() })
     200                    .Select(x => new { Cluster = x.Key, Items = x.OrderByDescending(z => z.Item.Layer).ThenByDescending(y => y.Item.Height).ToList() })
    205201                    .OrderByDescending(x => x.Cluster)
    206202                    .SelectMany(x => x.Items)
     
    222218                items.Select((v, i) => new { Index = i, Item = v, ClusterId = (int)(Math.Ceiling(v.Height / clusterRange2)) })
    223219                    .GroupBy(x => x.ClusterId)
    224                     .Select(x => new { Cluster = x.Key, Items = x.OrderByDescending(z => z.Item.Material).ThenByDescending(y => y.Item.Depth * y.Item.Width).ToList() })
     220                    .Select(x => new { Cluster = x.Key, Items = x.OrderByDescending(z => z.Item.Layer).ThenByDescending(y => y.Item.Depth * y.Item.Width).ToList() })
    225221                    .OrderByDescending(x => x.Cluster)
    226222                    .SelectMany(x => x.Items)
Note: See TracChangeset for help on using the changeset viewer.