University of Warsaw - Central Authentication System
Strona główna

Convex optimization

General data

Course ID: 1000-2M22OW
Erasmus code / ISCED: 11.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
Course title: Convex optimization
Name in Polish: Optymalizacja wypukła
Organizational unit: Faculty of Mathematics, Informatics, and Mechanics
Course groups: (in Polish) Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka
Elective courses for Computer Science
Elective courses for Machine Learning
ECTS credit allocation (and other scores): 6.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

view allocation of credits
Language: English
Type of course:

elective monographs

Prerequisites (description):

There are no formal requirements but we assume that students have basic knowledge of linear algebra and mathematical analysis of many variables, and know the basics of programming in python.

Short description:

This is an introduction to convex optimization, giving an overview of the landscape of convex optimization problems, and covering the most important convex optimization algorithms and lower bounds, as well as convex modelling techniques. The lab sessions cover convex modelling using modern software and implementation of selected convex optimization algorithms.

Full description:

Many problems in Machine Learning can be formulated as optimizing a function in R^n under a number of constraints, formulated as inequalities. While this model is general enough to include provably hard problems, it becomes provably tractable under certain assumptions. Perhaps the most important examples are convex problems, i.e., problems which can be modeled as optimizing a convex function under a set of constraints that describes a convex set. The course has three main parts:

Part 1. Basic properties of convex sets, functions, and problems, including duality.

This part develops notions and tools used throughout the course.

Part 2. Classification of convex problems.

We will discuss unconstrained problems, equality constrained problems, linear problems, SOCP problems, SDP problems, etc.; We will understand the classes of constrained problems as cone problems. Finally, we will learn how to model a given problem in an appropriate class.

Part 3. Algorithms for convex optimization.

Will cover the most important algorithms for convex problems including gradient descent, subgradient method, barrier method, Newton’s method or ellipsoid algorithm. We will see proofs of running-time and solution quality guarantees for those problems. As a result, the students will understand theoretical and practical limitations of solving problems in the classes mentioned in Part 2.

If time permits, we will also cover a related and practically relevant concept of integer programming, i.e., (non-convex) problems obtained from convex problems by adding integrality constraints.

In the lab sessions, students learn to model a number of problems either directly using the interface of a given solver or using a general convex modelling language. Most likely we will use Python interface to Gurobi (commercial, with academic licence) and CBC (open source) solvers; and cvxpy and PuLP modelling packages (both open source). The lab sessions also include implementation of selected convex optimization algorithms.

Bibliography:

1. S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press

2. S. Bubeck, Convex Optimization: Algorithms and Complexity

3. N.K. Vishnoy, Algorithms for Convex Optimization, Cambridge University Press

Assessment methods and assessment criteria:

There will be 4-5 home assignments and a written exam. The final grade will depend on performance on both.

Classes in period "Summer semester 2023/24" (in progress)

Time span: 2024-02-19 - 2024-06-16
Selected timetable range:
Navigate to timetable
Type of class:
Lab, 30 hours more information
Lecture, 30 hours more information
Coordinators: Łukasz Kowalik, Marcin Mucha
Group instructors: Jacek Cyranka, Łukasz Kowalik, Marcin Mucha
Students list: (inaccessible to you)
Examination: Examination
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)