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.

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).
```