-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Select problems #73
Select problems #73
Conversation
@@ -104,7 +105,7 @@ function CUTEstModel(name :: ASCIIString, args...; decode :: Bool=true, verbose | |||
cutest_lib = Libdl.dlopen(libname, | |||
Libdl.RTLD_NOW | Libdl.RTLD_DEEPBIND | Libdl.RTLD_GLOBAL) | |||
else | |||
sifdecoder(name, args..., verbose=verbose) | |||
sifdecoder(ascii(name), args..., verbose=verbose) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sifdecoder
should probably also take an AbstractString
as input?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alternative to ASCIIString is UTFxString, and since I don't know how the command line sifdecoder will handle that, I made that change. If you think the alternative is better, I'll make the change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I'm saying is that the Julia function sifdecoder()
should probably accept an AbstractString
. I presume string interpolation does the right thing.
This is a lot of work! How do you envision problem selection should go for other problem sources (AMPL, JuMP, Simple)? |
I think the only other selection we need to worry is the JuliaSmoothOptimizers/OptimizationProblems.jl#3. CUTEst is a special case among the NLPModels, because it has the repository as main objective. This branch shows a possible course of action, for OptimizationProblems. We define static characteristics that are not easy to verify (like the MASTSIF table), and query other characteristics creating a .json file (or a database?) and update the json every time there is a new problem. The selection function opens the json file, which is relatively fast.
Disavantages
|
Right. I like the JSON table, the flexibility it offers and how it's a lot more future-proof than the |
Updated |
bf34dd5
to
dc1d1c9
Compare
I'm quite a bit behind reviewing this. @vepiteski It would be great if you could also test this. |
NB: There's a new |
a96a7e2
to
479ffd7
Compare
3 similar comments
Rebased |
22b6388
to
4937c2d
Compare
FYI this is working very well for me. |
Thanks. I'm swamped and can't find a chance to test. I propose we merge this so others can start using it. Many thanks @abelsiqueira ! |
This implements a classification of the CUTEst problems using
$MASTSIF/CLASSF.DB
and the problem itself opened in Julia.This also implements a select tool based on that classification. It should be useful along with JuliaSmoothOptimizers/Optimize.jl
This also uncovered some problems with the MASTSIF classification, which can be seen at the travis logs.