qcqp_ex1
- qcqp_ex1()
qcqp_ex1()- Example of quadratically-constrained quadratic program (QCQP) optimization.Example of solving the following QCQP problem, first using
mp.opt_modelandmp.opt_model.solve(), then directly usingqcqps_master().(41)\[\min_{\x} \frac{1}{2} \trans{\x} \Hh \x + \trans{\c} \x\]subject to
(42)\[\lq \le \frac{1}{2}\textrm{diag}\left(\trans{\diag{\{\x\}_{\times n_q}}} \diag{\{\QQ_i\}_{i=1}^{n_q}} \diag{\{\x\}_{\times n_q}}\right) + \Bb \x \le \uq,\](43)\[\l \le \param{\rmat{A}} \x \le \u\](44)\[\param{\x}_\mathrm{min} \le \x \le \param{\x}_\mathrm{max}\]where (42) can also be written as
(45)\[\lqi \le \frac{1}{2}\trans{\x} \QQ_i \x + \b_i \x \le \uqi, \ \ \ i = 1,2,..., n_q\]For the problem in this example, we have
(46)\[\begin{split}\Hh = \left[\begin{array}{ccc} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{array}\right], \c = \left[\begin{array}{c} 0 \\ 0 \\ -1 \end{array}\right]\end{split}\](47)\[\begin{split}\QQ_1 = \left[\begin{array}{ccc} 2 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & -2 \end{array}\right], \QQ_2 = \left[\begin{array}{ccc} 2 & 0 & 0 \\ 0 & 0 & -2 \\ 0 & -2 & 0 \end{array}\right]\end{split}\](48)\[\begin{split}\lq = \left[\begin{array}{c} -\infty \\ -\infty \end{array}\right], \Bb = \left[\begin{array}{ccc} 0 & 0 & 0 \\ 0 & 0 & 0 \end{array}\right], \uq = \left[\begin{array}{c} 0 \\ 0 \end{array}\right]\end{split}\](49)\[\l = 1, \AA = \left[\begin{array}{ccc} 1 & 1 & 1 \end{array}\right], \u = 1\](50)\[\begin{split}\param{\x}_\mathrm{min} = \left[\begin{array}{c} 0 \\ 0 \\ 0 \end{array}\right], \param{\x}_\mathrm{max} = \left[\begin{array}{c} \infty \\ \infty\\ \infty \end{array}\right]\end{split}\]