Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > Constrained Optimization Problem in C

Reply
Thread Tools

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
 
Reply With Quote
 
 
 
 
user923005
Guest
Posts: n/a
 
      01-02-2008
On Jan 2, 1:44*pm, Explore_Imagination <Mr.HassanShab...@gmail.com>
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.

 
Reply With Quote
 
 
 
 
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
lid
 
Reply With Quote
 
 
 
Reply

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 Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Zero Optimization and Sign Optimization??? Ravikiran C Programming 22 11-24-2008 03:19 AM
Need Help - Constrained linear least square optimization C/C++ code navon2@gmail.com C++ 2 01-30-2008 11:34 PM
Constrained Optimization Problem in C++ Explore_Imagination C++ 6 01-03-2008 11:19 AM
Array of constrained integers in port using generic g_edit_here_thorpe@ee.ryerson.ca VHDL 9 01-19-2005 03:04 PM
Port "arg" is not constrained? cltsaig VHDL 2 10-12-2004 10:38 AM



Advertisments