def test_nonsing_none_forbidden(n_eqs, seed): print('seed =', seed) rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_eqs, seed, rng, nonsing=True) #serialize((g, eqs), DATADIR + 'ilp_poor_performance_c=5_r=2997.pkl.gz') #plot_bipartite(g, eqs, forbidden) # see commented out import! solve_problem(g, eqs)
def test_nonsing_none_forbidden(n_eqs, seed): log('seed =', seed) rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_eqs, seed, rng, nonsing=True, c=3) #serialize((g, eqs), DATADIR + 'ilp_poor_performance_c=5_r=2997.pkl.gz') #plot_bipartite(g, eqs, forbidden) solve_problem(g, eqs) log()
def test_to_spiked_some_forbidden(n, seed): rng = Random(seed) g, eqs = create_rnd_bipartite(n, n, seed, rng) edges = g.edges(eqs) log('Edges:', edges) forbidden = set( rng.choice(edges) for _ in range(len(edges)//2) ) log('Forbidden:', list(forbidden)) to_spiked_form(g, eqs, forbidden)
def test_to_hessenberg_some_forbidden(n_eqs, n_vars, seed): rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_vars, seed, rng) edges = g.edges(eqs) log('Edges:', edges) forbidden = set(rng.choice(edges) for _ in range(len(edges) // 2)) log('Forbidden:', list(forbidden)) #plot_bipartite(g, eqs, forbidden, 'input') # see commented out import! solve_problem(g, eqs, forbidden)
def test_nonsingular_spiked(n, seed): rng = Random(seed) g, eqs = create_rnd_bipartite(n, n, seed, rng, nonsing=True) edges = g.edges(eqs) log('Edges:', edges) forbidden = set( rng.choice(edges) for _ in range(len(edges)//2) ) log('Forbidden:', list(forbidden)) singular = to_spiked_form(g, eqs, forbidden)[0] assert not singular
def test_with_random_matrices(n_eqs, n_vars, seed): #log('seed =', seed) rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_vars, seed, rng, nonsing=False, c=1) nrows, ncols, nzeros = len(eqs), len(g) - len(eqs), g.number_of_edges() log('rows: {}, cols: {}, nzeros: {}'.format(nrows, ncols, nzeros)) max_len = maxmatch_len(g, eqs) nx_len = nx_maxmatch_len(g) assert max_len == nx_len, (max_len, nx_len) log('underdetermined by:', min(nrows, ncols) - max_len)
def test_nonsing_some_forbidden(n_eqs, seed): print('seed =', seed) rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_eqs, seed, rng, nonsing=True) edges = g.edges(eqs) log('Edges:', edges) forbidden = set(rng.choice(edges) for _ in range(len(edges) // 2)) log('Forbidden:', list(forbidden)) #plot_bipartite(g, eqs, forbidden) # see commented out import! solve_problem(g, eqs, forbidden)
def test_nonsing_none_forbidden(n_eqs, seed): #log('seed =', seed) rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_eqs, seed, rng, nonsing=True, c=0.5) crosscheck(g, eqs)
def test_to_hessenberg_none_forbidden(n_eqs, n_vars, seed): #log('seed =', seed) rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_vars, seed, rng, nonsing=False, c=0.5) crosscheck(g, eqs)
def test_to_hessenberg_none_forbidden(n_eqs, n_vars, seed): log('seed =', seed) rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_vars, seed, rng, nonsing=False, c=3) solve_problem(g, eqs) log()
def test_nonsing_all_forbidden(n_eqs, seed): print('\nseed =', seed) rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_eqs, seed, rng, nonsing=True) forbidden = set(g.edges_iter(eqs)) solve_problem(g, eqs, forbidden)
def test_to_hessenberg_all_forbidden(n_eqs, n_vars, seed): rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_vars, seed, rng) forbidden = set(g.edges_iter(eqs)) solve_problem(g, eqs, forbidden)
def test_to_hessenberg_none_forbidden(n_eqs, n_vars, seed): rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_vars, seed, rng) solve_problem(g, eqs)
def test_DM(n_eqs, n_vars, seed): rng = Random(seed) g, eqs = create_rnd_bipartite(n_eqs, n_vars, seed, rng) dm_decomp(g, eqs)
def test_to_spiked_all_forbidden(n, seed): rng = Random(seed) g, eqs = create_rnd_bipartite(n, n, seed, rng) to_spiked_form(g, eqs, set(g.edges_iter(eqs)))
def test_to_spiked_none_forbidden(n, seed): rng = Random(seed) g, eqs = create_rnd_bipartite(n, n, seed, rng) to_spiked_form(g, eqs)