aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/convex_optimization.py11
-rw-r--r--src/make_plots.py8
2 files changed, 11 insertions, 8 deletions
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)