{"action":"opened","issue":{"url":"https://api.github.com/repos/JackDunnNZ/NL.jl/issues/2","labels_url":"https://api.github.com/repos/JackDunnNZ/NL.jl/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/JackDunnNZ/NL.jl/issues/2/comments","events_url":"https://api.github.com/repos/JackDunnNZ/NL.jl/issues/2/events","html_url":"https://github.com/JackDunnNZ/NL.jl/issues/2","id":58130409,"number":2,"title":"Passing options","user":{"login":"JackDunnNZ","id":4717044,"avatar_url":"https://avatars.githubusercontent.com/u/4717044?v=3","gravatar_id":"","url":"https://api.github.com/users/JackDunnNZ","html_url":"https://github.com/JackDunnNZ","followers_url":"https://api.github.com/users/JackDunnNZ/followers","following_url":"https://api.github.com/users/JackDunnNZ/following{/other_user}","gists_url":"https://api.github.com/users/JackDunnNZ/gists{/gist_id}","starred_url":"https://api.github.com/users/JackDunnNZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JackDunnNZ/subscriptions","organizations_url":"https://api.github.com/users/JackDunnNZ/orgs","repos_url":"https://api.github.com/users/JackDunnNZ/repos","events_url":"https://api.github.com/users/JackDunnNZ/events{/privacy}","received_events_url":"https://api.github.com/users/JackDunnNZ/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-02-18T21:25:48Z","updated_at":"2015-02-18T21:25:48Z","closed_at":null,"body":"There seem to be multiple ways that solvers take options for solving:\r\n\r\n- Bonmin, Couenne and Ipopt all accept a limited subset of options at the command line, and require the writing of an [options file](http://www.coin-or.org/Ipopt/documentation/node34.html) to set most options. This file must be in the current working directory when the solver is invoked (note this isn't necessarily the directory containing the solver executable, nor the directory with the .nl file)\r\n- I had a look at SNOPT after it was requested, and it takes all options on the command line.\r\n\r\nI haven't yet looked at any other solvers, are there other major ones that might take options in a different way?\r\n\r\nThis suggests we need some logic that figures out what to do with the options we get passed. An additional option that triggers writing an options file? A lookup table for the solvers? Something else entirely?\r\n\r\nAnother consideration is that the options files must be named based on the solver eg. `ipopt.opt`. Currently the solver is run using the command passed in the first argument to NLSolver, but that's a pretty fragile way to detect which solver we are using. Thoughts?\r\n\r\ncc @mlubin @tkelman @IainNZ @joehuchette"}}