Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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()
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
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)
Ejemplo n.º 10
0
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()
Ejemplo n.º 11
0
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)
Ejemplo n.º 12
0
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)
Ejemplo n.º 13
0
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)
Ejemplo n.º 14
0
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)
Ejemplo n.º 15
0
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)))
Ejemplo n.º 16
0
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)