The R to MOSEK Optimization Interface

This is a meta-package designed to support the installation of Rmosek (>= 6.0) and bring the optimization facilities of MOSEK (>= 6.0) to the R-language. The interface supports large-scale optimization of many kinds: Mixed-integer and continuous linear, second-order cone, exponential cone and power cone optimization, as well as continuous semidefinite optimization. Rmosek and the R-language are open-source projects. MOSEK is a proprietary product, but unrestricted trial and academic licenses are available.


News

Rmosek News

CHANGES IN Rmosek VERSION 1.3.4:

Improvements in documentation.

CHANGES IN Rmosek VERSION 1.3.3:

Simplified configuration of the MOSEK library name in 'install.rmosek' and 'update.rmosek'.

CHANGES IN Rmosek VERSION 1.3.2:

Added warning when restarts of the R session is necessary. Small updates in the documentation of exported objects.

CHANGES IN Rmosek VERSION 1.3.1:

Added exported objects: 'mosek', 'mosek_clean', 'mosek_version', 'mosek_read' and 'mosek_write'. This allows derived works, depending on Rmosek functionality, to pass the CRAN tests.

CHANGES IN Rmosek VERSION 1.3.0:

Changed the 'Rmosek' package on CRAN to a generic metapackage that can help users setup an appropriate interface for the installed version of MOSEK. This replaces the previous package that only worked with MOSEK 6.0 (obsolete since 2015), which will remain available via install.packages using:

repos = "download.mosek.com/R/6.0"

CHANGES IN Rmosek VERSION 1.2.5:

Fixed unintended compilation warnings on windows.. Small updates in userguide and function manual..

CHANGES IN Rmosek VERSION 1.2.4:

NEW FEATURES:

*  Quadratic optimization. Added problem item 'qobj' to allow the input
   of a symmetric matrix Q, adding 1/2 x^T Q x to the objective function. 
   Dimensions known from x, so only triplets 'i', 'j' and 'v' for the lower
   triangular part of the symmetric matrix are set. E.g.
     prob$qobj <- list(i=c(1,2,2), j=c(1,1,2), v=c(2,1,2))

CHANGES IN Rmosek VERSION 1.2.3: Based on rev.107.

Bug and portability fixing release..

CHANGES IN Rmosek VERSION 1.2.2: Based on rev.98.

NEW FEATURES:

*  Linear optimization. Far more matrices from package 'Matrix' are now 
   allowed as input variable 'A'. Only compressed column sparse (CSC) and 
   coordinate/triplet (COO) formats are supported in C/C++; others will be
   converted with warning indicating bad performace.

*  Separable convex optimization. Added validation of variable bounds.
   Warnings are now issued for each non-safe bound which could cause
   unexpected termination.

*  Separable convex optimization. Added simple check for disciplined
   convexity. Information items are issued for each violation, followed
   by a single warning message. Note that a problem can easily be convex
   and solvable, even if it is not disciplined convex.

CHANGES IN Rmosek VERSION 1.2.1: Based on rev.92.

USER-VISIBLE CHANGES:

*  Optimizer summary added to function mosek. Solution and optimizer
   summaries are now only shown when option 'verbose' is >=4.

NEW FEATURES:

*  Solution item 'skn' holding conic constraint status keys, added to 
   conic optimization problems.

*  Option 'soldetail' added to function mosek. 
   = 0 is default. 
   = 1 adds solution items 'pobjval' + 'dobjval' to ITR and BAS, and
       'pobjval' + 'pobjbound' to INT. Note that 'pobjbound' may be NA if
       no relaxation have been used to solve the problem.
   = 2 adds solution item 'maxinfeas' with maximal infeasibilities.

*  Option 'getinfo' added to functions mosek, mosek_read and mosek_write.
   = FALSE is default.
   = TRUE adds 'dinfo' and 'iinfo' structures to returned value list. 
       dinfo items are extracted from MSK_DINF_*.
       iinfo items are extracted from MSK_IINF_* and MSK_LIINF_*.

CHANGES IN Rmosek VERSION 1.2: Based on rev.86.

SIGNIFICANT USER-VISIBLE CHANGES:

*  Linear optimization. The arguments prob$blx and prob$bux have been
   replaced by prob$bx. This new argument is a numeric-typed matrix with
   two rows, and can be transformed from previous format with:
       rBind(blx=prob$blx, bux=prob$bux);

