mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
replace lean to lp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
This commit is contained in:
parent
db0a3f4358
commit
d41c65a4f9
72 changed files with 1334 additions and 1213 deletions
|
@ -47,9 +47,8 @@ Revision History:
|
|||
#include "util/lp/stacked_unordered_set.h"
|
||||
#include "util/lp/int_set.h"
|
||||
#include "util/stopwatch.h"
|
||||
|
||||
namespace lp {
|
||||
unsigned seed = 1;
|
||||
unsigned seed = 1;
|
||||
|
||||
random_gen g_rand;
|
||||
static unsigned my_random() {
|
||||
|
@ -95,7 +94,7 @@ void test_matrix(sparse_matrix<T, X> & a) {
|
|||
|
||||
a.set(i, j, t);
|
||||
|
||||
SASSERT(a.get(i, j) == t);
|
||||
lp_assert(a.get(i, j) == t);
|
||||
|
||||
unsigned j1;
|
||||
if (j < m - 1) {
|
||||
|
@ -187,7 +186,7 @@ vector<int> allocate_basis_heading(unsigned count) { // the rest of initilizatio
|
|||
|
||||
|
||||
void init_basic_part_of_basis_heading(vector<unsigned> & basis, vector<int> & basis_heading) {
|
||||
SASSERT(basis_heading.size() >= basis.size());
|
||||
lp_assert(basis_heading.size() >= basis.size());
|
||||
unsigned m = basis.size();
|
||||
for (unsigned i = 0; i < m; i++) {
|
||||
unsigned column = basis[i];
|
||||
|
@ -242,7 +241,7 @@ void test_small_lu(lp_settings & settings) {
|
|||
vector<unsigned> non_basic_columns;
|
||||
init_basis_heading_and_non_basic_columns_vector(basis, heading, non_basic_columns);
|
||||
lu<double, double> l(m, basis, settings);
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
indexed_vector<double> w(m.row_count());
|
||||
std::cout << "entering 2, leaving 0" << std::endl;
|
||||
l.prepare_entering(2, w); // to init vector w
|
||||
|
@ -252,7 +251,7 @@ void test_small_lu(lp_settings & settings) {
|
|||
// std::cout << "we were factoring " << std::endl;
|
||||
// print_matrix(get_B(l));
|
||||
// #endif
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
std::cout << "entering 4, leaving 3" << std::endl;
|
||||
l.prepare_entering(4, w); // to init vector w
|
||||
l.replace_column(0, w, heading[3]);
|
||||
|
@ -264,7 +263,7 @@ void test_small_lu(lp_settings & settings) {
|
|||
print_matrix(&bl, std::cout);
|
||||
}
|
||||
#endif
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
|
||||
std::cout << "entering 5, leaving 1" << std::endl;
|
||||
l.prepare_entering(5, w); // to init vector w
|
||||
|
@ -277,7 +276,7 @@ void test_small_lu(lp_settings & settings) {
|
|||
print_matrix(&bl, std::cout);
|
||||
}
|
||||
#endif
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
std::cout << "entering 3, leaving 2" << std::endl;
|
||||
l.prepare_entering(3, w); // to init vector w
|
||||
l.replace_column(0, w, heading[2]);
|
||||
|
@ -289,7 +288,7 @@ void test_small_lu(lp_settings & settings) {
|
|||
print_matrix(&bl, std::cout);
|
||||
}
|
||||
#endif
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
|
||||
m.add_row();
|
||||
m.add_column();
|
||||
|
@ -308,7 +307,7 @@ void test_small_lu(lp_settings & settings) {
|
|||
auto columns_to_replace = l.get_set_of_columns_to_replace_for_add_last_rows(heading);
|
||||
l.add_last_rows_to_B(heading, columns_to_replace);
|
||||
std::cout << "here" << std::endl;
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -390,7 +389,7 @@ void test_larger_lu_exp(lp_settings & settings) {
|
|||
|
||||
dense_matrix<double, double> left_side = l.get_left_side(basis);
|
||||
dense_matrix<double, double> right_side = l.get_right_side();
|
||||
SASSERT(left_side == right_side);
|
||||
lp_assert(left_side == right_side);
|
||||
int leaving = 3;
|
||||
int entering = 8;
|
||||
for (unsigned i = 0; i < m.row_count(); i++) {
|
||||
|
@ -402,12 +401,12 @@ void test_larger_lu_exp(lp_settings & settings) {
|
|||
l.prepare_entering(entering, w);
|
||||
l.replace_column(0, w, heading[leaving]);
|
||||
change_basis(entering, leaving, basis, non_basic_columns, heading);
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
|
||||
l.prepare_entering(11, w); // to init vector w
|
||||
l.replace_column(0, w, heading[0]);
|
||||
change_basis(11, 0, basis, non_basic_columns, heading);
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
}
|
||||
|
||||
void test_larger_lu_with_holes(lp_settings & settings) {
|
||||
|
@ -449,7 +448,7 @@ void test_larger_lu_with_holes(lp_settings & settings) {
|
|||
l.prepare_entering(8, w); // to init vector w
|
||||
l.replace_column(0, w, heading[0]);
|
||||
change_basis(8, 0, basis, non_basic_columns, heading);
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
}
|
||||
|
||||
|
||||
|
@ -496,7 +495,7 @@ void test_larger_lu(lp_settings& settings) {
|
|||
l.prepare_entering(9, w); // to init vector w
|
||||
l.replace_column(0, w, heading[0]);
|
||||
change_basis(9, 0, basis, non_basic_columns, heading);
|
||||
SASSERT(l.is_correct(basis));
|
||||
lp_assert(l.is_correct(basis));
|
||||
}
|
||||
|
||||
|
||||
|
@ -629,7 +628,7 @@ void test_swap_rows_with_permutation(sparse_matrix<T, X>& m){
|
|||
dense_matrix<double, double> original(&m);
|
||||
permutation_matrix<double, double> q(dim);
|
||||
print_matrix(m, std::cout);
|
||||
SASSERT(original == q * m);
|
||||
lp_assert(original == q * m);
|
||||
for (int i = 0; i < 100; i++) {
|
||||
unsigned row1 = my_random() % dim;
|
||||
unsigned row2 = my_random() % dim;
|
||||
|
@ -637,7 +636,7 @@ void test_swap_rows_with_permutation(sparse_matrix<T, X>& m){
|
|||
std::cout << "swap " << row1 << " " << row2 << std::endl;
|
||||
m.swap_rows(row1, row2);
|
||||
q.transpose_from_left(row1, row2);
|
||||
SASSERT(original == q * m);
|
||||
lp_assert(original == q * m);
|
||||
print_matrix(m, std::cout);
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
@ -653,7 +652,7 @@ void test_swap_cols_with_permutation(sparse_matrix<T, X>& m){
|
|||
dense_matrix<double, double> original(&m);
|
||||
permutation_matrix<double, double> q(dim);
|
||||
print_matrix(m, std::cout);
|
||||
SASSERT(original == q * m);
|
||||
lp_assert(original == q * m);
|
||||
for (int i = 0; i < 100; i++) {
|
||||
unsigned row1 = my_random() % dim;
|
||||
unsigned row2 = my_random() % dim;
|
||||
|
@ -661,7 +660,7 @@ void test_swap_cols_with_permutation(sparse_matrix<T, X>& m){
|
|||
std::cout << "swap " << row1 << " " << row2 << std::endl;
|
||||
m.swap_rows(row1, row2);
|
||||
q.transpose_from_right(row1, row2);
|
||||
SASSERT(original == q * m);
|
||||
lp_assert(original == q * m);
|
||||
print_matrix(m, std::cout);
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
@ -680,8 +679,8 @@ void test_swap_rows(sparse_matrix<T, X>& m, unsigned i0, unsigned i1){
|
|||
m.swap_rows(i0, i1);
|
||||
|
||||
for (unsigned j = 0; j < m.dimension(); j++) {
|
||||
SASSERT(mcopy(i0, j) == m(i1, j));
|
||||
SASSERT(mcopy(i1, j) == m(i0, j));
|
||||
lp_assert(mcopy(i0, j) == m(i1, j));
|
||||
lp_assert(mcopy(i1, j) == m(i0, j));
|
||||
}
|
||||
}
|
||||
template <typename T, typename X>
|
||||
|
@ -695,15 +694,15 @@ void test_swap_columns(sparse_matrix<T, X>& m, unsigned i0, unsigned i1){
|
|||
m.swap_columns(i0, i1);
|
||||
|
||||
for (unsigned j = 0; j < m.dimension(); j++) {
|
||||
SASSERT(mcopy(j, i0) == m(j, i1));
|
||||
SASSERT(mcopy(j, i1) == m(j, i0));
|
||||
lp_assert(mcopy(j, i0) == m(j, i1));
|
||||
lp_assert(mcopy(j, i1) == m(j, i0));
|
||||
}
|
||||
|
||||
for (unsigned i = 0; i < m.dimension(); i++) {
|
||||
if (i == i0 || i == i1)
|
||||
continue;
|
||||
for (unsigned j = 0; j < m.dimension(); j++) {
|
||||
SASSERT(mcopy(j, i)== m(j, i));
|
||||
lp_assert(mcopy(j, i)== m(j, i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -765,7 +764,7 @@ void test_pivot_like_swaps_and_pivot(){
|
|||
m.pivot_row_to_row(pivot_row_0, beta, target_row, settings);
|
||||
// print_matrix(m);
|
||||
for (unsigned j = 0; j < m.dimension(); j++) {
|
||||
SASSERT(abs(row[j] - m(target_row, j)) < 0.00000001);
|
||||
lp_assert(abs(row[j] - m(target_row, j)) < 0.00000001);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -870,57 +869,57 @@ void sparse_matrix_with_permutaions_test() {
|
|||
m.multiply_from_left(q0);
|
||||
for (unsigned i = 0; i < dim; i++) {
|
||||
for (unsigned j = 0; j < dim; j++) {
|
||||
SASSERT(m(i, j) == dm0.get_elem(q0[i], j));
|
||||
lp_assert(m(i, j) == dm0.get_elem(q0[i], j));
|
||||
}
|
||||
}
|
||||
|
||||
auto q0_dm = q0 * dm;
|
||||
SASSERT(m == q0_dm);
|
||||
lp_assert(m == q0_dm);
|
||||
|
||||
m.multiply_from_left(q1);
|
||||
for (unsigned i = 0; i < dim; i++) {
|
||||
for (unsigned j = 0; j < dim; j++) {
|
||||
SASSERT(m(i, j) == dm0.get_elem(q0[q1[i]], j));
|
||||
lp_assert(m(i, j) == dm0.get_elem(q0[q1[i]], j));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
auto q1_q0_dm = q1 * q0_dm;
|
||||
|
||||
SASSERT(m == q1_q0_dm);
|
||||
lp_assert(m == q1_q0_dm);
|
||||
|
||||
m.multiply_from_right(p0);
|
||||
|
||||
for (unsigned i = 0; i < dim; i++) {
|
||||
for (unsigned j = 0; j < dim; j++) {
|
||||
SASSERT(m(i, j) == dm0.get_elem(q0[q1[i]], p0[j]));
|
||||
lp_assert(m(i, j) == dm0.get_elem(q0[q1[i]], p0[j]));
|
||||
}
|
||||
}
|
||||
|
||||
auto q1_q0_dm_p0 = q1_q0_dm * p0;
|
||||
|
||||
SASSERT(m == q1_q0_dm_p0);
|
||||
lp_assert(m == q1_q0_dm_p0);
|
||||
|
||||
m.multiply_from_right(p1);
|
||||
|
||||
for (unsigned i = 0; i < dim; i++) {
|
||||
for (unsigned j = 0; j < dim; j++) {
|
||||
SASSERT(m(i, j) == dm0.get_elem(q0[q1[i]], p1[p0[j]]));
|
||||
lp_assert(m(i, j) == dm0.get_elem(q0[q1[i]], p1[p0[j]]));
|
||||
}
|
||||
}
|
||||
|
||||
auto q1_q0_dm_p0_p1 = q1_q0_dm_p0 * p1;
|
||||
SASSERT(m == q1_q0_dm_p0_p1);
|
||||
lp_assert(m == q1_q0_dm_p0_p1);
|
||||
|
||||
m.multiply_from_right(p1);
|
||||
for (unsigned i = 0; i < dim; i++) {
|
||||
for (unsigned j = 0; j < dim; j++) {
|
||||
SASSERT(m(i, j) == dm0.get_elem(q0[q1[i]], p1[p1[p0[j]]]));
|
||||
lp_assert(m(i, j) == dm0.get_elem(q0[q1[i]], p1[p1[p0[j]]]));
|
||||
}
|
||||
}
|
||||
auto q1_q0_dm_p0_p1_p1 = q1_q0_dm_p0_p1 * p1;
|
||||
|
||||
SASSERT(m == q1_q0_dm_p0_p1_p1);
|
||||
lp_assert(m == q1_q0_dm_p0_p1_p1);
|
||||
}
|
||||
|
||||
void test_swap_columns() {
|
||||
|
@ -1041,7 +1040,7 @@ void test_apply_reverse_from_right_to_perm(permutation_matrix<double, double> &
|
|||
#ifdef Z3DEBUG
|
||||
auto rev = l.get_inverse();
|
||||
auto rs = pclone * rev;
|
||||
SASSERT(p == rs);
|
||||
lp_assert(p == rs)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -1068,8 +1067,8 @@ void test_permutations() {
|
|||
|
||||
p.apply_reverse_from_right_to_T(v);
|
||||
p.apply_reverse_from_right_to_T(vi);
|
||||
SASSERT(vectors_are_equal(v, vi.m_data));
|
||||
SASSERT(vi.is_OK());
|
||||
lp_assert(vectors_are_equal(v, vi.m_data));
|
||||
lp_assert(vi.is_OK());
|
||||
}
|
||||
|
||||
void lp_solver_test() {
|
||||
|
@ -1217,7 +1216,7 @@ void solve_mps_double(std::string file_name, bool look_for_min, unsigned max_ite
|
|||
compare_solutions(reader, primal_solver, solver);
|
||||
print_x(reader, primal_solver);
|
||||
std::cout << "dual cost is " << cost << ", but primal cost is " << primal_cost << std::endl;
|
||||
SASSERT(false);
|
||||
lp_assert(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1335,7 +1334,7 @@ void test_binary_priority_queue() {
|
|||
|
||||
for (unsigned i = 0; i < 10; i++) {
|
||||
unsigned de = q.dequeue();
|
||||
SASSERT(i == de);
|
||||
lp_assert(i == de);
|
||||
std::cout << de << std::endl;
|
||||
}
|
||||
q.enqueue(2, 2);
|
||||
|
@ -1358,7 +1357,7 @@ void test_binary_priority_queue() {
|
|||
unsigned t = 0;
|
||||
while (q.size() > 0) {
|
||||
unsigned d =q.dequeue();
|
||||
SASSERT(t++ == d);
|
||||
lp_assert(t++ == d);
|
||||
std::cout << d << std::endl;
|
||||
}
|
||||
#endif
|
||||
|
@ -1387,7 +1386,7 @@ void solve_mps_with_known_solution(std::string file_name, std::unordered_map<std
|
|||
std::cout << "status is " << lp_status_to_string(solver->get_status()) << std::endl;
|
||||
if (status != solver->get_status()){
|
||||
std::cout << "status should be " << lp_status_to_string(status) << std::endl;
|
||||
SASSERT(status == solver->get_status());
|
||||
lp_assert(status == solver->get_status());
|
||||
throw "status is wrong";
|
||||
}
|
||||
if (solver->get_status() == lp_status::OPTIMAL) {
|
||||
|
@ -1398,7 +1397,7 @@ void solve_mps_with_known_solution(std::string file_name, std::unordered_map<std
|
|||
std::cout << "expected:" << it.first << "=" <<
|
||||
it.second <<", got " << solver->get_column_value_by_name(it.first) << std::endl;
|
||||
}
|
||||
SASSERT(fabs(it.second - solver->get_column_value_by_name(it.first)) < 0.000001);
|
||||
lp_assert(fabs(it.second - solver->get_column_value_by_name(it.first)) < 0.000001);
|
||||
}
|
||||
}
|
||||
if (reader.column_names().size() < 20) {
|
||||
|
@ -1483,127 +1482,127 @@ void fill_file_names(vector<std::string> &file_names, std::set<std::string> & m
|
|||
return;
|
||||
}
|
||||
std::string home_dir_str(home_dir);
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/l0redund.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/l1.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/l2.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/l3.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/l4.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/l4fix.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/plan.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/samp2.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/murtagh.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/l0.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/AFIRO.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SC50B.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SC50A.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/KB2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SC105.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/STOCFOR1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/ADLITTLE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/BLEND.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCAGR7.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SC205.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SHARE2B.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/RECIPELP.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/LOTFI.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/VTP-BASE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SHARE1B.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/BOEING2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/BORE3D.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCORPION.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/CAPRI.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/BRANDY.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCAGR25.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCTAP1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/ISRAEL.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCFXM1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/BANDM.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/E226.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/AGG.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/GROW7.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/ETAMACRO.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/FINNIS.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCSD1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/STANDATA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/STANDGUB.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/BEACONFD.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/STAIR.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/STANDMPS.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/GFRD-PNC.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCRS8.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/BOEING1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/MODSZK1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/DEGEN2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/FORPLAN.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/AGG2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/AGG3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCFXM2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SHELL.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/PILOT4.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCSD6.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SHIP04S.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SEBA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/GROW15.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/FFFFF800.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/BNL1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/PEROLD.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/QAP8.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCFXM3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SHIP04L.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/GANGES.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCTAP2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/GROW22.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SHIP08S.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/PILOT-WE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/MAROS.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/STOCFOR2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/25FV47.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SHIP12S.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCSD8.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/FIT1P.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SCTAP3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SIERRA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/PILOTNOV.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/CZPROB.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/FIT1D.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/PILOT-JA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SHIP08L.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/BNL2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/NESM.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/CYCLE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/acc-tight5.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/SHIP12L.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/DEGEN3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/GREENBEA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/GREENBEB.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/80BAU3B.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/TRUSS.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/D2Q06C.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/WOODW.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/QAP12.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/D6CUBE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/PILOT.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/DFL001.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/WOOD1P.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/FIT2P.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/PILOT87.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/STOCFOR3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/QAP15.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/FIT2D.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lean/src/tests/util/lp/test_files/netlib/MAROS-R7.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/FIT2P.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/DFL001.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/D2Q06C.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/80BAU3B.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/GREENBEB.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/GREENBEA.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/BNL2.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/SHIP08L.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/FIT1D.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/SCTAP3.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/SCSD8.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/SCSD6.SIF");
|
||||
minimums.insert("/projects/lean/src/tests/util/lp/test_files/netlib/MAROS-R7.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/l0redund.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/l1.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/l2.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/l3.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/l4.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/l4fix.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/plan.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/samp2.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/murtagh.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/l0.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/AFIRO.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SC50B.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SC50A.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/KB2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SC105.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/STOCFOR1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/ADLITTLE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/BLEND.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCAGR7.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SC205.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SHARE2B.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/RECIPELP.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/LOTFI.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/VTP-BASE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SHARE1B.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/BOEING2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/BORE3D.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCORPION.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/CAPRI.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/BRANDY.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCAGR25.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCTAP1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/ISRAEL.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCFXM1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/BANDM.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/E226.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/AGG.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/GROW7.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/ETAMACRO.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/FINNIS.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCSD1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/STANDATA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/STANDGUB.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/BEACONFD.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/STAIR.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/STANDMPS.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/GFRD-PNC.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCRS8.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/BOEING1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/MODSZK1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/DEGEN2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/FORPLAN.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/AGG2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/AGG3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCFXM2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SHELL.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/PILOT4.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCSD6.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SHIP04S.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SEBA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/GROW15.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/FFFFF800.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/BNL1.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/PEROLD.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/QAP8.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCFXM3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SHIP04L.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/GANGES.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCTAP2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/GROW22.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SHIP08S.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/PILOT-WE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/MAROS.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/STOCFOR2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/25FV47.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SHIP12S.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCSD8.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/FIT1P.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SCTAP3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SIERRA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/PILOTNOV.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/CZPROB.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/FIT1D.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/PILOT-JA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SHIP08L.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/BNL2.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/NESM.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/CYCLE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/acc-tight5.mps");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/SHIP12L.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/DEGEN3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/GREENBEA.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/GREENBEB.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/80BAU3B.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/TRUSS.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/D2Q06C.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/WOODW.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/QAP12.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/D6CUBE.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/PILOT.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/DFL001.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/WOOD1P.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/FIT2P.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/PILOT87.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/STOCFOR3.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/QAP15.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/FIT2D.SIF");
|
||||
file_names.push_back(home_dir_str + "/projects/lp/src/tests/util/lp/test_files/netlib/MAROS-R7.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/FIT2P.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/DFL001.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/D2Q06C.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/80BAU3B.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/GREENBEB.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/GREENBEA.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/BNL2.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/SHIP08L.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/FIT1D.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/SCTAP3.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/SCSD8.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/SCSD6.SIF");
|
||||
minimums.insert("/projects/lp/src/tests/util/lp/test_files/netlib/MAROS-R7.SIF");
|
||||
}
|
||||
|
||||
void test_out_dir(std::string out_dir) {
|
||||
|
@ -1762,9 +1761,9 @@ void solve_rational() {
|
|||
expected_sol["x7"] = lp::mpq(1);
|
||||
expected_sol["x8"] = lp::mpq(0);
|
||||
solver.find_maximal_solution();
|
||||
SASSERT(solver.get_status() == OPTIMAL);
|
||||
lp_assert(solver.get_status() == OPTIMAL);
|
||||
for (auto it : expected_sol) {
|
||||
SASSERT(it.second == solver.get_column_value_by_name(it.first));
|
||||
lp_assert(it.second == solver.get_column_value_by_name(it.first));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1822,7 +1821,7 @@ std::unordered_map<std::string, double> * get_solution_from_glpsol_output(std::s
|
|||
return ret;
|
||||
}
|
||||
|
||||
SASSERT(split.size() > 3);
|
||||
lp_assert(split.size() > 3);
|
||||
(*ret)[split[1]] = atof(split[3].c_str());
|
||||
} while (true);
|
||||
}
|
||||
|
@ -1846,7 +1845,7 @@ void test_init_U() {
|
|||
|
||||
for (unsigned i = 0; i < 3; i++) {
|
||||
for (unsigned j = 0; j < 3; j ++) {
|
||||
SASSERT(m(i, basis[j]) == u(i, j));
|
||||
lp_assert(m(i, basis[j]) == u(i, j));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1874,7 +1873,7 @@ void test_replace_column() {
|
|||
for (unsigned column_to_replace = 0; column_to_replace < m.dimension(); column_to_replace ++) {
|
||||
m.replace_column(column_to_replace, w, settings);
|
||||
for (unsigned i = 0; i < m.dimension(); i++) {
|
||||
SASSERT(abs(w[i] - m(i, column_to_replace)) < 0.00000001);
|
||||
lp_assert(abs(w[i] - m(i, column_to_replace)) < 0.00000001);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1978,7 +1977,7 @@ void test_stacked_unsigned() {
|
|||
v = 3;
|
||||
v = 4;
|
||||
v.pop();
|
||||
SASSERT(v == 2);
|
||||
lp_assert(v == 2);
|
||||
v ++;
|
||||
v++;
|
||||
std::cout << "before push v=" << v << std::endl;
|
||||
|
@ -1988,7 +1987,7 @@ void test_stacked_unsigned() {
|
|||
v+=1;
|
||||
std::cout << "v = " << v << std::endl;
|
||||
v.pop(2);
|
||||
SASSERT(v == 4);
|
||||
lp_assert(v == 4);
|
||||
const unsigned & rr = v;
|
||||
std::cout << rr << std:: endl;
|
||||
|
||||
|
@ -2037,7 +2036,7 @@ void test_stacked_set() {
|
|||
s.push();
|
||||
s.insert(4);
|
||||
s.pop();
|
||||
SASSERT(s() == scopy);
|
||||
lp_assert(s() == scopy);
|
||||
s.push();
|
||||
s.push();
|
||||
s.insert(4);
|
||||
|
@ -2045,7 +2044,7 @@ void test_stacked_set() {
|
|||
s.push();
|
||||
s.insert(4);
|
||||
s.pop(3);
|
||||
SASSERT(s() == scopy);
|
||||
lp_assert(s() == scopy);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -2547,22 +2546,22 @@ void test_numeric_pair() {
|
|||
numeric_pair<lp::mpq> c(0.1, 0.5);
|
||||
a += 2*c;
|
||||
a -= c;
|
||||
SASSERT (a == b + c);
|
||||
lp_assert (a == b + c);
|
||||
numeric_pair<lp::mpq> d = a * 2;
|
||||
std::cout << a << std::endl;
|
||||
SASSERT(b == b);
|
||||
SASSERT(b < a);
|
||||
SASSERT(b <= a);
|
||||
SASSERT(a > b);
|
||||
SASSERT(a != b);
|
||||
SASSERT(a >= b);
|
||||
SASSERT(-a < b);
|
||||
SASSERT(a < 2 * b);
|
||||
SASSERT(b + b > a);
|
||||
SASSERT(lp::mpq(2.1) * b + b > a);
|
||||
SASSERT(-b * lp::mpq(2.1) - b < lp::mpq(0.99) * a);
|
||||
lp_assert(b == b);
|
||||
lp_assert(b < a);
|
||||
lp_assert(b <= a);
|
||||
lp_assert(a > b);
|
||||
lp_assert(a != b);
|
||||
lp_assert(a >= b);
|
||||
lp_assert(-a < b);
|
||||
lp_assert(a < 2 * b);
|
||||
lp_assert(b + b > a);
|
||||
lp_assert(lp::mpq(2.1) * b + b > a);
|
||||
lp_assert(-b * lp::mpq(2.1) - b < lp::mpq(0.99) * a);
|
||||
std::cout << - b * lp::mpq(2.1) - b << std::endl;
|
||||
SASSERT(-b *(lp::mpq(2.1) + 1) == - b * lp::mpq(2.1) - b);
|
||||
lp_assert(-b *(lp::mpq(2.1) + 1) == - b * lp::mpq(2.1) - b);
|
||||
}
|
||||
|
||||
void get_matrix_dimensions(std::ifstream & f, unsigned & m, unsigned & n) {
|
||||
|
@ -2583,7 +2582,7 @@ void read_row_cols(unsigned i, static_matrix<double, double>& A, std::ifstream &
|
|||
if (line== "row_end")
|
||||
break;
|
||||
auto r = split_and_trim(line);
|
||||
SASSERT(r.size() == 4);
|
||||
lp_assert(r.size() == 4);
|
||||
unsigned j = atoi(r[1].c_str());
|
||||
double v = atof(r[3].c_str());
|
||||
A.set(i, j, v);
|
||||
|
@ -2611,7 +2610,7 @@ void read_basis(vector<unsigned> & basis, std::ifstream & f) {
|
|||
std::cout << "reading basis" << std::endl;
|
||||
std::string line;
|
||||
getline(f, line);
|
||||
SASSERT(line == "basis_start");
|
||||
lp_assert(line == "basis_start");
|
||||
do {
|
||||
getline(f, line);
|
||||
if (line == "basis_end")
|
||||
|
@ -2624,7 +2623,7 @@ void read_basis(vector<unsigned> & basis, std::ifstream & f) {
|
|||
void read_indexed_vector(indexed_vector<double> & v, std::ifstream & f) {
|
||||
std::string line;
|
||||
getline(f, line);
|
||||
SASSERT(line == "vector_start");
|
||||
lp_assert(line == "vector_start");
|
||||
do {
|
||||
getline(f, line);
|
||||
if (line == "vector_end") break;
|
||||
|
@ -2664,7 +2663,7 @@ void check_lu_from_file(std::string lufile_name) {
|
|||
A.copy_column_to_vector(entering, a);
|
||||
indexed_vector<double> cd(d);
|
||||
B.apply_from_left(cd.m_data, settings);
|
||||
SASSERT(vectors_are_equal(cd.m_data , a));
|
||||
lp_assert(vectors_are_equal(cd.m_data , a));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -2762,7 +2761,7 @@ void test_evidence_for_total_inf_simple(argument_parser & args_parser) {
|
|||
auto status = solver.solve();
|
||||
std::cout << lp_status_to_string(status) << std::endl;
|
||||
std::unordered_map<var_index, mpq> model;
|
||||
SASSERT(solver.get_status() == INFEASIBLE);
|
||||
lp_assert(solver.get_status() == INFEASIBLE);
|
||||
}
|
||||
void test_bound_propagation_one_small_sample1() {
|
||||
/*
|
||||
|
@ -2958,8 +2957,8 @@ void test_total_case_l(){
|
|||
ls.solve();
|
||||
lp_bound_propagator bp(ls);
|
||||
ls.propagate_bounds_for_touched_rows(bp);
|
||||
SASSERT(ev.size() == 4);
|
||||
SASSERT(contains_j_kind(x, GE, - one_of_type<mpq>(), ev));
|
||||
lp_assert(ev.size() == 4);
|
||||
lp_assert(contains_j_kind(x, GE, - one_of_type<mpq>(), ev));
|
||||
}
|
||||
void test_bound_propagation() {
|
||||
test_total_case_u();
|
||||
|
@ -2979,17 +2978,17 @@ void test_int_set() {
|
|||
s.insert(1);
|
||||
s.insert(2);
|
||||
s.print(std::cout);
|
||||
SASSERT(s.contains(2));
|
||||
SASSERT(s.size() == 2);
|
||||
lp_assert(s.contains(2));
|
||||
lp_assert(s.size() == 2);
|
||||
s.erase(2);
|
||||
SASSERT(s.size() == 1);
|
||||
lp_assert(s.size() == 1);
|
||||
s.erase(2);
|
||||
SASSERT(s.size() == 1);
|
||||
lp_assert(s.size() == 1);
|
||||
s.print(std::cout);
|
||||
s.insert(3);
|
||||
s.insert(2);
|
||||
s.clear();
|
||||
SASSERT(s.size() == 0);
|
||||
lp_assert(s.size() == 0);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -2,12 +2,12 @@ void gparams_register_modules(){}
|
|||
void mem_initialize() {}
|
||||
void mem_finalize() {}
|
||||
#include "util/rational.h"
|
||||
namespace lean {
|
||||
namespace lp {
|
||||
void test_lp_local(int argc, char**argv);
|
||||
}
|
||||
int main(int argn, char**argv){
|
||||
rational::initialize();
|
||||
lean::test_lp_local(argn, argv);
|
||||
lp::test_lp_local(argn, argv);
|
||||
rational::finalize();
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -121,13 +121,13 @@ namespace lp {
|
|||
|
||||
void fill_simple_elem(lisp_elem & lm) {
|
||||
int separator = first_separator();
|
||||
SASSERT(-1 != separator && separator != 0);
|
||||
lp_assert(-1 != separator && separator != 0);
|
||||
lm.m_head = m_line.substr(0, separator);
|
||||
m_line = m_line.substr(separator);
|
||||
}
|
||||
|
||||
void fill_nested_elem(lisp_elem & lm) {
|
||||
SASSERT(m_line[0] == '(');
|
||||
lp_assert(m_line[0] == '(');
|
||||
m_line = m_line.substr(1);
|
||||
int separator = first_separator();
|
||||
lm.m_head = m_line.substr(0, separator);
|
||||
|
@ -194,11 +194,11 @@ namespace lp {
|
|||
}
|
||||
|
||||
void adjust_rigth_side(formula_constraint & /* c*/, lisp_elem & /*el*/) {
|
||||
// SASSERT(el.m_head == "0"); // do nothing for the time being
|
||||
// lp_assert(el.m_head == "0"); // do nothing for the time being
|
||||
}
|
||||
|
||||
void set_constraint_coeffs(formula_constraint & c, lisp_elem & el) {
|
||||
SASSERT(el.m_elems.size() == 2);
|
||||
lp_assert(el.m_elems.size() == 2);
|
||||
set_constraint_coeffs_on_coeff_element(c, el.m_elems[0]);
|
||||
adjust_rigth_side(c, el.m_elems[1]);
|
||||
}
|
||||
|
@ -214,7 +214,7 @@ namespace lp {
|
|||
add_mult_elem(c, el.m_elems);
|
||||
} else if (el.m_head == "~") {
|
||||
lisp_elem & minel = el.m_elems[0];
|
||||
SASSERT(minel.is_simple());
|
||||
lp_assert(minel.is_simple());
|
||||
c.m_right_side += mpq(str_to_int(minel.m_head));
|
||||
} else {
|
||||
std::cout << "unexpected input " << el.m_head << std::endl;
|
||||
|
@ -224,14 +224,14 @@ namespace lp {
|
|||
}
|
||||
|
||||
std::string get_name(lisp_elem & name) {
|
||||
SASSERT(name.is_simple());
|
||||
SASSERT(!is_integer(name.m_head));
|
||||
lp_assert(name.is_simple());
|
||||
lp_assert(!is_integer(name.m_head));
|
||||
return name.m_head;
|
||||
}
|
||||
|
||||
|
||||
void add_mult_elem(formula_constraint & c, std::vector<lisp_elem> & els) {
|
||||
SASSERT(els.size() == 2);
|
||||
lp_assert(els.size() == 2);
|
||||
mpq coeff = get_coeff(els[0]);
|
||||
std::string col_name = get_name(els[1]);
|
||||
c.add_pair(coeff, col_name);
|
||||
|
@ -241,16 +241,16 @@ namespace lp {
|
|||
if (le.is_simple()) {
|
||||
return mpq(str_to_int(le.m_head));
|
||||
} else {
|
||||
SASSERT(le.m_head == "~");
|
||||
SASSERT(le.size() == 1);
|
||||
lp_assert(le.m_head == "~");
|
||||
lp_assert(le.size() == 1);
|
||||
lisp_elem & el = le.m_elems[0];
|
||||
SASSERT(el.is_simple());
|
||||
lp_assert(el.is_simple());
|
||||
return -mpq(str_to_int(el.m_head));
|
||||
}
|
||||
}
|
||||
|
||||
int str_to_int(std::string & s) {
|
||||
SASSERT(is_integer(s));
|
||||
lp_assert(is_integer(s));
|
||||
return atoi(s.c_str());
|
||||
}
|
||||
|
||||
|
@ -258,7 +258,7 @@ namespace lp {
|
|||
if (el.size()) {
|
||||
add_complex_sum_elem(c, el);
|
||||
} else {
|
||||
SASSERT(is_integer(el.m_head));
|
||||
lp_assert(is_integer(el.m_head));
|
||||
int v = atoi(el.m_head.c_str());
|
||||
mpq vr(v);
|
||||
c.m_right_side -= vr;
|
||||
|
@ -276,7 +276,7 @@ namespace lp {
|
|||
} else if (el.m_head == "+") {
|
||||
add_sum(c, el.m_elems);
|
||||
} else {
|
||||
SASSERT(false); // unexpected input
|
||||
lp_assert(false); // unexpected input
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue