Skip to content

Minimization/Optimization under functional constraints

4 messages · Uwe Ligges, jdospina, forget_f1

#
Hi,

I hope someone can help me with the following issue.

I need find the minimum beta that satisfies the following:

inf{beta>0 | f(x+beta*f(x))*f(x)<=0}

where f() is a function and x is a sample statistic.

Functions such as "nlminb" and "constrOptim" minimize a function and output
the parameter (under parameter constraints).  I need to minimize the
parameter (also constraint) under the functional constraint.  

Obviously,  I can start with a vector for beta (starting from 0) and find
when the switch from >0 to <=0 occurs for the functional argument, but was
wondering if there is a more efficient method/function. 

Thanks!!!

--
View this message in context: http://r.789695.n4.nabble.com/Minimization-Optimization-under-functional-constraints-tp3899020p3899020.html
Sent from the R help mailing list archive at Nabble.com.
#
On 12.10.2011 20:13, forget_f1 wrote:
If monotonicity in beta is given , why not minimize 
(f(x+beta*f(x))*f(x))^2 for beta with the box constrained that beta > 0?

Uwe Ligges
#
You can use the DEoptim function in DEoptim package and to include a line of
code within your objective function that assigns a very high value when the
constraints are not satisfied. I have tried that and it works. 

-----
Juan David Ospina Arango

School of Statistics
Universidad Nacional de Colombia, Colombia

Laboratoire de Traitement du Signal et de l'Image
Universit? de Rennes 1, France
--
View this message in context: http://r.789695.n4.nabble.com/Minimization-Optimization-under-functional-constraints-tp3899020p3901757.html
Sent from the R help mailing list archive at Nabble.com.
1 day later
#
Thanks for your help...actually there is monotonicity in beta so minimizing
the square of the functional constraint works.  I verified it with a brute
force search  (while loop).

For the sake of knowledge this is what someone else suggested (but didn't
work in my case)

Since x is fixed (given the data), you are really just trying to find

  inf{beta>0 | g(beta) <= 0}

where g() is defined in the obvious way.

If you can be sure that the infimum is not 0, then you can get rid of
the constraint beta>0 to transforming the problem to

  inf{gamma | h(gamma) <= 0}

where, e.g., h(gamma) = g(exp(gamma)).

Now, if your original f is continuous and isn't constant over any
interval, say, then you could try to solve for the zeros of h, and the
smallest one should be what you're looking for.  Finding all the zeros
of h could still be hard of course, and I suspect your problem isn't
that nice anyway or you wouldn't be asking me.

--
View this message in context: http://r.789695.n4.nabble.com/Minimization-Optimization-under-functional-constraints-tp3899020p3905137.html
Sent from the R help mailing list archive at Nabble.com.