| 128 | } |
| 129 | |
| 130 | double getQuadraticObjective(const Quadratic& idata) { |
| 131 | // c'x |
| 132 | double quadratic = vectorProduct(idata.lp.col_cost_, idata.xk.col_value); |
| 133 | |
| 134 | // lambda'x |
| 135 | quadratic += vectorProduct(idata.lambda, idata.residual); |
| 136 | |
| 137 | // 1/2mu r'r |
| 138 | double rtr = vectorProduct(idata.residual, idata.lambda); |
| 139 | quadratic += rtr / (2 * idata.mu); |
| 140 | |
| 141 | return quadratic; |
| 142 | } |
| 143 | |
| 144 | bool initialize(Quadratic& idata, const ICrashOptions& options) { |
| 145 | if (!initialize(idata.lp, idata.xk, idata.lambda)) return false; |
no test coverage detected