1

As mentioned in MATLAB R2016 we have this form: A*x ≤ b in optimization toolbox constraints. How can I define something lkie this: A*x < b in constraints?

0

2 Answers 2

2

Polyhedron {x: A*x < b} is no longer a closed set, so if you need to find max/min of a function over this set it may not belong to this set, but suprimum/infimum always exists and for example for linear (in fact, any convex) objective function it's the same as max/min over {x:A*x ≤ b}, check Weierstrass extreme value theorem. One option is to set some tolerance t and optimize over A*x ≤ b-t and use sensitivity analysis to see where the solution goes as t -> 0.

Sign up to request clarification or add additional context in comments.

Comments

1

As @serge_k said, if you have a strict inequality constraint, you want to represent it as A*x <= b - t to force at least t separation. There are some situations where this reasonably comes up (eg. support vector machines solve a'x+b >= 1 and a'x +b <= -1' instead ofa'x+b > 0anda'x +b < 0'

That said, the vast vast majority of the time, strict vs. non-strict inequalities really shouldn't matter. If your constraint is A*x<b and A*x <= b won't do, you may be in the land of pure math rather than numerical computing: floating point operations aren't this precise!

There aren't many plausible, real world situation where A*x - b = 10^-99999 is wonderful, but A*x - b = 0 is 100% wrong?

1 Comment

Check this link for a related question: stackoverflow.com/questions/37364741/… . How can I overcome this problem?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.