Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I am trying to solve the following problem:

Minimize Integral[ (y''[x]+10)^2,x]

Where y''[x]+a*y'[x]+y[x] = 0, and the initial conditions for the DE are

y''[0] = -10

y[x] = 10

and the inequality constraints for the minimization problem are




In Mathematica I plug this problem in as:

FindMinimum[{y'[x] + 10, y''[x] + a*y'[x] + y[x] == 0, y[0] == 10, y''[0] == -10, y'[x]<=0.1, y[x]<=0.1, a>0}, {y, x, a}]

However, I am getting errors that FindMinimum cannot solve this problem. So I attempted to reduce the problem to finding the inequality constraints myself (using NSolve or Reduce), then plug them back into the minimization problem. I just let a=3 for now...

y''[x] + 3*y'[x] + y[x] == 0 

where y[0] == 10 and y''[0] == -10 and y'[x]<=0.1 and y[x]<=0.1.

I have tried using Reduce and NSolve (as well as using NDSolve instead of DSolve for the DE), but I always seem to get the error that they are unable to handle this function.

So, I attempted to just use the solution to the DE as input to NSolve or Reduce, like this:

NSolve[Sqrt[5] (-3 E^(1/2 (-3 - Sqrt[5]) x) + 
   Sqrt[5] E^(1/2 (-3 - Sqrt[5]) x) + 3 E^(1/2 (-3 + Sqrt[5]) x) + 
   Sqrt[5] E^(1/2 (-3 + Sqrt[5]) x)) < 0.1,x]

But the error is still generated:

Reduce::nsmet: This system cannot be solved with the methods available to Reduce. >>

Reduce::inex: Reduce was unable to solve the system with inexact coefficients or the system obtained by direct rationalization of inexact numbers present in the system. Since many of the methods used by Reduce require exact input, providing Reduce with an exact version of the system may help.

And a similar error is generated for the initial Minimization problem, and both NSolve and Reduce.

I assume that if I can find where y'(x)<=0.1 and y(x)<=0.1 manually, I can run a loop to solve the minimization problem. Is there a way to find where the constraints y'(x) <= 0.1 and y(x) <= 0.1 for this problem?

Thanks, Andrew

share|improve this question
I'm not sure if I'm following you, but as a starter you set y''[0] == -10 in one place and y''[0] == 10 in another –  belisarius Oct 23 '12 at 15:34
Sorry, typo. I fixed it. –  Andrew Oct 23 '12 at 15:56
Next one: What does it mean y[x] = 10 ... Is f[x] constant? :D. Another one: What are the bounds for the integral?. Please re-read your question to be sure you provide all the data needed to answer –  belisarius Oct 23 '12 at 16:11
You've seen VariationalMethods` by any chance? –  J. M. Oct 23 '12 at 16:52
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.