Discussion
Started 5th Sep, 2022

Metaheuristic algorithms/ optimization tools

Why use metaheuristic algorithms when there are so many mathematical optimization tools available, like GAMS?

Most recent answer

All replies (4)

5th Sep, 2022
Ben Cardoen
Simon Fraser University
Ankur Maheshwari Very open question, so likely impossible to answer completely, but from a practitioner point of view, you'd use meta (and hyper) heuristics when your search space is either too vast, or irregular, and you can only specify partial/incomplete traits of an optimal solution(s), but not a full model specification (e.g. 'I'll know it when I see it').
To put it differently, metaheuristics work with very limited information about the solution/search space, whereas (domain specific) optimization can exploit more information, with subsequent tighter convergence.
As a hypothetical example, say you're solving a hard engineering optimization problem with differential evolution (DE), only to realize you can actually frame it as an integer programming problem. In that case, specific IP solvers will likely be vastly superior in convergence, because they exploit what DE cannot.
But as I said earlier, "mathematical optimization tools" is very generic, so depending on your interpretation there can be significant overlap.
1 Recommendation
6th Sep, 2022
Ghulam Mohy-ud-din
The Commonwealth Scientific and Industrial Research Organisation
Ankur Maheshwari I agree with Ben Cardoen that a heuristic/partial search algorithm may provide a sufficiently good solution to an optimization problem, especially with incomplete or imperfect information or limited computation capacity where commercial solvers may struggle. But the key issue of heuristics is that they do not guarantee that a globally optimal solution can be found on some class of problems when compared with commercial solvers such as Ipopt, Cplex, Mosek, Gurobi,..., for NLP or MILP or MINLP problems.
1 Recommendation
6th Sep, 2022
Sahand Annabi Milani
University of Tabriz
According to Dr. Ben Cardoen and Dr. Ghulam Mohy-ud-din answering this question is hard, but it's easy to understand if you can understand the objective function.
The objective function is a means to maximize (or minimize) something. This something is a numeric value. In the real world, it could be the cost of a project, a production quantity, profit value, or even materials saved from a streamlined process etc.
There are lots of optimization problems in fields of researches which have varying Objective Functions. The main mathematical optimization tools (As you mentioned) are Gradient-based, which requires the objective function to be Derived and some of them are based on stochastic search (searching around the search space randomly), but as you know:
-Some objective functions cannot be Mathematically modeled or they are too hard to be modeled Mathematically so researchers are unable to use Gradient-Based methods.
-Some objective functions can be modeled mathematically but they are overly complex, like NP-Hard problems and etc. So using mathematical methods is not logical.
-Some objective functions are Non-Monotonic, so the stochastic methods might not find the right answer for the optimization problem (because they cannot escape local optima).
-Some objective functions are Discontinuous, Non-Differentiable etc. so again Gradient-Based methods are unusable.
So here is where the Heuristic or Meta-Heuristic Optimization Algorithms help researchers.
These algorithms are designed to find the global optima and escape from local Optimas. These designs are named by "Exploration" and "Exploitation" in which Exploration refers to searching the unexplored area of the feasible region while exploitation refers to the search of the neighborhood of a promising region. One of the challenges of optimization algorithms is to find the appropriate balance between Exploration and Exploitation.
Sincerely yours,
1 Recommendation

Similar questions and discussions

Is there any source code (Matlab) developed for comparing the performance of different global optimization algorithm on different benchmark functions?
Question
12 answers
  • Bin SheBin She
I am studying on global optimization algorithm now, it seems that there are many different versions of each kind of algorithm. Only for particle swarm optimization (PSO) algorithm, there are many versions like APSO, CPSO, PSOPC, FAPSO, ARPSO, DGHPSOGS (see Han and Liu, 2014, Neurocomputing). In addition, the class of genetic algorithm (GA), differential evolution (ED), ant colony optimization (ACO), simulated annealing (SA) and so on, can also be used to solve the problem. When we develop a new global algorithm, it is worthwhile comparing the performance of these different methods on some benchmark functions (like Resenbrock function and Rastrigin function) in a fair way. For example, I would say the average number of evaluations of cost functions, the success rate, and the average time-consuming is good as measurements for comparison.
So my question is "is there any source code (Matlab) has been developed for comparing different kinds of global optimization (GO) methods?". The code should be easy to use, convenient to fairly compare enough advanced GO methods, and should also have provided enough benchmark functions (given gradient of each function would be better, so that we can compare some gradient-based global optimization algorithm).
I am looking forward to your answer and greatly appreciate your help.
Best wishes,
Bin She.

Related Publications

Article
Full-text available
Recently, substantial progress has been made in developing efficient algorithms for solving combinatorial optimization problems. In this paper, following this direction, the problem of designing supply chains which is an important combinatorial optimization problem is considered. The structural properties of supply chain models are investigated to...
Chapter
In this chapter we present some mathematical problems expressed and solved using the GAMS technology. The applications include computing the inverse of a matrix, the determinant, and the rank of real or complex matrices, solving algebraic systems of real or complex linear equations, determining the polygon of maximal area among all polygons with a...
Article
The Guide to Available Mathematical Software (GAMS) provides a framework for both a scientist-end-user and a librarian-maintainer to deal with large quantities of mathematical and statistical software. This framework includes a classification scheme ...
Got a technical question?
Get high-quality answers from experts.