I think the constraints for equality are wrong? It should be:
g(x) <= c
-g(x) <= -c

keenan

@lykospirit Yes---good catch.

echo

Just curious why don't we use g(x) = c directly if we want equality constraints

siliangl

why is it not g(x)<=c and -g(x)>=-c for the constraints?

keenan

@echo Because we are trying to write down the simplest formulation that captures all problems we might want to solve. Having a single canonical form makes it easier to reason about/prove things about general optimization problems, and may also make it easier to implement certain classes of solvers (which then only have to support inequality constraints directly).

I think the constraints for equality are wrong? It should be: g(x) <= c -g(x) <= -c

@lykospirit Yes---good catch.

Just curious why don't we use g(x) = c directly if we want equality constraints

why is it not g(x)<=c and -g(x)>=-c for the constraints?

@echo Because we are trying to write down the simplest formulation that captures all problems we might want to solve. Having a single canonical form makes it easier to reason about/prove things about general optimization problems, and may also make it easier to implement certain classes of solvers (which then only have to support inequality constraints directly).

@siliangl See comments above.