optimization; linear but complex constraint equations

2 views (last 30 days)
Hi, I am solving an optimization problem, with quadratic min function under constraints. the constraint is linear (my numerical tests confirm) but it is so complex equation that it is impossible to segregate optim variable from equation to write it in the form Ax<=b (there are square roots involved).
Any solutions ?
thanks in advance !
aft
  1 Comment
Steve Grikschat
Steve Grikschat on 3 Mar 2011
Can you write out the equation? If it truly is linear, there should be a way to write it in Ax <= b form.
If not, consider solving the problem using a general nonlinear constrained solver (fmincon). You can thus provide the gradients (H*x + f) and the Hessian (H), which will speed things up a bit.

Sign in to comment.

Answers (1)

aft
aft on 3 Mar 2011
Thanks Steve for your reply. let me explain in detail.
in fact I define a displacement using a 5th degree polynomial (hv to do tis way). Final distance is my optim variable (call it X). Constraint is that the peak of accel (say A) should not exceed a scalar value (say 60).
I solve all this symbolically in matlab with known initial and final conditions, which finally gives me a very long expression for peak accel A (my constraint) in terms of X (optim variable). When i test this expression, by giving arbitrary values of X, i get a straight line (the slope of which off course depends upon other init and final conditions that i know).
the problem is that i cannot isolate my X from that expression to get (constant)* X <= 60.
hope that its more clear now.
  1 Comment
Steve Grikschat
Steve Grikschat on 4 Mar 2011
In that case, I would suggest using a general nonlinear constrained solver (in this case, fmincon). Specify your constraints as a "nonlinear" constraint function.
You can (and should) provide the gradients (H*x + f) and the Hessian (H) of the objective function, which will speed things up a bit. It doesn't sound possible, but it would be better to get the derivatives of the constraint as well.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!