From: Ian Scott <ian.scott@st...>  20060330 14:38:13

Syed Hassan Amin wrote: > Dear Sir, > I am applying vnl_levenberg marquardt optimization. > I want to know two things about its usage : > 1). I want to restrict each of my parameter vector to > certain range ie. b<=p(i)<=a See http://paine.wiau.man.ac.uk/pub/doc_vxl/books/core/book_6.html#SEC61 for an answer to a similar question. I am thinking of updating that FAQ with something like the following info: We don't have any industrialstrength* constrained optimisers in VXL. Constained optimisation is very difficult, and solutions are usually very tied to the particular constaints and cost function. However, optimisation of a convex cost function with box inequality constraints is a fairly common situation, and I believe there should be code out there for it. Last time I looked (about 3 years ago) there were free simple* constained optimisers available  google for Leon Bottou, and several industrialstrength* tools advertised for sale. Recently however, Tim Cootes has added a simple* quadraticprogramming optimiser (core/vnl/algo/vnl_solve_qp.*) However, if you thinking of using vnl_levenberg_marquardt, then your problem is unlikely to be QP. *Here I am defining simple to mean "works on numerically easy problems  ie a cost function with lowdimension parameter vector, a wellconditioned Hessian and Jacobian". Industrialstrength means "works with numerically harder problems" > 2). How do I apply custom updates to my parameter > vector. If you want to apply your own update every n iterations: Set max_iterations to n run the optimiser, which should terminate early apply your update to the optimiser's result repeat until converged. Ian. 