Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
# Set options of the OSQP solver
options = {'eps_abs': 1e-4,
'eps_rel': 1e-4,
'alpha': 1.6,
'scale_problem': True,
'scale_steps': 4,
'polish': False}
# Create an svm object
basis_pursuit_obj = basis_pursuit(m, n, dens_lvl=0.3, osqp_opts=options)
# Solve with different solvers
resultsCPLEX = basis_pursuit_obj.solve(solver=CPLEX)
resultsGUROBI = basis_pursuit_obj.solve(solver=GUROBI)
resultsOSQP = basis_pursuit_obj.solve(solver=OSQP)
# Print objective values
print "CPLEX Objective Value: %.3f" % resultsCPLEX.objval
print "GUROBI Objective Value: %.3f" % resultsGUROBI.objval
print "OSQP Objective Value: %.3f" % resultsOSQP.objval
print "\n"
# Print timings
print "CPLEX CPU time: %.3f" % resultsCPLEX.cputime
print "GUROBI CPU time: %.3f" % resultsGUROBI.cputime
print "OSQP CPU time: %.3f" % resultsOSQP.cputime
# Set options of the OSQP solver
options = {'eps_abs': 1e-4,
'eps_rel': 1e-4,
'alpha': 1.6,
'scale_problem': True,
'scale_steps': 4,
'polish': False}
# Create a lasso object
huber_fit_obj = huber_fit(m, n, dens_lvl=0.50, osqp_opts=options)
# Solve with different solvers
resultsCPLEX = huber_fit_obj.solve(solver=CPLEX)
resultsGUROBI = huber_fit_obj.solve(solver=GUROBI)
resultsOSQP = huber_fit_obj.solve(solver=OSQP)
# Print objective values
print "CPLEX Objective Value: %.3f" % resultsCPLEX.objval
print "GUROBI Objective Value: %.3f" % resultsGUROBI.objval
print "OSQP Objective Value: %.3f" % resultsOSQP.objval
print "\n"
# Print timings
print "CPLEX CPU time: %.3f" % resultsCPLEX.cputime
print "GUROBI CPU time: %.3f" % resultsGUROBI.cputime
print "OSQP CPU time: %.3f" % resultsOSQP.cputime
# ipdb.set_trace()
# Recover A, x and b from the problem
A = huber_fit_obj._osqp.problem.A[:m, :n]
def solve(self, solver=OSQP):
"""
Solve the problem with a specificed solver.
"""
if solver == OSQP:
results = self._osqp.solve()
elif solver == CPLEX:
results = self._prob.solve(solver=CPLEX, verbose=0)
elif solver == GUROBI:
results = self._prob.solve(solver=GUROBI, OutputFlag=0)
else:
assert False, "Unhandled solver"
return results
def solve(self, solver=OSQP):
"""
Solve the problem with a specificed solver.
"""
if solver == OSQP:
results = self._osqp.solve()
elif solver == CPLEX:
results = self._prob.solve(solver=CPLEX, verbose=0)
elif solver == GUROBI:
results = self._prob.solve(solver=GUROBI, OutputFlag=0)
else:
assert False, "Unhandled solver"
return results
# Set options of the OSQP solver
options = {'eps_abs': 1e-5,
'eps_rel': 1e-5,
'alpha': 1.6,
'scale_problem': True,
'scale_steps': 4,
'polish': False}
# Create an svm object
svm_obj = svm(m, n, dens_lvl=0.3, osqp_opts=options)
# Solve with different solvers
resultsCPLEX = svm_obj.solve(solver=CPLEX)
resultsGUROBI = svm_obj.solve(solver=GUROBI)
resultsOSQP = svm_obj.solve(solver=OSQP)
# Print objective values
print "CPLEX Objective Value: %.3f" % resultsCPLEX.objval
print "GUROBI Objective Value: %.3f" % resultsGUROBI.objval
print "OSQP Objective Value: %.3f" % resultsOSQP.objval
print "\n"
# Print timings
print "CPLEX CPU time: %.3f" % resultsCPLEX.cputime
print "GUROBI CPU time: %.3f" % resultsGUROBI.cputime
print "OSQP CPU time: %.3f" % resultsOSQP.cputime
def solve(self, solver=OSQP):
"""
Solve the problem with a specificed solver.
"""
if solver == OSQP:
results = self._osqp.solve()
elif solver == CPLEX:
results = self._prob.solve(solver=CPLEX, verbose=1)
elif solver == GUROBI:
results = self._prob.solve(solver=GUROBI, OutputFlag=0)
else:
assert False, "Unhandled solver"
return results
# Set options of the OSQP solver
options = {'eps_abs': 1e-4,
'eps_rel': 1e-4,
'alpha': 1.6,
'scale_problem': True,
'scale_steps': 4,
'polish': False,
'warm_start': True}
# Create a lasso object
lasso_obj = lasso(m, n, inst=numofinst, version='sparse', osqp_opts=options)
for i in range(numofinst):
# Solve with different solvers
resultsCPLEX = lasso_obj.solve(solver=CPLEX)
resultsGUROBI = lasso_obj.solve(solver=GUROBI)
resultsOSQP = lasso_obj.solve(solver=OSQP)
# Print objective values
print "CPLEX Objective Value: %.3f" % resultsCPLEX.objval
print "GUROBI Objective Value: %.3f" % resultsGUROBI.objval
print "OSQP Objective Value: %.3f" % resultsOSQP.objval
print "\n"
# Print timings
print "CPLEX CPU time: %.3f" % resultsCPLEX.cputime
print "GUROBI CPU time: %.3f" % resultsGUROBI.cputime
print "OSQP CPU time: %.3f" % resultsOSQP.cputime
if numofinst > 1:
lasso_obj.update_gamma(n)
def solve(self, solver=OSQP):
"""
Solve the problem with a specificed solver.
"""
if solver == OSQP:
results = self._osqp.solve()
elif solver == CPLEX:
results = self._prob.solve(solver=CPLEX, verbose=1)
elif solver == GUROBI:
results = self._prob.solve(solver=GUROBI, OutputFlag=0)
else:
assert False, "Unhandled solver"
return results
def solve(self, solver=OSQP):
"""
Solve the problem with a specificed solver.
"""
if solver == OSQP:
results = self._osqp.solve()
elif solver == CPLEX:
results = self._prob.solve(solver=CPLEX, verbose=0)
elif solver == GUROBI:
results = self._prob.solve(solver=GUROBI, OutputFlag=0)
else:
assert False, "Unhandled solver"
return results
def solve(self, solver=OSQP):
"""
Solve the problem with a specificed solver.
"""
if solver == OSQP:
results = self._osqp.solve()
elif solver == CPLEX:
results = self._prob.solve(solver=CPLEX, verbose=0)
elif solver == GUROBI:
results = self._prob.solve(solver=GUROBI, OutputFlag=0)
else:
assert False, "Unhandled solver"
return results