Suppose we have a machine which takes the input $x_{in}$. In this machine the variable $x_{in}$ is converted to $y_{in}$ with the function $f(x)$, $f(x_{in})=y_{in}$. $f(x)$ is a known function, but not very easy to evaluate.

Secondly the machine is externally measured. This gives a measurement $x_{out}$. Assuming the measurement device has no errors, then there is phenomenon that converts $y_{in}$ to $x_{out}$ by a function, which we call $g(y)$. Since we don't know this phenomenon, $g(y)$ is unknown.

The machine works correct when for every $x_{in} > 0$, $x_{in}$ and $x_{out}$ are close together. To accomplish this, it is possible to set two parameters into the machine. Let's call those parameters $a$ and $b$. These paremeters are used in the following way: we take $y_{in}$ and set $y_{new} = a\times y_{in} + b$.

Since we do not know the function $g(y)$, we do not know what effect those parameters have on the measured output $x_{out}$. So in fact the problem here is about minimizing the following:
$||x_{in} - x_{out}|| = ||x_{in} - g(a\times y_{in} + b)||$
over $a$ and $b$, with the unknown function $g(y)$.

At the moment those parameters are set by using trial and error, but it can take up to two days to get the best set of parameters.

Now I've read some things about

  • Simulated Annealing
  • Black box optimization
  • Surrogate modelling

But I'm not sure if I am looking in the right direction. Or if this problem is even solvable without trial and error. If it is solvable is there someopne who can give me some good referecences to this type of problems?

  • $\begingroup$ I can hardly make any sense of what is written. It looks like you are talking to someone who knows your setup better than yourself, but, alas, most likely there is no such person here. Can you explain the setup slowly and clearly and ask a concise mathematical question about it? $\endgroup$
    – fedja
    Dec 5, 2017 at 5:00
  • $\begingroup$ Editted the question, hope that it makes more sense now. $\endgroup$ Dec 6, 2017 at 7:40
  • $\begingroup$ What about first approximating $g$, (say, by choosing $a=1$, $b=0$ and sample it at sufficiently many points), and then optimize $\| x - g(af(x)-b) \|$? Also, What norm are you using? Are $x$ and $y$ numbers, vectors? $\endgroup$
    – Amir Sagiv
    Dec 6, 2017 at 8:03
  • 1
    $\begingroup$ As far as editing goes, I would take out the two first paragraphs, they are confusing. You want to minimize $\| x- g(af(x)-b)\|$ where $f$ is known, $g$ isn't, with $x,a,b\in \mathbb{R}$ and some norm. $\endgroup$
    – Amir Sagiv
    Dec 6, 2017 at 8:05
  • 2
    $\begingroup$ This is a classical inverse problem. If you can evaluate derivatives of $f$ and $g$, there are several options; if not, derivative-free methods such as Nelder--Mead simplex or simulated annealing are pretty much it. (If you have a lot of data points $(x_{in},x_{out})$, you could also try deep learning techniques, but that's a different kettle of fish.) $\endgroup$ Feb 10, 2018 at 17:05

1 Answer 1


The scenario you are describing is a bandit optimization, see chapter 6 in http://ocobook.cs.princeton.edu/OCObook.pdf .


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.