09-01-2015
Hutch_sas
SAS Employee
Member since
06-23-2011
- 94 Posts
- 0 Likes Given
- 0 Solutions
- 34 Likes Received
-
Latest posts by Hutch_sas
Subject Views Posted 6198 07-25-2014 11:43 AM 6198 07-24-2014 04:22 PM 6198 07-23-2014 03:55 PM 6312 07-23-2014 10:50 AM 6312 07-23-2014 09:28 AM 6312 07-22-2014 10:36 AM 6312 07-22-2014 10:30 AM 2861 07-15-2014 10:04 AM 2337 07-15-2014 09:39 AM 3043 07-11-2014 12:52 PM -
Activity Feed for Hutch_sas
- Got a Like for Re: ERROR: (execution) Invalid subscript or subscript out of range.. 12-31-2016 10:30 AM
- Got a Like for Re: How to name an unknown dimention column. 09-01-2015 04:24 AM
- Got a Like for Re: How to name an unknown dimention column. 09-01-2015 04:24 AM
- Got a Like for Re: NLPQN. 09-01-2015 04:24 AM
- Got a Like for Re: Tournament selection in genetic algorithm. 09-01-2015 04:24 AM
- Got a Like for Re: converting SAS OPTMODEL to SAS/IML. 09-01-2015 04:24 AM
- Got a Like for Re: Computational Accuracy and Efficiency for the NLPNMS. 09-01-2015 04:24 AM
- Got a Like for Re: Computational Accuracy and Efficiency for the NLPNMS. 09-01-2015 04:24 AM
- Got a Like for Re: Product of functions/Variable scope. 09-01-2015 04:24 AM
- Got a Like for Re: Is it possible to redefine subroutines in a subroutine?. 09-01-2015 04:24 AM
- Got a Like for Re: Is it possible to redefine subroutines in a subroutine?. 09-01-2015 04:24 AM
- Posted Re: Is it possible to redefine subroutines in a subroutine? on SAS/IML Software and Matrix Computations. 07-25-2014 11:43 AM
- Posted Re: Is it possible to redefine subroutines in a subroutine? on SAS/IML Software and Matrix Computations. 07-24-2014 04:22 PM
- Posted Re: Is it possible to redefine subroutines in a subroutine? on SAS/IML Software and Matrix Computations. 07-23-2014 03:55 PM
- Posted Re: Is it possible to redefine subroutines in a subroutine? on SAS/IML Software and Matrix Computations. 07-23-2014 10:50 AM
- Posted Re: Is it possible to redefine subroutines in a subroutine? on SAS/IML Software and Matrix Computations. 07-23-2014 09:28 AM
- Posted Re: Is it possible to redefine subroutines in a subroutine? on SAS/IML Software and Matrix Computations. 07-22-2014 10:36 AM
- Posted Re: Is it possible to redefine subroutines in a subroutine? on SAS/IML Software and Matrix Computations. 07-22-2014 10:30 AM
- Posted Re: Product of functions/Variable scope on SAS/IML Software and Matrix Computations. 07-15-2014 10:04 AM
- Posted Re: How to aggregate a tree efficiently? on SAS/IML Software and Matrix Computations. 07-15-2014 09:39 AM
-
My Liked Posts
Subject Likes Posted 1 02-07-2013 03:50 PM 3 06-30-2014 09:42 AM 3 03-19-2014 02:02 PM 3 07-01-2014 10:33 AM 3 07-15-2014 10:04 AM
07-25-2014
11:43 AM
The optimization method should only be generating feasible points in the search. It looks like you are setting conh before you define mincvf(); your statement: conh={0.4 . .,. . .,. . .}; should come AFTER the"start mincvf(CVF1);" statement.
... View more
07-24-2014
04:22 PM
You could specify a lower bound or linear constraint, see in the IML doc under Nonlinear Optimization Examples->Details->Parameter Constraints
... View more
07-23-2014
03:55 PM
the warning appears to be saying that the value of (sum(le)-le ) is 0. This could be due to loss of precision if le >> le, i != x. I recommend you add some conditional print statements, like if (sum(le) - le ) = 0 then do; print temp1, x, i, ue, le; end; in front of the statement: t5 =(sum(ue)-ue )/(sum(le)-le ); to see what is going on.
... View more
07-23-2014
10:50 AM
3 Likes
start outer(p,m) global(newp);
... View more
07-23-2014
09:28 AM
3 Likes
Your subroutine "outer" needs to declare newp in a global clause. Otherwise, when it sets newp it is working with a local variable only, and the "global" newp is not initialized. That is causing the first error in your log.
... View more
07-22-2014
10:36 AM
Oops, I see that you will also have to manipulate m within the loop, but you get the idea?
... View more
07-22-2014
10:30 AM
In IML all subroutine definitions are global, even if you define then inside another subroutine. In your example, could you not accomplish the same goal by using a global clause in mhatx2 and Kmod? That is, use start mhatx2(h) global(p,m,pi,e); start Kmod(x,h) global(pi,e); and manipulate p in your "outer" routine. maybe use something like: start outer(p_input) global(p,e,pi,m); m=nrow(p_input); [your existing code] p = p_input(w); hyi =mincvf(CVF1); ...
... View more
07-15-2014
10:04 AM
3 Likes
You need to modify the line: call quad(val, "Func", yinterval); /* evaluate integral on [0, 1] */ val will not be replaced by the quad call. do call quad(result, "Func", yinterval); /* evaluate integral on [0, 1] */ val = result;
... View more
07-15-2014
09:39 AM
What operations do you need to do on the tree? Do you need to be able to add/delete nodes or prune branches? How is the tree to be constructed?
... View more
07-11-2014
12:52 PM
For a 4th degree poynomial there will be generally 4 complex solutions. Looks like the polyroot() function is what you need, check the IML documentation. I suggest you first compute z = polyroot( {1.2 1.2 1.2 1.2 -10) to get the imaginary roots, then since z = 1 + x, x = z-1, just subtract 1 from the first column of z to get x, i. e. proc iml; a = {1.2 1.2 1.2 1.2 -10}; z = polyroot(a); x = z - {1 0,1 0,1 0,1 0}; print x;
... View more
07-01-2014
10:33 AM
3 Likes
The other default values seem to be in line with the 9.1 doc, so there could be an error in the documentation regarding that parameter. It might be helpful if you shared your program, to verify your setup for the optimization.
... View more
06-30-2014
09:42 AM
3 Likes
There are many different ways tolook at computational efficiency. The Nelder-Mead simplex algorithm, because it does not use gradients directly, may require more objective function evaluations than some other techniques such as the conguate gradient method. However, the computation of gradients and Hessians can sometimes be very cpu-intensive themselves, so the least cpu-intensive method generally depends on the problem constraints and objective function. There are also several ways to estimate the accuracy of the results. Look at the SAS/IML doc under Nonlinear Optimization Examples->Details->Termination Criteria. IML provides several options for terminating the optimization process for NLPNMS, based on the relative or absolute change in value of either the objective function or the parameters between iterations of the algorithm, and that should give you some estimate of the accuracy of the results. Obviously, the tighter the termination criteria, the more iterations will be required. Since your input data or model iteslf is probably not exact in the first place, requiring extreme accuracy may not be justified and can lead to excessive run times or numerical problems. Keep in mind also that all the nlp methods will converge to a local optimum, so unless your objective function is complex it is possible that your answer might not always be the global one.
... View more
06-12-2014
08:35 AM
Could you post your current program, and your run-time log?
... View more
06-10-2014
04:15 PM
The problem is that when IML calls your objective function during the optimization, it is supplying a row vector for x. Try transposing x in the second line of your objective module, i.e. sum= m [,2:3]*x` + m [,1]; and see if that doesn't work as it is supposed to.
... View more
05-28-2014
08:09 AM
Could you give us or point us to a complete mathematical description of your problem?
... View more