[TEST] Added Remaining Failing Tests AUG2D CONT-050 HS118 HS268 HS51 HS51 HS53 HS76
parent
ac1a02337e
commit
15c6aa210b
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,118 @@
|
|||
NAME HS118
|
||||
ROWS
|
||||
N OBJ.FUNC
|
||||
G R------1
|
||||
G R------2
|
||||
G R------3
|
||||
G R------4
|
||||
G R------5
|
||||
G R------6
|
||||
G R------7
|
||||
G R------8
|
||||
G R------9
|
||||
G R-----10
|
||||
G R-----11
|
||||
G R-----12
|
||||
G R-----13
|
||||
G R-----14
|
||||
G R-----15
|
||||
G R-----16
|
||||
G R-----17
|
||||
COLUMNS
|
||||
C------1 OBJ.FUNC 0.230000e+01 R------1 -.100000e+01
|
||||
C------1 R-----13 0.100000e+01
|
||||
C------2 OBJ.FUNC 0.170000e+01 R------3 -.100000e+01
|
||||
C------2 R-----13 0.100000e+01
|
||||
C------3 OBJ.FUNC 0.220000e+01 R------2 -.100000e+01
|
||||
C------3 R-----13 0.100000e+01
|
||||
C------4 OBJ.FUNC 0.230000e+01 R------1 0.100000e+01
|
||||
C------4 R------4 -.100000e+01 R-----14 0.100000e+01
|
||||
C------5 OBJ.FUNC 0.170000e+01 R------3 0.100000e+01
|
||||
C------5 R------6 -.100000e+01 R-----14 0.100000e+01
|
||||
C------6 OBJ.FUNC 0.220000e+01 R------2 0.100000e+01
|
||||
C------6 R------5 -.100000e+01 R-----14 0.100000e+01
|
||||
C------7 OBJ.FUNC 0.230000e+01 R------4 0.100000e+01
|
||||
C------7 R------7 -.100000e+01 R-----15 0.100000e+01
|
||||
C------8 OBJ.FUNC 0.170000e+01 R------6 0.100000e+01
|
||||
C------8 R------9 -.100000e+01 R-----15 0.100000e+01
|
||||
C------9 OBJ.FUNC 0.220000e+01 R------5 0.100000e+01
|
||||
C------9 R------8 -.100000e+01 R-----15 0.100000e+01
|
||||
C-----10 OBJ.FUNC 0.230000e+01 R------7 0.100000e+01
|
||||
C-----10 R-----10 -.100000e+01 R-----16 0.100000e+01
|
||||
C-----11 OBJ.FUNC 0.170000e+01 R------9 0.100000e+01
|
||||
C-----11 R-----12 -.100000e+01 R-----16 0.100000e+01
|
||||
C-----12 OBJ.FUNC 0.220000e+01 R------8 0.100000e+01
|
||||
C-----12 R-----11 -.100000e+01 R-----16 0.100000e+01
|
||||
C-----13 OBJ.FUNC 0.230000e+01 R-----10 0.100000e+01
|
||||
C-----13 R-----17 0.100000e+01
|
||||
C-----14 OBJ.FUNC 0.170000e+01 R-----12 0.100000e+01
|
||||
C-----14 R-----17 0.100000e+01
|
||||
C-----15 OBJ.FUNC 0.220000e+01 R-----11 0.100000e+01
|
||||
C-----15 R-----17 0.100000e+01
|
||||
RHS
|
||||
RHS R------1 -.700000e+01
|
||||
RHS R------2 -.700000e+01
|
||||
RHS R------3 -.700000e+01
|
||||
RHS R------4 -.700000e+01
|
||||
RHS R------5 -.700000e+01
|
||||
RHS R------6 -.700000e+01
|
||||
RHS R------7 -.700000e+01
|
||||
RHS R------8 -.700000e+01
|
||||
RHS R------9 -.700000e+01
|
||||
RHS R-----10 -.700000e+01
|
||||
RHS R-----11 -.700000e+01
|
||||
RHS R-----12 -.700000e+01
|
||||
RHS R-----13 0.600000e+02
|
||||
RHS R-----14 0.500000e+02
|
||||
RHS R-----15 0.700000e+02
|
||||
RHS R-----16 0.850000e+02
|
||||
RHS R-----17 0.100000e+03
|
||||
RANGES
|
||||
RANGES R------1 0.130000e+02
|
||||
RANGES R------2 0.130000e+02
|
||||
RANGES R------3 0.140000e+02
|
||||
RANGES R------4 0.130000e+02
|
||||
RANGES R------5 0.130000e+02
|
||||
RANGES R------6 0.140000e+02
|
||||
RANGES R------7 0.130000e+02
|
||||
RANGES R------8 0.130000e+02
|
||||
RANGES R------9 0.140000e+02
|
||||
RANGES R-----10 0.130000e+02
|
||||
RANGES R-----11 0.130000e+02
|
||||
RANGES R-----12 0.140000e+02
|
||||
BOUNDS
|
||||
LO BOUNDS C------1 0.800000e+01
|
||||
UP BOUNDS C------1 0.210000e+02
|
||||
LO BOUNDS C------2 0.430000e+02
|
||||
UP BOUNDS C------2 0.570000e+02
|
||||
LO BOUNDS C------3 0.300000e+01
|
||||
UP BOUNDS C------3 0.160000e+02
|
||||
UP BOUNDS C------4 0.900000e+02
|
||||
UP BOUNDS C------5 0.120000e+03
|
||||
UP BOUNDS C------6 0.600000e+02
|
||||
UP BOUNDS C------7 0.900000e+02
|
||||
UP BOUNDS C------8 0.120000e+03
|
||||
UP BOUNDS C------9 0.600000e+02
|
||||
UP BOUNDS C-----10 0.900000e+02
|
||||
UP BOUNDS C-----11 0.120000e+03
|
||||
UP BOUNDS C-----12 0.600000e+02
|
||||
UP BOUNDS C-----13 0.900000e+02
|
||||
UP BOUNDS C-----14 0.120000e+03
|
||||
UP BOUNDS C-----15 0.600000e+02
|
||||
QUADOBJ
|
||||
C------1 C------1 0.200000e-03
|
||||
C------2 C------2 0.200000e-03
|
||||
C------3 C------3 0.300000e-03
|
||||
C------4 C------4 0.200000e-03
|
||||
C------5 C------5 0.200000e-03
|
||||
C------6 C------6 0.300000e-03
|
||||
C------7 C------7 0.200000e-03
|
||||
C------8 C------8 0.200000e-03
|
||||
C------9 C------9 0.300000e-03
|
||||
C-----10 C-----10 0.200000e-03
|
||||
C-----11 C-----11 0.200000e-03
|
||||
C-----12 C-----12 0.300000e-03
|
||||
C-----13 C-----13 0.200000e-03
|
||||
C-----14 C-----14 0.200000e-03
|
||||
C-----15 C-----15 0.300000e-03
|
||||
ENDATA
|
|
@ -0,0 +1,55 @@
|
|||
NAME HS268
|
||||
ROWS
|
||||
N OBJ.FUNC
|
||||
G R------1
|
||||
G R------2
|
||||
G R------3
|
||||
G R------4
|
||||
G R------5
|
||||
COLUMNS
|
||||
C------1 OBJ.FUNC 0.183400e+05 R------1 -.100000e+01
|
||||
C------1 R------2 0.100000e+02 R------3 -.800000e+01
|
||||
C------1 R------4 0.800000e+01 R------5 -.400000e+01
|
||||
C------2 OBJ.FUNC -.341980e+05 R------1 -.100000e+01
|
||||
C------2 R------2 0.100000e+02 R------3 0.100000e+01
|
||||
C------2 R------4 -.100000e+01 R------5 -.200000e+01
|
||||
C------3 OBJ.FUNC 0.454200e+04 R------1 -.100000e+01
|
||||
C------3 R------2 -.300000e+01 R------3 -.200000e+01
|
||||
C------3 R------4 0.200000e+01 R------5 0.300000e+01
|
||||
C------4 OBJ.FUNC 0.867200e+04 R------1 -.100000e+01
|
||||
C------4 R------2 0.500000e+01 R------3 -.500000e+01
|
||||
C------4 R------4 0.500000e+01 R------5 -.500000e+01
|
||||
C------5 OBJ.FUNC 0.860000e+02 R------1 -.100000e+01
|
||||
C------5 R------2 0.400000e+01 R------3 0.300000e+01
|
||||
C------5 R------4 -.300000e+01 R------5 0.100000e+01
|
||||
RHS
|
||||
RHS OBJ.FUNC -.144630e+05
|
||||
RHS R------1 -.500000e+01
|
||||
RHS R------2 0.200000e+02
|
||||
RHS R------3 -.400000e+02
|
||||
RHS R------4 0.110000e+02
|
||||
RHS R------5 -.300000e+02
|
||||
RANGES
|
||||
BOUNDS
|
||||
FR BOUNDS C------1
|
||||
FR BOUNDS C------2
|
||||
FR BOUNDS C------3
|
||||
FR BOUNDS C------4
|
||||
FR BOUNDS C------5
|
||||
QUADOBJ
|
||||
C------1 C------1 0.203940e+05
|
||||
C------1 C------2 -.249080e+05
|
||||
C------1 C------3 -.202600e+04
|
||||
C------1 C------4 0.389600e+04
|
||||
C------1 C------5 0.658000e+03
|
||||
C------2 C------2 0.418180e+05
|
||||
C------2 C------3 -.346600e+04
|
||||
C------2 C------4 -.982800e+04
|
||||
C------2 C------5 -.372000e+03
|
||||
C------3 C------3 0.351000e+04
|
||||
C------3 C------4 0.217800e+04
|
||||
C------3 C------5 -.348000e+03
|
||||
C------4 C------4 0.303000e+04
|
||||
C------4 C------5 -.440000e+02
|
||||
C------5 C------5 0.540000e+02
|
||||
ENDATA
|
|
@ -0,0 +1,33 @@
|
|||
NAME HS51
|
||||
ROWS
|
||||
N OBJ.FUNC
|
||||
E R------1
|
||||
E R------2
|
||||
E R------3
|
||||
COLUMNS
|
||||
C------1 R------1 0.100000e+01
|
||||
C------2 OBJ.FUNC -.400000e+01 R------1 0.300000e+01
|
||||
C------2 R------3 0.100000e+01
|
||||
C------3 OBJ.FUNC -.400000e+01 R------2 0.100000e+01
|
||||
C------4 OBJ.FUNC -.200000e+01 R------2 0.100000e+01
|
||||
C------5 OBJ.FUNC -.200000e+01 R------2 -.200000e+01
|
||||
C------5 R------3 -.100000e+01
|
||||
RHS
|
||||
RHS OBJ.FUNC -.600000e+01
|
||||
RHS R------1 0.400000e+01
|
||||
RANGES
|
||||
BOUNDS
|
||||
FR BOUNDS C------1
|
||||
FR BOUNDS C------2
|
||||
FR BOUNDS C------3
|
||||
FR BOUNDS C------4
|
||||
FR BOUNDS C------5
|
||||
QUADOBJ
|
||||
C------1 C------1 0.200000e+01
|
||||
C------1 C------2 -.200000e+01
|
||||
C------2 C------2 0.400000e+01
|
||||
C------2 C------3 0.200000e+01
|
||||
C------3 C------3 0.200000e+01
|
||||
C------4 C------4 0.200000e+01
|
||||
C------5 C------5 0.200000e+01
|
||||
ENDATA
|
|
@ -0,0 +1,32 @@
|
|||
NAME HS52
|
||||
ROWS
|
||||
N OBJ.FUNC
|
||||
E R------1
|
||||
E R------2
|
||||
E R------3
|
||||
COLUMNS
|
||||
C------1 R------1 0.100000e+01
|
||||
C------2 OBJ.FUNC -.400000e+01 R------1 0.300000e+01
|
||||
C------2 R------3 0.100000e+01
|
||||
C------3 OBJ.FUNC -.400000e+01 R------2 0.100000e+01
|
||||
C------4 OBJ.FUNC -.200000e+01 R------2 0.100000e+01
|
||||
C------5 OBJ.FUNC -.200000e+01 R------2 -.200000e+01
|
||||
C------5 R------3 -.100000e+01
|
||||
RHS
|
||||
RHS OBJ.FUNC -.600000e+01
|
||||
RANGES
|
||||
BOUNDS
|
||||
FR BOUNDS C------1
|
||||
FR BOUNDS C------2
|
||||
FR BOUNDS C------3
|
||||
FR BOUNDS C------4
|
||||
FR BOUNDS C------5
|
||||
QUADOBJ
|
||||
C------1 C------1 0.320000e+02
|
||||
C------1 C------2 -.800000e+01
|
||||
C------2 C------2 0.400000e+01
|
||||
C------2 C------3 0.200000e+01
|
||||
C------3 C------3 0.200000e+01
|
||||
C------4 C------4 0.200000e+01
|
||||
C------5 C------5 0.200000e+01
|
||||
ENDATA
|
|
@ -0,0 +1,37 @@
|
|||
NAME HS53
|
||||
ROWS
|
||||
N OBJ.FUNC
|
||||
E R------1
|
||||
E R------2
|
||||
E R------3
|
||||
COLUMNS
|
||||
C------1 R------1 0.100000e+01
|
||||
C------2 OBJ.FUNC -.400000e+01 R------1 0.300000e+01
|
||||
C------2 R------3 0.100000e+01
|
||||
C------3 OBJ.FUNC -.400000e+01 R------2 0.100000e+01
|
||||
C------4 OBJ.FUNC -.200000e+01 R------2 0.100000e+01
|
||||
C------5 OBJ.FUNC -.200000e+01 R------2 -.200000e+01
|
||||
C------5 R------3 -.100000e+01
|
||||
RHS
|
||||
RHS OBJ.FUNC -.600000e+01
|
||||
RANGES
|
||||
BOUNDS
|
||||
LO BOUNDS C------1 -.100000e+02
|
||||
UP BOUNDS C------1 0.100000e+02
|
||||
LO BOUNDS C------2 -.100000e+02
|
||||
UP BOUNDS C------2 0.100000e+02
|
||||
LO BOUNDS C------3 -.100000e+02
|
||||
UP BOUNDS C------3 0.100000e+02
|
||||
LO BOUNDS C------4 -.100000e+02
|
||||
UP BOUNDS C------4 0.100000e+02
|
||||
LO BOUNDS C------5 -.100000e+02
|
||||
UP BOUNDS C------5 0.100000e+02
|
||||
QUADOBJ
|
||||
C------1 C------1 0.200000e+01
|
||||
C------1 C------2 -.200000e+01
|
||||
C------2 C------2 0.400000e+01
|
||||
C------2 C------3 0.200000e+01
|
||||
C------3 C------3 0.200000e+01
|
||||
C------4 C------4 0.200000e+01
|
||||
C------5 C------5 0.200000e+01
|
||||
ENDATA
|
|
@ -0,0 +1,29 @@
|
|||
NAME HS76
|
||||
ROWS
|
||||
N OBJ.FUNC
|
||||
L R------1
|
||||
L R------2
|
||||
G R------3
|
||||
COLUMNS
|
||||
C------1 OBJ.FUNC -.100000e+01 R------1 0.100000e+01
|
||||
C------1 R------2 0.300000e+01
|
||||
C------2 OBJ.FUNC -.300000e+01 R------1 0.200000e+01
|
||||
C------2 R------2 0.100000e+01 R------3 0.100000e+01
|
||||
C------3 OBJ.FUNC 0.100000e+01 R------1 0.100000e+01
|
||||
C------3 R------2 0.200000e+01 R------3 0.400000e+01
|
||||
C------4 OBJ.FUNC -.100000e+01 R------1 0.100000e+01
|
||||
C------4 R------2 -.100000e+01
|
||||
RHS
|
||||
RHS R------1 0.500000e+01
|
||||
RHS R------2 0.400000e+01
|
||||
RHS R------3 0.150000e+01
|
||||
RANGES
|
||||
BOUNDS
|
||||
QUADOBJ
|
||||
C------1 C------1 0.200000e+01
|
||||
C------1 C------3 -.100000e+01
|
||||
C------2 C------2 0.100000e+01
|
||||
C------3 C------3 0.200000e+01
|
||||
C------3 C------4 0.100000e+01
|
||||
C------4 C------4 0.100000e+01
|
||||
ENDATA
|
|
@ -40,7 +40,10 @@ void RawQP::addColumn(
|
|||
std::string var_(at_c < 1 > (vars).begin(), at_c < 1 > (vars).end());
|
||||
std::string row_(at_c < 3 > (vars).begin(), at_c < 3 > (vars).end());
|
||||
Matrix11 coefficient = at_c < 5 > (vars) * I_1x1;
|
||||
|
||||
if (debug) {
|
||||
std::cout << "Added Column for Var: " << var_ << " Row: " << row_
|
||||
<< " Coefficient: " << coefficient << std::endl;
|
||||
}
|
||||
if (!varname_to_key.count(var_))
|
||||
varname_to_key[var_] = Symbol('X', varNumber++);
|
||||
if (row_ == obj_name) {
|
||||
|
@ -48,11 +51,6 @@ void RawQP::addColumn(
|
|||
return;
|
||||
}
|
||||
(*row_to_constraint_v[row_])[row_][varname_to_key[var_]] = coefficient;
|
||||
if (debug) {
|
||||
std::cout << "Added Column for Var: " << var_ << " Row: " << row_
|
||||
<< " Coefficient: " << coefficient << std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void RawQP::addColumnDouble(
|
||||
|
|
|
@ -281,7 +281,7 @@ TEST(QPSolver, HS21) {
|
|||
CHECK(assert_equal(expectedSolution, actualSolution))
|
||||
}
|
||||
|
||||
TEST_DISABLED(QPSolver, HS118) {
|
||||
TEST_DISABLED(QPSolver, HS118) { //Fails because of the GTSAM linear system error
|
||||
QP problem = QPSParser("HS118.QPS").Parse();
|
||||
VectorValues actualSolution;
|
||||
VectorValues expectedSolution;
|
||||
|
@ -311,6 +311,61 @@ TEST(QPSolver, HS35MOD) {
|
|||
CHECK(assert_equal(2.50000001e-01,error_actual, 1e-7))
|
||||
}
|
||||
|
||||
TEST(QPSolver, HS51) {
|
||||
QP problem = QPSParser("HS51.QPS").Parse();
|
||||
VectorValues actualSolution;
|
||||
boost::tie(actualSolution, boost::tuples::ignore) = QPSolver(problem).optimize();
|
||||
double error_actual = problem.cost.error(actualSolution);
|
||||
CHECK(assert_equal(8.88178420e-16,error_actual, 1e-7))
|
||||
}
|
||||
|
||||
TEST(QPSolver, HS52) { //Fails on release but not debug
|
||||
QP problem = QPSParser("HS52.QPS").Parse();
|
||||
VectorValues actualSolution;
|
||||
boost::tie(actualSolution, boost::tuples::ignore) = QPSolver(problem).optimize();
|
||||
double error_actual = problem.cost.error(actualSolution);
|
||||
CHECK(assert_equal(5.32664756,error_actual, 1e-7))
|
||||
}
|
||||
|
||||
TEST_DISABLED(QPSolver, HS53) { //Fails because of the GTSAM indeterminant linear system error
|
||||
QP problem = QPSParser("HS53.QPS").Parse();
|
||||
VectorValues actualSolution;
|
||||
boost::tie(actualSolution, boost::tuples::ignore) = QPSolver(problem).optimize();
|
||||
double error_actual = problem.cost.error(actualSolution);
|
||||
CHECK(assert_equal(4.09302326,error_actual, 1e-7))
|
||||
}
|
||||
|
||||
TEST_DISABLED(QPSolver, HS76) { //Fails because of the GTSAM indeterminant linear system
|
||||
QP problem = QPSParser("HS76.QPS").Parse();
|
||||
VectorValues actualSolution;
|
||||
boost::tie(actualSolution, boost::tuples::ignore) = QPSolver(problem).optimize();
|
||||
double error_actual = problem.cost.error(actualSolution);
|
||||
CHECK(assert_equal(-4.68181818,error_actual, 1e-7))
|
||||
}
|
||||
|
||||
TEST_DISABLED(QPSolver, HS268) { // Fails with a very small error
|
||||
QP problem = QPSParser("HS268.QPS").Parse();
|
||||
VectorValues actualSolution;
|
||||
boost::tie(actualSolution, boost::tuples::ignore) = QPSolver(problem).optimize();
|
||||
double error_actual = problem.cost.error(actualSolution);
|
||||
CHECK(assert_equal(5.73107049e-07,error_actual, 1e-7))
|
||||
}
|
||||
|
||||
TEST_DISABLED(QPSolver, AUG2D) { //Fails with Indeterminant Linear System error.
|
||||
QP problem = QPSParser("AUG2D.QPS").Parse();
|
||||
VectorValues actualSolution;
|
||||
boost::tie(actualSolution, boost::tuples::ignore) = QPSolver(problem).optimize();
|
||||
double error_actual = problem.cost.error(actualSolution);
|
||||
CHECK(assert_equal(0.168741175e+07,error_actual, 1e-7))
|
||||
}
|
||||
|
||||
TEST_DISABLED(QPSolver, CONT_050) { // Fails with Indeterminant Linear System error
|
||||
QP problem = QPSParser("CONT-050.QPS").Parse();
|
||||
VectorValues actualSolution;
|
||||
boost::tie(actualSolution, boost::tuples::ignore) = QPSolver(problem).optimize();
|
||||
double error_actual = problem.cost.error(actualSolution);
|
||||
CHECK(assert_equal(-4.56385090,error_actual, 1e-7))
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
// Create Matlab's test graph as in http://www.mathworks.com/help/optim/ug/quadprog.html
|
||||
|
|
Loading…
Reference in New Issue