Path: news.mathworks.com!not-for-mail
From: "OK1 " <ondrejkrausz@yahoo.com>
Newsgroups: comp.soft-sys.matlab
Subject: GA optimization
Date: Thu, 15 May 2008 10:29:02 +0000 (UTC)
Organization: University of Zilina
Lines: 72
Message-ID: <g0h39e$6sq$1@fred.mathworks.com>
Reply-To: "OK1 " <ondrejkrausz@yahoo.com>
NNTP-Posting-Host: webapp-05-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1210847342 7066 172.30.248.35 (15 May 2008 10:29:02 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Thu, 15 May 2008 10:29:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1370492
Xref: news.mathworks.com comp.soft-sys.matlab:468545


Hi all,

I have solved the given problem described below by GA but 
my results are real numbers. How can I get results in 
discrete values? They should be whitin the range:

Ri=(60:1:90);
Ro=(80:1:110);
A=(1:0.5:3);
F=(600:10:1000);
Z=(2:1:10);

Is it possible to get results in discrete values when using 
gamultiobjective in GA toolbox at all? If yes could you 
please explain it to me how to do it and what should I do. 
I'm just matlab user and I'm not good in programming at all 
some detailed description as for dumbbell :-) would be 
great.

Thank You

Problem:
five design variables: x=[Ri;Ro;A;F;Z]

objective functions:

f(1)= pi*(Ro^2-Ri^2)*A*(Z+1)*Rho; % min weight
f(2)=Jz*omega/(Mh+Mf)*1000; % min time

subject to:

linear constraints:
  Aineq=[-1 0 0 0 0;0 1 0 0 0;1 -1 0 0 0;0 0 -1 0 0;...
0 0 1 0 0;0 0 0 0 1;0 0 0 0 -1;0 0 0 -1 0;0 0 0 1 0];
bineq=[-55;110;-20;-1.5;3;9;-1;0;1000];

nonlinear constraints:
where c=<0
c=[-Lmax+(Z+1)*(A+delta);prz-pmax;s*Ms-Mh;...
-th;prz*Vsr-pmax*Vsrmax;Vsr-Vsrmax];
                                                 
ceq=[];

where:

Rimin=55; 
Romax=110; 
deltaR=20; 
Amin=1.5; 
Amax=3; 
delta=0.5; 
Lmax=30; 
Zmax=10; 
Vsrmax=10000; 
mi=0.5; 
Rho=0.000007850;
s=1.5; 
Ms=40000; 
Mf=3000; 
n=250; 
pmax=1; 
Jz=55; 
Fmax=1000;

and

S=pi*(Ro^2-Ri^2); 
prz=F/S ; 
Rsr=(2/3)*((Ro^3-Ri^3)/(Ro^2-Ri^2)); 
Vsr=(pi*Rsr*n)/30; 
omega=(pi*n)/30;
Mh=2/3*mi*F*Z*((Ro^3-Ri^3)/(Ro^2-Ri^2));