Skip to content

Home / DOE / Create Designs / Create D-Optimal

Create D-Optimal

QXL DOE New > Create Design > Special > Create D-Optimal Design

A D-Optimal design is chosen rather than tabulated. You give the model you want to fit and the number of runs you can afford, and Quantum XL selects the set of runs that estimates that model as precisely as it can.

What this design gives you

The standard designs come in fixed sizes. A D-Optimal design does not: if 20 runs is what the budget allows and no standard design has 20 runs, this is the command that fills the gap. It is also the way to build a design for a model that a standard design cannot hold, and to work from a candidate list of runs that are actually achievable.

The criterion is the determinant of X'X, made as large as possible. It is reported as its natural logarithm, because the determinant itself overflows for designs of any size, so a larger log determinant is a better design.

The pages

Page heading What it asks
Source for D-Optimal Design Create D-Optimal Design from existing candidate runs or Create D-Optimal Design from a full factorial
Select Design Sheet or Define base design which candidate rows to choose from
Select interactions for the model the terms the design must be able to estimate
Choose Number of Runs in D-Optimal Design Number of runs in optimal design, then plus/minus n run(s)
D-Optimal Design(s) the search, running
Number of replicates replication of the chosen design
Define outputs the responses

Source for D-Optimal Design decides what happens next. Choosing existing candidate runs goes to Select Design Sheet, which lists the design sheets in the workbook, and says There are no design sheets in the active workbook. if there are none. Choosing a full factorial goes to Define base design instead, and builds the candidate set from that.

The model comes before the runs

Select interactions for the model matters more here than anywhere else, because the design is built to fit exactly the model you specify.

The model is checked against the candidate set, not against the run count. Leaving the interactions page is refused with Candidate matrix has more columns than rows. Remove some interactions. when the candidate set has fewer distinct rows than the model has columns. That happens before you have entered a run count at all.

The number of model columns then becomes the smallest run count the next page will accept, so choosing more terms raises the floor on the design size.

Several run sizes at once

Number of runs in optimal design with plus/minus n run(s) searches a range rather than a single size: the requested count, plus and minus that many. Each size is searched at the same time, independently, so the result page can be compared across sizes before you pick one.

The page carries a standing note reading Number of runs must be between n and m., where n is the number of model columns. Only the lower bound is enforced. A value below it is refused with Number of runs must be whole number greater than n - 1.: the refusal names one less than the note's lower bound, because it is phrased as "greater than" rather than "at least". A value above the upper bound is accepted by the page; sizes that fall outside the range are simply left out of the list of searches.

Reading the progress page

The searches report into a grid, one row per size, with these columns:

Column What it shows
# Runs In Design the size this row is searching
Log(Determinant) the best log determinant found so far
Average VIF the average variance inflation factor of the best design so far
Maximum VIF its largest
Status n Row Replacements... while it works, then Completed or Failed
Elapsed time how long this row has been running

The VIF numbers are part of the report here rather than only on the regression sheet, because a design can score well on the determinant and still have a badly conditioned column. The number of iterations run is not reported.

Stop is a pause, not an end. It halts the searches, showing Stopping... on the button while they wind down, and keeps the best design found so far. The button then reads Resume, and taking it starts the searches again. When they finish on their own the page reads Calculating D-Optimal completed., and Use selected design takes the highlighted size forward.

Navigating backwards out of the progress page discards it. Once the page has been running for more than about five seconds the dialog asks first: You are trying to navigate away from current page. Current D-Optimal progress will be lost. Do you want to lose progress you had so far? Back or Cancel within those first few seconds leaves the page silently, with no question, so a quick change of mind is not confirmed.

Three controls live on the D-Optimal settings page of the Options dialog rather than in this dialog. Only one of them reaches the search.

Control What it does
Run the modified Federov at end to get the last bit of improvement. this one works: it does one exhaustive pass over every row after the main search
Force the Federov algorithm. Federov gives a better answer but takes way longer. the setting is saved but never used. The search behaves the same either way
Number of seconds to look for initial design before giving up (default is 1 sec) the value is saved but never used

The two dead controls are recorded in code-flags-for-engineering.md, because a saved setting with no effect is a product issue rather than a documentation one. See DOE Options.

What you get, and one thing to know about it

The result is written as a custom design. The sheet's design type is Custom, its coding is set to autocode, it has no axial value and no extra runs, and the run order is not randomized. That matters afterwards: Modify Design offers what it offers for a custom design, so Add/Remove Center Points is refused with center points are not available for the Custom design.

Replicates are tiled, not interleaved. Two replicates means the whole run block appears twice, one after the other, rather than each run appearing twice in place.

See Also