Opened 12 years ago
Closed 12 years ago
#1782 closed enhancement (done)
Integrate problem instances in HeuristicLab
Reported by: | abeham | Owned by: | abeham |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.7 |
Component: | Problems.Instances | Version: | 3.3.7 |
Keywords: | Cc: | mkommend |
Description (last modified by abeham)
Benchmark problem instances should be tighter integrated so that users can select them with ease.
Change History (52)
comment:1 Changed 12 years ago by abeham
- Status changed from new to accepted
comment:2 Changed 12 years ago by abeham
comment:3 Changed 12 years ago by abeham
- Component changed from General to Problems.Instances
comment:4 Changed 12 years ago by abeham
r7560: added unit tests for the problem instance providers
comment:5 Changed 12 years ago by gkronber
r7600: fixed target directory for problem instances in project files
comment:6 Changed 12 years ago by abeham
oops, thx!
comment:7 Changed 12 years ago by abeham
- Description modified (diff)
comment:8 Changed 12 years ago by gkronber
would it be possible to zip the problem instance files some or combine them in larger files? It is rather cumbersome to have so many tiny files in the file system.
comment:9 Changed 12 years ago by abeham
As discussed I'll look into creating a zip archive of the instance files and use the SharpZipLib that is used in the PluginInfrastructure already.
comment:10 Changed 12 years ago by abeham
- Removed individual files of the TSPLIB and added zip files (using compression, but fastest)
- Added SharpZipLib reference
- Added base class for all TSPLIB instance providers to avoid code duplication
- Added a new test list for all instance specific unit tests
comment:11 Changed 12 years ago by abeham
- Description modified (diff)
r7622: fixed two small bugs (tsplib)
comment:12 Changed 12 years ago by abeham
- Cc mkommend added
- Description modified (diff)
- Owner changed from abeham to sforsten
- Status changed from accepted to assigned
Passing the ticket to sforsten, I wrote a TODO list of the remaining points.
comment:13 Changed 12 years ago by sforsten
r7638: Modified instance providers QAPLIB, ElloumiCTAP, CordeauGQAP to use a zip archive instead of individual embedded files
comment:14 Changed 12 years ago by sforsten
- Owner changed from sforsten to abeham
- Status changed from assigned to reviewing
- HeuristicOptimizationView has been integrated in ProblemView and was deleted afterwards.
- the icons for the load and the info button have been changed
- QuadraticAssignmentProblem now also loads name and description of problem instance
- A unused OpenFileDialog has been removed in QuadraticAssignmentProblemView
comment:15 Changed 12 years ago by mkommend
r7642: Corrected assembly references to ICSharpCode.SharpZipLib in Problems.Instances.*.
comment:16 Changed 12 years ago by gkronber
I think this change caused the build to fail for the additional plugins. Please check and fix.
comment:17 Changed 12 years ago by abeham
comment:18 Changed 12 years ago by mkommend
comment:19 Changed 12 years ago by mkommend
r7647: Corrected CordeauGQAP instances.
comment:20 Changed 12 years ago by mkommend
r7648: Corrected project references for Problems.Instances.
comment:21 Changed 12 years ago by abeham
r7649: removed copy local flag from references in extlibs, modified plugin infrastructure reference to ziplib to also not copy local and instead set build action to copy always
comment:22 Changed 12 years ago by mkommend
r7659: abeham changed the properties of the data to embedded resources.
comment:23 Changed 12 years ago by svonolfe
Added support for derived data types in r7867
comment:24 Changed 12 years ago by svonolfe
Moved distance measure to helper class in r7872
comment:25 Changed 12 years ago by mkommend
r7875: Minor changes in discovery of problem instance providers.
comment:26 Changed 12 years ago by abeham
r7879: Added best-known quality to Cordeau's instances
comment:27 Changed 12 years ago by abeham
- Description modified (diff)
comment:28 Changed 12 years ago by svonolfe
Added VRP data types in r7880
comment:29 Changed 12 years ago by abeham
r7892: Added missing x86 and x64 build configurations for some projects
comment:30 Changed 12 years ago by mkommend
- Owner changed from abeham to sforsten
- Status changed from reviewing to assigned
The following things should be improved in the problem instances views:
- Load & export buttons should be next the the provider combo box in the provider view
- The export button should have a 'save as' icon instead of the save icon
comment:31 Changed 12 years ago by sforsten
r7956: improvements from mkommend's comment have been applied
comment:32 Changed 12 years ago by sforsten
- Owner changed from sforsten to mkommend
- Status changed from assigned to reviewing
comment:33 Changed 12 years ago by sforsten
- changed references in Problems.Instances.Views to project references
- set CopyLocal to False for all references
comment:34 Changed 12 years ago by abeham
- Changed tooltip generation in ProblemInstanceConsumerViewGeneric (typeof(T).Name doesn't work, because T doesn't change miraculously when the selected provider changes). The current solution might not be optimal, maybe include another property "FileFormat" in IProblemInstanceProvider that can then be TSPLIB, QAPLIB, CSV, etc.
- Set instances combobox to not display a selected instance initially and disabled button in this case. If that still doesn't reduce the confusion, then I think we have to add problem loading on selected index change and do away with the button.
comment:35 Changed 12 years ago by sforsten
- added CanSave property to IProblemInstanceProvider to know if it can save its data
- ProblemInstanceConsumerViewGeneric only shows the export button if an IProblemInstanceExporter is available and the selected SelectedProvider has the CanSave property set to true
- added a default implementation for CanSave and SaveData to ProblemInstanceProvider, so classes which inherit from it, don't have to implement it.
- Classes in Problems.Instances.DataAnalysis which implemented the IProblemInstanceProvider now inherit from the class ProblemInstanceProvider, so some code is obsolete now and had been deleted
comment:36 Changed 12 years ago by sforsten
r8182: removed unnecessary plugin dependency
comment:37 Changed 12 years ago by mkommend
Thanks for implementing the new export functionality. We should also discuss the import if benchmark problems are selected.
comment:38 Changed 12 years ago by sforsten
- renamed CanSave to CanExportData and SaveData to ExportData
- added the same functionality for importing problem instance as we implemented for exporting
- some special changes had to be made in Problems.Instances.VehicleRouting
comment:39 Changed 12 years ago by sforsten
- removed loadButton
- a new problem instance is loaded as soon as it is selected in the combobox
comment:40 Changed 12 years ago by sforsten
r8197: removed unnecessary try catch block in ProblemInstanceProviderViewGeneric when loading a problem instance
comment:41 Changed 12 years ago by sforsten
r8198: added try catch block again, but the MessageBox has been changed to an ErrorDialog
comment:42 Changed 12 years ago by sforsten
r8201: removed duplication of exception message, when giving the exception to the ErrorDialog
comment:43 Changed 12 years ago by mkommend
- Owner changed from mkommend to abeham
Reviewed last changes regarding the problem instances and everything works as expected.
comment:44 follow-up: ↓ 50 Changed 12 years ago by abeham
- Owner changed from abeham to mkommend
- Status changed from reviewing to assigned
I thought we discussed to load the instance in the combobox, and after loading immediately switch the SelectedIndex back to -1. Currently it remains at what was selected. Did I misunderstand this once again?
I followed the link to the CSV problem provider "library" and Firefox opened this at the position "What's wrong, if controls are not correctly resized in the HeuristicLab Optimizer?". The second time it correctly scrolled down. I think we should create a separate page and link to that instead of an anchor in a FAQ.
Why was it renamed to Comma-separated values file? Everybody understands CSV what's wrong with it? Is there also possibility to drop in ARFF support at some point in the future?
Following the link to http://groups.csail.mit.edu/EVO-DesignOpt/GPBenchmarks/ says to redirect to a new URL: http://gpbenchmarks.org/. Please update the links.
comment:45 Changed 12 years ago by gkronber
About instance loading, we don't have to switch back immediately as we know that the instance matches the actually loaded file. I thought we can simply switch to -1 whenever the content of the view is set as we cannot know the actually loaded instance in the content. Of course the selected instance and the actual configuration can go out of sync if the user drags in a new problem or changes parameters but I think in this case it is also obvious for the user that the previously loaded instance has been changed.
comment:46 Changed 12 years ago by abeham
Okay.
comment:47 Changed 12 years ago by mkommend
r8210: Corrected problem instances links to new GP benchmark page.
comment:48 Changed 12 years ago by mkommend
r8211: Changed name of CSV providers and updated tooltip for import and export buttons.
comment:49 Changed 12 years ago by mkommend
- Owner changed from mkommend to abeham
- Status changed from assigned to reviewing
comment:50 in reply to: ↑ 44 Changed 12 years ago by mkommend
Replying to abeham:
Is there also possibility to drop in ARFF support at some point in the future?
Sure there is the possibility for ARFF support. One has just to implement a problem instance provider similar to the CSV provider.
comment:51 Changed 12 years ago by abeham
- Status changed from reviewing to readytorelease
comment:52 Changed 12 years ago by gkronber
- Resolution set to done
- Status changed from readytorelease to closed
- Version changed from 3.3.6 to 3.3.7
r7558: trunk integration of problem instance development