LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

"solver" function that is in Excel

I am looking for a VI that performs like the "solver" add-in that Excel has.
0 Kudos
Message 1 of 7
(4,202 Views)
The solver add-in is Excels optimization program. In LabVEIW there are optimization VIs. They are found under Functions >> Mathematics >> Optimization. I have used the Conjugate Gradient nD VI in a similar way to the solver.
0 Kudos
Message 2 of 7
(4,202 Views)
The important difference between Excel Solver and the conjugate gradient optimizer is that Excel doesn't require the user to form the gradient.  What's that about?
0 Kudos
Message 3 of 7
(3,926 Views)
Different minimizers require different inputs.  Conjugate gradient methods require derivatives (although they can be computed numerically - with a decrease in speed and algorithmic stability).  I prefer the downhill simplex for its stability and ease of use, but it is significantly slower than the conjugate gradient.

For a fairly complete explanation of various minimizer/maximizer functions, check out Numerical Recipes in C, chapter 10.
0 Kudos
Message 4 of 7
(3,904 Views)
Is there a minimizer in LabVIEW that, like Excel Solver, doesn't require me to compute my (error) derivative as well as my (error) function?
0 Kudos
Message 5 of 7
(3,891 Views)
Yes.  Downhill Simplex nD.vi will do it, but you need at least the full version of LabVIEW to have it.  You need to supply starting values, requested accuracy, and function.  I would recommend reading about the method in the above link to Numerical Recipes.  Like all minimizers, there are some tricks to make it work well.

Note: If you have the base version of LabVIEW, it is relatively easy to code the downhill simplex yourself using the methods in Numerical Recipes.
Disclaimer: I have a PhD in physics, so the above statement must be taken with a grain or two of salt Smiley Wink.  Let us know if you need more help.
0 Kudos
Message 6 of 7
(3,876 Views)
I did try it, it wasn't working... got it now-- I was passing garbage into the routine and it couldn't converge.
0 Kudos
Message 7 of 7
(3,863 Views)