You are on page 1of 31

Introduction: Optimization

and Applications
Lectured by Ha Hoang Kha, Ph.D.
Ho Chi Minh City University of Technology
Email: hahoangkha@gmail.com

Course Objective
The course will aim at recognize optimization problems
in communications and signal processing
Learn to identify convex optimization problems
Learn to formulate convex optimization problems
Learn to solve convex optimizations problems
Develop an iterative algorithm

Introduction

Optimization

Optimization

Example: Power Allocation

Example: Optimal power allocation in


Wireless communication

Example: Optimal power allocation in


Wireless communication

Example: Unicast Transmit Downlink


Beamforming

Example: Unicast Transmit Downlink


Beamforming

10

Example: Robust MSE Estimation

11

Example: Transceiver Design

12

Example: 2 Users Multiple Access

13

Example: 2 Users Multiple Access

14

Example: 2 Users Multiple Access

15

Example: OFDM

16

Example: OFDM

17

Example: Filter Design

18

Convex Optimization Solvers

19

Solvers Interface: Yalmip


Home page
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Main.Home
Page
YALMIP is a modelling language for advanced modeling
and solution of convex and nonconvex optimization
problems. It is implemented as a free (as in no charge)
toolbox for MATLAB.
Another benefit of YALMIP is that it implements a large
amount of modeling tricks, allowing the user to concentrate
on the high-level model, while YALMIP takes care of the
low-level modeling to obtain as efficient and numerically
sound models as possible.

20

Solvers Interface: Yalmip


Home page
http://users.isy.liu.se/johanl/yalmip/pmwiki.php?n=Main.Home
Page
YALMIP is a modelling language for advanced modeling
and solution of convex and nonconvex optimization
problems. It is implemented as a free (as in no charge)
toolbox for MATLAB.
Another benefit of YALMIP is that it implements a large
amount of modeling tricks, allowing the user to concentrate
on the high-level model, while YALMIP takes care of the
low-level modeling to obtain as efficient and numerically
sound models as possible.

21

Solvers Interface: Yalmip


Problem classes: The modelling language supports a
large number of optimization classes, such as linear,
quadratic, second order cone, semidefinite, mixed integer
conic, geometric, local and global polynomial,
Solvers: One of the central ideas in YALMIP is to
concentrate on the language and the higher level
algorithms, while relying on external solvers for the actual
computations.

22

Example: Linear Classifer in Yalmip


In this example, we are given two sets of data, called blues
and greens. Our goal is to separate these sets using a
linear classifier.
blues = randn(2,25);
greens = randn(2,25)+2;
Display it
plot(greens(1,:),greens(2,:),'g*')
hold on
plot(blues(1,:),blues(2,:),'b*')

23

Example: Linear Classifier in Yalmip


A linear classifier means we want to find a vector a and
scalar b such that aTx+b0 for all the green points, and
aTx+b0 for all blue points (a separating hyperplane).
By looking at the data, it should be clear that this is
impossible. What one then would like to do, is to find a
hyperplane which misclassifies as few points as possible.
As a proxy for misclassification, we introduce positive
numbers u and v and change the classification to
aTx+b1u and aTx+b(1v). If both u and v are small, we
should obtain a good separation.

24

Example: Linear Classifer in Yalmip


We define the decision variables of interest
a = sdpvar(2,1);
b = sdpvar(1);

u = sdpvar(1,25);
v = sdpvar(1,25);

We want u and v to be small. A simple choice is to minimize


the sum of all elements u and v. However, the problem is illconditioned in that form, so we add the constraint that the
absolute value of all elements in a are smaller 1.
Objective = sum(u)+sum(v)
Constraints = [a'*greens+b >= 1-u, a'*blues+b <= -(1-v), u >= 0, v >= 0]
Constraints = [Constraints, -1 <= a <= 1];

At last, we are ready to solve the problem


solvesdp(Constraints,Objective)
25

Example: Linear Classifer in Yalmip


The values of the optimal a and b are obtained using
double(a) and double(b). To better illustrate the results,
we use YALMIPs ability to plot constraint sets to lazily
display the separating hyperplane.
x = sdpvar(2,1);
P1 = [-5<=x<=5, double(a)'*x+double(b)>=0];
P2 = [-5<=x<=5, double(a)'*x+double(b)<=0];
clf
plot(P1);hold on
plot(P2);
plot(greens(1,:),greens(2,:),'g*')
plot(blues(1,:),blues(2,:),'b*')

26

Solvers Interface: CVX


CVX: Matlab Software for Disciplined Convex Programming
http://cvxr.com/cvx/
CVX is a Matlab-based modeling system for convex
optimization. CVX turns Matlab into a modeling language,
allowing constraints and objectives to be specified using
standard Matlab expression syntax.
For example, consider the following convex optimization
model:

27

Solvers Interface: CVX


Example code

28

Course Content
Background and related topics
Unconstrained Optimization
Constrained Optimization
Convex Optimization
Applications:
Design of digital filters
Pattern classification
Blind image separation
Channel Estimation
Equalizer (Minimum Mean Squared Error, Zero-Forcing)
Beamforming in MIMO, Relay and Cognitive Radio
Power and Spectrum Allocation
Multiuser Detection
29

Text books
E. K. P. Chong and S. H. Zak, An Introduction to Optimization, Jonh
Wiley and Sons, Inc., 2001.
S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge
Univ. Press 2004.
A. Antoniou and W.-S. Lu, Practical Optimization: Algorithms and
Engineering Applications, Springer, 2007.

Additional References:
Bertsekas, Dimitri P. Nonlinear Programming. 2nd ed. Athena Scientific
Press, 1999.
Daniel P. Palomar and Yonina C. Eldar, Eds., Convex Optimization in
Signal Processing and Communications, Cambridge University
Press, 2009.
Hoang Tuy, Convex Analysis and Global Optimization, Springer,
1998.
David G. Luenberger, Linear and Nonlinear Programming, Kluwer
Academic Publishers, 2003.
30

Grading
Homework+projects: 40%
Presented in Vietnamese using Microsoft PowerPoint and
submitted via email.
Final exam: 60%
Exam: one handwriting A4 paper is allowed.

31

You might also like