全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1275 0
2016-12-05
悬赏 10 个论坛币 未解决
出现运行结果无法符合部分约束关系的情况,代码如下,求高手帮助,感激不尽!
[code]%objfun.m 文件
function f = objfun(x)
f=0;
for i=1:120
    for u=0:11
        for v=1:9
f=f+sum((1/9999)^((250-x(i))/abs(250-x(i))))*sum(x(u*10+v+1)-x(u*10+v)-25);
        end
    end
end


%confun.m文件
function[c,ceq] =confun(x)
%非线性不等式约束
for n=0:11
c2 =[x(n*10+1)-x(n*10+2)+25
    x(n*10+2)-x(n*10+3)+25
    x(n*10+3)-x(n*10+4)+25
    x(n*10+4)-x(n*10+5)+25
    x(n*10+5)-x(n*10+6)+25
    x(n*10+6)-x(n*10+7)+25
    x(n*10+7)-x(n*10+8)+25
    x(n*10+8)-x(n*10+9)+25
    x(n*10+9)-x(n*10+10)+25
    x(n*10+121)-x(n*10+2)+2
    x(n*10+122)-x(n*10+3)+2
    x(n*10+123)-x(n*10+4)+2
    x(n*10+124)-x(n*10+5)+2
    x(n*10+125)-x(n*10+6)+2
    x(n*10+126)-x(n*10+7)+2
    x(n*10+127)-x(n*10+8)+2
    x(n*10+128)-x(n*10+9)+2
    x(n*10+129)-x(n*10+10)+2];
end
for a=11:60
c3 =[-(x(1)-x(a))^2+1
    -(x(2)-x(a))^2+1
    -(x(3)-x(a))^2+1
    -(x(4)-x(a))^2+1
    -(x(5)-x(a))^2+1
    -(x(6)-x(a))^2+1
    -(x(7)-x(a))^2+1
    -(x(8)-x(a))^2+1
    -(x(9)-x(a))^2+1
    -(x(10)-x(a))^2+1
    -(x(121)-x(a))^2+1
    -(x(122)-x(a))^2+1
    -(x(123)-x(a))^2+1
    -(x(124)-x(a))^2+1
    -(x(125)-x(a))^2+1
    -(x(126)-x(a))^2+1
    -(x(127)-x(a))^2+1
    -(x(128)-x(a))^2+1
    -(x(129)-x(a))^2+1
    -(x(130)-x(a))^2+1];
end
for b=21:60
c4 =[-(x(11)-x(b))^2+1
    -(x(12)-x(b))^2+1
    -(x(13)-x(b))^2+1
    -(x(14)-x(b))^2+1
    -(x(15)-x(b))^2+1
    -(x(16)-x(b))^2+1
    -(x(17)-x(b))^2+1
    -(x(18)-x(b))^2+1
    -(x(19)-x(b))^2+1
    -(x(20)-x(b))^2+1
    -(x(131)-x(b))^2+1
    -(x(132)-x(b))^2+1
    -(x(133)-x(b))^2+1
    -(x(134)-x(b))^2+1
    -(x(135)-x(b))^2+1
    -(x(136)-x(b))^2+1
    -(x(137)-x(b))^2+1
    -(x(138)-x(b))^2+1
    -(x(139)-x(b))^2+1
    -(x(140)-x(b))^2+1];
end
for d=31:60
c5 =[-(x(21)-x(d))^2+1
    -(x(22)-x(d))^2+1
    -(x(23)-x(d))^2+1
    -(x(24)-x(d))^2+1
    -(x(25)-x(d))^2+1
    -(x(26)-x(d))^2+1
    -(x(27)-x(d))^2+1
    -(x(28)-x(d))^2+1
    -(x(29)-x(d))^2+1
    -(x(30)-x(d))^2+1
    -(x(141)-x(d))^2+1
    -(x(142)-x(d))^2+1
    -(x(143)-x(d))^2+1
    -(x(144)-x(d))^2+1
    -(x(145)-x(d))^2+1
    -(x(146)-x(d))^2+1
    -(x(147)-x(d))^2+1
    -(x(148)-x(d))^2+1
    -(x(149)-x(d))^2+1
    -(x(150)-x(d))^2+1];
