Salut @Ed_F ,
Il semble être une bonne idée d'essayer un design Mixture simple pour vérifier les limites et les contraintes possibles de votre espace expérimental avant d'augmenter ce design initial pour en faire un plus sophistiqué/détaillé. Voici mes réponses/commentaires à vos deux questions :
- Je suis surpris par le nombre de niveaux (matières premières possibles) pour la Famille 3, et toutes les combinaisons possibles qui pourraient être impliquées avec les autres facteurs de la famille et leurs niveaux. Avez-vous la possibilité de réduire le nombre de niveaux dans la famille 3, en fonction de l'expertise du domaine, des caractéristiques physico-chimiques des matières premières, etc... ? Le premier design ne semble pas avoir pour but de "choisir un gagnant" mais plutôt de comprendre ce qui fonctionne et ce qui ne fonctionne pas, vous n'avez donc pas besoin d'utiliser toutes vos matières premières de la famille 3 pour comprendre les éventuelles régions irréalisables/invalides de votre espace expérimental. Je recommanderais, en fonction des informations chimiques de ces matières premières, de tester au maximum 3 matières premières différentes exprimant la variabilité chimique maximale dans votre design.
S'il n'est pas possible de réduire le nombre de niveaux pour la Famille3, on pourrait se retrouver avec une trentaine d'exécutions pour ce premier design, afin de faire varier le ratio entre 0 et 1 avec des valeurs intermédiaires :

Script pour la conception proposée :
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}
);
Si vous parvenez à réduire le nombre de niveaux pour Family3 à 3 matières premières différentes, vous pourriez vous retrouver avec une conception similaire avec seulement 20 exécutions :

Script pour la conception proposée :
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. Il existe de nombreuses façons de créer des contraintes pour les conceptions dans JMP. Je vous recommande de lire l'excellent article de @Jed_Campbell Demystifying Factor Constraints .
Vous pouvez utiliser la conception personnalisée pour définir des contraintes de facteurs ou, si vous avez une situation de contraintes très complexe, utiliser une approche d'ensemble de candidats pour créer votre ensemble de données de points candidats possibles, puis utiliser la conception personnalisée pour sélectionner les points les plus informatifs et les plus pertinents de cet ensemble de données en fonction de votre modèle et de vos spécifications de conception. Quelques conférences et présentations sur cette approche d'ensemble de candidats :
Qu’est-ce qu’une covariable dans la conception d’expériences ?
Tutoriel pour développeurs – Gestion efficace des covariables lors de la conception d'expériences
Modèles d'ensembles candidats : adapter les contraintes DOE au problème (2021-EU-30MP-784)
J'espère que cette première réponse et ce point de départ de discussion pourront vous aider,