Dispongo di un gran numero di ingredienti e desidero limitare il numero che compare in una singola formulazione.
Quindi ho un vincolo di progettazione personalizzata ("Script di combinazioni non consentite") del modulo...
((Ing1>0) + (Ing2>0) + (Ing3>0) +……+ (IngX>0)) > N
Dove IngX è l'Ingrediente X di livello.Non trattarlo come una miscela.
Ricevo l'errore allegato.
È interessante notare che invertire il segno, cioè MINIMIZZARE il numero di ingredienti a N, non sembra essere un problema.
Qualsiasi aiuto è benvenuto...
Molte grazie per questo Marco.
Si specifica..."assumendo tutti gli intervalli da 0 a 1".Questo importa?Mi aspettavo che il mio vincolo limitasse il numero di formulazioni diverse da zero a N (o meno)
N o meno è l'obiettivo, e voglio anche variare la concentrazione (non solo l'inclusione), ma penso di poter basarmi sul suggerimento nella tua seconda mail.Grazie molto.
Ho fatto alcune ipotesi sulla tua situazione e ho trovato un modo per realizzare questo progetto.
Supponiamo che io abbia 5 ingredienti candidati ma voglio includerne solo 3 alla volta. Ho aggiunto 3 fattori categorici con 5 livelli.

Quindi ho creato la seguente espressione per le combinazioni non consentite.
Ingredient 1 == Ingredient 2 | Ingredient 1 == Ingredient 3 | Ingredient 2 == Ingredient 3
Quindi ho assunto un modello di effetti principali e 20 corse.

Ecco lo script completo per questo esempio con cui puoi giocare.
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'espressione che stai usando sembra essere la forma corretta supponendo che tutti gli intervalli di fattori siano compresi tra 0 e 1. Potresti non aggiungere fattori di miscela (ingredienti) al progetto, ma la combinazione non consentita che hai definito sta forzando dipendenze lineari sui fattori che producono una singolarità nella matrice del modello che JMP utilizza per ottimizzare il progetto.
Vuoi davvero meno di N ingredienti in ogni miscela o vuoi essere sicuro di avere esattamente N ingredienti in ogni miscela?