优化问题求解:基于Matlab的整数规划模型
a=[5.26\t5.19\t4.21\t4.00\t2.95\t2.74\t2.46\t1.90\t0.64\t1.27;1.90\t0.99\t1.90\t1.13\t1.27\t2.25\t1.48\t2.04\t3.09\t3.51;5.89\t5.61\t5.61\t4.56\t3.51\t3.65\t2.46\t2.46\t1.06\t0.57;0.64\t1.76\t1.27\t1.83\t2.74\t2.60\t4.21\t3.72\t5.05\t6.10;4.42\t3.86\t3.72\t3.16\t2.25\t2.81\t0.78\t1.62\t1.27\t0.50];c=[0.95\t1.05\t1.00\t1.05\t1.10\t1.25\t1.05\t1.30\t1.35\t1.25;1.25\t1.10\t1.35\t1.05\t1.15\t1.35\t1.05\t1.15\t1.35\t1.25;0.3\t0.28\t0.29\t0.32\t0.31\t0.33\t0.32\t0.31\t0.33\t0.31];prob=optimproblem;y=optimvar('y',50,'Type','integer','LowerBound',0);sum=0;for i=1:5for j=1:10b=(i-1)10+j;sum=sum+y(b)y(b)a(i,j);endendprob.Objective = 154sum;con=optimconstr(50);cum=0;for i=1:10cum=cum+y(i);endcon(1)=154cum>=12000;tum=0;for i=10:20tum=tum+y(i);endcon(2)=154tum>=13000;bum=0;for i=20:30bum=bum+y(i);endcon(3)=154bum>=13000;dum=0;for i=30:40dum=dum+y(i);endcon(4)=154dum>=19000;lum=0;for i=40:50lum=lum+y(i);endcon(5)=154*lum>=13000;con(6)=[ (y(1)+y(11)+y(41))*154<=9500; (y(2)+y(12)+y(42))*154<=10500; (y(3)+y(13)+y(43))*154<=10000; (y(4)+y(14)+y(44))*154<=10500; (y(5)+y(15)+y(45))*154<=11000; (y(6)+y(16)+y(46))*154<=12500; (y(7)+y(17)+y(47))*154<=10500; (y(8)+y(18)+y(48))*154<=13000; (y(9)+y(19)+y(49))*154<=13500; (y(10)+y(20)+y(50))*154<=12500; (y(31)+y(21))*154<=12500; (y(32)+y(22))*154<=11000; (y(33)+y(23))*154<=13500; (y(34)+y(24))*154<=10500; (y(35)+y(25))*154<=11500; (y(36)+y(26))*154<=13500; (y(37)+y(27))*154<=10500; (y(38)+y(28))*154<=11500; (y(39)+y(29))*154<=13500; (y(40)+y(30))*154<=12500; ];fee=0;tee=0;for i=1:10fee=fee+y(i)*c(3,i);endfor i=1:10tee=tee+y(i);endft=fee/tee;con(26)= ft<=0.305;con(27)= ft>=0.285;hee=0;pee=0;for i=11:20hee=hee+y(i)*c(3,i);endfor i=11:20pee=pee+y(i);endgt=hee/pee;con(28)= gt<=0.305;con(29)= gt>=0.285;qee=0;aee=0;for i=41:50qee=qee+y(i)*c(3,i);endfor i=41:50aee=aee+y(i);endmt=qee/aee;con(30)= mt<=0.305;con(31)= mt>=0.285;cube=0;for i=1:5for j=1:10l=(i-1)*10+j;cube=cube+y(l)a(i,j);endendleyan=0;for i=1:50leyan=leyan+y(i);endcon(32)=cube/14+leyan8/60<=8;problem.Constraints = [con(1), con(2),con(3), con(4),con(5), con(6),con(7), con(8),con(9), con(10),con(11), con(12),con(13), con(14),con(15), con(16),con(17), con(18),con(19), con(20),con(21), con(22),con(23), con(24),con(25), con(26),con(27), con(28),con(29), con(30),con(31), con(32)];[sol,fval,flag]=solve(problem),sol.y
原文地址: https://www.cveoy.top/t/topic/qtFo 著作权归作者所有。请勿转载和采集!