Velocity Reviews > Constrained Optimization Problem in C

# Constrained Optimization Problem in C

Explore_Imagination
Guest
Posts: n/a

 01-02-2008

The task is to solve a constrained optimization problem in C.
Computational
Time is of high priority. One approach can be to use ready functions
in a "free ware" Optimization Library (if available). If any one of
you have any idea about such library please inform me. I am dealing
with Constrained Optimization for the first time so please guide me
How I should solve this problem. I will appreciate suggestions from
you.

Find values of x that minimize f=-x1*x2*x3 and subject to the
constraints:

x1+2*x2+2*x3>0
x1+2*x2+2*x3<72
x2=10

In Matlab it can be solved by:

x0 = [10; 10; 10]; % Starting guess at the solution

A=[]; b=[]; Aeq=[]; beq=[]; lb=[]; ub=[];

[x,fval] = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@(x)constr(x))

%myfun

function f = myfun(x)

f = -x(1)* x(2)* x(3); %f=-x1*x2*x3

%constr

function [c,ceq]=constr(x)

c(1)=0-(x(1)+2*x(2)+2*x(3)); %x1+2*x2+2*x3>0

c(2)=x(1)+2*x(2)+2*x(3)-72; %x1+2*x2+2*x3<72

ceq(1)=x(2)-10; %x2=10

Hoping to hear from you guys !!!!

--
/BR
Hassan

user923005
Guest
Posts: n/a

 01-02-2008
On Jan 2, 1:44*pm, Explore_Imagination <(E-Mail Removed)>
wrote:
> The task is to solve a constrained optimization problem in C.
> Computational
> Time is of high priority. One approach can be to use ready functions
> in a "free ware" Optimization Library (if available). If any one of
> you have any idea about such library please inform me. I am dealing
> with Constrained Optimization for the first time so please guide me
> How I should solve this problem. I will appreciate suggestions from
> you.
>
> Find values of x that minimize *f=-x1*x2*x3 *and subject to the
> constraints:
>
> x1+2*x2+2*x3>0
> x1+2*x2+2*x3<72
> x2=10
>
> In Matlab it can be solved by:
>
> x0 = [10; 10; 10]; * *% Starting guess at the solution
>
> A=[]; *b=[]; *Aeq=[]; beq=[]; *lb=[]; *ub=[];
>
> [x,fval] = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@(x)constr(x))
>
> %myfun
>
> function f = myfun(x)
>
> f = -x(1)* x(2)* x(3); * * * *%f=-x1*x2*x3
>
> %constr
>
> function [c,ceq]=constr(x)
>
> c(1)=0-(x(1)+2*x(2)+2*x(3)); * %x1+2*x2+2*x3>0
>
> c(2)=x(1)+2*x(2)+2*x(3)-72; * * %x1+2*x2+2*x3<72
>
> ceq(1)=x(2)-10; * * * * * * * * %x2=10
>
> Hoping to *hear from you guys !!!!

Go here:
http://plato.asu.edu/cgi-bin/htsearch
Type in search window "constrained optimization problem"

You probably wanted news:sci.math.num-analysis because your question
is not about the C language at all.

Eric Sosman
Guest
Posts: n/a

 01-03-2008
Explore_Imagination wrote:
> The task is to solve a constrained optimization problem in C.
> Computational
> Time is of high priority. One approach can be to use ready functions
> in a "free ware" Optimization Library (if available). If any one of
> you have any idea about such library please inform me. I am dealing
> with Constrained Optimization for the first time so please guide me
> How I should solve this problem. I will appreciate suggestions from
> you.
>
> Find values of x that minimize f=-x1*x2*x3 and subject to the
> constraints:
>
> x1+2*x2+2*x3>0
> x1+2*x2+2*x3<72
> x2=10
>
>
> In Matlab it can be solved by:
> [...]

With pencil and paper it can be solved in less time
than it took to compose the query. There are only two
variables, the objective function is the negated product
of those two variables, and the feasible region is bounded
by two parallel lines. By inspection, the minimum must
occur when the two variables have the same sign (the point
(0,0) is in the feasible region, so the minimum cannot be
positive). The minimum therefore occurs somewhere on the
boundary of the butterfly-shaped region consisting of a
triangle in each of the first and third quadrants. It
cannot be anywhere along the axes (the product there is
zero), so it must be somewhere on one of the hypotenuses.
The first-quadrant triangle's hypotenuse is farther from
the origin, so the product there must be larger than that
along the third-quarter hypotenuse. Time for a tiny bit of
calculus to find one derivative, and Bingo!

Are you killing canaries with cannon, or massacring
magpies with Matlab?

--
Eric Sosman
http://www.velocityreviews.com/forums/(E-Mail Removed)lid

 Thread Tools

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are Off Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Ravikiran C Programming 22 11-24-2008 03:19 AM navon2@gmail.com C++ 2 01-30-2008 11:34 PM Explore_Imagination C++ 6 01-03-2008 11:19 AM g_edit_here_thorpe@ee.ryerson.ca VHDL 9 01-19-2005 03:04 PM cltsaig VHDL 2 10-12-2004 10:38 AM

Advertisments