MATLAB-最小集合覆盖-贪心近似算法-以美国快递仓库选址覆盖为例
2018-02-07 20:35
1961 查看
num=[]; z=zeros(353,546); N=sum(sum(s{54}==1)); U=s{54}; Q=z; s0=s; t=0; for j=1:40 max=0; for i=1:53 if sum(sum(s0{i}&U==1))/N>max t=i; max=sum(sum(s0{i}&U==1))/N; end end T=Q; U=U.*(s0{t}==0);%将U在s0值为1的地方变为0 即U-s0; Q=Q|s0{(t)}; if T==Q break; end pause(0.01)%速度较快 需要pause可以看清过程 imh=image(cat(3,U,Q,s0{t})); num(j)=t;%存储选择的集合编号 s0{t}=z; if Q==s{54}%Q已经等于全集 故停止循环 break; end endhttps://pan.baidu.com/s/1jJwSGDK(包含元组s)
相关文章推荐
- [BZOJ1907]-树的最小路径覆盖-树形DP||贪心
- CF618D:Hamiltonian Spanning Tree(贪心 & 树形dp & 最小路径覆盖)
- 贪心——区间覆盖问题之区间完全覆盖最小区间数
- 10.5 NOIP模拟赛 割点+贪心+最小点覆盖
- 步步为营(六)贪心(5)最小区间覆盖问题
- 树上最大独立集,最小支配集,最小覆盖子集(贪心做法)
- ACM知识点 之 贪心(5)最小区间覆盖问题
- [网络流24题]魔术球问题 贪心||枚举答案+最小路径覆盖
- UVA 10020——Minimal coverage(最小覆盖,贪心问题)
- 贪心法求树的最小支配集,最小点覆盖,最大独立集
- 暑假训练赛20160727 <贪心,思维,二分图--最小点覆盖>
- poj 1463 树形dp或者贪心(树的最小点覆盖)
- POJ - 2376 Cleaning Shifts 贪心(最小区间覆盖)
- loj6003「网络流 24 题」魔术球(最小路径覆盖/打表贪心)
- BZOJ 3790 浅谈MANACHER算法+求区间最小覆盖集经典贪心
- UVa 10382 Watering Grass 解题报告(贪心 最小覆盖)
- poj-1548-Robots- 贪心+模拟 / 最小路径覆盖
- uva 10020 Minimal coverage(贪心-最小覆盖问题)
- 贪心法求树的最小支配集,最小点覆盖,最大独立集
- uva 10020 Minimal coverage(贪心-最小覆盖问题)