Using fminimax for optimization with linear and non-linear variables
Show older comments
Hello,
I am trying to use the fminimax(...) optimization toolbox to solve a problem. The only problem is that my nonlinear variables do not appear in my linear equations. The nonlinear equations can be implemented in nlnconstr(...) function, but there is nothing to let the optimization function know how to modify the nonlinear variables other than the Ceq and C params returned from nlnconstr(...). Matlab uses the linear constraints to determine how to "modify" the variables to optimize the objective function.
Thanks, Ali
3 Comments
Steve Grikschat
on 21 Apr 2011
It sounds to me that you have two separate problems. There is nothing wrong with what you've said here.
You have a set of variables that are nonlinearly constrained with no bearing on the objective(s) and another set that are linearly constrained that do affect the objective. What's wrong with that?
Ali
on 3 Jun 2011
Steve Grikschat
on 6 Jun 2011
Hi Ali,
What you've said sounds fine to me. There is nothing wrong with all zero columns in the linear constraint matrices.
Can you write out a formulation? Something like this?
min F(x)
(x,y)
subject to: [A 0]*[x;y] <= b
ceq(x,y) = 0
cineq(x,y) <= 0
Answers (1)
To summarize, you must pass all unknown variables to the objective and nonlinear constraint functions (bundled into an array), but you are not obligated to use them all there.
Similarly, you must also have as many columns in your constraint matrices as there are unknowns, but making some of the columns zero (so that some unknowns don't participate) is also legit.
Categories
Find more on Systems of Nonlinear Equations in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!