Starting from:

$30

CS524- Homework 7- Convex Programming Solved



1.   Enclosing circle. Given a set of points in the plane xi ∈ R2, we would like to find the circle with smallest possible area that contains all of the points. Explain how to model this as an optimization problem. To test your model, generate a set of 50 random points using the code X = 4.+randn(2,50) (this generates a 2×50 matrix X whose columns are the xi). Produce a plot of the randomly generated points along with the enclosing circle of smallest area.

To get you started, the following Julia code generates the points and plots a circle:

using PyPlot

         X = 4 .+ randn(2,50)                                                                      # generate 50 random points

t = range(0,stop=2pi,length=100)                 # parameter that traverses the circle r = 2; x1 = 4; x2 = 4             # radius and coordinates of the center

plot( x1 .+ r*cos.(t), x2 .+ r*sin.(t))               # plot circle radius r with center (x1,x2) scatter( X[1,:], X[2,:], color="black") # plot the 50 points

       axis("equal")                                                                                     # make x and y scales equal

2.   The Huber loss. In statistics, we frequently encounter data sets containing outliers, which are bad data points arising from experimental error or abnormally high noise. Consider for example the following data set consisting of 15 pairs (x,y).

x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
y
6.31
3.78
5.12
1.71
2.99
4.53
2.11
3.88
4.67
26
2.06
23
1.58
2.17
0.02
The y values corresponding to x = 10 and x = 12 are outliers because they are far outside the expected range of values for the experiment.

a)    Compute the best linear fit to the data using an `2 cost (least squares). In other words, we are looking for the a and b that minimize the expression:

                                                             `2 cost:           

Repeat the linear fit computation but this time exclude the outliers from your data set. On a single plot, show the data points and both linear fits. Explain the difference between both fits.

b)   It’s not always practical to remove outliers from the data manually, so we’ll investigate ways of automatically dealing with outliers by changing our cost function. Find the best linear fit again (including the outliers), but this time use the `1 cost function:

                                                             `1 cost:           

Include a plot containing the data and the best `1 linear fit. Does the `1 cost handle outliers better or worse than least squares? Explain why.

c)    Another approach is to use an `2 penalty for points that are close to the line but an `1 penalty for points that are far away. Specifically, we’ll use something called the Huber loss, defined as:

                           (x2                                 if − M ≤ x ≤ M

φ(x) =

                              2M|x| − M2       otherwise

Here, M is a parameter that determines where the quadratic function transitions to a linear function. The plot on the right shows what the Huber loss function looks like for M = 1.

The formula above is simple, but not in a form that is useful for us. As it turns out, we can evaluate the Huber loss function at any point x by solving the following convex QP instead:



minimize

                                                                   v,w                                              

                                                      φ(x) =       subject to:       |x| ≤ w + v

                                                                                         v ≥ 0, w ≤ M

Verify this fact by solving the above QP (with M = 1) for many values of x in the interval −3 ≤ x ≤ 3 and reproducing the plot above. Finally, find the best linear fit to our data using a Huber loss with M = 1 and produce a plot showing your fit. The cost function is:

                                                         Huber loss:          

3. Heat pipe design. A heated fluid at temperature T (degrees above ambient temperature) flows in a pipe with fixed length and circular cross section with radius r. A layer of insulation, with thickness w, surrounds the pipe to reduce heat loss through the pipe walls (w is much smaller than r). The design variables in this problem are T, r, and w.

The energy cost due to heat loss is roughly equal to α1Tr/w. The cost of the pipe, which has a fixed wall thickness, is approximately proportional to the total material, i.e., it is given by α2r. The cost of the insulation is also approximately proportional to the total insulation material, i.e., roughly α3rw. The total cost is the sum of these three costs.

The heat flow down the pipe is entirely due to the flow of the fluid, which has a fixed velocity, i.e., it is given by α4Tr2. The constants αi are all positive, as are the variables T, r, and w.

Now the problem: maximize the total heat flow down the pipe, subject to an upper limit Cmax on total cost, and the constraints

                          Tmin ≤ T ≤ Tmax,                  rmin ≤ r ≤ rmax                 wmin ≤ w ≤ wmax,               w ≤ 0.1r

.

a) Express this problem as a geometric program, and convert it into a convex optimization problem. Recall that a generic geometric program has the following form

                                                          X βj01 βj02                                          β

min  cj0x1         x2              ···xnj0n x

j

                                                  s.t. Xcjixβ1ji1xβ2ji2 ···xβnji3 ≤ 1,                     i = 1,··· ,m

j

X βjk1 βjk2 βjk3 djkx1 x2 ···xn = 1, k = 1,··· ,p

j

                                                   xq 0,          q = 1,...,n                 cji 0,djk 0,            ∀ji,jk

b) Consider a simple instance of this problem, where Cmax = 500 and α1 = α2 = α3 = α4 = 1. Also assume for simplicity that each variable has a lower bound of zero and no upper bound. Solve this problem using JuMP. Use the Ipopt solver and the command @NLconstraint(...) to specify nonlinear constraints such as log-sum-exp functions. What is the optimal T, r, and w?

More products