List of Projects Cs
List of Projects Cs
Procedure to decide on a project: You will have to send me your preferences via email or give them to
me on paper in class, ranking all 6 projects in decreasing order: your preferred project coming first. You are requested to do it by Wednesday September, 15 at 3:00pm. Failing to do so will result in 5 points off your final grade for this project and being assigned a random (possibly not preferred) project.
black box) This algorithm will have to be flexible enough that several strategies of hybridization will be possible. You will design a testing strategy of evaluation of the different hybridizations.
You will analyze and report on the performance of the several hybridizations you have designed. 3. You will draw general conclusions (based on your experiments) about strategies of hybridization. Technical details: Programming language: C/C++ Provided software: RealPaver Type of problems to consider: Non-linear objective function, defined over a continuous search space, possibly subject to possibly non-linear constraints. Possible variation: Multi-objective optimization.
Context: (taken from Pooling Problem: Alternate Formulations and Solution Methods, by Audet, Brimberg, Hansen, Le Digabel, Mladenovic) The pooling problem, which is fundamental to the petroleum industry, describes a situation in which products possessing different attribute qualities are mixed in a series of pools in such a way that the attribute qualities of the blended products of the end pools must satisfy given requirements. This problem is expressed as an optimization problem. Tasks: In this project, you will have to: Review at least four different techniques to solve this specific pooling problem, discuss and theoretically compare them. These techniques should include any technique presented in the abovementioned paper. Implement at least one technique and possibly use already developed other techniques in order to run a experimental testing strategy from which you will derive experimental comparison and conclusions. Technical details: Your programming language(s) will be determined by the software that you will be using, if you use already developed algorithms. For all algorithms that you will be implementing, language will be up to you, provided that you can justify why it is a good choice. Data: You will have to test and compare your work and/or the chosen algorithms against the benchmarks provided in the above-mentioned paper. If you need more data, please ask Dr. Ceberio.
Therefore, you will have to make assumptions about the problem you solve when using each of these algorithms. You will have to explain these assumptions.
You will also have to explain how these assumptions along with the corresponding algorithms impact the properties of the solution. You will then have to: 4. run experiments, report and analyze their results: comparing the results gotten for each of the algorithms you picked in terms of time to solution, quality and properties of the solutions. Technical details: You are free to use any programming language of your choice: however, whichever choice you make, you will have to justify it as the best language of choice to solve this problem.
process, etc. The catch is that you do not know any model for the value to minimize. You know about its values through the use of a black-box software that is provided to you: you feed values of the variables in (which hopefully satisfy the constraints) and you get a value of the quantity to minimize as the output. Using a black-box component can make the whole optimization process very tricky since it dramatically limits your knowledge of the problem. The goal of this project is to design and implement at least two approaches to solving this problem, compare them, and suggest future techniques to solve it more efficiently (by providing an idea of the lower bound complexity of this problem). Tasks: In this project, you will have to: review the literature about black-box optimization and the current solving techniques; pick at least two of the current techniques, implement them; design a testing strategy, run the corresponding experiments, analyze your results, and draw conclusions; suggest future work related to the techniques you have tested, which could improve the performance of the current techniques.
Technical details: You are free to use any programming language of your choice: however, whichever choice you make, you will have to justify it as the best language of choice to solve this problem. Data: The constraints should be the result of an automatic generator that is consistent with your testing strategy. As for the black-box component, Dr. Ceberio will act as your black-box optimization software. Each time you will need to perform any evaluation, you will have to email Dr. Ceberio asking for a value. There will be no guarantee about when a solution will come back to you, if at all (just like in real-life use of black-box optimizers / software).