Path: news.mathworks.com!newsfeed-00.mathworks.com!newsfeed2.dallas1.level3.net!news.level3.com!postnews.google.com!j44g2000cwa.googlegroups.com!not-for-mail
From: strefli3@gmail.com
Newsgroups: comp.soft-sys.matlab
Subject: Re: Fmincon + Ansys, Looking for a global minimum
Date: 1 Dec 2006 10:35:50 -0800
Organization: http://groups.google.com
Lines: 121
Message-ID: <1164998150.473053.38470@j44g2000cwa.googlegroups.com>
References: <1164841726.133763.24890@j72g2000cwa.googlegroups.com>
NNTP-Posting-Host: 35.9.40.127
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-Trace: posting.google.com 1164998155 22640 127.0.0.1 (1 Dec 2006 18:35:55 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Fri, 1 Dec 2006 18:35:55 +0000 (UTC)
In-Reply-To: <ef473bb.2@webcrossing.raydaftYaTP>
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: j44g2000cwa.googlegroups.com; posting-host=35.9.40.127;
Xref: news.mathworks.com comp.soft-sys.matlab:381555



Dmitrey,
I will answer each of your questions.

1) There are 12 design variables. They all have the same upper and
lower bounds.

2) the @cons function returns only inequality constraint. 12 of them to
be exact. For example, the first constraint, G(1) would be defined as:
G(1)=Stress(1)/Stress_Max-1

Where Stress(1) is the stress in the first design variable and
Stress_Max is the yeild strength of the specific material.

It is clear that an active constraint will have a value of 0 while
inactive constraint will be less then 0.

3) I do not supply any gradients to the objective function nor any
non-linear constraints to the @cons. The only constraints on the system
are the 12 developed in question (2), as well as the bounds of course.

4) I would be happy with anything under 12 hours. I belive it can be
solved much faster though.

5) Considering the objective function is simply the sum of the volume
of each member of the truss i.e. R(1)^2*pi*lenght(1) ..... Where the
length is always a fixed number I would belive that the task is
continious, however, judging by the amount of local minima that fmincon
finds I imagine that it is non-smooth.


Dmitrey wrote:
> Hi strefli3,
> first of all you should specify
> 1) how many variables has your task (just dimension of R0)
> 2) are your @cons include equality constraints, inequality or both
> 3) do you supply any (sub)gradients of your objective func (@obj) and
> your non-linear constraints (@cons)
> 4) what time is allowed for program to obtain solution?
> 5) are your task smooth, non-smooth or discontinious?
>
>  strefli3 wrote:
> >
> >
> > Dmitrey,
> > I have downloaded OpenOpt and read all the documentation, but I
> > can't
> > seem to implement it into my current situation. Let me exaplain how
> > I
> > use fmincon
> >
> > [R,weight,exit,output] =
> > fmincon(@obj,R0,M,b,Meq,beq,lb,ub,@cons,options)
> >
> > Breaking it down:
> > @obj represents my objective function, this is simply the weight of
> > the
> > truss which is then scalled to be a reasonable. In other words it
> > is
> > each design variable, which is a the radius of the bar squared, *pi
> > *
> > length.
> >
> > R0 is my initial guess to the problem
> >
> > M,b,Meq,beq are all empty
> >
> > lb and ub are my upper bounds and lower bounds of the design
> > variables.
> >
> > @cons is a function that calls Ansys which the retuns stresses for
> > each
> > bar and then @cons converts them to contraints based on the
> > maximium
> > allowable stress.
> >
> > So my question is, How do I call OpenOPT with my in the way that I
> > use
> > fmincon; using the @cons function to determine the contraints?
> >
> > Thanks for the tips thus far.
> >
> > Dmitrey wrote:
> >> Hi strefli3
> >> If you are interested in local-global solvers, I would propose
> > you to
> >> try hPSO from OpenOpt
> >> It was written by Alexandros Leontitsis & we make some changes
> -
> > for
> >> example, replaced inner solver from MATLAB fminsearch to Shor
> > r-alg
> >> with AST. However, currently it can handle non-linear
> constraints
> > via
> >> N*max(0, c(x)), where N is a big number; on the other hand, in
> a
> > very
> >> sucsessful way.
> >> however, it's 1st-order optimizer & don't use user-supplied
> Hesse
> >> matrix (but can use (sub)gradient info)
> >> Lates Openopt version is available at
> >> <http://www.box.net/public/6bsuq765t4>
> >> if you'll find the OpenOpt usefull please make a good review at
> >> <http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=13115&objectType=file>
> >> OpenOpt also includes GAConstrain solver, which can handle
> > c(x)<=0
> >> & Ax<=b; also you must provide lb, ub. However, as all
> global
> >> solvers, it can handle only small-scaled problems with nvars
> > ~1...15
> >>
> >> You can try non-smooth solver fminsearchOS (free, use web
> search)
> > or
> >> snopt() from TOMLAB - they propose 21 evaluation ver, but their
> >> prices are not for everyone.
> >> best regards, Dmitrey
> >
> >