Optimization using symbolic toolbox

I am trying to solve a problem of the form:
max f(a,x)
subject to
g(a,x)<=0
Since the functions f and g are not convex, I am having a little trouble doing it analytically and was wondering if I can use the symbolic matlab toolbox to find the optimum solution of the problem (x as a function of a). I was hoping to use that to get some intuition into the nature of the problem.
Thank you!

3 Commenti

You have told us that the functions are not convex, but you have not told us that they are continuous and whether their derivatives are continuous and whether there are singularities.
Sorry about that!
x is a vector in R^3 and a is a vector as well (in R^7). f and g are twice differentiable functions but not concave/quasiconcave.
I've tried picking values for a and using the numerical solver, but it isn't particularly helpful (at least to me).
Unless there are some very strong constraints on "a", or unless your g(a,x) is very simple, finding the analytic maximum is potentially going to be very tedious. We would need to know more about the functions to assess.

Accedi per commentare.

Risposte (1)

John D'Errico
John D'Errico il 21 Mag 2015

0 voti

Sorry, but I predict the symbolic toolbox will not be of much help here. This is difficult to know of course, because you have given us no hint as to the actual relations involved.
However, nothing stops you from doing it yourself in a simple enough way. You want to get the value of x, that maximizes f, subject to the constraint, all as a function of a, so just pick a sequence of values for a, then solve the problem for each value of a. If solve get stuck there, just use a numerical solver. It is a uni-variate problem at that point for god's sake.
Plot the result, which will give you all the guidance you should want.
If you want a better answer, then we need more information from you.

1 Commento

Sorry about that!
x is a vector in R^3 and a is a vector as well (in R^7). f and g are twice differentiable functions but not concave/quasiconcave.
I've tried picking values for a and using the numerical solver, but it isn't particularly helpful (at least to me).

Accedi per commentare.

Richiesto:

il 21 Mag 2015

Commentato:

il 21 Mag 2015

Community Treasure Hunt

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

Start Hunting!

Translated by