[R] Can R solve this optimization problem?

Duncan Murdoch murdoch at stats.uwo.ca
Mon Jan 7 02:04:06 CET 2008


On 06/01/2008 7:55 PM, Paul Smith wrote:
> On Jan 7, 2008 12:18 AM, Duncan Murdoch <murdoch at stats.uwo.ca> wrote:
>>> I am trying to solve the following maximization problem with R:
>>>
>>> find x(t) (continuous) that maximizes the
>>>
>>> integral of x(t) with t from 0 to 1,
>>>
>>> subject to the constraints
>>>
>>> dx/dt = u,
>>>
>>> |u| <= 1,
>>>
>>> x(0) = x(1) = 0.
>>>
>>> The analytical solution can be obtained easily, but I am trying to
>>> understand whether R is able to solve numerically problems like this
>>> one. I have tried to find an approximate solution through
>>> discretization of the objective function but with no success so far.
>> R doesn't provide any way to do this directly.  If you really wanted to
>> do it in R, you'd need to choose some finite dimensional parametrization
>> of u (e.g. as a polynomial or spline, but the constraint on it would
>> make the choice tricky:  maybe a linear spline?), then either evaluate
>> the integral analytically or numerically to give your objective
>> function.  Then there are some optimizers available, but in my
>> experience they aren't very good on high dimensional problems:  so your
>> solution would likely be quite crude.
>>
>> I'd guess you'd be better off in Matlab, Octave, Maple or Mathematica
>> with a problem like this.
> 
> Thanks, Duncan. I have placed a similar post in the Maxima list and
> another one in the Octave list. (I have never used splines; so I did
> not quite understand the method that you suggested to me.)

Linear splines are just piecewise linear functions.  An easy way to 
parametrize them is by their value at a sequence of locations; they 
interpolate linearly between there.

x would be piecewise quadratic, so its integral would be a sum of cubic 
terms.

Duncan Murdoch




More information about the R-help mailing list