0% found this document useful (0 votes)
60 views5 pages

ProjectsMetaheuristics2022 PDF

The document outlines various project categories related to metaheuristic algorithms: 1) Research paper reviews on specific topics such as ant colony optimization, genetic programming, and multiobjective optimization. 2) Application projects involving problems like nurse rostering, timetabling, and image registration solved using metaheuristics. 3) Comparative studies of tools for implementing metaheuristics like ECJ, JMetal, DEAP, and HeuristicLab.

Uploaded by

Nicolas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views5 pages

ProjectsMetaheuristics2022 PDF

The document outlines various project categories related to metaheuristic algorithms: 1) Research paper reviews on specific topics such as ant colony optimization, genetic programming, and multiobjective optimization. 2) Application projects involving problems like nurse rostering, timetabling, and image registration solved using metaheuristics. 3) Comparative studies of tools for implementing metaheuristics like ECJ, JMetal, DEAP, and HeuristicLab.

Uploaded by

Nicolas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Projects - Metaheuristic Algorithms

2022-2023

There are three main categories of projects:

I. Research papers review


Aim: study a couple (2-5) of recently published papers (in well-recognized journals in the field) related to
a specific topic and prepare a review of the main results reported in the paper.
Content: the review should contain: (i) a description of the problem addressed in the paper(s); (ii) a clear
presentation of the main contribution(s) of the paper(s); (iii) a discussion on the similarities/differences
between the approaches presented in different papers or a critical review of the results; (iv) practical illustra-
tion of the results (if it is the case) - it might involve implementing some algorithms or using some already
existing implementations; (v) a list of limits of the proposed solutions/methods (if it is the case) + list of
open problems (providing ideas of how they might be addressed represents a plus).
Proposed topics (based on papers selected from IEEE Transactions on Evolutionary Computation -
https://cis.ieee.org/publications/t-evolutionary-computation):

1. Ant Colony Optimization (ACO)


2. Covariance Matrix Adaptation - Evolution Strategy (CMA-ES)
3. Cooperative Coevolution
4. Estimation of Distribution Algorithms (EDA)

5. Evolutionary Neural Networks


6. Differential Evolution (DE)
7. Genetic Programming (GP)

8. Memetic Algorithms (MA)


9. Multimodal Optimization
10. Multiobjective Optimization
11. Parameter Tuning in Metaheuristic Algorithms

12. Particle Swarm Optimization (PSO)


13. Multitask optimization
14. Applications of Metaheuristic algorithms

Remark: the paper(s) available in the corresponding folder represent only the starting point - usually a
couple of other papers mentioned in the list of references included in the paper should be also read.

1
II. Application oriented projects

1. Nurse rostering. This is a practical problem asking to find a schedule of nurses in a hospital. It
is in fact a constraint satisfaction problem which can be solved by using different meta-heuristics
(evolutionary algorithms (EA), estimation of distribution algorithms (EDA), ant colony optimization
(ACO), variable neighborhood search (VNS), tabu search (TS), hyperheuristics etc).
Requirement: Select a problem variant, identify and describe an adequate method (based on EA, EDA,
ACO, VNS or TS), implement and test it.
Variants: 5 (EA, EDA, ACO, VNS, TS)
Biblio: applications/nurse rostering, Benchmark: http://www.schedulingbenchmarks.org/
2. Timetabling. It is also a constraint satisfaction problem characterized by the existence of hard
constraints (they should be satisfied) and soft constraints (they can be broken but the score of the
timetabling becomes smaller). There are approaches based on simulated annealing (SA), evolutionary
algorithms (EA), ant colony optimization (ACO), tabu search (TS), variable neighbourhood search
(VNS), particle swarm optimization (PSO)
Requirement: Select a problem variant, identify and describe an adequate method (based on SA, EA,
ACO, TS, VNS or PSO), implement a variant and test it.
Variants: 6 (SA, EA, ACO, TS, VNS or PSO)
Biblio: applications/timetabling
3. Jobshop scheduling - JSS. In a job scheduling problem, there are given n jobs {J1 , J2 , ..., Jn }
characterized by different processing times. These jobs have to be scheduled on m machines in such a
way that the makespan (the total length of the schedule) is minimized. Usually each job consists of a
set of operations (O1 , O2 , ..., On ) which should be executed in a specific order (this means that some
precedence constraints are specified). An operation can be executed on a specific machine or on any
machine of a given set (in the case of flexible jobshop scheduling.
Related projects:
(a) Evolving dispatching rules by Genetic Programming (subfolder Hyperheuristics+GP)
(b) Assignment of workwers to tasks (based on their skills) - subfolder TaskEmployeeAssignment
Biblio: applications/jobshop scheduling
4. Regular Expressions Inference. The regular expressions are useful to extract information from text.
Automatic synthesis of regular expressions starting from examples can be done by genetic programming.
Requirement: Analyze the implementation(s) available at
https://github.com/MaLeLabTs/RegexGenerator and
http://regex.inginf.units.it, adapt and test them for generating regular expressions which allow to
extract text fragments (a.g. numerical values in a text).
Biblio: applications/RegularExpressionsInference

5. Community detection in networks. The aim is to identify the groups of highly interconneted
nodes in a network. The problem is similar to that of graph partitioning such that the nodes in a
partition are highly connected while the nodes in different partitions are sparsely connected. It can be
solved by using clustering techniques but also evolutionary algorithms.
Requirement: Study aof the community detection problem, implementation of an EA and its testing
for a test problem (e.g. Zachary’s club problem).
Biblio: applications/communities detection

2
6. Software testing. The evolutionary algorithms and other nature inspire metaheuristics (e.g. ACO)
can be used to generate test cases for software analysis.
Requirement: Study of the applicability of evolutionary algorithm in software testing. Choose an
evolutionary algorithm to generate test cases for a software product and implement it.
Biblio. applications/software testing
7. Automated Program Repairing. Automatic generation of patches used to remove bugs from
software or to make an application more efficient can be done using genetic programming. The patches
are usually small pieces of code which are generated starting from some templates and are evaluated
using the behavior of the program for some testcases.
Requirement: Comparative study of different approaches in automated patches generation. A Genetic
Programming based example should be implemented.
Biblio. applications/AutomatedProgramRepair
8. Multilevel thresholding. Image segmentation means identifying regions in the image in such a way
that the pixels belonging to the same region are similar while those belonging to different regions are
dissimilar. For gray level images, one of the simplest segmentation technique relies on threshold(s).
The threshold(s) estimation can be formulated as an optimization problem, e.g. find the threshold
values which maximize the inter-regions variance.
Requirement: Implementing a metaheuristic algorithm (starting from one of the variants described in
the papers provided in the bibliography) to estimate multiple thresholds + testing it on some test
images (http://sipi.usc.edu/database/,
http://www.imageprocessingplace.com/root files V3/image databases.htm)
Biblio: applications/ImageThresholding
9. Image registration. The aim of image registration is to align images of the same scene/object taken
from different viewpoints or using different devices. The task to be solved is to transform a source
image such that it matches a target image. If some corresponding points in the two images are known
then by using them a geometric transformation can be identified. The evolutionary algorithms can be
used to estimate the parameters of transformation models.
Requirement: Choice and implementation of a metaheuristic (e.g. differential evolution, evolutionary
algorithm or particle swarm optimization) for the estimation of the parameters of a transformation
ensuring the registratiom of two medical or satellite images.
Biblio: applications/ImageRegistration
10. Data analysis and prediction. Lately, in the context of major conferences in evolutionary com-
puting (e.g. GECCO, CEC) have been organized competitions on industrial challenges, most of them
addressing prediction problems.
Requirement: Select an approach and illustrate its performance for other examples than those reported.
Description of problems and solutions available at:
• GECCO 2013 (http://www.spotseven.de/gecco-challenge/gecco-challenge-2013/)
• GECCO 2014 (http://www.spotseven.de/gecco-challenge/gecco-challenge-2014/)
• GECCO 2015 (http://www.spotseven.de/gecco-challenge/gecco-challenge-2015/)
• GECCO 2016 - 2022 http://www.human-competitive.org/

III. Comparative studies of tools which can be used for the implementation of various meta-
heuristics. Examples of tools which can be compared:
Metaheuristics:
1. ECJ. http://cs.gmu.edu/ eclab/projects/ecj/
2. JCLEC. http://jclec.sourceforge.net/

3
3. JMetal.http://jmetal.github.io/jMetal/
4. EO. http://eodev.sourceforge.net/
5. DEAP - Distributed Evolutionary Algorithms in Python http://code.google.com/p/deap/
6. Inspyred - Bio-inspired algorithms in Python https://aarongarrett.github.io/inspyred/
7. pySTEP - Python Strongly Typed gEnetic Programming http://pystep.sourceforge.net/
8. jmp75 - a simplified metaheuristics framework for .NET. https://github.com/jmp75/metaheuristics
9. OPT4J - open source Java-based framework for evolutionary computation.
https://sdarg.github.io/opt4j/
10. HeuristicLab - a framework for heuristic and evolutionary algorithms.
http://dev.heuristiclab.com/
11. SOS - Stochastic Optimization Software. https://zenodo.org/record/3237024#.X79292gzZPY
12. Optimizer - Nature-Inspired Python Optimize. https://pythonrepo.com/repo/gugarosa-opytimizer-
python-deep-learning
13. PyMhLib - A Toolbox for Metaheuristics and Hybrid Optimization Methods. https://awesomeopensource.com/pro
tuwien/pymhlib
14. IOHAnalyzer - Analyzer for the empirical performance of Iterative Optimization Heuristics (IOHs)
https://iohanalyzer.liacs.nl/
15. PyADE - Python package for differential evolution algorithms: https://github.com/xKuZz/pyade
Landscape analysis tools:
1. FLACCO - Feature-Based Landscape Analysis of Continuous and Constrained Optimization Prob-
lems: https://github.com/kerschke/flacco
2. LON - Fitness landscape analysis based on networks: http://lonmaps.com/resources/
Requirement. At least two tools should be selected, described and tested for a simple problem (similar
with those used in the lab examples). The project will contain a comparative study of the selected tools.
Teams of 2-3 students can be involved in such a project.

Structure of the projects of type II and III. Each project will consist of:

1. A report (6-12 pages) structured as follows:


• abstract (5 lines): will describe the aim of the report and the main results/remarks/ideas
• introduction: will contain a state of the art concerning the studied method/application; it is based
on the study of the papers specified as references
• detailed presentation of the models/algorithms/problems related to the subject
• detailed presentation of the application + results
• conclusions and open problems
• references
2. A functional application illustrating the behaviour of the method(s) described in the report or using
the software tools selected for comparison.

Remarks.

4
• The papers suggested for references are in the archives ResearchPapers.zip anf Applications.zip
These papers should be used to start the study - other references could be used as well. The report
should be based on at least two references from the provided list.

• The report should not contain paragraphs directly copied from other papers. The existence of such
paragraphs is considered to be plagiarism and such a report cannot be accepted. In order to avoid
plagiarism you should synthesize the main ideas using you own words.

You might also like