3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-28 05:58:55 +00:00

branch on inf basic in gomory

Signed-off-by: Lev <levnach@hotmail.com>
This commit is contained in:
Lev 2018-09-13 11:38:22 -07:00
parent 78950fde17
commit e705e5a309
3 changed files with 49 additions and 15 deletions

46
src/util/lp/gomory.h Normal file
View file

@ -0,0 +1,46 @@
/*++
Copyright (c) 2017 Microsoft Corporation
Module Name:
<name>
Abstract:
<abstract>
Author:
Nikolaj Bjorner (nbjorner)
Lev Nachmanson (levnach)
Revision History:
--*/
#pragma once
#include "util/lp/lar_term.h"
#include "util/lp/lia_move.h"
#include "util/lp/explanation.h"
namespace lp {
class gomory {
lar_term & m_t; // the term to return in the cut
mpq & m_k; // the right side of the cut
explanation& m_ex; // the conflict explanation
bool & m_upper; // we have a cut m_t*x <= k if m_upper is true nad m_t*x >= k otherwise
unsigned m_basic_inf_int_j; // a basis column which has to be an integer but has a not integral value
const row_strip<mpq>& m_row
public :
gomory(lar_term & m_t,
mpq & m_k,
explanation& m_ex,
bool & m_upper,
unsigned m_basic_inf_int_j ) :
m_t(t),
m_k(k),
m_ex(ex),
m_upper(upper),
m_basic_inf_int_j(j) {
}
};
}