Description
1 Solve the following quadratic program using the basic active set method discussed in class.
Minimize
1
2
(x − xc)
TP(x − xc)
with P =diag(2, 4, 8), x
T
c = [1 1 1] subject to
x1 + x2 + x3 ≥ 4
x3 ≤ 2
x2 ≤ 0
x1 ≤ 4
• Start from a feasible point of your choice and a suitable initial guess for the active set.
• Show every step of the iterations until the solution is found. You can do this as comments in the Matlab code.
• How do you know that the exact solution has been found?
• Solve the same problem using quadprog and verify that your answer matches this solution.
2
Install the qpOASES solver (Matlab interface) in your computer. Obtain it from
https://projects.coin-or.org/qpOASES/wiki/QpoasesDownload
Instructions for installation on Linux and Windows, as well as solver usage and examples is
found in the documentation:
https://www.coin-or.org/qpOASES/doc/3.0/manual.pdf
• Focus on section 6.1 of the documentation. You will need a C++ compiler enabled
in Matlab. Linux users: you can use gcc. Windows users: use the free MinGW compiler available from the add-ons tab from within Matlab. You may need a Mathworks
account.
• Linux users: I found a compilation error which was easily fixed by changing a line in
make.m. See: https://projects.coin-or.org/qpOASES/ticket/84
• Make sure you can run the examples supplied with the code.
• Solve the QP problem of question 1 above using qpOASES, without additional bounds
on x or upper bounds on Ax.
• Use tic and toc to time execution of each solver. Times will vary depending on
processor loads, so do this test many times and report on the min, max and mean times
of each solver. Histograms would be nice.
3
Solve Prob. 3 in Chapter 2 of the textbook by Gr¨une and Pannek. You must indicate the
specific comparison functions that were used in your proof.

