Optimization and Evolutionary Algorithms

Објавено: June 28, 2022
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