Vous êtes sur la page 1sur 8

HE UNIVERSITY OF CALGARY

DEPARTMENT OF ELECTRICAL
AND COMPUTER ENGINEERING
ENEL 641 Project Description, Winter 2016
written by: Laleh Behjat

Introduction and Objectives

Optimization techniques are used in many of the engineering problems, such


as power systems, circuit design, and communications. As part of the course
requirements for ENEL 641 you are asked to work on a project relating
optimization to an engineering problem or investigating a recent advancement
in optimization theory. In this document the main requirements for the
project, the marking scheme and the deadlines for the project are described.
The main objective of this project is to familiarize you with an aspect of
applied optimization technique used in your research area. In your project,
you can focus on modelling, application of a specific technique to a problem
that has already been modelled, numerical techniques used in optimization
or study of a recent advancement of optimization techniques.
At the start of the term, you need to prepare a proposal for your project.
Your proposal will be first peer reviewed to allow you to better understand the
ambiguities in the project. Then, it will be reviewed by the course instructor
to determine the correctness and appropriateness of it. If any modification on
your proposal is necessary, you will be asked to consult the course instructor.

Project Focus

A summary of the main topics that may or may not be the focus of the your
projects are given below:

2.1

Modelling and Optimality Conditions

The first part of any design is to express the system as a mathematical model.
A model expresses the relationships between different parts of a system.
Decision models are concerned with finding a particular or a set of situations.
If the model is a good representation of the real system, the optimal solution
of the model will have a very good chance to be a good decision for the
system. It is important to remember that a model is an approximation of
the real system and its usefulness is highly context-dependent.
The optimality conditions are an important part of the an optimization
formulation. These conditions can be used directly to develop fast algorithms
for specially structured problems, without the need of sophisticated software.
If you choose a modelling project, you can focus on studying a new model
that has been developed, or develop a new model, discuss the optimality
conditions, use a modelling language such as GAMS or AMPL to model
your problem and use an off-the shelf optimization solver to solve it.

2.2

Solution Techniques and Algorithms

Several different techniques exist to solve the optimization problems. For


example, for an unconstrained problem, you can use steepest descent, Newton
or conjugate gradient methods. Also, depending on the problem type, such
as constrained, LP, NLP, IP and so on, different techniques should be used.
Studying the techniques used for solving a specific problem can give more
insight in what the solution means and how to use optimization to find better
solutions.
If you choose a project involving solution techniques and algorithms, you
can focus on studying the differences between few techniques or an in-dept
analysis of a new technique. You should also either develop your own solver or
use off-the shelf optimization solvers to solve different problems and discuss
the results.

2.3

Numerical Algebra and Computer Solutions

Solving an optimization problem will inherently result in solving a system of


equations. Special consideration must be taken to avoid ill-conditioning and
extensive but avoidable numerical computations.
If you choose a project involving numerical algebra and computer solutions, you can focus on studying the effect of the different techniques on the
quality and the cost of the algorithm. You should also use an stablished
algorithm in the context of optimization or study a recent technique.

2.4

Project Scope

Each of the proposed projects must have a contribution in at least one of


the areas discussed in Sections 2.1 to 2.3. The project will consist of three
parts, each with its own deliverable. The students must complete all phases
to complete the project.

Phase 1: Project Proposal

In this phase, you are asked to formulate your project and produce a proposal
for your project. You need to also specify the scope of the project. The
output of this section is an abstract (maximum 2 pages, single column),
indicating your project description, and mathematical formulation the scope
of the project including use of solvers and relation to the optimization class.
Abstract flow:
1. Introduction: Project definition
2. Methodology:
2

Project mathematical formulation


Description of the problem characteristics
Naming of the optimization techniques normally used to solve the
problem
3. Conclusions: Relation to the course
4. bibliography

3.1

Points to Consider When Choosing the Project

The most important thing to consider when you are choosing your project
topic is to remember that this project is for a course on optimization,
and not your thesis. At the end of the project, you need to be able to show
that you have learnt a specific topic on optimization and its relation to the
engineering field. This is your chance to be bold and try something new, for
example a new optimization technique for solving a problem that has been
solved in your research group. If the new technique shows promising results
then you can turn it to a thesis with lots of hard work. If you find out that
the technique is not suitable for your problem and why, you have learnt what
not to do.
Here are 5 things to consider when you want to write the description and
choose the scope of your project. Remember, you do not need to go over
each and everyone of the points or the questions raised in this part. They
are given to show you a roadmap of how to start your project.
Part 1: Ask an expert. Do your background search.
a.

Talk with your supervisor and/or the course instructor about your
problem and discuss his/her opinion on the project and its applicability.

b.

Find a few references that have solved a problem like yours and write
down the formulation and the optimization techniques they used and
discuss the pros and cons.

Part 2: Model your problem


a.

Write down the definition of your project.

