Set Project Constraints
When setting up a screening or optimization design in Uncountable, the ability to include some or most of the input variables should be guided by the expertise of the user. In order to keep track of those limitations/requirements, constraints are set up. The option to restrict ingredients for the generation of formulations on the Uncountable platform can be accessed via clicking on the Calculate button (on the left side panel) and then selecting the Set Constraints tab in the pop-up.
1. Starting off
Setting ingredient units. As users do differ in the notation of formulations, different options to sum up the parts of the formulation are available. Two most popular options are: Percentage and Parts. When “Percentage” is selected as a unit, the constraints are automatically summed up to 100%. The platform warns when the limits cannot be achieved with the current set of constraints. When “Parts” is selected as a unit, the constraints are not required to sum up to 100.
Partial Constraints Vs. Full Constraints
Partial Constraints should be used when you want to choose some of the ingredients that will be used in the generated formulations, and want the rest of the formulation filled in based on past data. When suggesting experiments using Partial Constraints, new ingredients will automatically be added to the generated formulations by Uncountable’s model.
Full Constraints should be used when you know exactly which ingredients should be used in the generated formulations. When suggesting experiments using Full Constraints, only the ingredients in the original constraints set will be used in the generated formulations. With Full Constraints, you can either perform a screening design to explore the input space; or can perform experiment suggestions based on past data and a spec to optimize.
2. Adding Inputs
An empty set of constraints is automatically generated with the creation of the project. When accessing the tab for the first, no ingredients or process parameters are present. In order to fill in the respective inputs, multiple options exist.
Add ingredients and process parameters manually. For more control during the selection process, the necessary ingredients can be added one by one by clicking on the “+ Add Ingredient” or “+ Add Parameter” button. A window with all possible inputs will be displayed and all necessary ones can directly be selected for the constraint set. If any ingredient is non existing, clicking on “Add new” offers the possibility to do that in the same window. After having selected all inputs, clicking on “Add Inputs” will let them appear on the constraints page.
Load recipe as base. You can also load a past recipe as a base via clicking on the cogwheel and selecting Load Recipe As Base. The ingredient constraints will be fixed at the respective amount stated in the selected recipe.
Add project inputs. If all ingredients present in the project should be constrained for an optimization, “Add Project Inputs” is a handy way to add them in one click rather than adding all inputs manually. All ingredients and process parameters present in the project will appear on the constraint page.
Add common inputs. Based on the formulations present within the project, frequently used ingredients and process parameters will be added.
3. Setting constraints
After having all necessary ingredients and process parameters within the set, constraints can be set to form recipes.
Setting input constraints. After having selected all inputs, setting of constraints for all inputs is necessary. Please note that text based inputs cannot be constrained. For every numeric input, the following parameters can be set:
- Use. The first decision is to select how often the input should be included in all generated formulations by clicking on the options in the “Use?” column. “Always use” will include the input in the formulation in all suggestions, “Never use” will exclude the input. With “Sometimes use”, the probability of appearance can be changed to a value between 0 and 1 by re-clicking on the “Use” button. For example, if you want an input to be used either at 25% or 0%, you can use the “Sometimes use” option, and then set the minimum and maximum to be 25%.
- Minimum & Maximum. These 2 columns can be used to input the high and low values for the input. The value will be defaulted into the same value, but you can click into the cell to adjust.
- For more context on how an input is used on past data, clicking on the “Info” button next to the input will reveal a set of statistics on the usage patterns in the project
- Categorical Constraints. The number of inputs as well as the total quantity within a category can be set at the bottom of the respective category by clicking “+ Category Constraint”. For example, if you would like to set a maximum of only 2 polymer can be used in a formula and they sum up to a total within 20 – 60, you can set the “# Polymer Present” line to be a maximum of 2 and the “Polymer Total” within 20 – 60, and then the system will select between the couple of options denoted in the constraints set.
4. Saving and locking constraints
After having set up all constraints for the respective input, saving the constraints for generating new formulations is essential. Before saving, hit the “Test Constraints” button to avoid having an incomplete set. After that, you can either overwrite the current set or save it under a new name when clicking on the dropdown arrow next to “Overwrite Constraints”
Once you are done editing the constraints, if you do not want others to modify them, you can click on the purple lock button on the left side of the constraints name and lock it. Unless you check the “Globally Removable” box, otherwise, the lock can only be removed by the original creator or an admin.
5. A few advanced settings
Show Advanced Options
Advanced options (which can be activated via the cogwheel in the top right corner) offer the possibility to adapt the selected inputs for the training. The predicting value can be changed in order to be respected within training. As the formulation algorithm learns from the input to predict, input is preselected as auto for training. Please note that enabling or disabling inputs as predictors can enhance/diminish the performance of the model.
After enabling the Advanced Options, a new column (Predictor?) will appear on the constraints page. One can manually set inputs as predictors or non-predictors or auto.
Advanced constraints
When the previously set constraints are not enough to reflect the optimization problem, additional, advanced constraints are available. They can be found at the bottom of the page.
Equation Constraint
Equations are a valuable tool to combine different ingredients and get new metrics. Related to “Calculations”, equations are a temporary condition to limit the usage of ingredients in regard to previously undisplayable aspects in “Constraints”.
Generic Constraint
Generic constraints offer the possibility to combine different inputs or their respective categories and limit their usage together. The combination between the two is either by logical operators, ratios or the minima/maxima of the combination.
Sum Constraint
The sum of selected ingredients in this constraint does stay within the set interval of quantity or number of ingredients.
Calculation Constraint
If calculations have been created within the project, the result of the selected calculation for this constraint can be constrained.
Ingredient Pair Constraint
As the name tells, two ingredients can be paired/not paired together. Either the two appear at the same time or are excluded from the formulation when paired.
Additional Predictors
If needed, one can not only add inputs, but also outputs/experiment metadata/condition parameters as predictors in the model. This function is stored under the additional predictors section at the bottom of the page.
Among the three options listed above, the most common use case is the condition parameters. E.g. I want to add test temperature and aging time to the model and see how those two affect the outputs. If condition parameters are added as predictors here, on the set project spec page, you might not need to add any conditions to the outputs you want to predict. You can then train the model as you normally would (making sure you select the proper constraints with condition parameters added). After the model has been trained, there will be a message highlighted in yellow showing the number of data points generated by splitting X number of experiments with different condition parameter pairs. Those additional predictors appear under the effect sizes along with all other predictors in the model.