No matter what kind of engineer you are, or what systems you are working on, your projects will have sensitivities. In simplistic terms, sensitivity is a measure of how much changing an input will vary the output. From a mathematical point of view, you can assign coefficients to describe how important each input is, and generate a model of your process. From a practical point of view, this means it’s important to understand which factors in the project you are working on are the critical factors.
For instance, let’s take making biscuits as an engineering project. Making basic biscuits is a fairly simple, well-known process. There are only a few ingredients, it only takes one bowl, and cooking only involves popping them in the oven. So what parameters do we have in our process? For the purposes of the example, let’s make a short list (although there can be many more):
– amount of butter
– amount of baking soda and baking powder
– color of bowl for mixing
– temperature of oven
Some of these factors we can immediately dismiss as irrelevant. For instance, common sense tells us that it doesn’t matter what color bowl you use to make biscuits. What about the others?
Let’s take amount of baking powder and baking soda. I can tell you from experience (I have made a LOT of biscuits in my time…) that if you screw up the measurement of these ingredients, you get a terrible biscuit. We could figure that out from a knowledge of basic chemistry, too: both baking powder and baking soda are rising agents, and cause a chemical reaction that makes the biscuits light and fluffy. Changing the amount of reagents will have a huge effect on the final product. So, we can say that biscuits have a high sensitivity to the amount of baking powder and soda.
Let’s consider the amount of butter. You can change the amount of butter by +/- 25% and still have a decent biscuit. This means that biscuits are not very sensitive to butter. But wait – there is more to it than that. Remember that sensitivity is the effect that the input has on the output. The input here is butter, but what is the output? More butter is better for taste, but less butter is better for calorie count. Oh man. Now our biscuit making process has both multiple inputs, and multiple outputs. That’s called a MIMO system, and it means that our sensitivity coefficients can be a MATRIX relating the inputs of outputs.
What about temperature of the oven? Well, I make my biscuits at 400F like it says in the cookbook directions. But my mother makes them at 350F, and they seem about the same to me. I could make some common sense guesses at what effect the temperature has, but honestly I don’t know. I could also try to do a thermodynamic analysis to predict the effect of oven temperature, but that would take me a lot of time and I’m not sure of the heat transfer characteristics of biscuit dough. So in this case, if I want to determine the sensitivity, I should just do some testing. Trying a few batches of biscuits at different baking temperatures would allow me to determine an empircial sensitivity.
And once you understand all the sensitivities, then you can start messing with the process. You can add herbs and cheddar cheese to make savory biscuits, you can add cinnamon and double the vanilla for sweeter biscuits, or you can swap half the flour for wheat flour to make heavier rolls for dinner. Since you know how to make appropriate changes to (or not to mess with) the critical parameters, you will still end up with a delicious output.
Whew. So what have we learned from this simple exercise?
Sensitivity is a measure of the variation caused in the output by changes to the inputs of the system. To determine sensitivity, you can use: common sense, domain experience (either yours, or find someone who knows), fundamental calculations, and testing.
How does this apply to real engineering situations? And why is it helpful to figure out the sensitivity?
If you are a chemical engineer, you might have to know what the critical parameters are in a reaction column – is it the temperature? The amount of reactant? The packing factor? All of the above? If you know the sensitivity of your column to these factors, you know when you should be worried. If the temperature has increased by 1F, does that mean something is about to explode? If the packing factor of a new material is twice as much as the old material, is that going to completely change the process? If your boss wants to paint the column orange, do you care enough to argue? (Maybe. I hate orange. But as an engineer, probably not…)
If you are a mechanical engineer like me in charge of making products, what are the key parts of the manufacturing process? Does the feedstock need to be high purity? Does the machining feed and speed need to be exactly the same every time? How much wear on the end mill is acceptable before burrs become a problem? If you have a model of the manufacturing process, then you know where your wiggle room is before the product goes out of spec, and you know which problems to focus your energy on.
If you are an EE or CS major working on code – well, gees, somebody out there will have to tell me. Every time I code, the WHOLE things seems sensitive – miss one semicolon, and my code is toast! 🙂
So what projects do you work on, and do you know how sensitive it is to the parameters?