Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Fmincon applied to multiple variables with different constraints

Subject: Fmincon applied to multiple variables with different constraints

From: Vsh

Date: 9 Oct, 2013 14:21:09

Message: 1 of 3

Hello all,

I'm working on a minimization problem on three different "types" of variables of different physical nature. To be more specific, I have stiffness tensor subjected to positive, definiteness constraints derived from the elastic strain energy. This contains both linear and non-linear parts. Secondly, I have density which can be constrained (or bounded??) by a value between [0.8,1.6] g/cc. And thirdly i have another isotropic elastic moduli that I can specify a reasonable range for. I'm not sure how to set up the constrained function or in fact the whole minimization problem given the multiple variable spaced involved in this. Any help or references would greatly be appreciated.

Thanks.

Subject: Fmincon applied to multiple variables with different constraints

From: Alan_Weiss

Date: 9 Oct, 2013 14:58:52

Message: 2 of 3

On 10/9/2013 10:21 AM, Vsh wrote:
> Hello all,
>
> I'm working on a minimization problem on three different "types" of
> variables of different physical nature. To be more specific, I have
> stiffness tensor subjected to positive, definiteness constraints
> derived from the elastic strain energy. This contains both linear and
> non-linear parts. Secondly, I have density which can be constrained
> (or bounded??) by a value between [0.8,1.6] g/cc. And thirdly i have
> another isotropic elastic moduli that I can specify a reasonable range
> for. I'm not sure how to set up the constrained function or in fact
> the whole minimization problem given the multiple variable spaced
> involved in this. Any help or references would greatly be appreciated.
> Thanks.

Generally speaking, fmincon takes a single vector x as the unknowns. If
you have a stiffness tensor T, a density p, and elastic modulii m, then take
x = [T(:);p(:);m(:)];
What I mean is, turn your various matrices or tensors into column
vectors with the (:) notation, and concatenate them to be a single
vector of unknowns x. After you get your solution, you can disentangle
the pieces by taking various ranges of x.

To give bounds for some, but not all components of x, take a look at the
documentation of bounds:
http://www.mathworks.com/help/optim/ug/writing-constraints.html#brhkghv-13

Alan Weiss
MATLAB mathematical toolbox documentation

Subject: Fmincon applied to multiple variables with different constraints

From: Vsh

Date: 9 Oct, 2013 22:55:06

Message: 3 of 3

Thanks Alan, i'll give it a shot.

Alan_Weiss <aweiss@mathworks.com> wrote in message <l33qvc$n15$1@newscl01ah.mathworks.com>...
> On 10/9/2013 10:21 AM, Vsh wrote:
> > Hello all,
> >
> > I'm working on a minimization problem on three different "types" of
> > variables of different physical nature. To be more specific, I have
> > stiffness tensor subjected to positive, definiteness constraints
> > derived from the elastic strain energy. This contains both linear and
> > non-linear parts. Secondly, I have density which can be constrained
> > (or bounded??) by a value between [0.8,1.6] g/cc. And thirdly i have
> > another isotropic elastic moduli that I can specify a reasonable range
> > for. I'm not sure how to set up the constrained function or in fact
> > the whole minimization problem given the multiple variable spaced
> > involved in this. Any help or references would greatly be appreciated.
> > Thanks.
>
> Generally speaking, fmincon takes a single vector x as the unknowns. If
> you have a stiffness tensor T, a density p, and elastic modulii m, then take
> x = [T(:);p(:);m(:)];
> What I mean is, turn your various matrices or tensors into column
> vectors with the (:) notation, and concatenate them to be a single
> vector of unknowns x. After you get your solution, you can disentangle
> the pieces by taking various ranges of x.
>
> To give bounds for some, but not all components of x, take a look at the
> documentation of bounds:
> http://www.mathworks.com/help/optim/ug/writing-constraints.html#brhkghv-13
>
> Alan Weiss
> MATLAB mathematical toolbox documentation

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us