Main Content

D-Optimal Designs

R2026b

In design of experiments (DOE) workflows, traditional experimental designs (Full Factorial Designs, Fractional Factorial Designs, and Response Surface Designs) are appropriate for calibrating linear models in experimental settings where factors are relatively unconstrained in the region of interest. In some cases, however, models are necessarily nonlinear. In other cases, certain treatments (combinations of factor levels) might be expensive or infeasible to measure. D-optimal designs address these limitations of traditional designs.

A D-optimal design is a model-specific design generated by an iterative search algorithm that seeks to minimize the covariance of the parameter estimates for the specified model. This process is equivalent to maximizing the determinant D = |XTX|, where X is the design matrix of model terms (the columns) evaluated at specific treatments in the design space (the rows). Unlike traditional designs, D-optimal designs do not require orthogonal design matrices. As a result, parameter estimates might be correlated. Parameter estimates might also be locally D-optimal, but not globally.

Statistics and Machine Learning Toolbox™ offers several ways to work with D-optimal designs:

  • Create an optimalDOE object by using the optimalDOE function. This function provides the following advantages:

    • The optimalDOE function allows you to specify continuous or categorical factors, the factor names, the factor level values, and the experiment model.

    • In addition to returning the design runs, the optimalDOE function stores your specifications in the optimalDOE object properties.

    • You can generate a candidate set for the design runs with candgen and use the candidate set as an input to the optimalDOE function.

    After you create an optimalDOE object, you can:

    • Fit a linear regression model to the design run responses using the fitlm function.

    • Add runs to the design using the addruns function.

    • Randomize the run order in the design using the randomizeRunOrder function.

    • Add replicates (duplicates of the original design runs) using the addReplicates function.

  • Use the DOE Explorer app to create a D-optimal design table and fit a linear regression model to the design run responses. Perform factor analysis and generate plots and tables to assess the model fit.

See Also

Apps

Functions

Objects

Topics