查看: 3804|回复: 1|关注: 0

[已答复] 优化不收敛

[复制链接]

新手

10 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2017-4-14 23:25:23 | 显示全部楼层 |阅读模式
优化中有48个变量。约束是:每个变量有自己的数值范围,外加有48个变量组成的4个等式。利用fmincon与本教材中的aspo均不能收敛优化,麻烦帮着寻找一下原因,万分感谢,代码如下:
x=[-1150
-875
-414
578
671
850
1350
1800
1850
2375
2400
2530
2660
2790
2920
3050
3180
3310
3440
3570
3700
3830
3960
4090
4220
4300
4480
4610
4740
4870
5000
5130
5260
5390
5520
5650
5780
5910
6040
6170
6300
6430
6560
6690
6820
6950
7080
7210];
x=x.';
function [c,ceq]=ceqM(F)
x=[-1150
-875
-414
578
671
850
1350
1800
1850
2375
2400
2530
2660
2790
2920
3050
3180
3310
3440
3570
3700
3830
3960
4090
4220
4300
4480
4610
4740
4870
5000
5130
5260
5390
5520
5650
5780
5910
6040
6170
6300
6430
6560
6690
6820
6950
7080
7210];
x=x.';

f1=(sum(F.*x)-x(2).*F(2)-x(6).*F(6)-x(26).*F(26)-x(36).*F(36))./4975;
f2=(sum(F(1:48))-F(2)-F(6)-F(26)-F(36))-f1;
ceq=[F(36)+f1.*(4975-x(26))/(x(36)-x(26));F(26)+f1-F(36);F(6)-x(2).*f2./(x(6)-x(2));F(2)+f2-F(6)];
c=[];
function M15=objective(F)
x=[-1150
-875
-414
578
671
850
1350
1800
1850
2375
2400
2530
2660
2790
2920
3050
3180
3310
3440
3570
3700
3830
3960
4090
4220
4300
4480
4610
4740
4870
5000
5130
5260
5390
5520
5650
5780
5910
6040
6170
6300
6430
6560
6690
6820
6950
7080
7210];
x=x.';
M(1)=0;
for i=2:48
M(i)=M(i-1)+sum(F(1:i-1)).*(x(i)-x(i-1));
end
M15=M(15);
A=[];
B=[];
Aeq=[];
Beq=[];
xm=[245.25
-2355
225
245.25
396
-2355
80
190
80
74
190
500
500
500
500
500
500
500
500
500
500
500
500
500
500
-9085
500
500
500
500
500
500
500
500
500
-9085
250
250
250
250
250
250
250
250
250
250
250
250];
xM=[245.25
-2330
225
245.25
396
-2330
80
190
80
74
190
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
-9065
1000
1000
1000
1000
1000
1000
1000
1000
1000
-9065
500
500
500
500
500
500
500
500
500
500
500
500];
x0=xm;
ff=optimset;
ff.LargeScale='off';
ff.TolFun=1e-30;
ff.TolX=1e-15;
ff.TolCo=1e-20;
[y,f_opt,c,d]=fmincon(g,x0,A,B,Aeq,Beq,xm,xM,@ceqM,ff)
回复主题 已获打赏: 0 积分

举报

15

主题

247

帖子

0

最佳答案
  • 关注者: 59
发表于 2017-7-25 21:34:18 | 显示全部楼层
MATLAB学习视频分享:
群智能算法视频:http://halcom.cn/forum.php?mod=viewthread&tid=280
MATLAB神经网络:http://halcom.cn/forum.php?mod=viewthread&tid=2732&extra=page%3D1
Python机器学习:http://halcom.cn/forum.php?mod=viewthread&tid=2734&extra=page%3D1
48个变量,肯定会不收敛的。解的可能性太多了

MATLAB机器学习:http://halcom.cn/forum.php?mod=viewthread&tid=2757&extra=page%3D1/
Halcon图像滤波增强:http://halcom.cn/forum.php?mod=viewthread&tid=2736&extra=page%3D1/
【1】KNN近邻分类器 + (PPT+参考文献) + 源程序
【2】K均值(图像)聚类分析 + (PPT+参考文献) + 源程序
【3】随机森林法random forest + (PPT+参考文献) + 源程序
【4】AdaBoost分类识别 + (PPT+参考文献) + 源程序
回复此楼 已获打赏: 0 积分

举报

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

本版积分规则

关闭

站长推荐上一条 /4 下一条

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