fmincon - wrong results

4 次查看(过去 30 天)
Nikolaos
Nikolaos 2012-3-4
Hello, I need some help about an optimization problem. It's a nonlinear constraint problem and the code is given. All the equations and data are checked for the case of mistake.The right results are
var(1)=16,49335
var(2)=0,98298
var(3)=5,01839
var(4)=0,85024
var(5)=0,89775
Calculations give back other (wrong) results. Also, the 'optimum' value of objective function is not the same with the last calculated by the program and I can't understand why. Thank you!
% script paradeigma5.m
% Επιλύει το πρόβλημα 5
clear
% ΜΗ ΑΠΑΡΑΙΤΗΤΟ ΑΠΟ ΕΔΩ:
% Δήλωση global μεταβλητών
global Hu T1 W cf cp k t;
load dataparadeigma5
% ΩΣ ΕΔΩ
var0=[15,0.998,6,0.85,0.9];
lbounds=[1,0,3,0,0];
ubounds=[100,0.994,7,0.899,0.9199];
options=optimset('Algorithm','sqp');
[var,C]=fmincon(@objparadeigma5,var0,[],[],[],[],lbounds,ubounds,@paradeigma5constraints,options);
disp('η βέλτιστη τιμή της συνάρτησης είναι C='),disp(C),disp('Για rc, rb, t3, nc, nt =')
disp(var)
OBJECTIVE FUNCTION FILE
function [ C ] = objparadeigma5( var )
% Περιέχει την αντικειμενική συνάρτηση του προβλήματος 5
rc=var(1);
rb=var(2);
t3=var(3);
nc=var(4);
nt=var(5);
% Δήλωση global μεταβλητών
global Hu T1 W cf cp k t;
% Σχέσεις Μετατροπής
t2=1+(rc^k-1)/nc
rT=rb*rc
t4=t3*(1-nt*(1-rT^(-k)))
ma=W/(cp*T1*(t3-t4-t2+1));
mf=ma*cp*T1*(t3-t2)/Hu;
Z1=(6.22*ma*rc*log(rc))/(0.9-nc);
Z2=4.03*ma*(1+5*exp(0.018*t3*T1-28))/(0.995-rb);
Z3=41.93*ma*(log(rT))*(1+5*exp(0.036*t3*T1-56))/(0.92-nt);
% Αντικειμενική Συνάρτηση
C=Z1+Z2+Z3+cf*mf*t
end
CONSTRAINTS FUNCTION FILE
function [c,ceq] = paradeigma5constraints( var )
% περιέχει τον περιορισμό τ2<τ3 και (τ3-τ4-τ2+1>0);
rc=var(1);
rb=var(2);
t3=var(3);
nc=var(4);
nt=var(5);
% Δήλωση global μεταβλητών
global Hu T1 W cf cp k t;
% Σχέσεις Μετατροπής
t2=1+(rc^k-1)/nc;
rT=rb*rc;
t4=t3*(1-nt*(1-rT^(-k)));
ma=W/(cp*T1*(t3-t4-t2+1));
mf=ma*cp*T1*(t3-t2)/Hu;
Z1=(6.22*ma*rc*log(rc))/(0.9-nc);
Z2=4.03*ma*(1+5*exp(0.018*t3*T1-28))/(0.995-rb);
Z3=41.93*ma*(log(rT))*(1+5*exp(0.036*t3*T1-56))/(0.92-nt);
% περιορισμοί
c=[t2-t3;t4+t2-t3-1];
ceq=[];
end
  1 个评论
Nikolaos
Nikolaos 2012-3-6
I also forgot some necessary data (included in 'dataparadeigma5') Hu=42500 T1=293, W=10000, cf=0.2, cp=1.005, k=0.2857, t=27000000

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Nonlinear Optimization 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by