|
From: | Ether Jones |
Subject: | Re: Constrained Nonlinear Optimization problem |
Date: | Fri, 2 May 2014 21:47:27 -0400 |
On May 2, 2014, at 9:18 PM, Ether Jones <address@hidden> wrote:
>
> On May 2, 2014, at 7:40 PM, Ether Jones wrote:
>
> Could someone please show me how to set up this problem in Octave?
>
> Maximize (x + y)
>
> Subject to constraints:
>
> 0 <= x <= 75
>
> 0 <= y <= 75
>
> 29.5 - sqrt(0.184*(x+y)^2 + x^2) = 0.0
>
> 45.5 - sqrt(0.184*(x+y)^2 + y^2) = 0.0
>
> I have solved it with Maxima, Python, AMPL, and Excel and get the following answer:
>
> x = 17.2
> y = 38.7
>
> But I'm having trouble setting it up in Octave
> Thank you.
>
>
> I should have made a few points clearer in my original post:
>
> I've read the documentation for sqp() in the Octave manual. I find it puzzling.
>
> I'm aware that maximization can be accomplished by making the objective function negative ( that's what I did for Python and Maxima, using Powell's COBYLA ).
>
> I'm an Octave newbie.
>
> This is not a homework problem (I'm in my 60's). It's a scaled-down example of a more complex engineering problem I am trying to solve.
>
> If someone would be willing to show how to transform/convert this example into the parameters that the Octave sqp() function requires it would be greatly appreciated.
Ok. My apologies. The code below solves the problem. If the syntax isn't clear, feel free to ask for clarification.
phi = @(x) - sum (x);
lb = [0; 0];
ub = [75; 75];
h1 = @(x) 29.5 - sqrt (0.184 * sum (x)^2 + x(1)^2);
h2 = @(x) 45.5 - sqrt (0.184 * sum (x)^2 + x(2)^2);
h = @(x) [h1(x); h2(x)];
x0 = [1; 1];
x = sqp (x0, phi, [], h, lb, ub, 100, 1e-8)
Ben
[Prev in Thread] | Current Thread | [Next in Thread] |