*  Linear optimization. The arguments prob$blc and prob$buc have been
   replaced by prob$bc. This new argument is a numeric-typed matrix with
   two rows, and can be transformed from previous format with:
       rBind(blc=prob$blc, buc=prob$buc);

*  Second-order cone optimization. The type of prob$cones have changed from
   a list to a list-typed matrix. The new format can be pre-allocated as:
       matrix(list(), nrow=2, ncol=NUMCONES, 
                      dimnames=list(c("type","sub"),c()))

   The old format can be transformed to the new format with:
       matrix(unlist(prob$cones, recursive=FALSE), 
                nrow=2, dimnames=list(c("type","sub"),c()))

NEW FEATURES:

*  Separable convex optimization. Adding the field prob$scopt in the
   problem description, separable convex operators can be added to 
   the objective using prob$scopt$opro and to the constraints using 
   prob$scopt$oprc. 
   - The 'opro' is a LIST MATRIX and can be pre-allocated as:
       matrix(list(), nrow=5, ncol=NUMOPRO, 
                      dimnames=list(c("type","j","f","g","h"),c()))
   - The 'oprc' is a LIST MATRIX and can be pre-allocated as:
       matrix(list(), nrow=6, ncol=NUMOPRC, 
                      dimnames=list(c("type","i","j","f","g","h"),c()))

*  Separable convex optimization. The option 'scofile' have been added
   to input the filepath to a file holding separable convex operators
   in a format supported by 'mskscopt' executable in MOSEK. This option
   is supported by 'mosek_write' and 'mosek_read'.

*  Linear optimization. Adding the function 'mosek_lptoprob', it is now 
   easy to move from a set of definitions similar to those used by the 
   MATLAB function 'linprog', to a problem description solvable by the 
   'mosek' function.

*  Quadratic optimization. Adding the function 'mosek_qptoprob', it is 
   now easy to move from a set of definitions similar to those used by 
   the MATLAB function 'quadprog', to a problem description solvable by 
   the 'mosek' function.

USERGUIDE:

*  Chapter "Advanced topics" has been added under which topics that are 
   interesting only to a smaller subset of users, hard to use correctly, 
   or not supported natively by MOSEK will be explained.
   
*  Bookmarks and reference-links have been added to ease navigation through
   the userguide. Most pdf-readers have a shortcut to return focus prior to
   the click on a link. In Adobe Reader and SumatraPDF: <ALT> + <LEFT>. 

CHANGES IN Rmosek VERSION 1.0.2: Based on rev.79.

COPYRIGHT NOTICE:

*  With the files COPYING and COPYING.LGPL, we have made it even more 
   explicit that the package is an open source project licensed under the
   GNU Lesser GPL. This makes it possible to use the package in commercial
   as well as academic contexts. 

NEW FEATURES:

*  Linear constraint matrix. The 'mosek' function now allows sparse 
   matrices to be specified as a list with fields 'nrow', 'ncol', 'i', 'j'
   and 'v' (coordinate/triplet format). This format can be used directly 
   and independently of the package 'Matrix'. Furthermore, this format is 
   consistent with sparse matrices from package 'slam'.
    
*  Linear constraint matrix. The option 'matrixformat' have been added to
   allow the 'mosek_read' function to construct sparse matrices in a 
   user-specific fashion. 
   - Value "pkgMatrix:COO" or just "COO". A sparse matrix in coordinate / 
   triplet format from the package 'Matrix'.
   - Value "pkgMatrix:CSC" or just "CSC". A sparse matrix in compressed 
   sparse column format from the package 'Matrix'.
   - Value "simple:COO". A sparse matrix in coordinate / triplet format 
   written as a list with fields 'nrow', 'ncol', 'i', 'j' and 'v'.

USERGUIDE:

*  Section "Complete Best Practice example" added which explains a proper
   way to handle errors, response codes and status keys. The focus is on 
   scripts and functions working with Rmosek in a non-interactive way (i.e.
   without a user validating each step).

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("Rmosek")

1.3.5 by Henrik A. Friberg, a year ago


http://www.mosek.com/


Browse source code at https://github.com/cran/Rmosek


Authors: MOSEK ApS


Documentation:   PDF Manual  


Task views: Optimization and Mathematical Programming


LGPL (>= 2.1) license


Suggests pkgbuild

System requirements: MOSEK (>= 6) and MOSEK License (>= 6)


Suggested by CVXR, REBayes, klic, mdw, mixsqp, prc.

Enhanced by DoE.MIParray, designmatch, sbw.


See at CRAN