From: Nicholas Kinar on
Hello---

I've written an M-file with a non-linear mathematical model f(x1,
x2,...,x14) = A. This model cannot be expressed as a simple equation
since it requires a number of function evaluations. The function has 14
input variables and a single output A, which is a rational number. To
find values for the variables {x1, x2,...,x14} which are mapped to the
function output A, I would like to minimize

f(x1,...,x14) - a_known = 0

where a_known is a known function output. I've been using the Matlab
fmincon() and fminsearch() functions to minimize the equation above
subject to constraints, but convergence does not occur, and it seems
that the LHS of the equation will "bounce around," with the LHS becoming
smaller or larger at every function evaluation.

Could anyone suggest some steps that I could take to try and ensure
convergence of the LHS? Would there be a good book or monograph
available on this topic?

I cannot use brute-force to iterate over ranges of parameters since this
would take too long. How can I ensure convergence?

This problem possibly belongs to a more general group of problems: given
the output of a function, find the function input variables. Has anyone
seen something similar?


Nicholas
From: Nicholas Kinar on

>
> where a_known is a known function output. I've been using the Matlab
> fmincon() and fminsearch() functions to minimize the equation above
> subject to constraints, but convergence does not occur, and it seems
> that the LHS of the equation will "bounce around," with the LHS becoming
> smaller or larger at every function evaluation.
>

Could this have something to do with round-off error?
From: Bruno Luong on
Even it becomes more or less daily, I'm still despaired to observe people trying to calculate 14 unknown parameters from one input, and they wonder next why the tool does not do a miracle for them.

Bruno
From: Nicholas Kinar on
On 10-05-03 3:54 PM, Bruno Luong wrote:
> Even it becomes more or less daily, I'm still despaired to observe
> people trying to calculate 14 unknown parameters from one input, and
> they wonder next why the tool does not do a miracle for them.
>
> Bruno

You're right, these Matlab functions were not the right tool. I had to
use KNITRO instead of just Matlab. With the proper constraints, I was
able to achieve convergence.

Nicholas
From: Bruno Luong on
Nicholas Kinar <n.kinar(a)usask.ca> wrote in message <4BDF5DB6.3080902(a)usask.ca>...
> On 10-05-03 3:54 PM, Bruno Luong wrote:
> > Even it becomes more or less daily, I'm still despaired to observe
> > people trying to calculate 14 unknown parameters from one input, and
> > they wonder next why the tool does not do a miracle for them.
> >
> > Bruno
>
> You're right, these Matlab functions were not the right tool. I had to
> use KNITRO instead of just Matlab. With the proper constraints, I was
> able to achieve convergence.

Convergence to a "right" solution? Take a function of 2 variables (instead of 14).

f(x1,x2) = x1 + x2;

knowing f(x1,x2) = 10;

Can you run KNITRO and tell us what solution "converges" to? (5,5)? (4,6)? (0, 10)? (-inf,inf)?

Good luck,

Bruno