Quadratically constrained quadratic program

We consider the following special QCQP problem:

\[\min_x -\frac{1}{2} x^T Q x + b^T x + d, ~\text{s.t.}~ \|x\|_2 \leq 1\]

where \(Q\) is a symmetric positive definite matrix. We solve the problem with TMAC by using backward-forward splitting.

Usage

In the bin folder, the executable file tmac_bfs_l2_ball_qp solves the above problem. The usage for tmac_prs_demo is:

./tmac_bfs_l2_ball [options]
           -nthread       < total number of threads, default: 1. >
           -epoch         < total number of epochs, default: 10. >
           -problem_size  < the dimension of the problem, default: 0 >

Example

You can run the following command in the test directory to solve the l1 regularized least square problem for the large dense dataset.

./bin/tmac_bfs_l2_ball_qp -nthread 1 -problem_size 100 -epoch 200

You can expect to get output similar to the following:

Parameter settings:
---------------------------------
Problem size:               100
TMAC step size:            0.5
Operator step size:         0.05
Use controller:             false
---------------------------------
Objective value is: 45.8257
Computing time  is: 1.97591
||x||_2 = 0.834947
---------------------------------

Note

The current app use synthesis data, you can easily modify the code to load your own data. You can also modify the feasible set to other supported constraints.