From: Nicholas Kinar on 3 May 2010 15:42 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 3 May 2010 17:40 > > 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 3 May 2010 17:54 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 3 May 2010 19:35 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 4 May 2010 02:13 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
|
Next
|
Last
Pages: 1 2 Prev: Finite difference of Boussinesq equation for waterr table dynamics Next: Generate graph paper |