Définir les contraintes factorielles n'est-il pas quelque chose que je devrais laisser seul ou prétendre qu'il n'existe pas ?
Un sage ne fait rien par contrainte. -Marcus Tullius Cicéron
Si vous vous êtes senti intimidé par la section Définir les contraintes factorielles dans le concepteur personnalisé, vous êtes en bonne compagnie.Apparemment, même Cicero a peut-être trouvé la section Définir les contraintes de facteur du concepteur personnalisé de JMP intimidante.

Choisir quoi que ce soit dans cette section autre que "aucun" peut être un peu angoissant pour ceux qui ne savent pas encore à quel point il peut être facile à utiliser. Il s'avère que JMP dispose déjà des outils dont vous avez besoin pour en faire une expérience facile.
Attendez. Je ne suis même pas sûr de savoir ce que vous entendez par "contraintes factorielles". Que sont-ils? Pour quoi sont-ils utilisés?
Dans de nombreuses expériences, les niveaux bas et élevés de facteurs se combinent de manière impossible, détruiraient l'équipement ou deviendraient extrêmement coûteux. Par exemple, imaginez qu'une entreprise mène une expérience pour maximiser la production d'un processus spécifique. L'entreprise peut utiliser deux machines : la machine A a un numéro abrégé de 1 à 5, mais la machine B est plus récente et son numéro est de 1 à 6. Ce serait le bon moment pour savoir comment utiliser les contraintes factorielles lors de la conception d'une expérience.
Ok, je suis curieux. Pouvez-vous me guider à travers la première option (Spécifier les contraintes linéaires) ?
Dans l'expérience illustrée ci-dessous, imaginez que vous êtes un expérimentateur essayant de maximiser le rendement d'une réaction dans un processus de four qui inclut la température et la pression. Un problème est que le four ne peut pas fonctionner à haute température et haute pression—le four cassera. Vous avez donc besoin d'un moyen de limiter l'espace de conception du DOE afin qu'aucune course ne soit créée qui casse le four. C'est une excellente opportunité pour l'option Spécifier les contraintes linéaires.

Pour remplir la section Contraintes linéaires, il est utile de sortir du concepteur personnalisé et de visualiser l'espace de conception. En utilisant Graph Builder et en discutant avec des experts en processus, vous pouvez développer le graphique ci-dessous, où toute exécution DOE qui se produit dans la zone ombragée bleue est garantie de ne pas casser le four. Les experts en processus (et la maintenance) sont heureux que vous ayez promis de ne pas expérimenter dans la région vide dans le coin supérieur droit du graphique.

Maintenant, tout ce que vous avez à faire est de trouver un moyen de transformer le graphique en un moyen de remplir la section Contraintes linéaires du concepteur personnalisé. Il s'avère que le Graph Builder peut déjà le faire. Tout ce que vous avez à faire est de masquer/exclure toutes les lignes à l'exception des deux lignes qui composent la ligne inclinée pour la limite, puis de demander au générateur de graphiques l'équation qui correspond à la ligne pour les points restants.

Ce graphique vous indique que le four peut fonctionner correctement tant que Y (température) est inférieur à la ligne.Un tout petit peu d'algèbre et de substitution est nécessaire : ajoutez 2x à chaque côté de l'équation, puis remplacez la température par Y et la pression par X, et vous avez ce dont vous avez besoin pour remplir la section Contraintes linéaires dans le concepteur personnalisé.


Après avoir créé le tableau DOE, vous pouvez vérifier à l'aide du générateur de graphiques et voir que le DOE évite la zone gênante de haute température et de haute pression dans le four.

