Rmosek News

CHANGES IN Rmosek VERSION 1.3.5:

  Added .onAttach hook asking the user to complete the installation.



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