1. Course Title |
Optimization and Evolutionary Algorithms |
2. Code |
4ФЕИТ07З015 |
3. Study program |
КТИ |
4. Organizer of the study program (unit, institute, department) |
Faculty of Electrical Engineering and Information Technologies |
5. Degree (first, second, third cycle) |
First cycle |
6. Academic year/semester |
IV/7 |
7. Number of ECTS credits |
6 |
8. Lecturer |
D-r Hristijan Gjoreski |
9. Course Prerequisites |
Passed: Data Structures and Algorithm Analysis |
10. Course Goals (acquired competencies): Understanding the basic concepts of computational optimization. Ability to identify and classify optimization problems based on their properties and to utilize computer software to solving basic and standard optimization problems. |
11. Course Syllabus: Introduction to optimization for computer engineering and computer science. Modelling and mathematical formulation of optimization problems. Objective function, constraints, solutions, optimality. Classification of optimization problems: linear/ nonlinear, discrete/continuous, convex/non-convex, with/without constraints, deterministic/stochastic, etc. Approximations and relaxations in optimization problems. Introduction to stochastic optimization and evolutionary algorithms. Nature-inspired heuristic algorithms: genetic algorithms, ant colony optimization, simulated annealing, particle swarm optimization. Solving practical computer engineering/science problems using Python or Matlab. Measuring performance of optimization algorithms. |
12. Learning methods: Theoretical and practical classes, laboratory exercises, individual work on project assignments and seminar works |
13. Total number of course hours |
2 + 2 + 1 + 0 |
14. Distribution of course hours |
180 |
15. Forms of teaching |
15.1. Lectures-theoretical teaching |
30 |
15.2. Exercises (laboratory, practice classes), seminars, teamwork |
45 |
16. Other course activities |
16.1. Projects, seminar papers |
30 |
16.2. Individual tasks |
30 |
16.3. Homework and self-learning |
45 |
17. Grading |
17.1. Exams |
0 |
17.2. Seminar work/project (presentation: written and oral) |
30 |
17.3. Activity and participation |
30 |
17.4. Final exam |
40 |
18. Grading criteria (points) |
up to 50 points |
5 (five) (F) |
from 51to 60 points |
6 (six) (E) |
from 61to 70 points |
7 (seven) (D) |
from 71to 80 points |
8 (eight) (C) |
from 81to 90 points |
9 (nine) (B) |
from 91to 100 points |
10 (ten) (A) |
19. Conditions for acquiring teacher’s signature and for taking final exam |
Regular following of lectures and tutorial classes and complete fulfillment of all lab exercises |
20. Forms of assessment |
One partial written exam during the semester (in the middle of the semester) with a duration of 120 minutes or one final written exam in a corresponding exam session with a duration of 120 minutes. Every student must do an independent obligatory project. The student may opt to do an additional supplementary project. The final grade includes points from the exam and the obligatory project work and from the supplementary project (if one is made). Usage of books, hand-written materials or any kind of supplementary text book during the exam is allowed, but electronic devices are not. |
21. Language |
Macedonian and English |
22. Method of monitoring of teaching quality |
Internal evaluation and questionnaires |
23. Literature |
23.1. Required Literature |
No. |
Author |
Title |
Publisher |
Year |
1 |
Steven Diamond |
CVXPY documentation, installation and examples |
https://www.cvxpy.org/ |
2021 |
2 |
Martin S. Andersen, Joachim Dahl, and Lieven Vandenberghe |
CVXOPT Documentation Release 1.2.7 |
CVXOPT Documentation |
2021 |
3 |
A. E. Eiben and J. E. Smith |
Introduction to Evolutionary Computing |
Springer |
2003 |
23.2. Additional Literature |
No. |
Author |
Title |
Publisher |
Year |
1 |
Steven Diamond and Stephen Boyd |
CVXPY: A Python-Embedded Modeling Language for Convex Optimization |
Journal of Machine Learning Research 17 (2016) |
2016 |
2 |
Stephen Boyd and Lieven Vandenberghe |
Convex Optimization |
Cambridge University Press |
2004 |
3 |
Sukanta Nayak |
Fundamentals of Optimization Techniques with Algorithms |
Elsevier |
2020 |