Sensitivity

Sensitivity

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?

6 comments

The best example I can come up with for EE stuff is for Error Budgets. If you reduce all elements in a circuit to sensitivities, you know which are the most critical (and subsequently which to spend the most money on buying a quality part).

For example, the feedback resistor in an op amp might need to have a much higher quality resistor, simply because small variations in the value of the resistor (due to temperature, time drift or otherwise) will cause large shifts at the output. Contrast that with a pull up resistor on a data line (which prevents a data line from drifting when it’s not driven) can have a large variation in values. The only thing that varies is the amount of current it consumes. As long as it pulls the line up to 5V when not used, it’s working and has no effect on the circuit otherwise. Digital in general does not have to worry about these effects, but analog does every single day.

Way to steal my example, I was going to say the same thing :-).

Adding to your point though, IC designers have to worry about all sorts of sensitivities. Process gradients, temperature, supply voltage, and transistor size are all important things to consider when designing an IC. I know during one of my classes where I was designing an opamp I spent most of the time on the front end differential stage making sure the two input transistors were optimized. I also had to learn certain layout techniques like common centroid and the use of multi-finger transistors to minimize process gradient sensitivities. It was a frustrating balancing act but for the most part I enjoyed it and learned a lot.

The main parametes of my studies are energy use (electricity, stream, natural gas) and cost (operating and capital). The base case is the existing processes. The new case is the new process. Typically the main parameters that affect performance are temperature and vacuum pressure. Models are developed from experiments that describe their effect on the process. Ultimately a lower vacuum and higher temperature will decrease capital cost but will increase operating cost. Easily MINO. There are alos other considerations from for a chemical engineer, a sensitivity analysis (whether it is on a single equipment or the whole process) is a comparison. It is an optimisation study.

In our work in forensic engineering and particularly in vehicular accident reconstruction, you have to assess the sensitivity of many of the parameters that have a measure of inherent uncertainty such as coefficient of friction, vehicular weights, angles of approach and departure, etc. And the sensitivity is different every time. It is a very interesting phenomenon.

Thanks for the helpful article.

Comments are closed.