Re: [R] Creating Optimization Constraints

2012-10-18 Thread boylangc
Dr. Varadhan:

   Perfect. Package Rsolnp is exactly what I was looking for.  Thank you very 
much.

r/
Greg


-Original Message-
From: Ravi Varadhan ravi.varad...@jhu.edu
Sent: Oct 17, 2012 10:24 AM
To: 'boyla...@earthlink.net' boyla...@earthlink.net
Cc: r-help@r-project.org r-help@r-project.org
Subject: Re: [R] Creating Optimization Constraints

You have nonlinear constraints on the parameters.  Take a look at constrained 
optimization algorithms in packages alabama or Rsolnp that can handle 
non-linearly constrained optimization problems.

Ravi

Ravi Varadhan, Ph.D.
Assistant Professor
The Center on Aging and Health
Division of Geriatric Medicine  Gerontology
Johns Hopkins University
rvarad...@jhmi.edumailto:rvarad...@jhmi.edu
410-502-2619


   [[alternative HTML version deleted]]

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Creating Optimization Constraints

2012-10-17 Thread Ravi Varadhan
You have nonlinear constraints on the parameters.  Take a look at constrained 
optimization algorithms in packages alabama or Rsolnp that can handle 
non-linearly constrained optimization problems.

Ravi

Ravi Varadhan, Ph.D.
Assistant Professor
The Center on Aging and Health
Division of Geriatric Medicine  Gerontology
Johns Hopkins University
rvarad...@jhmi.edumailto:rvarad...@jhmi.edu
410-502-2619


[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


[R] Creating Optimization Constraints

2012-10-16 Thread boylangc
Good afternoon,

  In the code below, I have a set of functions (m1,m2,m3,s1,s2, and s3) which 
represent response surface designs for the mean and variance for three response 
variables, followed by an objective function that uses the Big M method to 
minimize variance (that is, push s1, s2, and s3 as close to 0 as possible) and 
hit targets for each of the three means (which are 0, 10, and 100, 
respectively). The results are OK but s1 and s3 are negative.  I want to 
incorporate a constraint or set of constraints that requires s1, s2, and s3 to 
be = 0.  I apologize if this is a dumb question and the answer may be 
staring me in the face, but after several hours of tinkering with min and max 
functions within the objective function and performing google searches for 
adding constraints to optimization functions or the like, I am at a loss.  I 
am also sure there is a much more elegant way to code what I have done and so 
apologize for any crudeness there.  

Thank you for any assistance.  Code follows:

#Define the Response Surface Designs
m1-function(x) {
x1-x[1]
x2-x[2]
2.1754-0.2219*x1-0.1493*x2-0.1656*x1^2-0.2911*x2^2-0.0862*x1*x2}

m2-function(x) {
x1-x[1]
x2-x[2]
10.0005+0.0465*x1+0.0492*x2-0.0139*x1^2-0.0050*x2^2-0.0325*x1*x2}

m3-function(x) {
x1-x[1]
x2-x[2]
95.1074+0.5288*x1+0.6521*x2-0.1746*x1^2-0.1357*x2^2-0.0712*x1*x2}

s1-function(x) {
x1-x[1]
x2-x[2]
0.0311+0.*x1+0.00032*x2-0.01226*x1^2-0.01209*x2^2-0.00075*x1*x2}

s2-function(x) {
x1-x[1]
x2-x[2]
0.003588-0.00022*x1-0.001967*x2+0.001482*x1^2+0.000245*x2^2+0.001375*x1*x2}

s3-function(x) {
x1-x[1]
x2-x[2]
0.17789+0.00683*x1+0.006478*x2-0.07143*x1^2-0.06860*x2^2+0.01338*x1*x2}

# Define the Big M
M - 10

#Defining the Objective Function
objective1-function(x) {
  x1-x[1]
  x2-x[2]
  M*(s1(c(x1,x2)))+M*(s2(c(x1,x2))) + M*(s3(c(x1,x2))) + 
(1/3)*m1(c(x1,x2)) + (1/3)*abs(m2(c(x1,x2))-10) + (1/3)*(100-m3(c(x1,x2)))}

#Optimization
result1 - nlminb(start=c(-0.3976,1.5541), objective1, gradient = NULL, hessian 
= NULL, lower = c(-1.682,-1.682), upper = c(1.682,1.682))

result1$objective

m1(c(result1$par))
m2(c(result1$par))
m3(c(result1$par))
s1(c(result1$par))
s2(c(result1$par))
s3(c(result1$par))


Thanks for any help,
Greg

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.