Cela semble simple. Qu'en est-il de l'exemple précédent avec des machines qui avaient des contraintes différentes ? Comment cela devrait-il être géré?
Les machines avec des contraintes différentes sont mieux gérées avec la deuxième option, le filtre de combinaisons non autorisées. Utilisez ce filtre pour spécifier les combinaisons de facteurs à exclure (c'est-à-dire à interdire) de l'expérience. Considérez la liste suivante de problèmes avec trois machines que vous souhaitez inclure dans une expérience pour maximiser la productivité. Chaque machine a été conçue avec un réglage de vitesse de courroie allant de 1 à 5 et un levier magique à quatre positions, marqué de 1 à 4 (personne ne sait ce qu'il fait ; vous l'incluez comme facteur parce que vous en êtes convaincu ne fait rien et vous voulez le supprimer de toutes les machines) :
- La machine A ne peut pas descendre en dessous de la vitesse de bande de 2 ou le moteur surchauffe
- La machine B ne peut pas dépasser la vitesse de bande de 4 ou elle déclenche un disjoncteur
- La machine C a un levier magique qui ne peut pas être poussé en position 4 à moins qu'une personne très forte ne le dirige.
L'utilisation de l'interface pour faire en sorte que le filtre de combinaisons non autorisées ressemble à l'exemple ci-dessous indique à JMP de ne pas choisir d'exécutions qui correspondent à l'une des contraintes répertoriées ci-dessus.

Après avoir créé la table DOE, utilisez le générateur de graphiques pour vérifier que les contraintes ont été correctement gérées.

Ok, les deux premières options semblent assez faciles maintenant. La troisième option est sûrement celle dont tout le monde a peur, n'est-ce pas ?
En fait, le script de combinaisons non autorisées est souvent le moyen le plus simple de limiter les facteurs dans un DOE, car JMP fait déjà le travail ; vous n'avez qu'à copier/coller dans la boîte de script. Repensez au premier exemple, où il y avait une ligne droite au bord de l'espace de conception Température/Pression admissible. Et si, au lieu d'une ligne droite, vous aviez besoin d'une ligne courbe ? Ce n'est pas quelque chose qui pourrait être entré dans la section Contraintes linéaires ou dans la section Combinaisons non autorisées. Cependant, il est facile d'entrer dans la session de script de combinaisons non autorisées. La clé, dans ce cas, consiste à utiliser la plate-forme Ajuster Y par X pour ajuster une ligne (Polynôme, 2ème ordre) à la bordure courbe de l'espace de conception autorisé, puis copier la formule que JMP a déjà créée (notez que dans le graphique ci-dessous, les points dans les autres coins étaient Exclus mais pas Masqués, et les lignes supplémentaires ont été tracées à l'aide de l'outil Ligne du menu Outils).

La copie de la formule de la ligne de la plate-forme Ajuster Y par X dans la section Script de combinaisons non autorisées dans le concepteur personnalisé vous permet d'atteindre 99 % du chemin. Il vous suffit de remplacer le '=' dans la formule par '> ', car toute température supérieure à cette courbe doit être interdite.

Après avoir créé la table DOE, vous pouvez vérifier que la ligne qui sépare les exécutions acceptables des exécutions inacceptables est maintenant courbée.

Cela semble plus facile maintenant. Je suppose que je n'avais peur de rien, n'est-ce pas ?
Eh bien, j'aime à penser que si Cicero savait à quel point les contraintes DOE étaient faciles dans JMP (et avait vécu assez longtemps pour utiliser JMP), sa citation aurait été :
Un expérimentateur avisé ne craint aucune contrainte factorielle. -Cicéron éclairé
J'ai joint un Journal JMP à cet article de blog pour vous permettre de suivre et de recréer tout ce qui est décrit ci-dessus. En tant que défi, réfléchissez à la façon dont vous créeriez une contrainte avec trois facteurs (ou plus) au lieu de deux seulement (indice : réfléchissez à la façon dont la plate-forme Fit Model peut afficher une formule).
Que diriez-vous d'une contrainte selon laquelle nous ne pouvons effectuer que N exécutions pour un niveau de facteur particulier ? JMP peut-il gérer cela ?
@Jed_Campbell oui, merci. Si je crée une conception classique à 3 facteurs et 2 niveaux, j'obtiens 8 exécutions. En me concentrant sur le facteur X3, on me donne quatre exécutions au niveau L1 et quatre exécutions au niveau L2. La contrainte est que nous ne pouvons exécuter L2 que deux fois. Puis-je générer une conception optimale avec cette contrainte ? Idéalement, je voudrais au moins 80 % de puissance pour les facteurs X1 et X2, puis maximiser la puissance pour X3.
Discussions intéressantes !
Quelqu'un sait-il s'il est possible d'utiliser des instructions conditionnelles dans le script des combinaisons interdites ?
Par exemple : Deux facteurs X1 et X2 ;
Si : 0 <= X1 <= 1
Alors : X² > 10
(Ce n'est pas le code que j'ai utilisé.)
Mon problème est bien plus complexe et je suis tout à fait disposé à en discuter, mais je voulais d'abord vérifier le bon fonctionnement des instructions conditionnelles avant d'entrer dans les détails. Lorsque j'insère mes contraintes conditionnelles et que j'essaie de générer un schéma, JMP affiche le message suivant :
« Les termes sélectionnés dans le plan du modèle dépendent linéairement des termes précédents. Veuillez cliquer sur le bouton Supprimer le terme et réessayer. »
Je ne sais pas si cela signifie que ma contrainte est mal insérée ou si JMP ne gère tout simplement pas les contraintes conditionnelles. Toute aide serait la bienvenue. Merci.
Salut @MC_Kowalski
Oui, c'est possible, mais JMP privilégie l'utilisation d'une condition ET. Dans l'image ci-dessous, je spécifie qu'aucune valeur n'est autorisée lorsque X1 est compris entre 0 et 1 ET lorsque X2 ≤ 10, ce qui est fonctionnellement équivalent à la condition SI que vous avez écrite précédemment. JMP peut générer ces conditions automatiquement si vous utilisez le filtre « Combinaisons interdites » pour définir l'espace interdit, puis enregistrez le script DOE dans la fenêtre de script.

@Jed_Campbell
Merci pour votre réponse rapide ! Mon problème est résolu !
Je travaillais avec une contrainte à 3 facteurs/dimensions et j'ai pu la vérifier en inondant l'espace d'entrée avec une conception de remplissage d'espace FFF de 10 000 exécutions.