[ADMB Users] bounded_vector elements
sibert at hawaii.edu
Wed Nov 10 15:33:49 PST 2010
Making certain parameters negative in the .dat file when the bounds are
>0 probably wouldn't work as you expect.
You could consider the declared parameters (init_number_vector) to be
"dummies", declare a dvar_vector of the real parameters, and assign
appropriate values, changing the sign as necessary, to the from the
init_number_vector to the dvar_vector. You need to do the assignments in
the PROCEDURE_SECTION because the value of dummy will change after each
function evaluation. A bit kludgy perhaps, but it would work.
!! const double ub = 2.0;
init_bounded_number dummy(1,n, 0.0, ub);
for (int i = 1; i < n/2; i++)
a(i) = dummy(i);
for (int i = n/2; i <= n; i++)
a(i) = -1.0*dummy(i);
You could make it a bit more elegant (and save a loop) by creating a
vector of constant multipliers (either -1.0 or 1.0) in the .dat file.
On 11/10/2010 11:35 AM, Steve Martell wrote:
> Yes read the manual on init_bounded_number_vectors
> init_int n
> // ...
> // need to create some vectors to hold the bounds and
> // phase numbers
> dvector lb(1,n);
> dvector ub(1,n);
> ivector ph(1,n);
> // get the desired values into lb,ub,ph somehow
> init_bounded_number_vector a(1,n,lb,ub,ph)
> On 2010-11-10, at 1:28 PM, Mollie Brooks wrote:
>> I think the answer is probably "no", but is there a way to create a
>> bounded_vector with different bounds on different elements?
>> I need this because I store my model coefficients in a vector to be
>> multiplied by the matrix of predictors and I want to restrict some
>> coefficients to be positive and others negative. Maybe this could go
>> on a to-do list?
>> I guess I could hack this by restricting the coefficients to be
>> positive and making certain predictors negative in my .dat file.
>> Users mailing list
>> Users at admb-project.org <mailto:Users at admb-project.org>
> Steve Martell
> s.martell at fisheries.ubc.ca <mailto:s.martell at fisheries.ubc.ca>
> Users mailing list
> Users at admb-project.org
Emeritus Researcher, SOEST
University of Hawaii at Manoa
Visit the ADMB project http://admb-project.org/
More information about the Users