J'ai un grand nombre d'ingrédients et je souhaite limiter le nombre qui figure dans une formulation.
J'ai donc une contrainte Custom Design ("Script de combinaisons non autorisées") de la forme…
((Ing1>0) + (Ing2>0) + (Ing3>0) +……+ (IngX>0)) > N
Où IngX est le niveau Ingrédient X.Ne pas traiter cela comme un mélange.
J'obtiens l'erreur ci-jointe.
Il est intéressant d'inverser le signe, c'est-à-dire que MINIMISER le nombre d'ingrédients à N ne semble pas être un problème.
Toute aide bienvenue...
Un grand merci pour ce Marc.
Vous spécifiez... "en supposant toutes les plages de 0 à 1".Est-ce important?Je m'attendais à ce que ma contrainte limite le nombre de formulations non nulles à N (ou moins)
N ou moins est l'objectif, et je veux aussi faire varier la concentration (pas seulement l'inclusion), mais je peux m'appuyer sur la suggestion de votre deuxième courrier, je pense.Merci beaucoup.
J'ai fait quelques hypothèses sur votre situation et j'ai trouvé un moyen d'accomplir cette conception.
Disons que j'ai 5 ingrédients candidats mais que je ne veux en inclure que 3 à la fois. J'ai ajouté 3 facteurs catégoriels avec 5 niveaux.

Ensuite, j'ai créé l'expression suivante pour les combinaisons non autorisées.
Ingredient 1 == Ingredient 2 | Ingredient 1 == Ingredient 3 | Ingredient 2 == Ingredient 3
Ensuite, j'ai supposé un modèle d'effets principaux et 20 exécutions.

Voici le script complet de cet exemple avec lequel vous pouvez jouer.
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5"}, "Ingredient 1", 0 ),
Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5"}, "Ingredient 2", 0 ),
Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5"}, "Ingredient 3", 0 ),
Set Random Seed( 102498840 ), Number of Starts( 10 ), Add Term( {1, 0} ),
Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ),
Add Alias Term( {1, 1}, {2, 1} ), Add Alias Term( {1, 1}, {3, 1} ),
Add Alias Term( {2, 1}, {3, 1} ), Set Sample Size( 20 ),
Disallowed Combinations(
Ingredient 1 == Ingredient 2 | Ingredient 1 == Ingredient 3 | Ingredient 2
== Ingredient 3
), Simulate Responses( 0 ), Save X Matrix( 0 )}
);
L'expression que vous utilisez semble être la forme correcte en supposant que toutes les plages de facteurs vont de 0 à 1. Vous n'ajoutez peut-être pas de facteurs de mélange (ingrédients) à la conception, mais la combinaison non autorisée que vous avez définie force des dépendances linéaires sur les facteurs qui produisent une singularité dans la matrice de modèle utilisée par JMP pour optimiser la conception.
Voulez-vous vraiment moins de N ingrédients dans chaque mélange ou vous voulez être sûr d'avoir exactement N ingrédients dans chaque mélange ?