Creation of Arrays by Mixed Integer Programming

'CRAN' packages 'DoE.base' and 'Rmosek' and non-'CRAN' package 'gurobi' are enhanced with functionality for the creation of optimized arrays for experimentation, where optimization is in terms of generalized minimum aberration. It is also possible to optimally extend existing arrays to larger run size. The package writes 'MPS' (Mathematical Programming System) files for use with any mixed integer optimization software that can process such files. If at least one of the commercial products 'Gurobi' or 'Mosek' (free academic licenses available for both) is available, the package also creates arrays by optimization. For installing 'Gurobi' and its R package 'gurobi', follow instructions at <> and <> (or higher version). For installing 'Mosek' and its R package 'Rmosek', follow instructions at <> and <>, or use the functionality in the stump CRAN R package 'Rmosek'.


Changes to package DoE.MIParray

Version 0.12, March 2019

  • added search functions for searching over factor orders (performance may strongly depend on the factor order)
  • added print.oa to remove all attributes except a few specific ones
  • added contr.XuWu to exports
  • updated literature references
  • updated information on availability of Rmosek

Version 0.11, March 2018

  • modified gurobi_MIPcontinue and mosek_MIPcontinue to use the lower bounds for A_R, where possible
  • removed lowerbound_AR and relatives, because these are now in DoE.base 0.32
  • export a few central quality criteria / equivalence checking functions from DoE.base
  • changed wording in Description so that a CRAN version of Rmosek is no longer implied (since Rmosek will be removed from CRAN according to its maintainer)

Version 0.10, September 26 2017

  • single-quoted software names for avoiding "potentially mis-spelled" note
  • added URLs for installation instructions for packages gurobi and Rmosek to the Description file
  • added key words to lowerbound_AR documentation

Version 0.9, September 22 2017

  • sharpened the lower bound for AR for resolution II based on Liu and Lin 2009

Version 0.8, September 04 2017

  • incorporated bound for A_R from Gr´┐Żmping and Xu (2014) Theorem 5 into gurobi_MIParray and mosek_MIParray; this allows to avoid potentially lengthy confirmations of optimality, where all R factor projections have weak strength R. Initially, the functions lowerbounds and lowerbound_AR are included here; eventually, they will be moved to package DoE.base.
  • made sure to export a reduced MIPinfo attribute if only an early phase in a multiphase optimization did not achieve optimality (nothing was output for mosek_MIParray and gurobi_MIParray before)
  • changed the order of the list elements in the MIPinfo attribute for gurobi_ functions to match that of mosek_ functions, and placed info element last in MIPinfo also for gurobi
  • switched to Mosek version, which implies a change in the presolve option
  • added check for generated integer variables to mosek_MIParray and mosek_MIPcontinue (through utility mosek_modelAddConeQobj), since starting values for integer variables (even derived ones from presolve) need to be integer; this improves the situation, but does not cover all situations for which implicit integers cause trouble --> wait for Mosek version 9 to hopefully resolve the problem
  • made the MIPcontinue functions use upper bounds from previous runs for improve=TRUE cases
  • exported print.oa function from DoE.base (had to define it within DoE.MIParray for that purpose, since DoE.base does not export it)
  • added tests to the inst directory
  • fixed a bug in gurobi_MIParray and mosek_MIParray regarding feasibility checks for resolution I designs
  • fixed a bug in mosek_MIPcontinue

Version 0.7, August 17 2017

  • added option for a start array to gurobi_MIParray and mosek_MIParray
  • added option for forced elements to gurobi_MIParray and mosek_MIParray
  • cleaned up unnecessary defaults from gurobi.params and mosek.params in all functions
  • added overall package documentation file
  • combined documentation of gurobi_MIParray and mosek_MIParray into one file

Version 0.6, August 15 2017

  • added NEWS file
  • MIQCPMethod gets default 0
  • MIPFocus added as a parameter with default 1 for gurobi_MIParray and default 0 for gurobi_MIPcontinue
  • heurist and MIPFocus are deactivated for initial linear problem in gurobi_MIParray
  • store time used for initial linear problem in the info attribute

Version 0.5

  • moved functions oa_feasible and print.oa to package DoE.base
  • checking feasibility with that function
  • MIQCPMethod had default -1
  • only heurist was deactivated for initial linear problem in gurobi_MIParray

Version 0.4.0

  • checking feasibility with function oa_feasible
  • fixed a bug which implied that setting MIQCPMethod did not work in case of also setting gurobi.params

Reference manual

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


1.0 by Ulrike Groemping, 2 months ago

Browse source code at

Authors: Ulrike Groemping

Documentation:   PDF Manual  

Task views: Design of Experiments (DoE) & Analysis of Experimental Data

GPL (>= 2) license

Imports stats, methods, combinat, DoE.base

Suggests slam, Matrix

Enhances gurobi, Rmosek

See at CRAN