end
for e=41:60
c6 =[-(x(31)-x(e))^2+1
    -(x(32)-x(e))^2+1
    -(x(33)-x(e))^2+1
    -(x(34)-x(e))^2+1
    -(x(35)-x(e))^2+1
    -(x(36)-x(e))^2+1
    -(x(37)-x(e))^2+1
    -(x(38)-x(e))^2+1
    -(x(39)-x(e))^2+1
    -(x(40)-x(e))^2+1
    -(x(151)-x(e))^2+1
    -(x(152)-x(e))^2+1
    -(x(153)-x(e))^2+1
    -(x(154)-x(e))^2+1
    -(x(155)-x(e))^2+1
    -(x(156)-x(e))^2+1
    -(x(157)-x(e))^2+1
    -(x(158)-x(e))^2+1
    -(x(159)-x(e))^2+1
    -(x(160)-x(e))^2+1];
end
for f=51:60
c7 =[-(x(41)-x(f))^2+1
    -(x(42)-x(f))^2+1
    -(x(43)-x(f))^2+1
    -(x(44)-x(f))^2+1
    -(x(45)-x(f))^2+1
    -(x(46)-x(f))^2+1
    -(x(47)-x(f))^2+1
    -(x(48)-x(f))^2+1
    -(x(49)-x(f))^2+1
    -(x(50)-x(f))^2+1
    -(x(161)-x(f))^2+1
    -(x(162)-x(f))^2+1
    -(x(163)-x(f))^2+1
    -(x(164)-x(f))^2+1
    -(x(165)-x(f))^2+1
    -(x(166)-x(f))^2+1
    -(x(167)-x(f))^2+1
    -(x(168)-x(f))^2+1
    -(x(169)-x(f))^2+1
    -(x(170)-x(f))^2+1];
end
for g=311:360
c8 =[-(x(301)-x(g))^2+1
    -(x(302)-x(g))^2+1
    -(x(303)-x(g))^2+1
    -(x(304)-x(g))^2+1
    -(x(305)-x(g))^2+1
    -(x(306)-x(g))^2+1
    -(x(307)-x(g))^2+1
    -(x(308)-x(g))^2+1
    -(x(309)-x(g))^2+1
    -(x(310)-x(g))^2+1
    -(x(301)-x(g-120))^2+1
    -(x(302)-x(g-120))^2+1
    -(x(303)-x(g-120))^2+1
    -(x(304)-x(g-120))^2+1
    -(x(305)-x(g-120))^2+1
    -(x(306)-x(g-120))^2+1
    -(x(307)-x(g-120))^2+1
    -(x(308)-x(g-120))^2+1
    -(x(309)-x(g-120))^2+1
    -(x(310)-x(g-120))^2+1];
end
for h=321:360
c9 =[-(x(311)-x(h))^2+1
    -(x(312)-x(h))^2+1
    -(x(313)-x(h))^2+1
    -(x(314)-x(h))^2+1
    -(x(315)-x(h))^2+1
    -(x(316)-x(h))^2+1
    -(x(317)-x(h))^2+1
    -(x(318)-x(h))^2+1
    -(x(319)-x(h))^2+1
    -(x(320)-x(h))^2+1
    -(x(311)-x(h-120))^2+1
    -(x(312)-x(h-120))^2+1
    -(x(313)-x(h-120))^2+1
    -(x(314)-x(h-120))^2+1
    -(x(315)-x(h-120))^2+1
    -(x(316)-x(h-120))^2+1
    -(x(317)-x(h-120))^2+1
    -(x(318)-x(h-120))^2+1
    -(x(319)-x(h-120))^2+1
    -(x(320)-x(h-120))^2+1];
end
for j=331:360
c10 =[-(x(321)-x(j))^2+1
    -(x(322)-x(j))^2+1
    -(x(323)-x(j))^2+1
    -(x(324)-x(j))^2+1
    -(x(325)-x(j))^2+1
    -(x(326)-x(j))^2+1
    -(x(327)-x(j))^2+1
    -(x(328)-x(j))^2+1
    -(x(329)-x(j))^2+1
    -(x(330)-x(j))^2+1
    -(x(321)-x(j-120))^2+1
    -(x(322)-x(j-120))^2+1
    -(x(323)-x(j-120))^2+1
    -(x(324)-x(j-120))^2+1
    -(x(325)-x(j-120))^2+1
    -(x(326)-x(j-120))^2+1
    -(x(327)-x(j-120))^2+1
    -(x(328)-x(j-120))^2+1
    -(x(329)-x(j-120))^2+1
    -(x(330)-x(j-120))^2+1];
