stephens999 / ashr

An R package for adaptive shrinkage
GNU General Public License v3.0
80 stars 36 forks source link

To do: update Rmosek installation instructions according to instructions below #77

Closed pcarbo closed 5 years ago

pcarbo commented 6 years ago

From Henrik Alsing Friberg:

You all have in common that your packages reverse import/suggest/enhance the Rmosek package, and I am sure you all know that the package hosted on CRAN is deprecated and has not been working since MOSEK v6 (~5 years ago). While MOSEK is careful about not breaking backwards compatibility unnecessarily, it may happen between major releases (in v6 to v7 it happened a few places as we added the semidefinite cone). Rather than having separate packages Rmosek6, Rmosek7, Rmosek8, etc., we decided to have separate repositories:

http://download.mosek.com/R/6/ http://download.mosek.com/R/7/ http://download.mosek.com/R/8/

and hope some day the R package system will grow wise enough to support this versioning within a single repository (the PACKAGES file could e.g. expose a "variant" property that you could lock on to). To avoid confusion with the old version at CRAN, we are now taking the steps to archive it such that install.packages("rmosek") will no longer function without specifying one of the MOSEK repositories. Please confirm that you are aware of this. The best you can do at the moment is to link to the Installation section of the Rmosek documentation which I will keep updated. Any suggestions to the Rmosek package or its documentation is of course welcome.

pcarbo commented 6 years ago

More from Henrik Alsing Friberg: I have discovered that the Chief Scientist at RStudio, Hadley Wickham, has already come far to incorporate support for remote repositories. The plan is to finish this development in devtools (https://github.com/hadley/devtools), transfer it to remotes (https://github.com/r-lib/remotes), and hopefully get it widely accepted. As an experiment, I pushed the Rmosek package to github (https://github.com/MOSEK/Rmosek) and tried devtools::install_github("MOSEK/Rmosek@8.1") with success. Since devtools adds meta-data in the installed DESCRIPTION file about where the package originated, the corresponding devtools:update_packages() can also succeed (it even locks on to the specified branch—in my example 8.1—so that you can stay updated within the version of MOSEK on your system). Finally, package references outside CRAN can be added to the DESCRIPTION file with the comma separated "Remotes" keyword (see https://github.com/hadley/devtools/blob/master/vignettes/dependencies.Rmd), e.g.

Remotes: github::MOSEK/Rmosek@8.1

This will allow the devtools installer to correctly resolve Rmosek if mentioned as dependency. Although it seems to work already, it is still an experiment, and as Ulrike pointed out we are yet to find out how CRAN feels about listing references to remote packages, e.g, in enhancement fields where they do not influence installation.

xubeisi commented 6 years ago

https://github.com/MOSEK/Rmosek didn't seems exist anymore. devtools::install_github("MOSEK/Rmosek@8.1") also didn't worked.

pcarbo commented 6 years ago

Sorry @xubeisi. We haven't updated these installation instructions. Go here and you will find clear installation instructions for Rmosek.

nanxstats commented 6 years ago

Maybe it's a good time to revisit the possibility of replacing MOSEK with the foss options out there, such as cvxr https://cvxr.rbind.io/. It also supports using MOSEK/Gurobi as a backend solver if needed.

pcarbo commented 6 years ago

Thanks for the suggestion @road2stat. We already have a better solution, actually.

nanxstats commented 6 years ago

@pcarbo -awesome! Looking forward to seeing the mixSQP solution in place.

xubeisi commented 6 years ago

Thank you! @pcarbo it works!