Mixture Experiment

 /****************************************************************/
 /*          S A S   S A M P L E   L I B R A R Y                 */
 /*                                                              */
 /*    NAME: ADXMIX1                                             */
 /*   TITLE: Mixture Experiment                                  */
 /* PRODUCT: QC                                                  */
 /*  SYSTEM: ALL                                                 */
 /*    KEYS: Design of Experiments,                              */
 /*   PROCS:                                                     */
 /*    DATA:                                                     */
 /*     REF: SAS/QC Software:  Examples                          */
 /*    MISC: ADX Macros are stored in the AUTOCALL library       */
 /*                                                              */
 /****************************************************************/

options ps=55 ls=78;

%adxgen;
%adxmix;
%adxinit
%adxsld(yarn,ethylene styrene propylen,2)

data yarn;
   set yarn;
   drop numpos;
   numpos = (ethylene > 0) + (styrene > 0) + (propylen > 0);
   if (numpos = 1) then do; output; output;         end;
   else                 do; output; output; output; end;
run;

%adxrprt(yarn,elong,seed=12345)


proc sort;
   by ethylene styrene propylen;
data yarn;
   set yarn;
   input elong @@;
   cards;
   16.9 16.5 11.4 12.1 11.0 10.1  8.0 17.6
   16.4 17.3 15.3 14.2 14.1 11.7 11.7
   ;

 /*  Use a full second-order model without intercept */
proc glm;
   model elong = ethylene | styrene | propylen @2 / noint;
run;

 /* Start the ridge at the center of the simplex */
proc rsreg;
   model elong = ethylene styrene;
   ridge max center=(.3333,.3333);
run;