Which algorithms are needed to solve an optimization problem?
-
Please suggest name of some optimization algorithms.
-
Answer:
Depends on your optimization problem. Here are some algorithms you can google. 1. Simplex method for linear optimization. 2. Nelder-Mead simplex method for nonlinear optimization. 3. Steepest descent. Gradient descent. 4. Conjugate gradient method (for positive definite problems). 5. Bi-conjugate gradient method (for not positive definite problems). 6. Newton's method for optimization. Create a system of equations based on the derivatives. Also see secant method. 7. Bracketing methods - including the bisection algorithm. 8. Quasi-Newton methods - see BFGS algorithm and limited memory BFGS. also Davidon-Fletcher-Powell, DFP. 9. Newton and quasi-newton methods with a confidence region. 10. Particle swarm. 11. Genetic algorithms. 12. Simulated anealing. There are more, I am sure. Some methods work better for different situations. A combinations of methods may be used also. Some methods require only function values and some require derivatives or approximate the derivatives. Basically optimization of a differentiable function is finding roots of the derivatives, so you will see a lot of root finding methods applied to optimization problems. Keep in mind also the difference in local and global optimums when you apply algorithms.
Adrian Bennett at Quora Visit the source
Other answers
Eclipsoid Method / Mirror Descend / Self-Concordent Barrier / EM / Dynamic Programming / Convex Relaxation just some minor additions to Adrain Bennett's answer. :)
Tengyuan Terry Liang
This depends on what approach you wish to take as per the needs and requirements of your problem. Computationally, we can attack any optimization problem in three ways: 1. Exact programming (DP, Branch and Bround, etc) 2. Heuristics 3. Metaheuristics (intelligent heuristics like PSO, Firefly) All the three categories have different classes of algorithms for optimization task.
Mohit Mishra
Its not an algorithm. It is a technique called "Dynamic programming". Here is a link- http://en.wikipedia.org/wiki/Dynamic_programming
Sourabh Bansal
Related Q & A:
- How do I solve the problem of downloading word document attached to my email?Best solution by support.google.com
- How do you solve this chemistry problem? Need HELP?Best solution by Yahoo! Answers
- Which are the google algorithms?Best solution by google.com
- How do I solve the coin problem?Best solution by Quora
- How we can solve this html problem?Best solution by wiki.answers.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.