alpaqa 0.0.1
Nonconvex constrained optimization
Classes | Namespaces | Variables
test.py File Reference

Go to the source code of this file.

Classes

class  Dir
 
class  CustomInnerSolver
 

Namespaces

namespace  alpaqa
 
namespace  alpaqa.test
 

Variables

 solver = pa.PANOCSolver(pa.PANOCParams(), pa.LBFGSDirection(pa.LBFGSParams()))
 
 l = pa.LBFGSParams(cbfgs=pa.LBFGSParamsCBFGS(α=5))
 
 α
 
 hess_prod = lambda L, x, v: cs.gradient(cs.jtimes(L, x, v, False), x)
 
int n = 2
 
int m = 2
 
 x = cs.SX.sym("x", n)
 
 λ = cs.SX.sym("λ", m)
 
 v = cs.SX.sym("v", n)
 
 Q = np.array([[1.5, 0.5], [0.5, 1.5]])
 
 f_ = x.T @ Q @ x
 
 g_ = x
 
int L = f_ + cs.dot(λ, g_) if m > 0 else f_
 
 f = cs.Function("f", [x], [f_])
 
 grad_f = cs.Function("grad_f", [x], [cs.gradient(f_, x)])
 
 g = cs.Function("g", [x], [g_])
 
 grad_g_prod = cs.Function("grad_g_prod", [x, λ], [cs.jtimes(g_, x, λ, True)])
 
 grad_gi = lambda x, i: grad_g_prod(x, np.eye(1, m, i))
 
 Hess_L = cs.Function("Hess_L", [x, λ], [cs.hessian(L, x)[0]])
 
 Hess_L_prod = cs.Function("Hess_L_prod", [x, λ, v], [hess_prod(L, x, v)])
 
 p = pa.Problem(n, m)
 
 hess_L
 
 hess_L_prod
 
 lowerbound
 
 upperbound
 
 x0 = np.array([3, 3])
 
 y0 = np.zeros((m,))
 
int Σ = 1e3 * np.ones((m,))
 
int ε = 1e-8
 
 y
 
 err_z
 
 stats
 
 almparams = pa.ALMParams(max_iter=20, print_interval=1, preconditioning=False)
 
 almsolver = pa.ALMSolver(almparams, solver)
 
 old_x0 = x0
 
 sol = almsolver(p, x=x0, y=y0)
 
string name = "testproblem"
 
 p0 = np.array([1.5, 0.5, 1.5])
 
 prob = pa.generate_and_compile_casadi_problem(f, g, name=name)
 
 param
 
 prob1 = pa.ProblemWithParamWithCounters(prob)
 
 prob2 = pa.ProblemWithCounters(prob)
 
 C = pa.Box([10], [-2.5])
 
 params
 
 max_iter