Skip to content
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

Revamp for Julia v0.6 #66

Merged
merged 9 commits into from
Nov 23, 2017
Merged

Revamp for Julia v0.6 #66

merged 9 commits into from
Nov 23, 2017

Conversation

odow
Copy link
Member

@odow odow commented Nov 20, 2017

This PR should probably be split into some smaller ones

Allowing .sol files to be read from an IO stream

I'm playing around with the NL file-format interface to NEOS (ref https://neos-server.org/neos/solvers/milp:CPLEX/NL.html and jump-dev/NEOSServer.jl#17).

I made some changes so I can read the .sol file from a stream instead of having to write the file to disk.

Changed tests to @testset

I've also removed CoinOptServices from the testing suite as it needs some work and was causing failures on my windows machine.

Dumping the XXXNLSolver

I've removed BonminNLSolver, CouenneNLSolver, and IpoptNLSolver (and therefore the conditional dependencies) in favour of forcing the user to explicitly construct the solvers.

using AmplNLWriter
solver = IpoptNLSolver()

becomes

using AmplNLWriter, Ipopt
solver = AmplNLSolver(Ipopt.amplexe)

which is a bit more clear and less magical about what is actually occuring.

This is a hard breaking change for current users.

Hopefully this fixes #65

Todo before merge

  • update README
  • update JuMP solver table

Removed support for v0.5

This uses Julia v0.6 syntax (.!) but doesn't change the REQUIRE yet so still todo:

  • [ ] fix deprecation properly by bumping version or using compat

Closes #64

Better error message

If a solver crashes without producing a .sol file the user gets a slightly more helpful error message. Closes #67

Added codecov

Closes #69

@mlubin
Copy link
Member

mlubin commented Nov 21, 2017

Please drop 0.5!

@odow
Copy link
Member Author

odow commented Nov 21, 2017

I might put some effort into sorting out the tests while I'm at it.

@odow odow changed the title DNMY: Make changes needed for NEOS Make changes needed for NEOS and tidy tests Nov 21, 2017
@odow odow mentioned this pull request Nov 21, 2017
"Pkg.add(\"CoinOptServices\")")
AmplNLSolver(CoinOptServices.bonmin, options; filename=filename)
error("""
BonminNLSolver is no longer available by default through AmplNLWriter.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a big breaking change and needs corresponding updates to the README and JuMP's solver table.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I'm not planning on merging this any time soon. Just trying it out. Yay/Nay on whether this is a good idea?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go for it. This dependency is very flaky.

@odow odow changed the title Make changes needed for NEOS and tidy tests Revamp for Julia v0.6 Nov 21, 2017
@codecov-io
Copy link

codecov-io commented Nov 21, 2017

Codecov Report

❗ No coverage uploaded for pull request base (master@ddfbc2f). Click here to learn what that means.
The diff coverage is 0%.

Impacted file tree graph

@@          Coverage Diff           @@
##             master   #66   +/-   ##
======================================
  Coverage          ?    0%           
======================================
  Files             ?     4           
  Lines             ?   644           
  Branches          ?     0           
======================================
  Hits              ?     0           
  Misses            ?   644           
  Partials          ?     0
Impacted Files Coverage Δ
src/nl_convert.jl 0% <0%> (ø)
src/AmplNLWriter.jl 0% <0%> (ø)
src/nl_write.jl 0% <0%> (ø)
src/nl_linearity.jl 0% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ddfbc2f...f93b1b5. Read the comment docs.

@odow
Copy link
Member Author

odow commented Nov 22, 2017

This is probably ready to be merged.

Once it is merged, I might go through and have another tidy up. Then we should tag a new version in METADATA and merge the JuMP PR to reflect the changes in the solver table.

@odow
Copy link
Member Author

odow commented Nov 23, 2017

Merging this so that we can make progress with other PRs. Cc @ccoffrin

@odow odow merged commit 34b0988 into jump-dev:master Nov 23, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

CodeCov Better error message when solver crashes Julia v0.6 Support?
3 participants