Re: Numerical optimization
- To: mathgroup at smc.vnet.net
- Subject: [mg120217] Re: Numerical optimization
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Wed, 13 Jul 2011 03:12:39 -0400 (EDT)
- References: <iv6guj$s6r$1@smc.vnet.net>
On 08/07/2011 10:00, Equilib wrote:
> Hi all,
> I'm new to numerical optimization routines and since I get no results
> I worry that I may have made errors in my setup. I would like to
> maximize function f(p1,p2,s,c2,g) using the variables p1, p2, s. The
> parameters c2 and g are both in the interval (0,1). Hence I want a
> large matrix with solutions to the maximization problem for all
> combinations of c2 and g.
>
> I set it up as follows:
> Do[NMaximize[{f, "Constraints"}, {s, p1, p2}], {c2, 0, 1, 0.1}, {g, 0,
> 1, 0.1}]
>
> but get a page full of different error mesages and no output. Can
> anyone see the programming errors and maybe suggest an alternative
> route?
>
> Thanks a lot,
> Petter
>
A few suggestions:
1) Pick some parameter values, and run one NMaximize calculation to
check things out before embedding this in a Do loop.
2) Usually if you get a string of error messages, the first few are
the most useful - so why not post them for us to look at.
3) Unless your function, 'f' contains a Print, you are not going to
obtain any output from your loop - you need to write something like:
Do[
result=NMaximize[{f, "Constraints"}, {s, p1, p2}];
Print["c2=",c2," g=",g,": ",result],
{s, p1, p2}], {c2, 0, 1, 0.1}, {g, 0,
> 1, 0.1}]
NMaximize can generate some errors/warnings naturally in certain
conditions, so it is conceivable that the above is all you need.
David Bailey
http://www.dbaileyconsultancy.co.uk