Re: weird NMaximize behaviour
- To: mathgroup at smc.vnet.net
- Subject: [mg92162] Re: weird NMaximize behaviour
- From: dh <dh at metrohm.ch>
- Date: Mon, 22 Sep 2008 05:25:45 -0400 (EDT)
- References: <gat9qm$ejo$1@smc.vnet.net> <200809190916.FAA15056@smc.vnet.net> <gb2dra$bct$1@smc.vnet.net>
Hi Andrzej, I agree, Mathematica must have some mean to decide on which side of the minimum the largest value, compatible with the conditions, lies. Daniel I interprete your example like: For NMaximize[{(x - i)^2, -2 <= x <= 2}, {x}] the starting value for the uphill search is taken somwhere between 0..1 Andrzej Kozlowski wrote: > I don't think the answer can be as simple as that. Note that: > > Table[First[NMaximize[{(x - i)^2, -2 <= x <= 2}, {x}]] - > First[NMaximize[{(x - i)^2, -2 <= x <= 2 && -1 <= y <= 1}, {x, > y}]], {i, 0, > 10}] > {0., 8., 0., 0., 0., 0., 0., 0., 0., 0., 0.} > > Andrzej Kozlowski > > > On 19 Sep 2008, at 18:16, dh wrote: > >> >> Hi Andrzej, >> >> We do not know what method is chosen by the default Method- >>> "Automatic", >> but it seems to me that some "up hill" method is invoked. Starting at >> >> some point x0>1, the algorithm will then go towards larger x until >> >> reaching the border of the region. >> >> To fix this, we need to choose a method that does not simply go uphill >> >> but tries to find a global maximum, e.g. "SimulatedAnnealing" or >> >> "DifferentialEvolution". E.g. "SimulatedAnnealing" gives: >> >> {9.,{x->-2.,y->0.999067}} >> >> Daniel >> >> >> >> >> >> Andrzej Kozlowski wrote: >> >>> I have just encountered strange behaviour by NMaximize (which has >>> been >>> ruining a demonstration I have been working on): >>> This is fine: >>> NMaximize[{(x - 1)^2, -2 <= x <= 2}, {x}] >>> {9., {x -> -2.}} >>> but this definitely is not: >>> NMaximize[{(x - 1)^2, -2 <= x <= 2 && -1 <= y <= 1}, {x, y}] >>> {1., {x -> 2., y -> 0.87904}} >>> The objective function s independent of y, yet NMaximize seems to go >>> off on some wild goose chase and ends up with a very poor "maximum". >>> This does not happen here: >>> NMaximize[{(x - 2)^2, -2 <= x <= 2}, {x}] >>> {16., {x -> -2.}} >>> NMaximize[{(x - 2)^2, -2 <= x <= 2 && -1 <= y <= 1}, {x, y}] >>> {16., {x -> -2., y -> -0.980305}} >>> Kind of weird. >>> Andrzej Kozlowski >> >> >> >> >> -- >> >> >> >> Daniel Huber >> >> Metrohm Ltd. >> >> Oberdorfstr. 68 >> >> CH-9100 Herisau >> >> Tel. +41 71 353 8585, Fax +41 71 353 8907 >> >> E-Mail:<mailto:dh at metrohm.com> >> >> Internet:<http://www.metrohm.com> >> >> >> > > -- Daniel Huber Metrohm Ltd. Oberdorfstr. 68 CH-9100 Herisau Tel. +41 71 353 8585, Fax +41 71 353 8907 E-Mail:<mailto:dh at metrohm.com> Internet:<http://www.metrohm.com>
- References:
- Re: weird NMaximize behaviour
- From: dh <dh@metrohm.ch>
- Re: weird NMaximize behaviour