⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cumcm_prize.m

📁 整数规划的一个求解方法(得到CUMCM一等奖)主要思想:找最大元之后的逐步互换求解
💻 M
字号:
times=0; while 1 temp=av; available=zeros(1000,100); bottom=stock-sum(select); right=3-(sum(select'))'; for i=1:1000 for j=1:100 if (bottom(j)>0 || right(i)>0) && select(i,j)==0 && satisfy(i,j)~=0 available(i,j)=1; if (bottom(j)>0) available(i,j)=2; end end end end good=available; for i=1:1000 max=0; y=0; for j=1:100 if(good(i,j)==2) if(satisfy(i,j)>max) max=satisfy(i,j); y=j; end end end maxx(i)=y; end for j=1:100 max=0; x=0; for i=1:1000 if(good(i,j)==1) if(satisfy(i,j)>max) 25
max=satisfy(i,j); x=i; end end end maxy(j)=x; end flag=1; for i=1:1000 if(flag==1) if(maxx(i)~=0) for j=1:100 if(maxy(j)~=0) if(select(i,j)~=0 && satisfy(i,maxx(i))+satisfy(maxy(j),j)>satisfy(i,j) && i~=maxy(j) && j~=maxx(i)) select(i,maxx(i))=1; select(maxy(j),j)=1; select(i,j)=0; flag=0; times=times+1; av=sum(sum(satisfy.*select))/1000; break; end end end end else break; end end if(temp==av) break; end end 程序4: f=zeros(1,4001); i=1; for t=0:0.01:20 f(i)=100/(1+99*exp(-t)) - 1.585^(t/2); i=i+1;
26
end for t=20.01:0.01:40 f(i)=100/(1+99*exp(-t)) - 100; i=i+1; end t=0:0.01:40; plot(t,f); maximum=max(f); m=t(find(f==maximum)); if f(ceil(m)*100+1)>f(floor(m)*100+1) maximum=f(ceil(m)*100+1); m=ceil(m); else maximum=f(floor(m)*100+1); m=floor(m); end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -