For OR models, such as TSP, VRP, DARP, Transit, which metaheuristic algorithm you used or have seen that gives you good solutions in terms of computation and quality of answer?
In fact, there are plenty of meta-heuristic algorithms. Several research papers claim that one algorithm is superior than another algorithm. Similarly, TSP, VRP, DARP problems have been solved by almost all algorithms. There are also so many variants of each algorithm. So, it is difficult to say absolutely that which one is the best.
I have applied GA for mixed-integer programming problems. The encoding strategy of GA is such that during the computation, no extra care has to be taken regarding the type of variable, whether integer or real. Once the chromosomes are encoded properly, you can simply forget that the variable is integer or real. However, if the variable goes out of the bounds, then one has to take care to bring them inside the bounds. But that one has to do in case of other algorithms also. Once again, I do not claim that GA is the best for this kind of problems. This is just my experience.
Petrowski, J. Dreo A., and P. Siarry E. Taillard. "Metaheuristics for hard optimization." Springer (2006).
Simulated Annealing and Tabu Search seem to work well for many related problems. A simple alternative (that we tested for the Traveling Purchaser Problem) may be Late Acceptance Hill Climbing:
Goerler, Andreas, Frederik Schulte, and Stefan Voß. "An Application of Late Acceptance Hill-Climbing to the Traveling Purchaser Problem." Computational Logistics. Springer Berlin Heidelberg, 2013. 173-183.
Thanks for your comment. I do agree with you that the solution quality of a meta-heuristic algorithm is highly correlated with the coding skills of the programmer. However, I was wondering how different MH algorithms behave assuming one with mediocre skills on coding. In one research (IEEE paper) I applied GA TS and SA with tuned parameters, SA was 4 times slower than GA but I obtained relatively better solutions. With TS the solution quality was considerably better than the other two. When I tried a bi-objective version of the same problem, results were totally different, NSGA-II performed the best!!
Please let me know if you know or have reviewed any paper in which the author(s) focused on GA specifically on one of the graph based problems and they have provided enough discussion on the coding procedure or pseudo code. I'm interested in learning advanced GA coding skills to develop enhanced codes.
Thanks for your suggestion and the paper. It's been a while I keep seeing variable neighborhood search is being used in the recent literature. I'll sleep on it and will apply to my case to see if it works for me too.
Thanks for the suggestions. DE is actually a potentially good suggestion. I remember my former co workers used this for a SCM problem and obtained good sols. Please let me know in case you've faced a paper which developed DE for such a model properly and discussed the procedure of coding. I'll think about it.
I use Intlinprog when I don't have immidiate accessto GAMS. It'svery good and useful tool to check the model adeuquacy, but sometimes it really gets really confusing, especially with integer values and when the problem is large scale.
Thanks for the suggestion. I scannedthe book this morning and the content seemed intesting and useful for my case. It is the first time I wasintroduced to late acceptance hill climbing. It can be a potentially good algorithm for my case. I'll sleep on it.
I have reviewed several papers on GA. For some of the mechanical and electrical engineering applications, I have also applied GA.
You will get many codes (of course, in C) as well as other discussions from Kanpur Genetic Algorithm Laboratory site. Several papers of Prof. Kalyanmoy Deb are interesting. In the "optimtool" toolbox of MATLAB, there is one inbuilt function "ga". You can try "edit ga" at the command prompt of MATLAB. You may get the code also. Of course, some of the MATLAB functions do not open using this command. Another way is to download ga toolbox. Then you can edit any function. As you have already applied NSGA II, I think you must be knowing about the code available on net by Sheshadri.
just saw that the people who developed Late Acceptance Hill Climbing (LAHC) came up with a multiheuristic solver. That's probably a good thing to compare metaheuristics with reasonable effort.
http://www.yuribykov.com/LAHC/
On the other hand, there are, of course, frameworks like HotFrame or HeuristicLab which may be interesting as well.
For the TSP problem, there are many benchmarks and type of problems. A problem with 100 cities can vary from another one by its topology. For example China would be very different from Japan. One is much more clustered than the other.
I would look at the TSP lib from Concord. I would also look at Helgaun and Shigarzawa. They have solved most of the TSP benchmarks. I would recommend you to use an hybrid meta-heuristic, such as an iterated local search. In my recent publication, I have found this type of operations works better together.
I appreciate introducing me the webpage of Kanpur GA lab. I'll check it.
I worked with optimtool in Matlab, but I personally prefer to code the algorithm myself. This way I have more freedom to modify the code or algorithm, create a hybrid platform with other algorithms or work on a good quality initial solution rather than a random initial solution.
thanks for the link. It will make my job easier and faster! I checked LAHC algorithm this morning. It has some similarities to SA in the coding concept. HotFrame and HeuristicLab look rich in terms of supported algorithms. I appreciate your help.
Thanks for your suggestion. However, a major drawback of hybrid algorithms is the vast diversity of this approach. It is hard to combine algorithms to see which combination works the best. Also, in terms of algorithm efficiency and response time, I've observed that Single algorithms work better than hybrid (at least for me). That's why I personally prefer to avoid hybrids as long as I can get good solutions with single algorithms. Unless the hybrid algorithm is a renown algorithm, like ILS as you mentioned.
Within this discussion hybridization did get a negative touch which I believe is not necessary. On a different thread I recently posted something on hybridizing reactive tabu search with simulated annealing (I append it below). There one has an autocatalytic parameterization (the algorithm itself searches for the best parameters and adapts them according to instance, time etc.). Moreover, whenever it deems practical even hybridization of metaheuristics with exact approaches (mathematical programming) can be beneficial - see all the literature on matheuristics.
Appended text as mentioned above:
If simulated annealing is hybridized with other approaches, then a nice way to do so is by using it within the escape mechanism of reactive tabu search; see4, for instance, the following references:
Voß, S., Fink, A.: A hybridized tabu search approach for the minimum
weight vertex cover problem. Journal of Heuristics 18 (2012) 869–876
DOI 10.1007/s10732-012-9211-9
And here is the reference on simulated annealing which does the parameterization we often use:
There is a good source on paramerterization of simulated annealing:
Johnson, D.S., Aragon, C.R., McGeoch, L.A., Schevon, C.: Optimization by simulated annealing: an experimental evaluation; part I, graph partitioning. Operations Research 37, 865–892 (1989)
Some investigations have shown that the combination of evolutionary algorithms and local search approaches (Simulated Annealing, etc.) perform well in these optimization problems