end
for k=341:360
    c11 =[-(x(331)-x(k))^2+1
    -(x(332)-x(k))^2+1
    -(x(333)-x(k))^2+1
    -(x(334)-x(k))^2+1
    -(x(335)-x(k))^2+1
    -(x(336)-x(k))^2+1
    -(x(337)-x(k))^2+1
    -(x(338)-x(k))^2+1
    -(x(339)-x(k))^2+1
    -(x(340)-x(k))^2+1
    -(x(331)-x(k-120))^2+1
    -(x(332)-x(k-120))^2+1
    -(x(333)-x(k-120))^2+1
    -(x(334)-x(k-120))^2+1
    -(x(335)-x(k-120))^2+1
    -(x(336)-x(k-120))^2+1
    -(x(337)-x(k-120))^2+1
    -(x(338)-x(k-120))^2+1
    -(x(339)-x(k-120))^2+1
    -(x(340)-x(k-120))^2+1];
end
for l=351:360
c12 =[-(x(341)-x(l))^2+1
    -(x(342)-x(l))^2+1
    -(x(343)-x(l))^2+1
    -(x(344)-x(l))^2+1
    -(x(345)-x(l))^2+1
    -(x(346)-x(l))^2+1
    -(x(347)-x(l))^2+1
    -(x(348)-x(l))^2+1
    -(x(349)-x(l))^2+1
    -(x(350)-x(l))^2+1
    -(x(341)-x(l-120))^2+1
    -(x(342)-x(l-120))^2+1
    -(x(343)-x(l-120))^2+1
    -(x(344)-x(l-120))^2+1
    -(x(345)-x(l-120))^2+1
    -(x(346)-x(l-120))^2+1
    -(x(347)-x(l-120))^2+1
    -(x(348)-x(l-120))^2+1
    -(x(349)-x(l-120))^2+1
    -(x(350)-x(l-120))^2+1];
end
for m=1:120
c1 =[x(m)-x(m+120)+25
    x(m)-x(m+240)+2
    x(m+240)-x(m)-20];
end
c =[c1
    c2
    c3
    c4
    c5
    c6
    c7
    c8
    c9
    c10
    c11
    c12];
%线性方程组
ceq=[];

%主程序
x0=[0 30 60 90 120 150 180 210 240 270 1 31 61 91 121 151 181 211 241 271 2 32 62 92 122 152 182 212 242 272 3 33 63 93 123 153 183 213 243 273 4 34 64 94 124 154 184 214 244 274 5 35 65 95 125 155 185 215 245 275 0 30 60 90 120 150 180 210 240 270 1 31 61 91 121 151 181 211 241 271 2 32 62 92 122 152 182 212 242 272 3 33 63 93 123 153 183 213 243 273 4 34 64 94 124 154 184 214 244 274 5 35 65 95 125 155 185 215 245 275 25 55 85 115 145 175 205 235 265 295 26 56 86 116 146 176 206 236 266 296 27 57 87 117 147 177 207 237 267 297 28 58 88 118 148 178 208 238 268 298 29 59 89 119 149 179 209 239 269 299 36 66 96 126 156 186 216 246 276 306 25 55 85 115 145 175 205 235 265 295 26 56 86 116 146 176 206 236 266 296 27 57 87 117 147 177 207 237 267 297 28 58 88 118 148 178 208 238 268 298 29 59 89 119 149 179 209 239 269 299 36 66 96 126 156 186 216 246 276 306 10 40 70 100 130 140 190 220 250 280 11 41 71 101 131 161 191 221 251 281 12 42 72 102 132 162 192 222 252 282 13 43 73 103 133 163 193 223 253 283 14 44 74 104 134 164 194 224 254 284 15 45 75 105 135 165 195 225 255 285 10 40 70 100 130 140 190 220 250 280 11 41 71 101 131 161 191 221 251 281 12 42 72 102 132 162 192 222 252 282 13 43 73 103 133 163 193 223 253 283 14 44 74 104 134 164 194 224 254 284 15 45 75 105 135 165 195 225 255 285];
lb = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];
ub =  [350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350 350];
options = optimset('Algorithm','active-set');
[x,fval] = fmincon(@objfun,x0,[],[],[],[],lb,ub,@confun,options)
[/code]运行结果:
x =

  1 至 13 列

  348.0000    2.9297   95.0760  106.7977  171.3970  195.4469  128.2319  184.5274  251.2488         0  348.0000 ……
很明显x(2)<x(1)不符合第一个约束

求高手提点一二,感激不尽!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群