Vincolo di disponibilità delle materie prime in un DOECiao,
Cosa succede se stai facendo un DOE e ogni volta ti trovi di fronte a un vincolo di disponibilità di materie prime. Chiaramente, la quantità di reagenti è limitata.
Sicuramente puoi affrontare il problema richiedendo il numero totale di esecuzioni, ma mi chiedo se si potrebbero usare i vincoli. Idealmente, vorrei stabilire come vincolo che la somma totale di un reagente non superi un certo valore. potremmo anche voler utilizzare esattamente questa quantità in modo da non perdere materia prima.
Quindi avere dei vincoli lungo le prove.
Qualcuno ha mai affrontato questo problema?
La mia proposta sarebbe quella di eseguire una serie di DOE e confrontare la somma dei reagenti limitati al fine di selezionare il miglior DOE. Qualcuno ha provato questo?
Grazie per i vostri suggerimenti.
Firenze
Re: Vincolo di disponibilità delle materie prime in un DOEPer aggirare il problema ho sviluppato un piccolo script. Questo script crea un DOE con i fattori della tabella associata (cambia il percorso alla riga 2).
Ho ritenuto che il fattore Reactant fosse disponibile solo in 240 unità (riga 4).
Quindi, eseguo il DOE dalla sua dimensione minima (ho recuperato lo script DOE dalla piattaforma) a una dimensione massima in numero di prove (qui, da 12 a 25 prove) e testo la somma di ogni DOE sulla variabile reagente e controlla che sia minore o uguale a 240. Ti lascia con le possibili tabelle (titolo della tabella = la somma)
Questo approccio non è il più ideale perché non tengo conto di questo vincolo quando si ottimizza il criterio di ottimalità come si farebbe con un vincolo interfattoriale, ma consente di mantenere i piani accettabili da questo vincolo su una serie di piani.
FactorsTable= open("Reactor Factors.jmp");
ReactantMaxSum = 240;
For( i = 12, i < 25, i++,
DOeInit = DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ), Set Random Seed( 4547922 ),
Optimality Criterion( Name( "Make D-Optimal Design" ) ), Simulate Responses( 0 ),
Save X Matrix( 0 )}
);
DOeInit << Load Factors( FactorsTable );
DOeInit << Set Sample Size( i );
DOeInit << Make Table();
temp = Current Data Table();
tempdata = temp << Summary( Sum( :Reactant ), Freq( "Aucun(e)" ), Weight( "Aucun(e)" ) );
mySum = Column( 2 )[1];
Show( mySum );
If( mySum > ReactantMaxSum,
Close( temp, NoSave );
Close( tempdata, NoSave );
DOeInit<<CLOSE window=""></CLOSE>Re: Vincolo disponibilità materie prime in un DOEQualcuno mi ha fatto una domanda simile di recente. Penso che un altro approccio sarebbe quello di trattare Reactant come un fattore covariato. Se vuoi solo testare l'effetto principale del fattore, allora l'ottimale è che il fattore prenda solo i limiti basso e alto dell'intervallo del fattore (10 e 20 in questo esempio).
Per 16 corse puoi bilanciare correttamente con 8 corse a Reactant = 10 e 8 corse a Reactant = 20. Quindi mi aspetto che un progetto ottimale per l'effetto principale di Reactant soddisfi il vincolo di Reactant totale <= 240.
Per più corse, potresti calcolare tutti i valori di Reactant che danno il maggior numero di corse a 20, e quindi il miglior equilibrio, e comunque soddisfare il vincolo di Reactant <= 240. Quindi utilizzali come set di tabelle candidati per un design ottimale.
Ho calcolato i livelli ottimali di Reactant per 16, 18 e 20 corse (file .xlsx allegato). Allegata anche la tabella delle covariate JMP da 20 esecuzioni.
Ad esempio, l'ho usato per creare il disegno allegato per 20 tirature.Penso che questo sia il progetto D-ottimale per gli effetti principali, dato il vincolo di Reactant totale <= 240.
Questo è un problema interessante. Spero che la mia soluzione sia utile a qualcuno!
Fil