Opened 8 years ago
Closed 7 years ago
#2762 closed enhancement (done)
New heuristics for BinPacking
Reported by: | abeham | Owned by: | abeham |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.15 |
Component: | Problems.BinPacking | Version: | branch |
Keywords: | Cc: |
Description
The existing heuristic should be evaluated and expanded.
Change History (27)
comment:1 Changed 8 years ago by abeham
comment:2 Changed 8 years ago by abeham
- Owner changed from dsouravl to abeham
- Status changed from new to accepted
comment:3 Changed 8 years ago by dsouravl
- Owner changed from abeham to dsouravl
- Status changed from accepted to assigned
r14838: Added some benchmark instances
comment:4 Changed 8 years ago by dsouravl
r14876: implemented sorting heuristics, starting to work on best fit heuristics
comment:5 Changed 8 years ago by dsouravl
- Status changed from assigned to accepted
comment:6 Changed 8 years ago by dsouravl
r14976: worked on best fit heuristics
comment:7 Changed 8 years ago by dsouravl
r14977: worked on best fit heuristics, update of residual space heuristic
comment:8 Changed 7 years ago by abeham
- Owner changed from dsouravl to abeham
- Status changed from accepted to assigned
comment:9 Changed 7 years ago by abeham
- Added ExtremePointAlgorithm in form of a BasicAlgorithm
- Removed implementation in view and put sorting/fit into the algorithm
comment:10 Changed 7 years ago by abeham
r15182: Merged trunk into branch
comment:11 Changed 7 years ago by abeham
- Owner changed from abeham to mkommend
- Status changed from assigned to reviewing
- Changed ItemName of ExtremePointAlgorithm
- Added project references
Please have a look at the new basic algorithm, I will check Dimitris implementation in the decoders (we did some of it together).
comment:12 Changed 7 years ago by abeham
r15200: small changes to the results output
comment:13 Changed 7 years ago by mkommend
r15202: Changes of access modifiers in ThreeDInstanceDescriptor.
comment:14 Changed 7 years ago by mkommend
Reviewed all changes.
Review comments
Extreme Point Decoders
- Static methods would increase the reusability, though I don't know if that is necessary.
- Remaining design seems reasonable.
- I haven't checked nor verified the implemented methods.
ThreeDInstanceParser
- No exception handling of error cases
- Why is int? from GetNextInteger returned when it's value is always access without checks for its value?
- If an exception occurs the parser is left in an inconsistent state.
RealisticInstanceProvider
- IMHO the class should be sealed and not have any protected or virtual members
- binWidth, binHeight, binDepth are never used
- RealisticInstanceProvider is not the best name, because this is a more general instance provider that loads instances from a zip file
- Maybe an abstract base class that handles all the file handling and a configured realistic class would help.
ExtremePointAlgorithm
- Class should be sealed.
- Fields for Parameters should be made readonly.
- Wouldn't it be better to use ResultParameters?
- A description for the results would be helpful.
comment:15 Changed 7 years ago by mkommend
- Owner changed from mkommend to abeham
- Status changed from reviewing to assigned
comment:16 Changed 7 years ago by abeham
- Status changed from assigned to reviewing
comment:17 Changed 7 years ago by abeham
- Implemented review comments
- Fixed ResidualSpaceBestFitExtremePointPermutationDecoder by sorting from smallest to largest (merit function should be minimized)
- Some restructuring of the methods
comment:18 Changed 7 years ago by abeham
r15230: integrated bin packing extension into trunk
comment:19 Changed 7 years ago by abeham
r15231: removed branch
comment:20 Changed 7 years ago by abeham
- Status changed from reviewing to readytorelease
comment:21 Changed 7 years ago by abeham
r15233: fixed project files
comment:22 Changed 7 years ago by jkarder
r15240: added AfterDeserialization hook to initialize ResidualSpace
comment:23 Changed 7 years ago by abeham
- Status changed from readytorelease to reviewing
comment:24 Changed 7 years ago by abeham
- Moved initialization / cloning of extreme points list to base class
- Removed residual space from base class and put it into derived class for 3d bin packing
- Updated sample
comment:25 Changed 7 years ago by abeham
- (hopefully) fixed unit test (the instances' items were loaded on sort, this was removed and thus the instance changed)
- corrected license header of newly created decoders
- changed a small query in BinPacking3D
comment:26 Changed 7 years ago by abeham
- Status changed from reviewing to readytorelease
The unit test was successful.
comment:27 Changed 7 years ago by abeham
- Resolution set to done
- Status changed from readytorelease to closed
r15278: merged revisions 14708, 14709, 14971, 14978, 14979, 15167, 15230, 15233, 15240, 15241, 15276 to stable
r14835: added new branch