Bonjour,
Je travaille sur un DOE avec deux facteurs cont. et deux facteurs catégoriques
| Facteur |
Niveau bas |
|
Haut niveau |
| Angle CB 1 (continu) |
10 |
|
60 |
| Angle CB 2 (continu) |
10 |
|
60 |
| Barre transversale 1 (Catégorique) |
Doux |
|
Dur |
| Barre transversale 2 (catégorique) |
Rouge |
Jaune |
Bleu |
Passons maintenant aux contraintes :
Angle CB 1 et angle CB 2 <= 70
ET
Pour barre transversale 1 == dur, angle CB 1 == 25
1) Si j'essaie une contrainte linéaire et des combinaisons non autorisées une par une, cela fonctionne (partie 1 et 2 du script), mais si j'inclus les deux contraintes (partie 3 du script), la contrainte linéaire disparaît.
2) L'équilibre entre les surfaces souples et dures de la barre transversale 1 est fortement biaisé en faveur des surfaces souples. Comment corriger ce problème ?
Si vous avez une solution à ce problème, elle serait très appréciée, merci.
Salut,
Si vous avez besoin de contraintes de combinaisons interdites et de contraintes linéaires pour une même conception, vous pouvez écrire les contraintes linéaires comme des combinaisons interdites. Voici un exemple de code qui pourrait fonctionner dans votre cas :
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, 10, 60, "CB Angle 1", 0 ),
Add Factor( Continuous, 10, 60, "CB Angle 2", 0 ),
Add Factor( Categorical, {"Red", "Yellow", "Blue"}, "CB 2", 0 ),
Add Factor( Categorical, {"Soft", "Hard"}, "CB 1", 0 ),
Set Random Seed( 277794177 ), Number of Starts( 7637 ), Add Term( {1, 0} ),
Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ), Add Term( {4, 1} ),
Add Term( {1, 2} ), Add Term( {2, 2} ), Add Alias Term( {1, 1}, {2, 1} ),
Add Alias Term( {1, 1}, {3, 1} ), Add Alias Term( {1, 1}, {4, 1} ),
Add Alias Term( {2, 1}, {3, 1} ), Add Alias Term( {2, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {4, 1} ), Set Sample Size( 12 ),
Disallowed Combinations(
CB 1 == "Hard" & CB Angle 1 <= 24.5 | CB 1 == "Hard" & CB Angle 1 >= 25.5 |
CB Angle 1 + CB Angle 2 > 70
), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
Set Run Order( Randomize ), Make Table}
);
Notez que j'ai changé le "<=" en ">" pour faire de la contrainte linéaire une contrainte "interdite".
J'espère que cela aide.
Salut Soren,
En règle générale, lorsqu'une conception implique plusieurs types de contraintes différents, ma solution de prédilection serait d'utiliser une approche d'ensemble de candidats et d'utiliser la plate-forme de conception personnalisée basée sur cet ensemble de candidats.
Une façon de le créer est de savoir quelle est la taille incrémentale minimale entre les niveaux de facteur (en particulier pour l'angle, êtes-vous capable de définir l'angle avec une précision de 1° ? Plus ? Moins ?), et de créer un tableau de toutes les combinaisons.
- J'ai d'abord créé deux tables pour chacun des facteurs continus, avec une initialisation des données de séquence de 10 à 60 avec un pas de 1 :

- J'effectue ensuite une jointure cartésienne de ces deux tables (2 601 combinaisons possibles dans la table résultante). Je filtre chaque combinaison où Angle 1 + Angle 2 > 70 (1 326 lignes restantes).
- Je crée deux tables pour les facteurs catégoriels et fais une jointure cartésienne entre les deux (6 combinaisons uniques) :

- Finalement, une jointure cartésienne entre ce tableau de facteurs catégoriels et celui continu filtré nous conduit de près à l'ensemble candidat final (7956 lignes).
- J'applique ensuite sur cette table finale la dernière contrainte restante uniquement pour Cross Bar 1 "hard" pour exclure les lignes ne respectant pas la contrainte : Pour Cross Bar 1 == Hard, CB Angle 1 == 25 (4086 lignes restantes).
Vous pouvez trouver cet ensemble de candidats ci-joint.
Vous pouvez ensuite utiliser cet ensemble de candidats avec la plateforme Custom Design, en sélectionnant les exécutions de facteurs de covariables dans votre tableau, en spécifiant le modèle souhaité et un nombre approprié d'exécutions :

Vous pouvez alors avoir une conception optimale construite uniquement avec des exécutions réalisables à partir de votre table d'ensemble de candidats :

Ci-joint le tableau de conception proposé avec 24 exécutions, comme dans votre cas d'utilisation.
Je ne m'attends pas à ce que l'équilibre entre les deux niveaux de la Barre Transversale 1 soit « fixe », car l'espace expérimental du niveau Doux est beaucoup plus vaste que celui du niveau Difficile (en raison de sa contrainte). Essayer de forcer l'équilibre entre les deux niveaux avec la contrainte que vous avez mentionnée pourrait entraîner une conception moins optimale et des estimations de termes moins précises pour d'autres termes.
EDIT : vous obtiendrez la même conception ou une conception similaire avec les mêmes performances si vous utilisez l'approche de @Laura_Lancaster ou celle-ci avec la même taille de course.
J'espère que cette solution fonctionnera pour vous,
Merci Laura. Ça marche. Je ne comprends pas pourquoi cela fonctionne avec la commande « ou » dans les combinaisons interdites et je n'aurais probablement jamais essayé moi-même. Merci.
Salut Victor, c'est génial ! Ça va me permettre de reprendre le contrôle de toutes les contraintes de mes collègues ! Merci beaucoup pour le partage.