mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
update for layout
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
411dcc8925
commit
e407b81f70
3 changed files with 244 additions and 143 deletions
|
@ -16,8 +16,8 @@ static bool build_instance(char const * filename, sat::solver& s, sat::local_sea
|
|||
infile.getline(line, 16383);
|
||||
int num_vars, num_constraints;
|
||||
sscanf_s(line, "%d %d", &num_vars, &num_constraints);
|
||||
//cout << "number of variables: " << num_vars << endl;
|
||||
//cout << "number of constraints: " << num_constraints << endl;
|
||||
//std::cout << "number of variables: " << num_vars << '\n';
|
||||
//std::cout << "number of constraints: " << num_constraints << '\n';
|
||||
|
||||
|
||||
unsigned_vector coefficients;
|
||||
|
@ -44,12 +44,12 @@ static bool build_instance(char const * filename, sat::solver& s, sat::local_sea
|
|||
}
|
||||
|
||||
for (unsigned i = 0; i < lits.size(); ++i) {
|
||||
local_search.add_soft(lits[i], coefficients[i]);
|
||||
local_search.add_soft(lits[i].var(), coefficients[i]);
|
||||
}
|
||||
|
||||
// read the constraints, one at a time
|
||||
int k;
|
||||
for (int c = 1; c <= num_constraints; ++c) {
|
||||
for (int c = 0; c < num_constraints; ++c) {
|
||||
lits.reset();
|
||||
infile >> cur_term;
|
||||
while (cur_term != 0) {
|
||||
|
@ -57,10 +57,12 @@ static bool build_instance(char const * filename, sat::solver& s, sat::local_sea
|
|||
infile >> cur_term;
|
||||
}
|
||||
infile >> k;
|
||||
local_search.add_cardinality(lits.size(), lits.c_ptr(), static_cast<unsigned>(lits.size() - k));
|
||||
//local_search.add_cardinality(lits.size(), lits.c_ptr(), static_cast<unsigned>(lits.size() - k));
|
||||
local_search.add_cardinality(lits.size(), lits.c_ptr(), static_cast<unsigned>(k));
|
||||
}
|
||||
|
||||
infile.close();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -75,9 +77,34 @@ void tst_sat_local_search(char ** argv, int argc, int& i) {
|
|||
sat::local_search local_search(solver);
|
||||
char const* file_name = argv[i + 1];
|
||||
++i;
|
||||
|
||||
int v;
|
||||
while (i + 1 < argc) {
|
||||
// set other ad hoc parameters.
|
||||
std::cout << argv[i + 1] << "\n";
|
||||
if (argv[i + 1][0] == '-' && i + 2 < argc) {
|
||||
switch (argv[i + 1][1]) {
|
||||
case 's': // seed
|
||||
v = atoi(argv[i + 2]);
|
||||
local_search.m_config.set_seed(v);
|
||||
break;
|
||||
case 't': // cutoff_time
|
||||
v = atoi(argv[i + 2]);
|
||||
local_search.m_config.set_cutoff_time(v);
|
||||
break;
|
||||
case 'i': // strategy_id
|
||||
v = atoi(argv[i + 2]);
|
||||
local_search.m_config.set_strategy_id(v);
|
||||
break;
|
||||
case 'b': // best_known_value
|
||||
v = atoi(argv[i + 2]);
|
||||
local_search.m_config.set_best_known_value(v);
|
||||
break;
|
||||
default:
|
||||
++i;
|
||||
v = -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
++i;
|
||||
}
|
||||
|
||||
|
@ -85,7 +112,7 @@ void tst_sat_local_search(char ** argv, int argc, int& i) {
|
|||
return;
|
||||
}
|
||||
|
||||
std::cout << "local instance built\n";
|
||||
//std::cout << "local instance built\n";
|
||||
local_search();
|
||||
|
||||
// sat::solver s;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue