Computational Science Asked on June 7, 2021
I am using CVXOPT, particularly to solve a nonlinear convex optimization problem. Either the objective function or the constraints involve some functions that are only defined in a strict subset of $mathbf R^n$. For example, the function is the logarithm $ln$. It seems that the package may well use symmetric primal dual method which allows infeasible points during the iteration. However, that would generate domain error from the functions. Does extending function to the whole of the Euclidean space help? For the example of the logarithm, I extend it so that $ln(x)=-infty$ or $-M$, and $frac1x=infty$ or $M$ $forall xle0$ for some very large positive $M$. Is this the practice to get around the problem? What are the more efficient ways to handle the problem?
I present below the problem I am reduced from the actual problem I am dealing with. The size of the latter is much bigger than the former.
$$z:=begin{bmatrix}x yend{bmatrix}.$$
begin{align}
min_{zin mathbf R^{+2}} ½ (z-z_0)^TA(z-z_0)
& g(x,y):=xa^{frac y x b}le c
&Longleftrightarrow f(x,y):= xlnfrac xc+y, bln a<0,
&z >0
end{align}
for some given $2times 1$ matrix $z_0$ and positive $a, b, c$. Both $g$ and $f$ are convex with respect to $z$. So this is a convex optimization problem.
I am using the Python package CVXOPT to solve this problem. I currently adopt the logarithmic formulation for the constraint, i.e. $f$. CVXOPT requires me to supply the gradient and Hessian of the constraint. I list the nonzero partial derivatives up to the second order below.
begin{align*}
frac{partial f}{partial x} &= lnfrac xc+1,
frac{partial f}{partial y} &= bln a,
frac{partial^2 f}{partial x^2} &= frac1x.
end{align*}
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP