From 68fc833cb554de08f84a8d42cbbcfc859cfd54db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernd=20G=C3=A4rtner?= Date: Thu, 28 Sep 2006 14:29:33 +0000 Subject: [PATCH] - Is-symmetric tag removed; now all input is assumed to be symmetric. Reason: the tag is unecessary, and allowing non-symmetric input only allows the user to enter redundant information --- QP_solver/include/CGAL/QP_functions.h | 8 +- QP_solver/include/CGAL/QP_models.h | 31 ++-- QP_solver/include/CGAL/QP_solver.h | 88 +++------- .../include/CGAL/QP_solver/Initialization.h | 5 - .../CGAL/QP_solver/QP_functions_impl.h | 1 - .../include/CGAL/QP_solver/QP_models_impl.h | 72 +++++---- QP_solver/include/CGAL/QP_solver/functors.h | 29 ++-- QP_solver/test/QP_solver/test_MPS.C | 2 +- QP_solver/test/QP_solver/test_solver.C | 117 ++++++-------- QP_solver/test/QP_solver/test_solver.cout | 150 +++++++++--------- .../QPE_solver_example_bug_free.mps | 2 - .../QPE_solver_example_bug_shifted.mps | 5 +- ...P_Degenerate_rank_zero_QPE_solver_free.mps | 2 - ...egenerate_rank_zero_QPE_solver_shifted.mps | 6 +- .../QP_leave_variable_bug_QPE_solver_free.mps | 2 - ..._leave_variable_bug_QPE_solver_shifted.mps | 5 +- .../derivatives/QP_translation_bug_free.mps | 2 - .../QP_translation_bug_shifted.mps | 5 +- .../derivatives/Unbounded_asymmetric_free.mps | 2 - .../Unbounded_asymmetric_shifted.mps | 6 +- .../masters/cgal/QPE_solver_example_bug.mps | 5 - .../QP_Degenerate_rank_zero_QPE_solver.mps | 6 - .../cgal/QP_leave_variable_bug_QPE_solver.mps | 5 - .../masters/cgal/QP_translation_bug.mps | 5 - .../masters/cgal/Unbounded_asymmetric.mps | 5 - 25 files changed, 226 insertions(+), 340 deletions(-) diff --git a/QP_solver/include/CGAL/QP_functions.h b/QP_solver/include/CGAL/QP_functions.h index 9b455b1ddcc..120301e1f9f 100644 --- a/QP_solver/include/CGAL/QP_functions.h +++ b/QP_solver/include/CGAL/QP_functions.h @@ -100,7 +100,7 @@ QP_solution solve_quadratic_program { typedef QP_solver< QuadraticProgram, ET, - QP_solver_impl::QP_tags > + QP_solver_impl::QP_tags > Solver; const Solver* s = new Solver(qp); return QP_solution(s); @@ -112,7 +112,7 @@ QP_solution solve_nonnegative_quadratic_program { typedef QP_solver< QuadraticProgram, ET, - QP_solver_impl::QP_tags > + QP_solver_impl::QP_tags > Solver; const Solver* s = new Solver(qp); return QP_solution(s); @@ -124,7 +124,7 @@ QP_solution solve_linear_program { typedef QP_solver< QuadraticProgram, ET, - QP_solver_impl::QP_tags > + QP_solver_impl::QP_tags > Solver; const Solver* s = new Solver(qp); return QP_solution(s); @@ -136,7 +136,7 @@ QP_solution solve_nonnegative_linear_program { typedef QP_solver< QuadraticProgram, ET, - QP_solver_impl::QP_tags > + QP_solver_impl::QP_tags > Solver; const Solver* s = new Solver(qp); return QP_solution(s); diff --git a/QP_solver/include/CGAL/QP_models.h b/QP_solver/include/CGAL/QP_models.h index b4ac0251e93..c912f3ea69c 100644 --- a/QP_solver/include/CGAL/QP_models.h +++ b/QP_solver/include/CGAL/QP_models.h @@ -568,9 +568,6 @@ private: std::string D_section; // name of the section from which D was read // cached data: - bool is_symmetric_cached, is_symmetric_; - bool has_equalities_only_and_full_rank_cached, - has_equalities_only_and_full_rank_; bool is_in_standard_form_cached, is_in_standard_form_; // further data gathered from MPS file: @@ -728,6 +725,15 @@ private: // private helpers: return false; } + bool err3(const char* msg, + const std::string& parameter1, + const std::string& parameter2, + const std::string& parameter3) { + error_msg = + replace1(replace1(replace1(msg,parameter1),parameter2),parameter3); + return false; + } + void warn(const std::string& msg) { std::cerr << "MPS parser warning: " << msg << '.' << std::endl; } @@ -888,16 +894,6 @@ public: // methods: { CGAL_qpe_assertion(0<=i && i + typedef QP_matrix_pairwise_accessor< D_iterator, Tag_true, ET > D_pairwise_accessor; typedef Join_input_iterator_1< Index_const_iterator, D_pairwise_accessor > D_pairwise_iterator; - typedef QP_matrix_pairwise_accessor< D_iterator, Is_symmetric, D_entry > + typedef QP_matrix_pairwise_accessor< D_iterator, Tag_true, D_entry > D_pairwise_accessor_inexact; typedef Join_input_iterator_1< Index_const_iterator, D_pairwise_accessor_inexact > @@ -917,20 +916,20 @@ private: } - template < class NT, class It > - void mu_j__quadratic_part_( NT& mu_j, int j, It x_it, - Tag_true is_linear) const; - template < class NT, class It > - void mu_j__quadratic_part_( NT& mu_j, int j, It x_it, - Tag_false is_linear) const; - template < class NT, class It > - void mu_j__quadratic_part_( NT& mu_j, int j, It x_it, - Tag_false is_linear, - Tag_true is_symmetric) const; - template < class NT, class It > - void mu_j__quadratic_part_( NT& mu_j, int j, It x_it, - Tag_false is_linear, - Tag_false is_symmetric) const; +// template < class NT, class It > +// void mu_j__quadratic_part_( NT& mu_j, int j, It x_it, +// Tag_true is_linear) const; +// template < class NT, class It > +// void mu_j__quadratic_part_( NT& mu_j, int j, It x_it, +// Tag_false is_linear) const; +// template < class NT, class It > +// void mu_j__quadratic_part_( NT& mu_j, int j, It x_it, +// Tag_false is_linear, +// Tag_true is_symmetric) const; +// template < class NT, class It > +// void mu_j__quadratic_part_( NT& mu_j, int j, It x_it, +// Tag_false is_linear, +// Tag_false is_symmetric) const; template < class NT, class It > void mu_j__slack_or_artificial_( NT& mu_j, int j, It lambda_it, @@ -1462,17 +1461,11 @@ private: mu_j__quadratic_part( NT& mu_j, int j, It x_it, Tag_false) const { if ( is_phaseII) { - if (check_tag(Is_symmetric())) { // D symmetric - // 2 D_Bj^T * x_B - mu_j += inv_M_B.inner_product_x( x_it, - D_by_index_iterator( B_O.begin(), - D_by_index_accessor( qp_D[ j]))) * NT( 2); - } else { // D non-symmetric - // ( D_Bj^T + D_jB) * x_B - mu_j += inv_M_B.inner_product_x( x_it, - D_pairwise_iterator_inexact( B_O.begin(), - D_pairwise_accessor_inexact( qp_D, j))); - } + // 2 D_Bj^T * x_B + mu_j += inv_M_B.inner_product_x + ( x_it, + D_by_index_iterator( B_O.begin(), + D_by_index_accessor( qp_D[ j]))) * NT( 2); } } @@ -1483,42 +1476,15 @@ private: { if ( is_phaseII) { mu_j += dd * w_j; - if (check_tag(Is_symmetric())) { // D symmetric - // 2 D_Bj^T * x_B - mu_j += inv_M_B.inner_product_x( x_it, - D_by_index_iterator( B_O.begin(), - D_by_index_accessor( qp_D[ j]))) * NT( 2); - } else { // D non-symmetric - // ( D_Bj^T + D_jB) * x_B - mu_j += inv_M_B.inner_product_x( x_it, - D_pairwise_iterator_inexact( B_O.begin(), - D_pairwise_accessor_inexact( qp_D, j))); - } + // 2 D_Bj^T * x_B + mu_j += inv_M_B.inner_product_x + ( x_it, + D_by_index_iterator( B_O.begin(), + D_by_index_accessor( qp_D[ j]))) * NT( 2); } } - /* - template < class NT, class It > inline // QP, D sym. - void - mu_j__quadratic_part( NT& mu_j, int j, It x_it, Tag_false, Tag_true) const - { - // 2 D_Bj^T * x_B - mu_j += inv_M_B.inner_product_x( x_it, - D_by_index_iterator( B_O.begin(), - D_by_index_accessor( qp_D[ j]))) - * NT( 2); - } - template < class NT, class It > inline // QP, D no-sym - void - mu_j__quadratic_part( NT& mu_j, int j, It x_it, Tag_false, Tag_false) const - { - // ( D_Bj^T + D_jB) * x_B - mu_j += inv_M_B.inner_product_x( x_it, - D_pairwise_iterator_inexact( B_O.begin(), - D_pairwise_accessor_inexact( qp_D, j))); - } - */ template < class NT, class It > inline // no ineq. void mu_j__slack_or_artificial( NT& mu_j, int j, It lambda_it, const NT& dd, Tag_true) const @@ -2085,11 +2051,9 @@ namespace QP_solver_impl { // Tags generator // -------------- template < typename Linear, - typename Symmetric, typename Standard_form > struct QP_tags { typedef Linear Is_linear; - typedef Symmetric Is_symmetric; typedef Standard_form Is_in_standard_form; }; diff --git a/QP_solver/include/CGAL/QP_solver/Initialization.h b/QP_solver/include/CGAL/QP_solver/Initialization.h index b504b54f9fe..5cec09e2e46 100644 --- a/QP_solver/include/CGAL/QP_solver/Initialization.h +++ b/QP_solver/include/CGAL/QP_solver/Initialization.h @@ -134,11 +134,6 @@ set(const Q& qp) } vout.out() << " ]" << std::endl; if (vout2.verbose()) { - if (is_QP) { - vout2.out() << "flag: D " - << (check_tag(Is_symmetric()) ? "" : "not ") - << "symmetric" << std::endl; - } if (has_ineq) vout2.out() << "flag: has inequalities or rank not full" << std::endl; diff --git a/QP_solver/include/CGAL/QP_solver/QP_functions_impl.h b/QP_solver/include/CGAL/QP_solver/QP_functions_impl.h index 76742dda070..8c8a32046ee 100644 --- a/QP_solver/include/CGAL/QP_solver/QP_functions_impl.h +++ b/QP_solver/include/CGAL/QP_solver/QP_functions_impl.h @@ -65,7 +65,6 @@ bool has_linearly_independent_equations // solver Tags typedef QP_solver_impl::QP_tags< Tag_true, // Is_linear - Tag_true, // Is_symmetric Tag_true> // Is_in_standard_form Tags; diff --git a/QP_solver/include/CGAL/QP_solver/QP_models_impl.h b/QP_solver/include/CGAL/QP_solver/QP_models_impl.h index db28429eaac..9f7341a8595 100644 --- a/QP_solver/include/CGAL/QP_solver/QP_models_impl.h +++ b/QP_solver/include/CGAL/QP_solver/QP_models_impl.h @@ -42,8 +42,6 @@ QP_from_mps(std::istream& in,bool use_CPLEX_convention, is_linear_(true), use_CPLEX_convention(use_CPLEX_convention), it0(0), - is_symmetric_cached(false), - has_equalities_only_and_full_rank_cached(false), is_in_standard_form_cached(false), use_put_back_token(false) { @@ -125,27 +123,40 @@ const std::string& QP_from_mps -bool QP_from_mps::is_symmetric() +bool QP_from_mps +::is_symmetric(Tag_false sparse_D, unsigned int&i, unsigned int&j) const { - if (!is_format_okay_) - return false; + // only called if we have a qp, i.e. if D is initialized + const unsigned int var_nr = var_names.size(); + for (i=0; i +bool QP_from_mps +::is_symmetric(Tag_true sparse_D, unsigned int&i, unsigned int&j) const +{ + // only called if we have a qp, i.e. if D is initialized + const unsigned int var_nr = var_names.size(); + for (i=0; ifirst; + // check entry (j, i) + IT expected_val = b->second; + IT found_val = it0; + typename Map::const_iterator it = D_[j].find(i); + if (it != D_[j].end()) found_val = it->second; + if (expected_val != found_val) return false; } } - return is_symmetric_; + return true; } @@ -597,8 +608,7 @@ bool QP_from_mps::qmatrix_section() { std::string t = token(); - if (t!="QMATRIX" && t!="DMATRIX" && t!="QUADOBJ") { // (Note: *MATRIX - // section is optional.) + if (t!="QMATRIX" && t!="DMATRIX" && t!="QUADOBJ") { // optional put_token_back(t); return true; } @@ -646,19 +656,27 @@ bool QP_from_mps 1) { diff --git a/QP_solver/include/CGAL/QP_solver/functors.h b/QP_solver/include/CGAL/QP_solver/functors.h index 26fe9844f2e..f6f2d4083d7 100644 --- a/QP_solver/include/CGAL/QP_solver/functors.h +++ b/QP_solver/include/CGAL/QP_solver/functors.h @@ -160,24 +160,8 @@ public: QP_matrix_pairwise_accessor() {} QP_matrix_pairwise_accessor( MatrixIt it, int row) - { - if ( check_tag( IsSymmetric())) { // store i-th row - v = it[ row]; - m = it; // (See (*) below.) - } else { // matrix and index - m = it; - v = it[0]; // (See (*) below.) - r = row; - } - // (*) These two statements are not needed, semantically. If we - // drop them, however, the if-clause will default-construct the - // iterator 'm' and the else-clause will default-construct the - // iterator 'v'. In any case we end up with a singular iterator, - // and as instances of this class are copied around, this violates - // the requirement that singular iterators must not be copied. - // (In other words: dropping these statements will cause assertion - // violations when compiled with GCC using -D_GLIBCXX_DEBUG.) - } + : m (it), v (it[ row]), r (row) + {} ResultType operator () ( int c) const { @@ -185,7 +169,14 @@ public: } ResultType entry_pair( int c, Tag_true ) const // symmetric - { return ResultType(v[ c]) * 2; } + { + // make sure that only entries on or below the diagonal are + // accessed + if (c <= r) + return ResultType(v[ c]) * 2; + else + return ResultType(m[ c][ r]) * 2; + } ResultType entry_pair( int c, Tag_false) const // not symmetric { diff --git a/QP_solver/test/QP_solver/test_MPS.C b/QP_solver/test/QP_solver/test_MPS.C index 4673f1d16a6..9c4a77cb71a 100644 --- a/QP_solver/test/QP_solver/test_MPS.C +++ b/QP_solver/test/QP_solver/test_MPS.C @@ -54,7 +54,7 @@ int main(const int argNr,const char **args) { #else typedef CGAL::Gmpzf ET; #endif - typedef CGAL::QP_from_mps QP; + typedef CGAL::QP_from_mps QP; QP qp(std::cin,true,verbosity); // check for format errors in MPS f\ile: diff --git a/QP_solver/test/QP_solver/test_solver.C b/QP_solver/test/QP_solver/test_solver.C index 8f402ca975b..6316117656f 100644 --- a/QP_solver/test/QP_solver/test_solver.C +++ b/QP_solver/test/QP_solver/test_solver.C @@ -155,11 +155,6 @@ void usage() << "{fe,ff,pe,pf}, and file is a path to a MPS file. In addition,\n" << "you can specify any of the following additional options:\n" << " +l use the dedicated LP-solver on this instance\n" - << " +s use the dedicated solver for instances whose\n" - << " D matrix is symmetric\n" - << " +r use the dedicated solver for instances that only\n" - << " have equality constraints and whose coefficient\n" - << " matrix has full row rank\n" << " +f use the dedicated solver for instances in standard\n" << " form (i.e., all variables have bounds [0,+inf]).\n" << " int assume the numbers in the MPS file are ints and use\n" @@ -169,10 +164,11 @@ void usage() << " rational assume the numbers in the MPS file are rationals\n" << " use arbitrary-precision rationals internally\n" << "If any option is not specified, the program will test all\n" - << "possible combinations (e.g., if '+s' is not specified, it will\n" - << "check whether D is symmetric and run both, the dedicated solver\n" - << "for symmetric and the non-dedicated solver on the instance).\n" - << "You can also negate the options 'l', 's', 'r', or 'f' by\n" + << "possible combinations (e.g., if '+l' is not specified, it will\n" + << "check whether the problem is linear and run both, the dedicated\n" + << "solver for the linear case and the non-dedicated solver on the\n" + << " instance).\n" + << "You can also negate the options 'l'or 'f' by\n" << "replacing the '-' by a '+'.\n"; std::exit(1); } @@ -252,10 +248,6 @@ bool parse_options(std::istream& in,std::map& options, good = options.insert(Arg("Is linear",1)).second; else if (t == "-l") good = options.insert(Arg("Is linear",0)).second; - else if (t == "+s") - good = options.insert(Arg("Is symmetric",1)).second; - else if (t == "-s") - good = options.insert(Arg("Is symmetric",0)).second; else if (t == "+f") good = options.insert(Arg("Is in standard form",1)).second; else if (t == "-f") @@ -329,21 +321,11 @@ CGAL::QP_pricing_strategy * return strat; } -// template -// std::string print_IT (IT t) -// { -// using std::cout; -// if (is_int(t)) return "int"; -// if (is_rational(t)) return "rational"; -// if (is_double(t)) return "double"; -// return "unknown"; -// } - template + typename ET, + typename Sparse> bool process(const std::string& filename, const std::map& options) { @@ -357,7 +339,7 @@ bool process(const std::string& filename, std::ifstream in(filename.c_str()); if (!in) bailout1("could not open file '%'",filename); - typedef CGAL::QP_from_mps QP_instance; + typedef CGAL::QP_from_mps QP_instance; QP_instance qp(in,true,verbosity); in.close(); @@ -381,17 +363,13 @@ bool process(const std::string& filename, type==Rational_type && (is_double(IT()) || is_int(IT()))) return true; - // check which properties the loaded QP has, and break if they are - // in contradiction to the routine's compile-time flags: if (check_tag(Is_linear()) && !qp.is_linear() || - check_tag(Is_symmetric()) && !qp.is_symmetric() || check_tag(Is_in_standard_form()) && !qp.is_in_standard_form()) return true; if (verbosity > 0) cout << "- Running a solver specialized for: " << (check_tag(Is_linear())? "linear " : "") - << (check_tag(Is_symmetric())? "symmetric " : "") << (check_tag(Is_in_standard_form())? "standard-form " : "") << "file-IT=" << number_type << ' ' << "IT=" << (is_double(IT())? "double" : @@ -410,8 +388,7 @@ bool process(const std::string& filename, cout << endl << qp; - typedef CGAL::QP_solver_impl::QP_tags Tags; + typedef CGAL::QP_solver_impl::QP_tags Tags; // solve: CGAL::QP_pricing_strategy *s = @@ -429,7 +406,6 @@ bool process(const std::string& filename, } template bool processType(const std::string& filename, const std::map& options) @@ -443,29 +419,51 @@ bool processType(const std::string& filename, // do only this particular value or all possibilities: bool success = true; + + // sparse representation #ifdef QP_INT if (!processOnlyOneValue || value==Int_type) - if (!process(filename,options)) + if (!process(filename,options)) success = false; #endif #ifdef QP_DOUBLE if (!processOnlyOneValue || value==Double_type) - if (!process(filename,options)) + if (!process(filename,options)) success = false; #endif #ifdef QP_RATIONAL if (!processOnlyOneValue || value==Rational_type) - if (!process(filename,options)) + if (!process(filename,options)) success = false; #endif + + // dense representation +#ifdef QP_INT + if (!processOnlyOneValue || value==Int_type) + if (!process(filename,options)) + success = false; +#endif +#ifdef QP_DOUBLE + if (!processOnlyOneValue || value==Double_type) + if (!process(filename,options)) + success = false; +#endif +#ifdef QP_RATIONAL + if (!processOnlyOneValue || value==Rational_type) + if (!process(filename,options)) + success = false; +#endif + return success; } -template +template bool processFType(const std::string& filename, const std::map& options) { @@ -477,42 +475,19 @@ bool processFType(const std::string& filename, bool success = true; #ifdef QP_F if (!processOnlyOneValue || value==true) - if (!processType(filename,options)) + if (!processType(filename,options)) success = false; #endif #ifdef QP_NOT_F if (!processOnlyOneValue || value==false) - if (!processType(filename,options)) + if (!processType(filename,options)) success = false; #endif return success; } -template -bool processSRFType(const std::string& filename, - const std::map& options) -{ - Key_const_iterator it = options.find("Is symmetric"); - const bool processOnlyOneValue = it != options.end(); - bool value = false; - if (processOnlyOneValue) - value = it->second > 0; - bool success = true; -#ifdef QP_S - if (!processOnlyOneValue || value==true) - if (!processFType(filename,options)) - success = false; -#endif -#ifdef QP_NOT_S - if (!processOnlyOneValue || value==false) - if (!processFType(filename,options)) - success = false; -#endif - return success; -} - -bool processLSRFType(const std::string& filename, - const std::map& options) +bool processLFType(const std::string& filename, + const std::map& options) { std::cout << " Solution: "; Key_const_iterator it = options.find("Is linear"); @@ -523,12 +498,12 @@ bool processLSRFType(const std::string& filename, bool success = true; #ifdef QP_L if (!processOnlyOneValue || value==true) - if (!processSRFType(filename,options)) + if (!processFType(filename,options)) success = false; #endif #ifdef QP_NOT_L if (!processOnlyOneValue || value==false) - if (!processSRFType(filename,options)) + if (!processFType(filename,options)) success = false; #endif return success; @@ -558,7 +533,7 @@ int main(const int ac,const char **av) { std::string filename; bool success = true; while (parse_options(in,options,filename)) - if (!processLSRFType(filename,options)) + if (!processLFType(filename,options)) success = false; // final output: diff --git a/QP_solver/test/QP_solver/test_solver.cout b/QP_solver/test/QP_solver/test_solver.cout index fbb9a3d8a3d..cf030bcd60e 100644 --- a/QP_solver/test/QP_solver/test_solver.cout +++ b/QP_solver/test/QP_solver/test_solver.cout @@ -263,63 +263,63 @@ Processing: test_solver_data/masters/cgal/LP_Test_Expel_Drive_Pivots_Remove_P Processing: test_solver_data/derivatives/QPE_solver_example_bug_shifted.mps Strategy: fe Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QPE_solver_example_bug_shifted.mps Strategy: pe Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QPE_solver_example_bug_shifted.mps Strategy: eb Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QPE_solver_example_bug_shifted.mps Strategy: ff Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QPE_solver_example_bug_shifted.mps Strategy: pf Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QPE_solver_example_bug_free.mps Strategy: fe Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QPE_solver_example_bug_free.mps Strategy: pe Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QPE_solver_example_bug_free.mps Strategy: eb Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QPE_solver_example_bug_free.mps Strategy: ff Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QPE_solver_example_bug_free.mps Strategy: pf Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QPE_solver_example_bug.mps Strategy: fe Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QPE_solver_example_bug.mps Strategy: pe Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QPE_solver_example_bug.mps Strategy: eb Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QPE_solver_example_bug.mps Strategy: ff Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QPE_solver_example_bug.mps Strategy: pf Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/LP_Row_Rank_lt_m_QPE_solver_shifted.mps Strategy: fe Verbosity: 0 @@ -443,63 +443,63 @@ Processing: test_solver_data/masters/cgal/LP_no_cons_two_var_QPE_solver.mps Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_shifted.mps Strategy: fe Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_shifted.mps Strategy: pe Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_shifted.mps Strategy: eb Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_shifted.mps Strategy: ff Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_shifted.mps Strategy: pf Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_free.mps Strategy: fe Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_free.mps Strategy: pe Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_free.mps Strategy: eb Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_free.mps Strategy: ff Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_free.mps Strategy: pf Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_leave_variable_bug_QPE_solver.mps Strategy: fe Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_leave_variable_bug_QPE_solver.mps Strategy: pe Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_leave_variable_bug_QPE_solver.mps Strategy: eb Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_leave_variable_bug_QPE_solver.mps Strategy: ff Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_leave_variable_bug_QPE_solver.mps Strategy: pf Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/LP_KM3_base_3_QPE_solver_free.mps Strategy: fe Verbosity: 0 @@ -843,63 +843,63 @@ Processing: test_solver_data/masters/cgal/PD_Primal_QPE_solver.mps Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_shifted.mps Strategy: fe Verbosity: 0 - Solution: -281.25(3) -281.25(3) + Solution: -11.5(4) -11.5(4) -11.5(4) -11.5(4) Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_shifted.mps Strategy: pe Verbosity: 0 - Solution: -281.25(3) -281.25(3) + Solution: -11.5(4) -11.5(4) -11.5(4) -11.5(4) Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_shifted.mps Strategy: eb Verbosity: 0 - Solution: -281.25(3) -281.25(3) + Solution: -11.5(4) -11.5(4) -11.5(4) -11.5(4) Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_shifted.mps Strategy: ff Verbosity: 0 - Solution: -281.25(3) -281.25(3) + Solution: -11.5(4) -11.5(4) -11.5(4) -11.5(4) Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_shifted.mps Strategy: pf Verbosity: 0 - Solution: -281.25(3) -281.25(3) + Solution: -11.5(4) -11.5(4) -11.5(4) -11.5(4) Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_free.mps Strategy: fe Verbosity: 0 - Solution: -2.5(5) -2.5(5) + Solution: -2.5(5) -2.5(5) -2.5(5) -2.5(5) Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_free.mps Strategy: pe Verbosity: 0 - Solution: -2.5(5) -2.5(5) + Solution: -2.5(5) -2.5(5) -2.5(5) -2.5(5) Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_free.mps Strategy: eb Verbosity: 0 - Solution: -2.5(5) -2.5(5) + Solution: -2.5(5) -2.5(5) -2.5(5) -2.5(5) Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_free.mps Strategy: ff Verbosity: 0 - Solution: -2.5(5) -2.5(5) + Solution: -2.5(5) -2.5(5) -2.5(5) -2.5(5) Processing: test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_free.mps Strategy: pf Verbosity: 0 - Solution: -2.5(5) -2.5(5) + Solution: -2.5(5) -2.5(5) -2.5(5) -2.5(5) Processing: test_solver_data/masters/cgal/QP_Degenerate_rank_zero_QPE_solver.mps Strategy: fe Verbosity: 0 - Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) + Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) Processing: test_solver_data/masters/cgal/QP_Degenerate_rank_zero_QPE_solver.mps Strategy: pe Verbosity: 0 - Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) + Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) Processing: test_solver_data/masters/cgal/QP_Degenerate_rank_zero_QPE_solver.mps Strategy: eb Verbosity: 0 - Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) + Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) Processing: test_solver_data/masters/cgal/QP_Degenerate_rank_zero_QPE_solver.mps Strategy: ff Verbosity: 0 - Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) + Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) Processing: test_solver_data/masters/cgal/QP_Degenerate_rank_zero_QPE_solver.mps Strategy: pf Verbosity: 0 - Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) + Solution: -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) -2.5(4) Processing: test_solver_data/derivatives/Ub_LP_Chvatal_8_1_a_QPE_solver_shifted.mps Strategy: fe Verbosity: 0 @@ -2023,63 +2023,63 @@ Processing: test_solver_data/masters/cgal/LP_KM3_Dual_QPE_solver.mps Processing: test_solver_data/derivatives/QP_translation_bug_shifted.mps Strategy: fe Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_translation_bug_shifted.mps Strategy: pe Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_translation_bug_shifted.mps Strategy: eb Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_translation_bug_shifted.mps Strategy: ff Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_translation_bug_shifted.mps Strategy: pf Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -6(4) -6(4) -6(4) -6(4) Processing: test_solver_data/derivatives/QP_translation_bug_free.mps Strategy: fe Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QP_translation_bug_free.mps Strategy: pe Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QP_translation_bug_free.mps Strategy: eb Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QP_translation_bug_free.mps Strategy: ff Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/QP_translation_bug_free.mps Strategy: pf Verbosity: 0 - Solution: 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_translation_bug.mps Strategy: fe Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_translation_bug.mps Strategy: pe Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_translation_bug.mps Strategy: eb Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_translation_bug.mps Strategy: ff Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/masters/cgal/QP_translation_bug.mps Strategy: pf Verbosity: 0 - Solution: 0(4) 0(4) 0(4) 0(4) + Solution: 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) 0(4) Processing: test_solver_data/derivatives/PD_Dual_Eq_QPE_solver_shifted.mps Strategy: fe Verbosity: 0 @@ -2443,61 +2443,61 @@ Processing: test_solver_data/masters/cgal/Ub_LP_Chvatal_8_1_d_QPE_solver.mps Processing: test_solver_data/derivatives/Unbounded_asymmetric_shifted.mps Strategy: fe Verbosity: 0 - Solution: -76(4) -76(4) + Solution: -60(4) -60(4) -60(4) -60(4) Processing: test_solver_data/derivatives/Unbounded_asymmetric_shifted.mps Strategy: pe Verbosity: 0 - Solution: -76(4) -76(4) + Solution: -60(4) -60(4) -60(4) -60(4) Processing: test_solver_data/derivatives/Unbounded_asymmetric_shifted.mps Strategy: eb Verbosity: 0 - Solution: -76(4) -76(4) + Solution: -60(4) -60(4) -60(4) -60(4) Processing: test_solver_data/derivatives/Unbounded_asymmetric_shifted.mps Strategy: ff Verbosity: 0 - Solution: -76(4) -76(4) + Solution: -60(4) -60(4) -60(4) -60(4) Processing: test_solver_data/derivatives/Unbounded_asymmetric_shifted.mps Strategy: pf Verbosity: 0 - Solution: -76(4) -76(4) + Solution: -60(4) -60(4) -60(4) -60(4) Processing: test_solver_data/derivatives/Unbounded_asymmetric_free.mps Strategy: fe Verbosity: 0 - Solution: -22(6) -22(6) + Solution: -22(6) -22(6) -22(6) -22(6) Processing: test_solver_data/derivatives/Unbounded_asymmetric_free.mps Strategy: pe Verbosity: 0 - Solution: -22(6) -22(6) + Solution: -22(6) -22(6) -22(6) -22(6) Processing: test_solver_data/derivatives/Unbounded_asymmetric_free.mps Strategy: eb Verbosity: 0 - Solution: -22(6) -22(6) + Solution: -22(6) -22(6) -22(6) -22(6) Processing: test_solver_data/derivatives/Unbounded_asymmetric_free.mps Strategy: ff Verbosity: 0 - Solution: -22(6) -22(6) + Solution: -22(6) -22(6) -22(6) -22(6) Processing: test_solver_data/derivatives/Unbounded_asymmetric_free.mps Strategy: pf Verbosity: 0 - Solution: -22(6) -22(6) + Solution: -22(6) -22(6) -22(6) -22(6) Processing: test_solver_data/masters/cgal/Unbounded_asymmetric.mps Strategy: fe Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -22(4) -22(4) -22(4) -22(4) Processing: test_solver_data/masters/cgal/Unbounded_asymmetric.mps Strategy: pe Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -22(4) -22(4) -22(4) -22(4) Processing: test_solver_data/masters/cgal/Unbounded_asymmetric.mps Strategy: eb Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -22(4) -22(4) -22(4) -22(4) Processing: test_solver_data/masters/cgal/Unbounded_asymmetric.mps Strategy: ff Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -22(4) -22(4) -22(4) -22(4) Processing: test_solver_data/masters/cgal/Unbounded_asymmetric.mps Strategy: pf Verbosity: 0 - Solution: -22(4) -22(4) + Solution: -22(4) -22(4) -22(4) -22(4) All test cases were successfully passed. diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/QPE_solver_example_bug_free.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/QPE_solver_example_bug_free.mps index c6657d75fc3..11ef9bea307 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/QPE_solver_example_bug_free.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/QPE_solver_example_bug_free.mps @@ -30,6 +30,4 @@ QMATRIX x0 x1 -32 x1 x0 -32 x1 x1 8 - x1 x2 4 - x2 x1 -4 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/QPE_solver_example_bug_shifted.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/QPE_solver_example_bug_shifted.mps index b4da1eb736d..305739436e1 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/QPE_solver_example_bug_shifted.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/QPE_solver_example_bug_shifted.mps @@ -9,10 +9,9 @@ ROWS COLUMNS x0 obj -64 x0 c0 -4 - x1 obj 33 + x1 obj 21 x1 c0 2 x1 c1 1 - x2 obj -8 x2 c1 1 RHS rhs c0 -8 @@ -26,6 +25,4 @@ QMATRIX x0 x1 -32 x1 x0 -32 x1 x1 8 - x1 x2 4 - x2 x1 -4 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_free.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_free.mps index 5b37822d008..3bfda79c44e 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_free.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_free.mps @@ -24,8 +24,6 @@ BOUNDS MI BND x2 QMATRIX x0 x0 2 - x0 x1 30 - x1 x0 -30 x1 x1 2 x2 x2 2 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_shifted.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_shifted.mps index f8f570b2db0..e1edabb683c 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_shifted.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_Degenerate_rank_zero_QPE_solver_shifted.mps @@ -8,8 +8,8 @@ ROWS E c1 E c2 COLUMNS - x0 obj 57 - x1 obj -37 + x0 obj -3 + x1 obj -7 x2 obj -2 RHS BOUNDS @@ -18,8 +18,6 @@ BOUNDS LO BND x2 3 QMATRIX x0 x0 2 - x0 x1 30 - x1 x0 -30 x1 x1 2 x2 x2 2 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_free.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_free.mps index 3990f3b8379..fa8fa66d6fd 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_free.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_free.mps @@ -31,6 +31,4 @@ QMATRIX x0 x1 -32 x1 x0 -32 x1 x1 8 - x1 x2 4 - x2 x1 -4 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_shifted.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_shifted.mps index 75e1f31e5e9..afd67063a0a 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_shifted.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_leave_variable_bug_QPE_solver_shifted.mps @@ -10,10 +10,9 @@ COLUMNS x0 obj -64 x0 c0 -4 x0 c1 1 - x1 obj 33 + x1 obj 21 x1 c0 2 x1 c1 1 - x2 obj -8 x2 c1 1 RHS rhs c0 -8 @@ -27,6 +26,4 @@ QMATRIX x0 x1 -32 x1 x0 -32 x1 x1 8 - x1 x2 4 - x2 x1 -4 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_translation_bug_free.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_translation_bug_free.mps index c6657d75fc3..11ef9bea307 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_translation_bug_free.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_translation_bug_free.mps @@ -30,6 +30,4 @@ QMATRIX x0 x1 -32 x1 x0 -32 x1 x1 8 - x1 x2 4 - x2 x1 -4 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_translation_bug_shifted.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_translation_bug_shifted.mps index b4da1eb736d..305739436e1 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_translation_bug_shifted.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/QP_translation_bug_shifted.mps @@ -9,10 +9,9 @@ ROWS COLUMNS x0 obj -64 x0 c0 -4 - x1 obj 33 + x1 obj 21 x1 c0 2 x1 c1 1 - x2 obj -8 x2 c1 1 RHS rhs c0 -8 @@ -26,6 +25,4 @@ QMATRIX x0 x1 -32 x1 x0 -32 x1 x1 8 - x1 x2 4 - x2 x1 -4 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/Unbounded_asymmetric_free.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/Unbounded_asymmetric_free.mps index deec1007377..bedce36e815 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/Unbounded_asymmetric_free.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/Unbounded_asymmetric_free.mps @@ -35,6 +35,4 @@ QMATRIX x0 x1 -32 x1 x0 -32 x1 x1 8 - x1 x2 4 - x2 x1 -4 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/derivatives/Unbounded_asymmetric_shifted.mps b/QP_solver/test/QP_solver/test_solver_data/derivatives/Unbounded_asymmetric_shifted.mps index 6897bb420c5..d01f5bf8b42 100644 --- a/QP_solver/test/QP_solver/test_solver_data/derivatives/Unbounded_asymmetric_shifted.mps +++ b/QP_solver/test/QP_solver/test_solver_data/derivatives/Unbounded_asymmetric_shifted.mps @@ -9,10 +9,10 @@ ROWS COLUMNS x0 obj -128 x0 c0 -4 - x1 obj 61 + x1 obj 49 x1 c0 2 x1 c1 1 - x2 obj -16 + x2 obj -8 x2 c1 1 RHS rhs c0 -8 @@ -26,6 +26,4 @@ QMATRIX x0 x1 -32 x1 x0 -32 x1 x1 8 - x1 x2 4 - x2 x1 -4 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QPE_solver_example_bug.mps b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QPE_solver_example_bug.mps index dd025845642..92e7a6fe765 100644 --- a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QPE_solver_example_bug.mps +++ b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QPE_solver_example_bug.mps @@ -22,11 +22,6 @@ RHS QMATRIX x1 x1 128 x1 x2 -32 - x1 x3 0 x2 x1 -32 x2 x2 8 - x2 x3 4 - x3 x1 0 - x3 x2 -4 - x3 x3 0 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_Degenerate_rank_zero_QPE_solver.mps b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_Degenerate_rank_zero_QPE_solver.mps index a7d5684f042..e45b8e26ce5 100644 --- a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_Degenerate_rank_zero_QPE_solver.mps +++ b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_Degenerate_rank_zero_QPE_solver.mps @@ -26,12 +26,6 @@ RHS rhs c3 0 QMATRIX x1 x1 2 - x1 x2 30 - x1 x3 0 - x2 x1 -30 x2 x2 2 - x2 x3 0 - x3 x1 0 - x3 x2 0 x3 x3 2 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_leave_variable_bug_QPE_solver.mps b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_leave_variable_bug_QPE_solver.mps index 12453f709af..901024972d5 100644 --- a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_leave_variable_bug_QPE_solver.mps +++ b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_leave_variable_bug_QPE_solver.mps @@ -22,11 +22,6 @@ RHS QMATRIX x1 x1 128 x1 x2 -32 - x1 x3 0 x2 x1 -32 x2 x2 8 - x2 x3 4 - x3 x1 0 - x3 x2 -4 - x3 x3 0 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_translation_bug.mps b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_translation_bug.mps index fea1130f44c..10361cbeb82 100644 --- a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_translation_bug.mps +++ b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/QP_translation_bug.mps @@ -22,11 +22,6 @@ RHS DMATRIX x1 x1 64 x1 x2 -16 - x1 x3 0 x2 x1 -16 x2 x2 4 - x2 x3 2 - x3 x1 0 - x3 x2 -2 - x3 x3 0 ENDATA diff --git a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/Unbounded_asymmetric.mps b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/Unbounded_asymmetric.mps index 9c1a77f9832..d8d3a969e75 100644 --- a/QP_solver/test/QP_solver/test_solver_data/masters/cgal/Unbounded_asymmetric.mps +++ b/QP_solver/test/QP_solver/test_solver_data/masters/cgal/Unbounded_asymmetric.mps @@ -26,11 +26,6 @@ BOUNDS DMATRIX x1 x1 64 x1 x2 -16 - x1 x3 0 x2 x1 -16 x2 x2 4 - x2 x3 2 - x3 x1 0 - x3 x2 -2 - x3 x3 0 ENDATA