找回密码
 注册
Simdroid-非首页
查看: 63|回复: 1

急切希望各位能解答下

[复制链接]
发表于 2012-7-23 14:37:29 | 显示全部楼层 |阅读模式 来自 安徽合肥
悬赏30仿真币未解决
用matlab中工具箱写的一个优函数 不过最后的变量的取值有问题 希望能给我解答下
目标函数
function f=myfun(x)
z(1)=x(8)*x(9)*x(12)/(2*cos(x(13)/57.3));
z(2)=x(12)*(x(8)+x(8)*x(9))/(2*cos(x(13)/57.3));
z(3)=x(3)/2;
y(1)=z(1)+z(2)+z(3);
y(2)=x(1)*x(6)/(2*cos(x(7)/57.3));
y(3)=(x(3)+x(10))/2;
f=y(1)*y(2)*y(3);

取值范围
clear;
x0=[38;0.55;73.5;30;20;3.5;30.22;59;0.48;56;49;2;23.5];
lb=[31,0.45,58.8,24,16,2.8,24.18,47,0.38,44.8,39.2,1.6,18.8];
ub=[46,0.67,88.2,46,24,4.2,36.27,71,0.57,67.2,58.8,2.4,28.2];
options=[];
[x,fval,exitflag,output]=fmincon(@myfun1,x0,[],[],[],[],lb,ub,@confun,options)

约束条件
function[c,ceq]=confun(x)
c(1)=0.46-(2*x(4)*sin(atan(1/x(2))/57.3))/x(3);
c(2)=(2*x(4)*sin(atan(1/x(2))/57.3))/x(3)-1.12;
c(3)=0.26-(2*x(11)*cos(x(13)/57.3))/(x(12)*(x(8)+x(8)*x(9)));
c(4)=(2*x(11)*cos(x(13)/57.3))/(x(12)*(x(8)+x(8)*x(9)))-1.13;
c(5)=0.11-x(4)*x(6)^(-1)*((x(1)^2+(x(1)*x(2))^2)^0.5)^(-1);
c(6)=x(4)*x(6)^(-1)*((x(1)^2+(x(1)*x(2))^2)^0.5)^(-1)-0.37;
c(7)=17-x(2)*x(1);
c(8)=x(2)*x(1)-26;
c(9)=23-x(9)*x(8);
c(10)=x(9)*x(8)-34;
c(11)=0.12*x(3)-x(5);
c(12)=x(5)-0.2*x(3);
ceq=[];

matlab运算的结果为
x =

   38.0000
  -12.7535
   44.3686
   60.4246
   20.0000
    3.5000
   30.2200
   59.0000
    0.4800
   56.0000
   49.0000
    2.0000
   23.5000


fval =

  5.7267e+005


exitflag =

     0


output =

       iterations: 46
        funcCount: 1305
         stepsize: -6.1035e-005
        algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'
    firstorderopt: 4.9673e+005
     cgiterations: []
          message: [1x79 char]

这个结果是不对的, x(2)、x(3)、X(4)的取值范围分别应该是0.45-0.67, 58.8-88.2, 24-46,  而优化过后的x(2)、x(3)、和x(4)取值在结果中分别是-12.7535, 44.3686, 60.4246   显然不在设定的范围内
找了很久很久很久都没找到问题的根源  希望有人给解答下   万分感谢!!!

 楼主| 发表于 2012-7-23 16:21:32 | 显示全部楼层 来自 安徽合肥
Simdroid开发平台
没有给新手 稍微指导下么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-3 06:59 , Processed in 0.026466 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表