Ciao @Ed_F ,
Sembra una buona idea provare un semplice design Mixture per verificare i limiti e i possibili vincoli del tuo spazio sperimentale prima di ampliare questo design iniziale in uno più sofisticato/dettagliato. Ecco le mie risposte/commenti alle tue due domande:
- Sono sorpreso dal numero di livelli (possibili materie prime) per la famiglia 3 e da tutte le possibili combinazioni che potrebbero essere coinvolte con gli altri fattori delle famiglie e i loro livelli. Hai qualche possibilità di ridurre il numero di livelli nella famiglia 3, in base all'esperienza di dominio, alle caratteristiche fisico-chimiche delle materie prime, ecc...? Il primo progetto non sembra essere inteso per "scegliere un vincitore", ma più per capire cosa funziona e cosa non funziona, quindi non hai bisogno di usare tutte le tue materie prime dalla famiglia 3 per capire le possibili regioni non fattibili/non valide del tuo spazio sperimentale. Consiglierei, in base alle informazioni chimiche di queste materie prime, di testare al massimo 3 diverse materie prime che esprimano la massima variabilità chimica nel tuo progetto.
Se non è possibile ridurre il numero di livelli per la Famiglia 3, si potrebbe arrivare a circa 30 esecuzioni per questo primo progetto, in modo da far variare il rapporto tra 0 e 1 con valori intermedi:

Script per il progetto proposto:
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Categorical, {"A", "B"}, "Family1", 0 ),
Add Factor( Categorical, {"C", "D"}, "Family 2", 0 ),
Add Factor( Categorical, {"E", "F", "G", "H", "I", "J"}, "Family3", 0 ),
Add Factor( Mixture, 0, 1, "XF1", 0 ), Add Factor( Mixture, 0, 1, "XF2", 0 ),
Add Factor( Mixture, 0, 1, "XF3", 0 ), Add Factor(
Mixture, 0, 1, "XF4 (Glycerine)", 0
), Set Random Seed( 1288978935 ), Number of Starts( 1406 ), Add Term( {1, 1} ),
Add Term( {2, 1} ), Add Term( {3, 1} ), Add Term( {4, 1} ), Add Term( {5, 1} ),
Add Term( {6, 1} ), Add Term( {7, 1} ), Add Term( {1, 1}, {4, 1} ),
Add Term( {2, 1}, {5, 1} ), Add Term( {3, 1}, {6, 1} ),
Add Term( {4, 1}, {5, 1} ), Add Term( {4, 1}, {6, 1} ),
Add Term( {4, 1}, {7, 1} ), Add Term( {5, 1}, {6, 1} ),
Add Term( {5, 1}, {7, 1} ), Add Term( {6, 1}, {7, 1} ),
Add Alias Term( {1, 1}, {2, 1} ), Add Alias Term( {1, 1}, {3, 1} ),
Add Alias Term( {1, 1}, {5, 1} ), Add Alias Term( {1, 1}, {6, 1} ),
Add Alias Term( {1, 1}, {7, 1} ), Add Alias Term( {2, 1}, {3, 1} ),
Add Alias Term( {2, 1}, {4, 1} ), Add Alias Term( {2, 1}, {6, 1} ),
Add Alias Term( {2, 1}, {7, 1} ), Add Alias Term( {3, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {5, 1} ), Add Alias Term( {3, 1}, {7, 1} ),
Set Sample Size( 30 ), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
Set Run Order( Randomize ), Make Table}
);
Se riesci a ridurre il numero di livelli per la Famiglia 3 a 3 materie prime diverse, potresti ottenere un progetto simile solo con 20 esecuzioni:

Script per il progetto proposto:
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Categorical, {"A", "B"}, "Family1", 0 ),
Add Factor( Categorical, {"C", "D"}, "Family 2", 0 ),
Add Factor( Categorical, {"E", "F", "G", "H", "I", "J"}, "Family3", 0 ),
Add Factor( Mixture, 0, 1, "XF1", 0 ), Add Factor( Mixture, 0, 1, "XF2", 0 ),
Add Factor( Mixture, 0, 1, "XF3", 0 ), Add Factor(
Mixture, 0, 1, "XF4 (Glycerine)", 0
), Set Random Seed( 1500506171 ), Number of Starts( 1406 ), Add Term( {1, 1} ),
Add Term( {2, 1} ), Add Term( {3, 1} ), Add Term( {4, 1} ), Add Term( {5, 1} ),
Add Term( {6, 1} ), Add Term( {7, 1} ), Add Potential Term( {1, 1}, {4, 1} ),
Add Potential Term( {2, 1}, {5, 1} ), Add Potential Term( {3, 1}, {6, 1} ),
Add Term( {4, 1}, {5, 1} ), Add Term( {4, 1}, {6, 1} ),
Add Term( {4, 1}, {7, 1} ), Add Term( {5, 1}, {6, 1} ),
Add Term( {5, 1}, {7, 1} ), Add Term( {6, 1}, {7, 1} ),
Add Alias Term( {1, 1}, {2, 1} ), Add Alias Term( {1, 1}, {3, 1} ),
Add Alias Term( {1, 1}, {5, 1} ), Add Alias Term( {1, 1}, {6, 1} ),
Add Alias Term( {1, 1}, {7, 1} ), Add Alias Term( {2, 1}, {3, 1} ),
Add Alias Term( {2, 1}, {4, 1} ), Add Alias Term( {2, 1}, {6, 1} ),
Add Alias Term( {2, 1}, {7, 1} ), Add Alias Term( {3, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {5, 1} ), Add Alias Term( {3, 1}, {7, 1} ),
Set Sample Size( 20 ), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
Set Run Order( Randomize ), Make Table}
);
2. Ci sono molti modi per creare vincoli per i design in JMP. Consiglierei di leggere l'ottimo articolo di @Jed_Campbell Demystifying Factor Constraints .
Puoi usare il Custom Design per definire i vincoli dei fattori , oppure se hai una situazione di vincoli molto complessa, usa un approccio Candidate Set per creare il tuo dataset di possibili punti candidati, e poi usa il Custom Design per selezionare i punti più informativi e rilevanti di questo dataset in base al tuo modello e alle specifiche di progettazione. Alcune discussioni e presentazioni su questo approccio Candidate Set:
Che cosa è una covariata nella progettazione degli esperimenti?
Tutorial per sviluppatori: gestione efficace delle covariate durante la progettazione di esperimenti
Progetti di set candidati: adattare i vincoli del DOE al problema (2021-EU-30MP-784)
Spero che questa prima risposta e questo spunto di discussione possano aiutarti,