Adding Space-filling Points to a Design

 /****************************************************************/
 /*          S A S   S A M P L E   L I B R A R Y                 */
 /*                                                              */
 /*    NAME: OPTEX11                                             */
 /*   TITLE: Adding Space-filling Points to a Design             */
 /* PRODUCT: QC                                                  */
 /*  SYSTEM: ALL                                                 */
 /*    KEYS: Optimal Designs,                                    */
 /*   PROCS: OPTEX                                               */
 /*    DATA:                                                     */
 /*                                                              */
 /*     REF: SAS/QC Software:  Usage and Reference, Version 6,   */
 /*          First Edition, Volume 1 and Volume 2                */
 /*    MISC:                                                     */
 /*                                                              */
 /****************************************************************/

 options ps=40;

 /*
 / Initialize ADX Macros and invoke ADXVERT macro to construct
 / and plot the candidate set
 / --------------------------------------------------------------*/
 %adxgen
 %adxmix
 %adxxvert(a,x1 / x2 / x3 0 - .75);
 data a; set a;
    w1 = -(x1 + x2);
    w2 =  (x1 - x2);

 proc plot data=a;
    plot w1*w2;
 run;


 /*
 / D-optimal constrained mixture design
 / --------------------------------------------------------------*/
 proc optex data=a seed=60868 nocode;
    model x1|x2|x3@2 / noint;
    generate n=10;
    output out=b;
 data b; set b;
    w1 = -(x1 + x2);
    w2 =  (x1 - x2);
 proc plot data=b;
    plot w1*w2;
 run;


 /*
 / Filled candidate region (scattered throughout the feasible
 / region) for constrained mixture design
 / --------------------------------------------------------------*/
 %adxfill(a,x1 x2 x3);
 data a; set a;
    w1 = -(x1 + x2);
    w2 =  (x1 - x2);
 proc plot data=a;
    plot w1*w2;
 run;


 /*
 / D-optimal constrained mixture design fillied in U-optimally
 / --------------------------------------------------------------*/
 proc optex data=a seed=4321 nocode noprint;
    model x1 x2 x3 / noint;
    generate n=15 augment=b
             criterion=u;
    output out=c;
 data c; set c;
    w1 = -(x1 + x2);
    w2 =  (x1 - x2);
 proc plot data=c;
    plot w1*w2;
 run;