Le combinazioni non consentite funzionano bene per progettare esperimenti che rispettano i vincoli non lineari. Potresti aver visto esempi che vincolano punti design all'interno dei confini di North Carolina. Tuttavia, una volta raccolti i dati e creato un modello, le routine di ottimizzazione attualmente non obbediscono alle combinazioni non consentite specificate. Se, per esempio, volevo minimizzare la temperatura per posizione geografica all'interno del North Carolina, e il mio modello predisse il tempo per longitudine e latitudine, la soluzione potrebbe benissimo mandarmi al Polo Nord (es. non in North Carolina!).
Ho sviluppato un work-around che sembra funzionare bene e volevo condividerlo con la comunità degli utenti. Mi scuso se qualcun altro ha già pubblicato qualcosa di simile, ma non ho trovato nulla sull'argomento quando ho cercato.
In sostanza ciò che faccio è creare una colonna per la formula di combinazione non consentita e impostare la proprietà Response Limits di quella colonna per garantire una desiderabilità di 1 se il vincolo è soddisfatto e 0 se è violato. Ho impostato l'importanza per le mie preferenze in Response Limits su 20 in genere (MOLTO importante). Quindi includo quella colonna insieme alla mia risposta effettiva in un profiler per l'ottimizzazione.
Ho incluso un esempio per descrivere la tecnica. In questo esempio ho solo due predittori, X e Y, che hanno una combinazione non consentita descritta da un'equazione cubica (linea tratteggiata rossa). Mostra la soluzione non vincolata (asterisco rosso) e la soluzione vincolata (punto verde pieno) e ho aggiunto i contorni in modo da poter capire perché le ottimizzazioni hanno scelto queste soluzioni.

Se hai altri mezzi per risolvere questo problema, sarei molto interessato a vederli. Spero che questo sia utile per gli altri che fanno lavoro di ottimizzazione.
Casey Volino
Volevo sottolineare che questo work-around funziona anche quando si hanno più vincoli non lineari. Basta combinare le combinazioni consentite in una singola colonna (usando "&"), e procedere come descritto sopra con l'impostazione dei limiti di risposta per quella colonna. Come per tutti i problemi di ottimizzazione, i tuoi valori iniziali contano per l'ottimizzazione.
