Giter Site home page Giter Site logo

Release checklist about cutest.jl HOT 15 CLOSED

abelsiqueira avatar abelsiqueira commented on September 26, 2024
Release checklist

from cutest.jl.

Comments (15)

dpo avatar dpo commented on September 26, 2024 1

Done for OSX and Linux (in the develop branch).

from cutest.jl.

abelsiqueira avatar abelsiqueira commented on September 26, 2024 1

For future reference:

  • gsl updated to 2.0 in 2015
  • Ubuntu LTS picked it up on 2016 (The last LTS version was 14.04 on 2014)
  • Travis is using 12.04, so I wasn't aware of the issue.
  • Homebrew is delaying using gsl 2.0 until all packages have migrated

Current solution is to

Download gsl-1.16 from http://mirror.nbtelecom.com.br/gnu/gsl/gsl-1.16.tar.gz
tar -zxf gsl-1.16.tar.gz
cd gsl-1.16
./configure
make
sudo make install

Additionally, you have to create a link to lgfortran:

sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/libgfortran.so

or something similar. Should work after this. I'll update the installation steps.

from cutest.jl.

timholy avatar timholy commented on September 26, 2024

Add a deps/build.jl script that (in an ideal world) works on all major platforms?

from cutest.jl.

dpo avatar dpo commented on September 26, 2024

Technically we don't support Windows. It's doable for OSX and Linux.

from cutest.jl.

timholy avatar timholy commented on September 26, 2024

I just tested the build script. Looks really promising, but (1) I had to install libgsl-dev manually (Ubuntu), and (2) it ends with an error; I've posted the log in this gist.

from cutest.jl.

dpo avatar dpo commented on September 26, 2024

Thanks for the feedback! The build script still needs improvements. What version of gsl did you install? You need gsl1. Perhaps you installed gsl2?!

from cutest.jl.

timholy avatar timholy commented on September 26, 2024

Looks like Ubuntu 16.04 doesn't offer gsl1; only gsl2 is available:

$ apt-cache search gsl
libgsl-dbg - GNU Scientific Library (GSL) -- debug symbols package
libgsl-dev - GNU Scientific Library (GSL) -- development package
libgsl2 - GNU Scientific Library (GSL) -- library package
gambas3-gb-gsl - Gambas GNU Scientific Library component
gsl-bin - GNU Scientific Library (GSL) -- binary package
gsl-ref-html - GNU Scientific Library (GSL) Reference Manual in html
gsl-ref-psdoc - GNU Scientific Library (GSL) Reference Manual in postscript
...

from cutest.jl.

dpo avatar dpo commented on September 26, 2024

I'm not a linux user so I have to ask @abelsiqueira how he does it.

from cutest.jl.

abelsiqueira avatar abelsiqueira commented on September 26, 2024

Sorry for the delay, I'll investigate this now.

from cutest.jl.

dpo avatar dpo commented on September 26, 2024

Thanks. Importantly, I don't think CUTEst builds against gsl2, so gsl1 is really needed here.

from cutest.jl.

timholy avatar timholy commented on September 26, 2024

Awesome, this worked for me.

I spent some time scanning through the source and the CUTEr/CUTEst documentation, but to my surprise I don't see a way to search (or even list) the available problems---it seems you have to know the name of the problem you want. Is there a good way to do that? Ideally I'd love to be able to loop over all problems fitting a particular description (e.g., all problems with continuous 2nd derivatives and fewer than n variables). Also, I presume some problems have a known optimum, is there a good way to extract that?

from cutest.jl.

abelsiqueira avatar abelsiqueira commented on September 26, 2024

That's an open PR: #73
Don't know if there's a way to get the known optimum.

Outside of Julia, there is the CUTEst select tool, which I actually never used, and I started a Python tool but never finished.

from cutest.jl.

dpo avatar dpo commented on September 26, 2024

You'll be scared when you see what the current best way to select problems is. There's a tool named select in $SIFDECODE/bin. It'll ask you a few questions and write the resulting list of problems to a file. It's very old school (think Fortran 77). #73 is supposed to improve on that for CUTEst problems. Further down the road, we'd like to be able to select problems written as in https://github.com/JuliaSmoothOptimizers/OptimizationProblems.jl.

Documenting the CUTEst problems has been an long-standing wish. There's a blurb at the beginning of each SIF file explaining where the problem comes from, but it's necessary to scour the papers and books to discover whether a solution is known. Many of those problems are nonconvex, so it's not even clear what a "solution" should be. Almost all solvers are only guaranteed to find a stationary point, not a local minimum (though they sometimes find a local minimum). For academic problems, it may be possible to find out what the/an optimum is. For the rest, we could record a "best known solution".

from cutest.jl.

timholy avatar timholy commented on September 26, 2024

Don't know if there's a way to get the known optimum.

It turns out there are many SIF files that have a line something like

*LO SOLTN               0.00102734

which records the intended solution. But many are 0 when my best minimum isn't 0 (could be a dummy value?), and at least in 32 cases I've found a lower value than the one in the file. Could be that there are multiple minima and I've just found a better one.

from cutest.jl.

abelsiqueira avatar abelsiqueira commented on September 26, 2024

Will use version number 0.1.0

from cutest.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.