b.

Identify variables of your problem.

c.

Identify the cost function(s) of your project.

d.

Identify the constraints of your problem

Part 3: Figure out how hard your project is:


3

a.

Is your problem feasible?

b.

Is your problem convex? Why?

c.

What are the properties of your problem? (i.e.: multi-objective, linear


programming, nonlinear programming, NP-hard.)

d.

What is the scale of your problem? (many variables or a few)

Part 4: Can you simplify your problem?


a.

Do you know an off-the-shelf solver for your problem?

b.

Can your problem be turned convex?

c.

Can you use a relaxation to solve your problem?

d.

Can you reduce the number of constraints or the variables?

Part 5: Can you make your problem more challenging?


a.

Have you found the global minimum? can you?

b.

Where there other parameters and constraints that were ignored in the
original formulation? and what is the impact of adding them?

c.

Can you use a new optimization technique to solve your problem?

d.

Can you use the structure of your problem or a numerical technique


to solve your problem better or faster?

3.2

Marking Scheme

The marking scheme for this phase is broken down as follows:


description
Complete

% for the section


100%

% of the total project mark (out of 20%)


30%

This part of the project is going to be passed or repeated.

Phase 2: Project Implementation

In this phase you are asked to implement and solve the problem proposed in
phase I. Based on the scope defined in Phase I, your problem can be of three
types:

4.1

Modelling and Optimality Conditions

If you have chosen modelling as the main topic of the problem, then in this
phase you need to work mostly on the models that can be used to represent
the problem. For example, you can start with a conventional simple model
that already exists in literature and try to improve upon it or use different
variables that can simplify the solution. You will also need to discuss the
problem type and the optimality conditions and solve a small instance of the
problem to show that the new formulation is solvable.
Minimum Requirements:
1. Investigation and proposal of different models for the problem.
2. Comparison of the models and proving their different optimization
characteristics
3. Solving at least one model using an off the shelf optimization technique.

4.2

Solution Techniques and Algorithms

If you are using a well defined problem, then the main focus of the problem
should be on the optimization techniques that are used to solve your problem or a specific relaxation of it. The main properties of the optimization
techniques used should be discussed and the suitability of them should be
compared. In addition, you can see if any part of the optimization solution
such as lagrange multipliers or dual solution can be used to improve your
solution.
Minimum Requirements:
1. Investigation of different optimization techniques.
2. Solving the proposed problem with at least one model using an off the
shelf optimizer or developing the optimization technique.
3. Testing of the algorithms with a few different test cases of medium to
large size.

4.3

important solvers

To choose a solver, please have a look at the NEOS server: http://www.neosserver.org/neos/. Specially at the optimization tree page: http://www.neosguide.org/optimization-tree. They have a list of different solvers that can be
used for different types of problems.

4.4

Numerical Algebra and Computer Solutions

In case your problem and solution techniques are both well-defined, you can
investigate or develop numerical algebraic techniques or computer algorithms
that try to solve the problem better and faster.
Minimum Requirements:
1. Investigation of different algorithms or techniques to increase the solution quality and efficiency.
2. Development of at least one of the investigated algorithms.
3. Testing of the algorithms with a few different test cases of small to
medium sizes.

4.5

Output

You are required to hand-in a brief type-written report (10 pages, single
column maximum) by the due date. Any extra page (not including the
appended codes and results) will result in 20% deduction from the grade of
this part of the project. Your report should indicate descriptions of your
problem, your algorithm and optimization learning outcome.
You are also required to send by email your codes and results to the
course instructor (laleh@ucalgary.ca). Remember, I might read through your
code, so add as many comments as you can to make my job easier. If you are
programming in any language other than Matlab, also include the executable
in the email.

4.6

Marking Scheme

The marking scheme for this phase is broken down as follows:


description
project and results
novelty
report
late reports
extra pages
Best report

% for the section


50%
10%
40%
-10%/day
-20%

% of the total project mark (out of 60%)


30%
6%
24%
-6%
-12 %
+10%

Each project will be marked based on its own merit not in comparison
with other projects. However, the best overall project will be given 10%
bonus marks. The best project will be decided based on the peer review
process and the instructors marks.

Phase III: Project Presentation

5.1

Requirements

In this phase you are asked to give a presentation of about 5 minutes to your
peers on their projects.

5.2

Marking Scheme

The marking scheme for this phase is broken down as follows:


description
Presentation
Interactiveness
late reports
extra pages
Best presentation

% for the section


70%
30%
-10%/day
-20%

% of the total project mark (out of 20%)


14%
6%
-2%
-4 %
+10%

The best overall presentation will be given 10% bonus marks.

Important Dates

description
dates
part 1 due date
Feb 9th
Project review
March 8
Part 2
March 24
Presentation
April 5 & April 7 (tentative)
Final report
April 15

Vous aimerez peut-être aussi