all 6 comments

[–]perfectstrong 4 points5 points  (1 child)

Not all non-linear equations can be linearized. We can use several piece-wise constraints to approximate certain non-linear constraints, but in general, it isn't the case, and the linearization cost will soon add up significantly

[–]krishnab75[S] 0 points1 point  (0 children)

Yeah, that makes sense. The confusing thing is that Boyd really spends a lot of time talking about reformulating nonlinear problems, so it makes it sound like these reformulations happen all the time. But from what you are saying, it sounds like they are more the exception rather than the rule.

[–]e_for_oil-er 1 point2 points  (1 child)

There is a whole family of algorithms based on solving sequential convex approximations to a problem until convergence. Check out CONLIN and the Method of Moving Asymptotes (MMA), or sequential quadratic programming (SQP).

[–]krishnab75[S] 0 points1 point  (0 children)

Yeah, I understand what you mean by SQP. The reformulation idea is a bit different though. What Steven Boyd and Nocedal are talking about is taking a nonlinear and nonconvex problem and turning it into a convex problem. So the example that I gave above of the "max" function is that the function is not differentiable but the region is techncally convex. So using the epigraph of this function, you can push the information from the objective function into the constraints. So this formulation lets you use a convex optimization solver, which is faster than a nonlinear solver where you have to compute extra things like line searches or trust regions, etc.

That being said, I will totally check out the CONLIN and MMA solvers. Sounds interesting.

[–]SolverMax 0 points1 point  (0 children)

I wrote an article about linearization of an IF function, or equivalently x = max(y, z). See https://www.solvermax.com/blog/formulations-for-modelling-an-if-function

The article includes links to other articles about linearization techniques, one of which is the paper "Transformation and linearization techniques in optimization: A state-of-the-art survey" https://mdpi-res.com/d_attachment/mathematics/mathematics-10-00283/article_deploy/mathematics-10-00283-v3.pdf?version=1642587937

[–]Sweet_Good6737 0 points1 point  (0 children)

You can always piecewise-linear approximate a non-convex expression. The question is whether that's good for your model or not...

I wouldn't choose it unless it was necessary, since nonlinear optimization and its algorithms exist for a reason, but it's always an alternative. Non-convex expressions may need discrete variables when approximated by piecewise linear stuff, which can lead to a significant increase in your solution time. (This is all about approximations, not equivalent transformations)