BFGS Lower and Upper Bounds Properties

15 views
Skip to first unread message

AS

unread,
Jul 1, 2014, 10:49:41 AM7/1/14
to accor...@googlegroups.com
Hi,

I was trying to set the lower and upper bounds on the BFGS optimizer but it looks like these properties are declared with a get only. The documentation however mentions:

Public property LowerBounds:
Gets or sets the lower bounds of the interval in which the solution must be found.

with a similar entry for UpperBounds. Would it make sense to add a setter for these properties?

Thanks!


César

unread,
Jul 1, 2014, 11:22:24 AM7/1/14
to accor...@googlegroups.com
Hi there!

The properties of the L-BFGS optimizer were meant to be set as in:

var optimizer = new BroydenFletcherGoldfarbShanno( ... );
optimizer
.LowerBounds[0] = 5;
optimizer
.LowerBounds[1] = 1;
// ... etc

This has been created this way because the double[] vectors containing the upper and lower bounds for LBFGS are created in the optimizer's constructor. By setting them afterwards to something else would be the same as discarding the memory that has already been allocated. However, I can see it might be useful to have a set method to configure all values at once using an already existing array. 

The next framework release is bringing a big update in the optimization algorithms, so I will consider adding this. Thanks for the suggestion!

Best regards,
Cesar

asax...@gmail.com

unread,
Jul 1, 2014, 12:21:32 PM7/1/14
to accor...@googlegroups.com
Hi Cesar,

That makes sense. Thank you!

-AS

Reply all
Reply to author
Forward
0 new messages