# Optimization of models (ANN, radial basis, etc.) in R to target predictor levels to produce a desired response

I've learned how to use some packages like neuralnet and caret to create models based on designed experiments and am getting to the point where I think my models are relatively decent.

There's a program called ISight that some others at my company use for radial basis function analysis. I prefer R for a bunch of reasons, but one of the features it has is an "optimizer."

This lets you input a desired value for your response(s) and it chugs away and produces it's best suggestion of what input variable values will achieve this output. It also allows you to weight each output response importance (if you have multiple responses) and will drive toward a weighted/balanced response set based on your ranking.

I'm wondering if there's something like this for R?

I could just generate a huge data frame of various combinations, run it through the predict functions of my models and then look for the responses around my target value, which will tell me at what approximate input values I can achieve that value?

That will probably be fine for one response, but when I start trying to model multiple responses it will be much more difficult to figure out which input levels optimize across the whole array of desired output values.

Feel free to provide any terminology used to describe this. I'm new to the area and only know that ISight calls it the "optimizer." My google searches may have been poor due to not knowing what to call what I'm looking for.

• This reminds one of model-adaptive control. – EngrStudent Jul 29 '14 at 14:18

I emailed Max Kuhn, the creator of the R caret package about this and he replied with the following bibliography and a couple package suggestions, since they were handy due to the pending publication of his new book (now published):

I thought I'd share them since the question was still unanswered. I think the issue was in how I phrased what I was trying to do, i.e. "optimization" vs. "desirability," though I think I've also heard this called a "design search" and I don't really get hits for that either. In any case, here was his response:

John,

There are a few "multi parameter optimization" tools. The one I use the most is based on desirability functions:

Derringer, G., & Suich, R. (1980). Simultaneous optimization of several response variables. Journal of Quality Technology, 12(4), 214­219.

Raymond H. Myers, Douglas C. Montgomery, Christine M. Anderson-Cook (2009) Response Surface Methodology: Process and Product Optimization Using Designed Experiments (section 6.6)

Costa, N. R., Lourenço, J., & Pereira, Z. L. (2011). Desirability function approach: A review and performance evaluation in adverse conditions. Chemometrics and Intelligent Laboratory Systems, 107(2), 234­244.

Mostaghim, S., Trautmann, H., & Mersmann, O. (2011). Preference-based multi-objective particle swarm optimization using desirabilities. Parallel Problem Solving From Nature­PPSN XI, 101­110.

Cruz-Monteagudo, M., Borges, F., & Cordeiro, M. N. D. S. (2011). Jointly Handling Potency and Toxicity of Antimicrobial Peptidomimetics by Simple Rules from Desirability Theory and Chemoinformatics. Journal of Chemical Information and Modeling, 111209133000007. doi:10.1021/ci2002186

Segall, M., Champness, E., Leeding, C., Lilien, R., Mettu, R., & Stevens, B. (2011). Applying Medicinal Chemistry Transformations and Multiparameter Optimization to Guide the Search for High-Quality Leads and Candidates. Journal of Chemical Information and Modeling, 51(11), 2967­2976. doi:10.1021/ci2003208

Wager, T. T., Hou, X., Verhoest, P. R., & Villalobos, A. (2010). Moving beyond Rules: The Development of a Central Nervous System Multiparameter Optimization (CNS MPO) Approach To Enable Alignment of Druglike Properties. ACS Chemical Neuroscience, 1(6), 435­449. doi:10.1021/cn100008c

There are a few R packages to do this:

• desirability (link)
• desire (link)

The desirability package has an example in the vignette that may be similar to what you want to do.

Max