# Optimization Lab for Communication and Signal Processing Using MATLAB (OptiLab)

This Lab is about learning how to recognize, model and solve optimization problems. Covered topics include but are not limited to:- Linear Programming
- Quadratic Programming and Least-Squares Problems
- Regularized Approximation and Estimation
- Second-order Cone Programming
- Semidefinite Programming
- Methodologies to solve a convex problem
- Theoretical analysis
- Duality theory, Karush-Kuhn-Tucker (KKT) conditions of optimality

- Numerical approach
- CVX: Matlab Toolbox for convex optimization problems
- Numerical solvers for convex problems: e.g., SeDuMi, SDPT3

- Application to a wide range of topics, e.g.
- Healthy diet problems (what foods to eat and how much)
- Network Optimization: Minimum cost network flow problem, Max-flow min-cut problem
- Communication systems: Chebyshev bounds on probability of symbol detection
- Data analysis and synthesis
- Sparse signal recovery and compressed sensing
- Outlier identification
- Data smoothing

## Reading assignments

In each session, you will receive a reading assignment (from 5 to 20 pages) for the subsequent session. At the beginning of each session, there will be a multiple choice test to check if you read and understood the material covered in the reading assignment.**1 | Preliminaries I: Linear algebra and vector analysis**

[channel_imp_response.mat], [single_sensor_failure.mat] and [double_sensor_failure.mat]

and the following template files (**right-click, save as**):

[s1p2a_template.m], [s1p2b_template.m], [s1p2c_template.m] and [s1p3_template.m]

**2 | Preliminaries II: Convex optimization**

You will need the Matlab function **combn**, which you can find at the Mathworks website:

**right-click, save as**):

[s2p1_template.m], [s2p2c_template.m], [s2p2d_template.m] and [s2p3_template.m]

**3 | Linear Programming I**

You will need the following template files (**right-click, save as**):

[s3p1_template.m], [s3p2ab_template.m], [s3p2c_template.m], [s3p2d_template.m] , [s3p2e_template.m] , [s3p2f_template.m] , [s3p2g_template.m] and [ratetopower.m].

**4 | Linear Programming II**

You will need the Matlab function **combn**, which you can find at the Mathworks website:

**right-click, save as**):

[s4p1c_template.m] and [s4p1fg_template.m].

**5 | Quadratic Programming**

You will need the following files (**right-click, save as**):

[s5p1a_template.m], [s5p1d1_template.m], [s5p1d2_template.m], [s5p1e_template.m] and [data_problem_1.mat].

**6 | Duality**

You will need the following files (**right-click, save as**):

[s6p1a_template.m], [s6p1d_template.m] and [s6p1_params_template.m]

**7 | Approximation, vector optimization and regularization**

You will need the following files (**right-click, save as**):

[s7p1_template.m], [s7p2_template.m], [data_robust_regression.mat], [data_l1_trend_filtering.mat] and [data_l1_discussion.mat]

## Dates

## Location

ICT cubes (50.779159, 6.063016), Room 332

## Contact

Dr.-Ing. Michael Reyer upon agreement

M.Sc. Omid Taghizadeh upon agreement

M.Sc. Vimal Radhakrishnan upon agreement