Re: [Numpy-discussion] hairy optimization problem

2009-05-07 Thread Sebastian Walter
hi mathew, 1) what does it mean if a value is None? I.e., what is larger: None or 3? Then first thing I would do is convert the None to a number. 2) Are your arrays integer arrays or double arrays? It's much easier if they are doubles because then you could use standard methods for NLP problems,

Re: [Numpy-discussion] hairy optimization problem

2009-05-07 Thread Mathew Yeates
David Huard wrote: Hi Mathew, You could use Newton's method to optimize for each vi sequentially. If you have an expression for the jacobian, it's even better. Here's the problem. Every time f is evaluated, it returns a set of values. (a row in the matrix) But if we are trying to find the

Re: [Numpy-discussion] hairy optimization problem

2009-05-07 Thread Mathew Yeates
Sebastian Walter wrote: N optimization problems. This is very unusual! Typically the problem at hand can be formulated as *one* optimization problem. yes, this is really not so much an optimization problem as it is a vectorization problem. I am trying to avoid 1) Evaluate f over and over

Re: [Numpy-discussion] hairy optimization problem

2009-05-07 Thread Mathew Yeates
Thanks Ken, I was actually thinking about using caching while on my way into work. Might work. Beats the heck out of using brute force. One other question (maybe I should ask in another thread) what is the canonical method for dealing with missing values? Suppose f(x,y) returns None for some

[Numpy-discussion] hairy optimization problem

2009-05-06 Thread Mathew Yeates
I have a function f(x,y) which produces N values [v1,v2,v3 vN] where some of the values are None (only found after evaluation) each evaluation of f is expensive and N is large. I want N x,y pairs which produce the optimal value in each column. A brute force approach would be to generate

Re: [Numpy-discussion] hairy optimization problem

2009-05-06 Thread David Huard
Hi Mathew, You could use Newton's method to optimize for each vi sequentially. If you have an expression for the jacobian, it's even better. What I'd do is write a class with a method f(self, x, y) that records the result of f(x,y) each time it is called. I would then sample very coarsely the