# forum.alglib.net

ALGLIB forum
 It is currently Thu Apr 25, 2024 1:25 am

 All times are UTC

### Forum rules

1. This forum can be used for discussion of both ALGLIB-related and general numerical analysis questions
2. This forum is English-only - postings in other languages will be removed.

 Page 1 of 1 [ 2 posts ]
 Print view Previous topic | Next topic
Author Message
 Post subject: The least squares problemPosted: Fri Jul 14, 2023 9:38 am

Joined: Fri Jul 14, 2023 9:18 am
Posts: 1
Dear everyone , dear Sergey :

I have a multi parameter function that needs optimization,

The least squares problem, where F (x, y, z)=ax+by+cz, with coefficients a, b>>c, results in the gradient of z being much smaller than that of a and b. The range of parameters is approximately x [2-5] y [1-3] z [-0.08~0.08]. How to dynamically adjust gradients to improve the accuracy of z

Expand the derivative of z to adjust the scale to be roughly the same as the derivative of x and y?

minbleicstate state;
minbleicreport rep;
double epsg = epsg0 ;
double epsf = epsf0 ;
double epsx = epsx0 ;
ae_int_t maxits = 1000 ; //

minbleiccreate(x, state);
minbleicsetbc(state, bndl, bndu);

//==Is this the order of magnitude for setting parameters related to their coefficients? Is the usage correct here for me?
//real_1d_array xScale;
//int LenS = x.length();
//xScale.setlength(pn);
//int nt_num = LenS/5;
//for(int j=0;j<nt_num;j++){
// xScale[0 * nt_num + j] = 100;
// xScale[1*nt_num+j] = 100 ;
// xScale[2 * nt_num + j] = 1;
// xScale[3*nt_num+j] = 0.5 ;
// xScale[4*nt_num+j] = 0.5 ;
//}
//minbleicsetscale(state,xScale);
//minbleicsetprecscale(state);

minbleicsetcond(state, epsg, epsf, epsx, maxits);
//minbleicoptguardsmoothness(state);

//minlmsetacctype(state,1)
const xparams _params = alglib::xdefault;
minbleicrestartfrom(state,x,_params);
minbleicresults(state, x, rep);

Top

 Post subject: Re: The least squares problemPosted: Sat Jul 15, 2023 10:16 am

Joined: Fri May 07, 2010 7:06 am
Posts: 906
Hi!

This specific example is not a problem for BLEIC. The difference in magnitudes is just 10x, first order optimization algorithms can easily deal with differences up to 10000x.

Most often difference in gradient magnitudes comes from different variable scales, so you did it right when you specified scaling with setscale(). It deals with the most part of ill conditioning, and the rest can be handled by the optimizer.

Sergey

Top

 Display posts from previous: All posts1 day7 days2 weeks1 month3 months6 months1 year Sort by AuthorPost timeSubject AscendingDescending
 Page 1 of 1 [ 2 posts ]

 All times are UTC

#### Who is online

Users browsing this forum: Google [Bot] and 84 guests

 You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum

Search for:
 Jump to:  Select a forum ------------------ ALGLIB forum    ALGLIB-discuss
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group