MATLAB: How to solve a constraint which is larger then instead of smaller then

fmincon rewriting larger then constraint

I have the following issue:
y*>xy (read > as larger or equal to)
This is the constraint of my fmincon. x is known and equal to 0.6. y (withouth ) is also known and equal to 15. However y is unknown, but it's the 'new' y. Let's assume that I want to minimize the following basic vector:
p=[5 2 6 8 9 4 3] I refer to y* in vector p, which is the part where 8 9 4 in vector p. I do know that I should rewrite the constraint as follows: xy<y* However, the unknown y* is now on the right side (it's the b from Ax=b)
I rewrote the function to have the unknown on he left side and the known on the right side: xy<y –> (xy)/y*<1 –> x/y* < 1/y –> x*(y*^-1) < 1/y –> y**(x^-1) < y
So eventually I used y**(x^-1) < y However this does not work, because I should have a have an outcome which is equal to vector p. Unfortunately this is not the case, because y* has to be lower than 15 at all times according to the rewritten constraint :'(

Best Answer

Your post is very hard to follow, but a simple lower bound like y*>xy should be expressible using the lb argument to fmincon
fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
with lb=xy.