[R] How to stop the minimization when the condition does not hold

Aleš Žiberna ales.ziberna at guest.arnes.si
Fri Mar 25 09:16:29 CET 2005


First you have to be more specific, what are actually the parameters of the 
function that
you want to optiomize and what are actually constants.

So you would need to specify your objective function
"function(theta)=lambda*(Constr)^2-f(x,theta)" (which is not realy writen
the R-way)
as
fun<-function(Constr,theta){lambda*(Constr)^2-f(x,theta)}
However, since, if I understand correclty, you don't want Constr to be
smaller or equal to d, you should somehow build this into your objective
function, like:

fun<-function(Constr,theta){lambda*(Constr)^2-f(x,theta)+ifelse(Constr<=d,
Inf, 0)}

I hope this helps,
Ales Ziberna


----- Original Message ----- 
From: "Vicky Landsman" <msvika at mscc.huji.ac.il>
To: <r-help at stat.math.ethz.ch>
Sent: Thursday, March 24, 2005 8:38 PM
Subject: [R] How to stop the minimization when the condition does not hold


> Dear experts!
> I have a minimization problem with non-linear constraint and Objective
> function(theta)=lambda*(Constr)^2-f(x,theta). Theta is a vector of
> parameters.
> I'd like to stop the optimization after the value of the constraint is
> less
> or equal some constant value, say d, and save the last computed value of
> the
> function.
> For this purpose, I thought to define the Objective function like this:
>
> if (Constraint>d) fun<- ....
> else stop
>
> but this does not work with error message:
> Error in f(x, ...) : Object "fun" not found
>
> I am using nlm for minimization.
> Thanks a lot for help and suggestions,
> Vicky Landsman.
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
>




More information about the R-help mailing list