From 48a2de8744a7b03e196baa4fbede104eeb396c92 Mon Sep 17 00:00:00 2001 From: jeanpouget-abadie Date: Tue, 3 Feb 2015 19:11:35 -0500 Subject: changes --- src/convex_optimization.py | 11 +++++++---- src/make_plots.py | 8 ++++---- 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/convex_optimization.py b/src/convex_optimization.py index f4c997a..d667c6e 100644 --- a/src/convex_optimization.py +++ b/src/convex_optimization.py @@ -90,7 +90,7 @@ def diff_and_opt(M_val, w_val, f_x, f_xz): def F(x=None, z=None): if x is None: - return 0, cvxopt.matrix(-.0001, (n,1)) + return 0, cvxopt.matrix(-.0000001, (n,1)) elif z is None: y, y_diff = f_x(x, M_val, w_val) return cvxopt.matrix(float(y), (1, 1)),\ @@ -105,15 +105,18 @@ def diff_and_opt(M_val, w_val, f_x, f_xz): h = cvxopt.matrix(0.0, (n,1)) #Relaxing precision constraints - #cvxopt.solvers.options['feastol'] = 2e-5 - #cvxopt.solvers.options['abstol'] = 2e-5 + cvxopt.solvers.options['feastol'] = 2e-5 + cvxopt.solvers.options['abstol'] = 2e-5 #cvxopt.solvers.options['maxiters'] = 100 - cvxopt.solvers.options['show_progress'] = True + cvxopt.solvers.options['show_progress'] = False try: theta = cvxopt.solvers.cp(F, G, h)['x'] except ArithmeticError: print("ArithmeticError thrown, change initial point" " given to the solver") + except ValueError: + print("Domain Error, skipping to next node") + theta = np.zeros(len(w_val)) if cvxopt.solvers.options['show_progress']: print(1 - np.exp(theta)) diff --git a/src/make_plots.py b/src/make_plots.py index 5b9664c..7da3e1e 100644 --- a/src/make_plots.py +++ b/src/make_plots.py @@ -31,7 +31,7 @@ def watts_strogatz(n_cascades, lbda, passed_function): """ Test running time on different algorithms """ - G = cascade_creation.InfluenceGraph(max_proba=1, min_proba=.2) + G = cascade_creation.InfluenceGraph(max_proba=.7, min_proba=.2) G.import_from_file("../datasets/watts_strogatz_500_80_point3.txt") A = cascade_creation.generate_cascades(G, p_init=.05, n_cascades=n_cascades) @@ -40,7 +40,7 @@ def watts_strogatz(n_cascades, lbda, passed_function): else: G_hat = algorithms.recovery_passed_function(G, A, passed_function=passed_function, - floor_cstt=.1, lbda=lbda, n_cascades=1000) + floor_cstt=.1, lbda=lbda, n_cascades=n_cascades) algorithms.correctness_measure(G, G_hat, print_values=True) @@ -58,5 +58,5 @@ def test(): if __name__=="__main__": - watts_strogatz(n_cascades=2000, lbda=.001, passed_function= - algorithms.greedy_prediction) + watts_strogatz(n_cascades=1000, lbda=.001, passed_function= + convex_optimization.sparse_recovery) -- cgit v1.2.3-70-g09d2