Which General Purpose Solver is Recommended for Optimisation Problems?

  • Thread starter jon535
  • Start date
  • Tags
    General
In summary, Mathematica 6.0 is a recommended general purpose solver for optimization problems, especially for constrained nonlinear optimization. It is relatively quick and easy to use, and can be integrated with Excel spreadsheets. The program allows users to input a profit function and multiple constraints to find the maximum profit based on different variables. It also provides an exact answer, which can be approximated for simpler solutions. Overall, Mathematica 6.0 is a powerful tool for solving optimization problems for businesses.
  • #1
jon535
1
0
Can anyone recommend a good general purpose solver for optimisation problems. E.g. something better than Excels' Solver add-in. I'm looking for something that is relatively quick and easy to use, and prefereably can be made to work with Excel spreadsheets without too much effort.

Thanks..
 
Mathematics news on Phys.org
  • #2
Mathematica 6.0.

You can do constrained nonlinear optimization with the maximize and minimize command.

For example, I want to maximize a profit function of two variables that is not linear subject to the constraints on two item prices, p1 and p2:

constraint 1
region of viable prices that leads to non-negative demand:
[tex]10395 \text{p1}+5150\geq 9983 \text{p2}\land \left(\left(\text{p1}>\frac{3000037}{199980}\land 10 \text{p1}\leq 37 \text{p2}+\frac{3000037}{19998}\right)\lor \left(\text{p2}\geq 0\land 0\leq \text{p1}\land \text{p1}\leq \frac{3000037}{199980}\right)\right)[/tex]

constraint 2
budget constraint is equivalent to:
[tex]236059065 \text{p1}=921404813 \text{p2}+1676144666[/tex]


And the approximate profit function:
[tex]-1.31380\times 10^6+133216. \text{p1}-5934.12 \text{p1}^2-172176. \text{p2}+22612.1 \text{p1} \text{p2}-629.842 \text{p2}^2[/tex]


So the command I enter is this:
[tex]\text{Maximize}\left[\left\{profit[p1,p2],10395 \text{p1}+5150\geq 9983 \text{p2}\land \left(\left(\text{p1}>\frac{3000037}{199980}\land 10 \text{p1}\leq 37 \text{p2}+\frac{3000037}{19998}\right)\lor \left(\text{p2}\geq 0\land 0\leq \text{p1}\land \text{p1}\leq \frac{3000037}{199980}\right)\right),[/tex][tex]-\frac{20 (236059065 \text{p1}-921404813 \text{p2}-7017594666)}{106829}=1000000\right\},\{\text{p1},\text{p2}\}][/tex]
The list is of the form {profit[p1,p2], constraint 1, constraint 2} and it gives the EXACT answer which is really long but can be approximated by throwing //N after it.
[tex]\{2.22971\times 10^6,\{\text{p1}\to 133.135,\text{p2}\to 32.2893\}\}[/tex]So for my fictitious company, the max profit will be about 2.2 million dollars, achieved when the price of the first item is 133.14 and the other is 32.29. Incidentally, this was a basic model of a company that sells a hardcover and softcover edition of a book, the cheaper one being the latter of course.

In a word: Mathematica 6.0.
 
  • #3


One popular and highly recommended general purpose solver for optimization problems is the GNU Linear Programming Kit (GLPK). It is an open-source software and can be easily integrated with Excel spreadsheets through the use of its Excel add-in. GLPK is known for its speed and efficiency in solving linear and mixed-integer programming problems. It also has a user-friendly interface, making it relatively easy to use for those with limited experience in optimization. Other options to consider are the commercial solvers such as Gurobi and CPLEX, which are also known for their performance and compatibility with Excel. Ultimately, the best solver for your specific needs will depend on the complexity of your problem and your budget. It may be helpful to do some research and compare different solvers to find the best fit for your optimization needs.
 

FAQ: Which General Purpose Solver is Recommended for Optimisation Problems?

What is a general purpose solver?

A general purpose solver is a computer program or algorithm that can solve a wide range of mathematical and computational problems. It is designed to be flexible and adaptable, making it useful for a variety of applications.

What types of problems can a general purpose solver solve?

A general purpose solver can solve a variety of problems in areas such as optimization, linear algebra, differential equations, and graph theory. It can also be used for data analysis and machine learning tasks.

How does a general purpose solver work?

A general purpose solver works by using a combination of mathematical and computational techniques to find a solution to a given problem. It may use iterative methods, numerical algorithms, or symbolic computation to find an optimal solution.

What are the advantages of using a general purpose solver?

One of the main advantages of using a general purpose solver is its versatility. It can be applied to a wide range of problems, making it a useful tool for many different fields of study. It also allows for faster and more efficient problem solving compared to manual methods.

Are there any limitations to using a general purpose solver?

While general purpose solvers are useful for many applications, they may not always provide the most accurate or optimal solutions for complex problems. Additionally, some problems may require specialized techniques or algorithms that a general purpose solver may not have built-in. In these cases, a specialized solver may be more appropriate.

Back
Top