Another option in some cases is to just map the space to something else. Like in this case, x and y are unconstrained and are what the optimizer sees, a = x and b = (1 - a) - abs(y).
Not always easy to do, but can work in some cases if the optimizer cant deal with it natively.
Not always easy to do, but can work in some cases if the optimizer cant deal with it natively.